diff --git a/.spelling b/.spelling index dfc15ff18..b0d79ac3a 100644 --- a/.spelling +++ b/.spelling @@ -931,3 +931,6 @@ symlinked uninherited closers unmanaged +SHA +upserts +EWMA diff --git a/Cargo.lock b/Cargo.lock index d5bb99c60..db78ebafc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,6 +17,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "allocation_hints" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1822e8bbb2c4d6662020c9c95049f9ad39b08aceaba3b9b5a538e9b2674a2a2" + [[package]] name = "allocator-api2" version = "0.2.21" @@ -114,6 +120,12 @@ dependencies = [ "rustversion", ] +[[package]] +name = "arraydeque" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236" + [[package]] name = "arrayvec" version = "0.7.8" @@ -562,7 +574,7 @@ version = "0.2.1" dependencies = [ "cargo-gamma-lib", "clap", - "mimalloc", + "rallocator", "terminal_size", ] @@ -623,13 +635,16 @@ dependencies = [ "proc-macro2", "reflink-copy", "rustc-hash 2.1.3", + "saphyr-parser", "serde", "serde_json", "syn 3.0.4", "tempfile", + "tick", "toml", "toml_edit 0.25.13+spec-1.1.0", "walkdir", + "yaml_serde", ] [[package]] @@ -2895,6 +2910,12 @@ dependencies = [ "cc", ] +[[package]] +name = "libyaml-rs" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e126dda6f34391ab7b444f9922055facc83c07a910da3eb16f1e4d9c45dc777" + [[package]] name = "libz-sys" version = "1.1.29" @@ -3544,6 +3565,33 @@ dependencies = [ "triomphe", ] +[[package]] +name = "rallocator" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34b03da2f1c161c608dad2e01d61218d59569144eb24501c917b31486b725b6" +dependencies = [ + "allocation_hints", + "libc", + "rallocator_telemetry", + "windows-sys 0.61.2", +] + +[[package]] +name = "rallocator_telemetry" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7193bf3b2860d9226227448a3f64ed00ccc59135e3eaff96f62b502691cebd32" +dependencies = [ + "rallocator_wire", +] + +[[package]] +name = "rallocator_wire" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f66c46553d2329a96aa13e64851251c80f38a48a240b9c1461316e9ec166612" + [[package]] name = "rand" version = "0.9.5" @@ -4036,6 +4084,16 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "saphyr-parser" +version = "0.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0b1b76852c5643f558e7347e4de549474c3ecb7154295a189f4668428c1b453" +dependencies = [ + "arraydeque", + "thiserror 2.0.20", +] + [[package]] name = "schannel" version = "0.1.29" @@ -4467,7 +4525,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.3.4", + "getrandom 0.4.3", "once_cell", "rustix", "windows-sys 0.61.2", @@ -4560,6 +4618,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf8b890df44ed42f77de97f2aa630091bf96fac578ca2a93953e8aee926ebcba" dependencies = [ "futures-core", + "jiff", "pin-project-lite", "thread_aware", "tokio", @@ -5580,6 +5639,19 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" +[[package]] +name = "yaml_serde" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33b729a08a9a6be689bbad3e2bf8015926db54b6622cc89c3a5f7dc174b9e918" +dependencies = [ + "indexmap", + "itoa", + "libyaml-rs", + "ryu", + "serde", +] + [[package]] name = "yoke" version = "0.8.3" diff --git a/Cargo.toml b/Cargo.toml index 8b7b39891..9fe00d78c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -76,6 +76,7 @@ predicates = { version = "3.1.4", default-features = false } proc-macro2 = { version = "1.0.107", default-features = false } # 0.0.349 includes a parser fixture that crashes CodeQL 2.26.4; retry the bump with a newer CodeQL release. ra_ap_syntax = { version = "0.0.331", default-features = false } +rallocator = { version = "0.1.0", default-features = false } rapidhash = { version = "4.5.1", default-features = false } reflink-copy = { version = "0.1.30", default-features = false } regex = { version = "1.13.1", default-features = false } @@ -93,6 +94,7 @@ rustdoc-types-v55 = { package = "rustdoc-types", version = "0.55.0", default-fea rustdoc-types-v56 = { package = "rustdoc-types", version = "0.56.0", default-features = false } rustdoc-types-v57 = { package = "rustdoc-types", version = "0.57.4", default-features = false } rustsec = { version = "0.33.0", default-features = false } +saphyr-parser = { version = "0.0.12", default-features = false } seatbelt = { version = "0.8.0", default-features = false } semver = { version = "1.0.28", default-features = false } serde = { version = "1.0.229", default-features = false } @@ -117,6 +119,7 @@ walkdir = { version = "2.5.0", default-features = false } windows = { version = "0.62.2", default-features = false } windows-sys = { version = "0.61.2", default-features = false } wiremock = { version = "0.6.5", default-features = false } +yaml_serde = { version = "0.10.7", default-features = false } zstd = { version = "0.14.0", default-features = false } # >>> anvil-managed: anvil-workspace-lints diff --git a/crates/cargo-gamma-attrs-impl/src/implementation.rs b/crates/cargo-gamma-attrs-impl/src/implementation.rs index cecb5161d..ff7949d66 100644 --- a/crates/cargo-gamma-attrs-impl/src/implementation.rs +++ b/crates/cargo-gamma-attrs-impl/src/implementation.rs @@ -16,29 +16,13 @@ use syn::{Block, Expr, ImplItemFn, ItemFn, Token, TraitItemFn}; /// user gets one clear diagnostic rather than a cascade of follow-on errors. #[must_use] pub fn inert(name: &str, attr: TokenStream, item: TokenStream) -> TokenStream { - match validate(attr) { - Ok(()) => item, - Err(message) => { - let mut out = error(&format!("#[gamma::{name}]: {message}")); - - out.extend(item); - out - } - } + validated_item(name, validate(attr), item) } /// Validates a timeout-multiplier attribute and returns the item untouched. #[must_use] pub fn inert_timeout(name: &str, attr: &TokenStream, item: TokenStream) -> TokenStream { - match validate_timeout_multiplier(attr) { - Ok(()) => item, - Err(message) => { - let mut out = error(&format!("#[gamma::{name}]: {message}")); - - out.extend(item); - out - } - } + validated_item(name, validate_timeout_multiplier(attr), item) } /// Validates the argument of `#[gamma::value()]` and returns the item untouched. @@ -73,14 +57,34 @@ pub fn inert_timeout(name: &str, attr: &TokenStream, item: TokenStream) -> Token /// exists to prevent. #[must_use] pub fn value(attr: TokenStream, item: TokenStream) -> TokenStream { - match validate_value(attr, &item) { - Ok(()) => item, - Err(message) => { - let mut out = error(&format!("#[gamma::value]: {message}")); + let validation = validate_value(attr, &item); - out.extend(item); - out - } + validated_item("value", validation, item) +} + +/// Returns `item` unchanged when validation succeeds, or prefixes its diagnostic when it fails. +fn validated_item(name: &str, validation: Result<(), String>, item: TokenStream) -> TokenStream { + let Err(message) = validation else { + return item; + }; + + let mut out = error(&format!("#[gamma::{name}]: {message}")); + + out.extend(item); + out +} + +/// Whether the preceding token lets a following group continue the same expression path. +#[derive(Clone, Copy, Eq, PartialEq)] +enum Previous { + Other, + Expression, + Operator, +} + +impl Previous { + const fn allows_postfix_group(self) -> bool { + matches!(self, Self::Expression | Self::Operator) } } @@ -105,20 +109,6 @@ pub(super) const NESTING_LIMIT: usize = 64; #[doc(hidden)] pub(super) const CHAIN_FACTOR: usize = 4; -/// Whether the preceding token can end an expression. -#[derive(Clone, Copy, Eq, PartialEq)] -enum Previous { - Other, - Expression, - Operator, -} - -impl Previous { - const fn can_end_expression(self) -> bool { - matches!(self, Self::Expression | Self::Operator) - } -} - /// One token-stream level waiting to be walked. struct Frame { iter: proc_macro2::token_stream::IntoIter, @@ -133,6 +123,17 @@ impl Frame { fn exceeds_chain_limit(&self, limit: usize) -> bool { self.links > limit || self.ladders > limit } + + fn add_link(&mut self, limit: usize) -> bool { + self.links += 1; + self.exceeds_chain_limit(limit) + } + + fn end_possible_ladder(&mut self) { + if mem::take(&mut self.awaiting_else) { + self.ladders = 0; + } + } } /// Returns whether a token stream exceeds its delimiter or expression-path limits. @@ -155,10 +156,6 @@ impl Frame { /// accepted one level later, by the other. #[doc(hidden)] #[must_use] -#[expect( - clippy::too_many_lines, - reason = "delimiter and expression-path state must advance together through one token walk" -)] pub(super) fn exceeds_nesting_limit(stream: &TokenStream, limit: usize) -> bool { let chain_limit = limit.saturating_mul(CHAIN_FACTOR); let mut frames = vec![Frame { @@ -174,19 +171,13 @@ pub(super) fn exceeds_nesting_limit(stream: &TokenStream, limit: usize) -> bool while let Some(tree) = frame.iter.next() { match tree { TokenTree::Group(group) => { - if frame.awaiting_else { - frame.ladders = 0; - } + frame.end_possible_ladder(); let postfix = - matches!(group.delimiter(), Delimiter::Parenthesis | Delimiter::Bracket) && frame.previous.can_end_expression(); + matches!(group.delimiter(), Delimiter::Parenthesis | Delimiter::Bracket) && frame.previous.allows_postfix_group(); - if postfix { - frame.links += 1; - - if frame.exceeds_chain_limit(chain_limit) { - return true; - } + if postfix && frame.add_link(chain_limit) { + return true; } let next_depth = frame.depth + 1; @@ -213,13 +204,8 @@ pub(super) fn exceeds_nesting_limit(stream: &TokenStream, limit: usize) -> bool } TokenTree::Ident(ident) if ident == "as" => { - if frame.awaiting_else { - frame.ladders = 0; - frame.awaiting_else = false; - } - frame.links += 1; - - if frame.exceeds_chain_limit(chain_limit) { + frame.end_possible_ladder(); + if frame.add_link(chain_limit) { return true; } @@ -230,9 +216,8 @@ pub(super) fn exceeds_nesting_limit(stream: &TokenStream, limit: usize) -> bool // Reached only right after a completed group, which is what an `else` following // an `if`'s or a prior arm's `{ }` block looks like at the token-stream level. frame.ladders += 1; - frame.links += 1; - if frame.exceeds_chain_limit(chain_limit) { + if frame.add_link(chain_limit) { return true; } @@ -241,10 +226,7 @@ pub(super) fn exceeds_nesting_limit(stream: &TokenStream, limit: usize) -> bool } TokenTree::Ident(_) | TokenTree::Literal(_) => { - if frame.awaiting_else { - frame.ladders = 0; - frame.awaiting_else = false; - } + frame.end_possible_ladder(); if frame.previous == Previous::Expression { // An operand after an expression begins a new chain across statement and @@ -257,33 +239,25 @@ pub(super) fn exceeds_nesting_limit(stream: &TokenStream, limit: usize) -> bool } TokenTree::Punct(punct) => { - if frame.awaiting_else { - frame.ladders = 0; - frame.awaiting_else = false; - } + frame.end_possible_ladder(); if matches!( punct.as_char(), '+' | '-' | '*' | '/' | '%' | '&' | '|' | '^' | '!' | '<' | '>' | '=' - ) { - frame.links += 1; - - if frame.exceeds_chain_limit(chain_limit) { - return true; - } + ) && frame.add_link(chain_limit) + { + return true; } - let postfix = matches!(punct.as_char(), '.' | '?') && frame.previous.can_end_expression(); - - if postfix { - frame.links += 1; + let postfix = matches!(punct.as_char(), '.' | '?') && frame.previous.allows_postfix_group(); - if frame.exceeds_chain_limit(chain_limit) { - return true; - } + if postfix && frame.add_link(chain_limit) { + return true; } if matches!(punct.as_char(), ',' | ';') { + // #[gamma::skip(assign_value.default, reason = "usize::default() is zero, so replacing this reset is behavior-identical")] frame.links = 0; + // #[gamma::skip(assign_value.default, reason = "usize::default() is zero, so replacing this reset is behavior-identical")] frame.ladders = 0; } @@ -676,7 +650,7 @@ fn validate_shape(attr: TokenStream) -> Result<(), String> { } /// Checks already materialized tokens without rebuilding their stream. -fn validate_shape_tokens(tokens: Vec, strict: bool, multiplier: &mut Option) -> Result<(), String> { +fn validate_shape_tokens(tokens: Vec, reject_stray_numbers: bool, multiplier: &mut Option) -> Result<(), String> { let mut frames: Vec<(Vec, usize)> = vec![(tokens, 0)]; 'frames: while let Some((trees, mut index)) = frames.pop() { @@ -703,7 +677,8 @@ fn validate_shape_tokens(tokens: Vec, strict: bool, multiplier: &mut return Err(format!("`{key}` must not have trailing tokens after its value")); } - // #[gamma::skip(literal.int_decrement, literal.int_to_one, reason = "the two tokens this steps over are the `=` and the string literal, and neither branch of this loop acts on either, so a shorter step reaches the same next meaningful token")] + // #[gamma::skip(all, reason = "the adjacent tokens are the inert `=`/literal before the cursor and an inert comma after it; each nonzero step reaches the same next meaningful token")] + // #[gamma::skip(literal.int_to_zero, reason = "zero leaves the cursor on the same key and makes the token walk loop forever")] index += 3; continue; } @@ -723,7 +698,7 @@ fn validate_shape_tokens(tokens: Vec, strict: bool, multiplier: &mut _ => return Err(format!("`{key}` must be a positive number no greater than {MOST_FACTOR}")), } - if strict { + if reject_stray_numbers { if let Some(previous) = multiplier.as_ref() { return Err(if matches!(previous, Multiplier::Positional) { format!("a timeout multiplier is stated both on its own and as `{key}`; only one may apply to an item") @@ -742,12 +717,14 @@ fn validate_shape_tokens(tokens: Vec, strict: bool, multiplier: &mut return Err(format!("`{key}` must not have trailing tokens after its value")); } + // #[gamma::skip(all, reason = "the fourth token, when present, is the comma required by the trailing-token check above; either control statement resumes at the same next meaningful token")] index += 3; + // #[gamma::skip(loop.continue_to_break, reason = "the current list has only the optional comma left, so breaking it or advancing past that comma resumes the same parent frame")] continue; } } - if strict { + if reject_stray_numbers { if let TokenTree::Literal(literal) = &trees[index] { return Err(format!( "unexpected `{literal}`; a timeout multiplier must be written as `test_timeout_multiplier = `, or given alone" @@ -772,13 +749,14 @@ fn validate_shape_tokens(tokens: Vec, strict: bool, multiplier: &mut // The rest of this list is resumed once the group is done — the point a recursive // walk would return to. + // #[gamma::skip(all, reason = "multiplication by one or decrementing one leaves the cursor on the parenthesized group and makes the heap-based walk repeat it forever")] frames.push((trees, index + 1)); frames.push((inner, 0)); continue 'frames; } - // #[gamma::skip(assign.add_to_sub, stmt.delete_assign, literal.int_decrement, reason = "subtracting, removing, or zeroing this advancement intentionally makes the token walk loop forever")] + // #[gamma::skip(all, reason = "subtracting, removing, or zeroing this advancement intentionally makes the token walk loop forever")] index += 1; } } @@ -1609,6 +1587,133 @@ mod tests { assert_eq!(err, "item nests too deeply to be safely parsed"); } + #[test] + fn the_documented_nesting_boundary_is_accepted_for_attributes_and_items() { + let boundary_expression = format!("{}1{}", "(".repeat(NESTING_LIMIT), ")".repeat(NESTING_LIMIT)); + assert_eq!(validate_value(stream(&boundary_expression), &stream("fn f() -> u32 { 1 }")), Ok(())); + + let item_expression_depth = NESTING_LIMIT - 1; + let boundary_item = format!( + "fn f() -> u32 {{ {}1{} }}", + "(".repeat(item_expression_depth), + ")".repeat(item_expression_depth) + ); + assert_eq!(validate_value(stream("1"), &stream(&boundary_item)), Ok(())); + } + + #[test] + fn each_chain_counter_accepts_the_exact_limit() { + let empty = TokenStream::new(); + let at_links_limit = Frame { + iter: empty.clone().into_iter(), + depth: 0, + links: 7, + ladders: 0, + awaiting_else: false, + previous: Previous::Other, + }; + let at_ladders_limit = Frame { + iter: empty.into_iter(), + depth: 0, + links: 0, + ladders: 7, + awaiting_else: false, + previous: Previous::Other, + }; + + assert!(!at_links_limit.exceeds_chain_limit(7)); + assert!(!at_ladders_limit.exceeds_chain_limit(7)); + } + + #[test] + fn the_expression_chain_boundary_uses_the_full_chain_factor() { + let chain_limit = NESTING_LIMIT * CHAIN_FACTOR; + let expression = format!("1{}", " + 1".repeat(chain_limit)); + + assert!(!exceeds_nesting_limit(&stream(&expression), NESTING_LIMIT)); + } + + #[test] + fn postfix_punctuation_uses_the_exact_chain_boundary() { + let chain_limit = NESTING_LIMIT * CHAIN_FACTOR; + let at_limit = format!("value{}", ".field".repeat(chain_limit)); + let over_limit = format!("value{}", ".field".repeat(chain_limit + 1)); + + assert!(!exceeds_nesting_limit(&stream(&at_limit), NESTING_LIMIT)); + assert!(exceeds_nesting_limit(&stream(&over_limit), NESTING_LIMIT)); + } + + #[test] + fn separators_restart_the_expression_chain_budget() { + let chain_limit = NESTING_LIMIT * CHAIN_FACTOR; + + for separator in [",", ";"] { + let chain = format!("1{}", " + 1".repeat(chain_limit)); + let separated = format!("{chain}{separator}{chain}"); + + assert!( + !exceeds_nesting_limit(&stream(&separated), NESTING_LIMIT), + "`{separator}` did not restart the chain budget" + ); + } + } + + #[test] + fn separators_restart_the_else_ladder_budget() { + let chain_limit = NESTING_LIMIT * CHAIN_FACTOR; + let ladder = format!("if true {{ 0 }}{} else {{ 0 }}", " else if false { 1 }".repeat(chain_limit - 1)); + + for separator in [",", ";"] { + let separated = format!("{ladder}{separator}{ladder}"); + assert!( + !exceeds_nesting_limit(&stream(&separated), NESTING_LIMIT), + "`{separator}` did not restart the ladder budget" + ); + } + } + + #[test] + fn only_expression_ending_punctuation_makes_a_following_group_postfix() { + let links = NESTING_LIMIT * CHAIN_FACTOR / 2 + 1; + + for operator in ["?", ">"] { + let expression = format!("value{}", format!("{operator}()").repeat(links)); + assert!( + exceeds_nesting_limit(&stream(&expression), NESTING_LIMIT), + "`{operator}` did not make the following group part of the expression chain" + ); + } + + let assignment_groups = format!("value{}", " = ()".repeat(links)); + assert!( + !exceeds_nesting_limit(&stream(&assignment_groups), NESTING_LIMIT), + "non-postfix punctuation made following groups part of the expression chain" + ); + } + + #[test] + fn selector_validation_does_not_apply_timeout_only_literal_rules() { + assert_eq!(validate(stream("42")), Ok(())); + assert_eq!(validate(stream("-1")), Ok(())); + assert_eq!(validate(stream("factor = 2, multiplier = 3")), Ok(())); + } + + #[test] + fn keyed_and_nested_arguments_do_not_hide_later_errors() { + assert_eq!( + validate_timeout_multiplier(&stream("factor = 2, reason = invalid")), + Err("`reason` must be a string literal".to_owned()) + ); + assert_eq!( + validate_timeout_multiplier(&stream("2, selector(group), tag = invalid")), + Err("`tag` must be a string literal".to_owned()) + ); + assert_eq!( + validate_timeout_multiplier(&stream("2, selector(group) reason = invalid")), + Err("`reason` must be a string literal".to_owned()) + ); + } + #[test] fn deeply_chained_postfix_expressions_are_rejected_safely() { let chains = [ diff --git a/crates/cargo-gamma-attrs-impl/tests/agreement.rs b/crates/cargo-gamma-attrs-impl/tests/agreement.rs new file mode 100644 index 000000000..e3d0c20eb --- /dev/null +++ b/crates/cargo-gamma-attrs-impl/tests/agreement.rs @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +#![cfg(feature = "agreement")] + +use cargo_gamma_attrs_impl::test_support; + +#[test] +fn agreement_support_exposes_the_parser_contract() { + let stream = "value.field".parse().expect("the fixture tokenizes"); + + assert!(!test_support::exceeds_nesting_limit(&stream, test_support::NESTING_LIMIT)); + const { + assert!(test_support::CHAIN_FACTOR > 0); + } + assert!(test_support::MOST_FACTOR.is_finite()); + + let at_limit = format!( + "{}value{}", + "(".repeat(test_support::NESTING_LIMIT), + ")".repeat(test_support::NESTING_LIMIT) + ); + let over_limit = format!( + "{}value{}", + "(".repeat(test_support::NESTING_LIMIT + 1), + ")".repeat(test_support::NESTING_LIMIT + 1) + ); + assert!(!test_support::exceeds_nesting_limit( + &at_limit.parse().expect("the boundary fixture tokenizes"), + test_support::NESTING_LIMIT + )); + assert!(test_support::exceeds_nesting_limit( + &over_limit.parse().expect("the over-limit fixture tokenizes"), + test_support::NESTING_LIMIT + )); +} diff --git a/crates/cargo-gamma-attrs/src/lib.rs b/crates/cargo-gamma-attrs/src/lib.rs index 414671b7b..e5132f2c0 100644 --- a/crates/cargo-gamma-attrs/src/lib.rs +++ b/crates/cargo-gamma-attrs/src/lib.rs @@ -340,6 +340,16 @@ use proc_macro::TokenStream; +fn inert(name: &str, attr: TokenStream, item: TokenStream) -> TokenStream { + cargo_gamma_attrs_impl::inert(name, attr.into(), item.into()).into() +} + +fn inert_timeout(name: &str, attr: TokenStream, item: TokenStream) -> TokenStream { + let attr = attr.into(); + + cargo_gamma_attrs_impl::inert_timeout(name, &attr, item.into()).into() +} + /// Suppresses mutations on the annotated item and everything beneath it. /// /// With no arguments, every mutator is suppressed. With arguments, only the listed selectors are: @@ -369,7 +379,7 @@ use proc_macro::TokenStream; /// ``` #[proc_macro_attribute] pub fn skip(attr: TokenStream, item: TokenStream) -> TokenStream { - cargo_gamma_attrs_impl::inert("skip", attr.into(), item.into()).into() + inert("skip", attr, item) } /// Asserts that the selected mutants *survive*, and fails the run if any is killed. @@ -390,7 +400,7 @@ pub fn skip(attr: TokenStream, item: TokenStream) -> TokenStream { /// ``` #[proc_macro_attribute] pub fn expect_survived(attr: TokenStream, item: TokenStream) -> TokenStream { - cargo_gamma_attrs_impl::inert("expect_survived", attr.into(), item.into()).into() + inert("expect_survived", attr, item) } /// Asserts that the selected mutants are *killed*, and fails the run if any survives. @@ -417,7 +427,7 @@ pub fn expect_survived(attr: TokenStream, item: TokenStream) -> TokenStream { /// ``` #[proc_macro_attribute] pub fn expect_killed(attr: TokenStream, item: TokenStream) -> TokenStream { - cargo_gamma_attrs_impl::inert("expect_killed", attr.into(), item.into()).into() + inert("expect_killed", attr, item) } /// States the expression a function's return-value mutant substitutes for its body. @@ -656,13 +666,13 @@ pub fn value(attr: TokenStream, item: TokenStream) -> TokenStream { /// ``` #[proc_macro_attribute] pub fn test_timeout_multiplier(attr: TokenStream, item: TokenStream) -> TokenStream { - cargo_gamma_attrs_impl::inert_timeout("test_timeout_multiplier", &attr.into(), item.into()).into() + inert_timeout("test_timeout_multiplier", attr, item) } /// Alias for [`macro@test_timeout_multiplier`]. #[proc_macro_attribute] pub fn timeout_multiplier(attr: TokenStream, item: TokenStream) -> TokenStream { - cargo_gamma_attrs_impl::inert_timeout("timeout_multiplier", &attr.into(), item.into()).into() + inert_timeout("timeout_multiplier", attr, item) } /// Generic `gamma` attribute for mutant control, including timeout multiplier overrides. @@ -679,5 +689,5 @@ pub fn timeout_multiplier(attr: TokenStream, item: TokenStream) -> TokenStream { /// ``` #[proc_macro_attribute] pub fn gamma(attr: TokenStream, item: TokenStream) -> TokenStream { - cargo_gamma_attrs_impl::inert_timeout("gamma", &attr.into(), item.into()).into() + inert_timeout("gamma", attr, item) } diff --git a/crates/cargo-gamma-attrs/tests/consumer.rs b/crates/cargo-gamma-attrs/tests/consumer.rs index 8fc63b7f1..2ffe16a25 100644 --- a/crates/cargo-gamma-attrs/tests/consumer.rs +++ b/crates/cargo-gamma-attrs/tests/consumer.rs @@ -40,7 +40,7 @@ fn killed(bytes: &[u8]) -> u32 { #[test] fn expect_killed_leaves_the_annotated_item_callable() { - assert_eq!(killed(b"abc"), killed(b"abc")); + assert_eq!(killed(b"abc"), 96_354); assert_ne!(killed(b"abc"), killed(b"abd")); } diff --git a/crates/cargo-gamma-attrs/tests/diagnostics.rs b/crates/cargo-gamma-attrs/tests/diagnostics.rs index fb7abcfdd..6248b34cd 100644 --- a/crates/cargo-gamma-attrs/tests/diagnostics.rs +++ b/crates/cargo-gamma-attrs/tests/diagnostics.rs @@ -60,65 +60,74 @@ fn diagnostic_for(name: &str, source: &str) -> String { String::from_utf8_lossy(&output.stderr).into_owned() } +#[track_caller] +fn assert_diagnostic(name: &str, source: &str, fragments: &[&str]) { + let reported = diagnostic_for(name, source); + + for fragment in fragments { + assert!(reported.contains(fragment), "expected `{fragment}` in:\n{reported}"); + } +} + #[test] fn skip_reports_its_own_name_in_a_malformed_diagnostic() { - let source = "#[gamma::skip(reason = performance)]\nfn scaled(a: i64) -> i64 { a * 2 }\n"; - let reported = diagnostic_for("skip_malformed", source); - - assert!(reported.contains("#[gamma::skip]:"), "{reported}"); - assert!(reported.contains("`reason` must be a string literal"), "{reported}"); + assert_diagnostic( + "skip_malformed", + "#[gamma::skip(reason = performance)]\nfn scaled(a: i64) -> i64 { a * 2 }\n", + &["#[gamma::skip]:", "`reason` must be a string literal"], + ); } #[test] fn expect_survived_reports_its_own_name_in_a_malformed_diagnostic() { - let source = "#[gamma::expect_survived(tag = 7)]\nfn describe(n: usize) -> usize { n }\n"; - let reported = diagnostic_for("expect_survived_malformed", source); - - assert!(reported.contains("#[gamma::expect_survived]:"), "{reported}"); - assert!(reported.contains("`tag` must be a string literal"), "{reported}"); + assert_diagnostic( + "expect_survived_malformed", + "#[gamma::expect_survived(tag = 7)]\nfn describe(n: usize) -> usize { n }\n", + &["#[gamma::expect_survived]:", "`tag` must be a string literal"], + ); } #[test] fn expect_killed_reports_its_own_name_in_a_malformed_diagnostic() { - let source = "#[gamma::expect_killed(reason = 5)]\nfn checksum(bytes: &[u8]) -> usize { bytes.len() }\n"; - let reported = diagnostic_for("expect_killed_malformed", source); - - assert!(reported.contains("#[gamma::expect_killed]:"), "{reported}"); - assert!(reported.contains("`reason` must be a string literal"), "{reported}"); + assert_diagnostic( + "expect_killed_malformed", + "#[gamma::expect_killed(reason = 5)]\nfn checksum(bytes: &[u8]) -> usize { bytes.len() }\n", + &["#[gamma::expect_killed]:", "`reason` must be a string literal"], + ); } #[test] fn value_reports_its_own_name_in_a_malformed_diagnostic() { - let source = "#[gamma::value()]\nfn budget() -> u32 { 512 }\n"; - let reported = diagnostic_for("value_malformed", source); - - assert!(reported.contains("#[gamma::value]:"), "{reported}"); - assert!(reported.contains("expected one expression"), "{reported}"); + assert_diagnostic( + "value_malformed", + "#[gamma::value()]\nfn budget() -> u32 { 512 }\n", + &["#[gamma::value]:", "expected one expression"], + ); } #[test] fn test_timeout_multiplier_reports_its_own_name_in_a_malformed_diagnostic() { - let source = "#[gamma::test_timeout_multiplier(\"fast\")]\nfn heavy(data: &[u8]) -> usize { data.len() }\n"; - let reported = diagnostic_for("test_timeout_multiplier_malformed", source); - - assert!(reported.contains("#[gamma::test_timeout_multiplier]:"), "{reported}"); - assert!(reported.contains("timeout multiplier must be a positive number"), "{reported}"); + assert_diagnostic( + "test_timeout_multiplier_malformed", + "#[gamma::test_timeout_multiplier(\"fast\")]\nfn heavy(data: &[u8]) -> usize { data.len() }\n", + &["#[gamma::test_timeout_multiplier]:", "timeout multiplier must be a positive number"], + ); } #[test] fn timeout_multiplier_reports_its_own_name_in_a_malformed_diagnostic() { - let source = "#[gamma::timeout_multiplier(\"fast\")]\nfn heavy(data: &[u8]) -> usize { data.len() }\n"; - let reported = diagnostic_for("timeout_multiplier_malformed", source); - - assert!(reported.contains("#[gamma::timeout_multiplier]:"), "{reported}"); - assert!(reported.contains("timeout multiplier must be a positive number"), "{reported}"); + assert_diagnostic( + "timeout_multiplier_malformed", + "#[gamma::timeout_multiplier(\"fast\")]\nfn heavy(data: &[u8]) -> usize { data.len() }\n", + &["#[gamma::timeout_multiplier]:", "timeout multiplier must be a positive number"], + ); } #[test] fn gamma_reports_its_own_name_in_a_malformed_diagnostic() { - let source = "#[gamma::gamma(\"fast\")]\nfn heavy(data: &[u8]) -> usize { data.len() }\n"; - let reported = diagnostic_for("gamma_malformed", source); - - assert!(reported.contains("#[gamma::gamma]:"), "{reported}"); - assert!(reported.contains("timeout multiplier must be a positive number"), "{reported}"); + assert_diagnostic( + "gamma_malformed", + "#[gamma::gamma(\"fast\")]\nfn heavy(data: &[u8]) -> usize { data.len() }\n", + &["#[gamma::gamma]:", "timeout multiplier must be a positive number"], + ); } diff --git a/crates/cargo-gamma-engine/docs/DESIGN.md b/crates/cargo-gamma-engine/docs/DESIGN.md index 70b2afd76..e70fe6eac 100644 --- a/crates/cargo-gamma-engine/docs/DESIGN.md +++ b/crates/cargo-gamma-engine/docs/DESIGN.md @@ -19,7 +19,12 @@ identity, mutator selection, and mutant-schema instrumentation. - Mutation discovery uses source-visible type evidence to avoid replacements known not to compile. This includes concrete `Self` and associated types in implementations, standard time types without `Default`, and standard - `fmt::Result` aliases. + `fmt::Result` aliases. Numeric perturbation requires declarations, numeric + use, or numeric type qualifiers rather than constant-style spelling alone. + Integer-literal decrement also omits unsuffixed zero where a written return + type or local annotation proves the value must be unsigned. An inferred + closure or async block does not expose enough error-type evidence to safely + synthesize a default error, so discovery omits that mutation. - The **discovery pre-pass** is the syntax-tree walk that runs before candidate collection to audit stated-value attributes and build per-file indexes of numeric evidence and imported type paths. Its configuration-aware audit is diff --git a/crates/cargo-gamma-engine/docs/IMPLEMENTATION.md b/crates/cargo-gamma-engine/docs/IMPLEMENTATION.md index 861869581..50a048a59 100644 --- a/crates/cargo-gamma-engine/docs/IMPLEMENTATION.md +++ b/crates/cargo-gamma-engine/docs/IMPLEMENTATION.md @@ -14,6 +14,10 @@ whole-file traversal because it has no selected build configuration. The combined visitor retains the audit and indexer as separate state objects. Their per-node update methods are shared with the standalone implementations, which keeps equivalence tests able to compare the fused and separate paths. +The numeric index also records imports so external constants are eligible only +when their imported qualifier is a known numeric type. Direct zero literals +inherit unsigned evidence from function return types and annotated locals; +signed and unresolved contexts remain eligible for decrement. ## Schema positions and text encoding diff --git a/crates/cargo-gamma-engine/src/cfg.rs b/crates/cargo-gamma-engine/src/cfg.rs index 6f9fb9ed3..26558b606 100644 --- a/crates/cargo-gamma-engine/src/cfg.rs +++ b/crates/cargo-gamma-engine/src/cfg.rs @@ -35,6 +35,7 @@ pub struct CfgSet { impl CfgSet { /// Returns a set under which every predicate holds, so nothing is ever stripped. + // #[gamma::skip(fn_value.default, reason = "`Self` is inferred as the `Default::default` return type, so the replacement calls the same implementation as this body")] #[must_use] pub fn unconditional() -> Self { Self::default() @@ -192,16 +193,10 @@ impl CfgSet { /// The [`Self::test_gated`] answer, given an already-expanded attribute list. fn test_gated_effective(&self, attrs: &[Attribute], effective: &[Meta]) -> bool { - effective - .iter() - .any(|attribute| cfg_predicate(attribute).is_some_and(|predicate| is_test_only(&predicate)) || is_test_attribute(attribute)) + effective.iter().any(is_test_meta) || attrs.iter().any(|attribute| { - cfg_attr(&attribute.meta).is_some_and(|(condition, nested)| { - self.decide(&condition, true) == Verdict::Yes - && nested.iter().any(|attribute| { - cfg_predicate(attribute).is_some_and(|predicate| is_test_only(&predicate)) || is_test_attribute(attribute) - }) - }) + cfg_attr(&attribute.meta) + .is_some_and(|(condition, nested)| self.decide(&condition, true) == Verdict::Yes && nested.iter().any(is_test_meta)) }) } @@ -252,21 +247,16 @@ impl CfgSet { /// The worklist rather than recursion matters for nested `cfg_attr`s: source is input, and /// the expansion must not add another unbounded walk beside the parser's nesting guard. fn effective(&self, attrs: &[Attribute]) -> Vec { - let mut effective: Vec = attrs.iter().map(|attribute| attribute.meta.clone()).collect(); - let mut at = 0; - - while at < effective.len() { - let Some((condition, nested)) = cfg_attr(&effective[at]) else { - at += 1; - continue; - }; + let mut pending: Vec = attrs.iter().rev().map(|attribute| attribute.meta.clone()).collect(); + let mut effective = Vec::with_capacity(attrs.len()); - let _removed = effective.remove(at); - - if self.verdict(&condition) == Verdict::Yes { - for attribute in nested.into_iter().rev() { - effective.insert(at, attribute); + while let Some(attribute) = pending.pop() { + if let Some((condition, nested)) = cfg_attr(&attribute) { + if self.verdict(&condition) == Verdict::Yes { + pending.extend(nested.into_iter().rev()); } + } else { + effective.push(attribute); } } @@ -423,10 +413,11 @@ fn cfg_attr(attribute: &Meta) -> Option<(Meta, Vec)> { } let parser = Punctuated::::parse_terminated; - let arguments = list.parse_args_with(parser).ok()?; - let condition = arguments.first()?.clone(); + let mut arguments = list.parse_args_with(parser).ok()?.into_iter(); + let condition = arguments.next()?; + let nested: Vec<_> = arguments.collect(); - (arguments.len() > 1).then(|| (condition, arguments.into_iter().skip(1).collect())) + (!nested.is_empty()).then_some((condition, nested)) } /// Returns whether an effective attribute is a test function attribute. @@ -437,6 +428,11 @@ fn is_test_attribute(attribute: &Meta) -> bool { attribute.path().segments.last().is_some_and(|segment| segment.ident == "test") } +/// Returns whether an effective attribute confines an item to test code. +fn is_test_meta(attribute: &Meta) -> bool { + cfg_predicate(attribute).is_some_and(|predicate| is_test_only(&predicate)) || is_test_attribute(attribute) +} + /// Returns whether effective configuration gates confine an item to a unit-test build under `cfg`. /// /// Module discovery needs this narrower answer: `#[test]` belongs to a function, while only @@ -546,6 +542,13 @@ mod tests { assert!(!set().holds_str("loom"), "a custom cfg nobody passed is off"); } + #[test] + fn parsed_meta_uses_the_same_public_decision_path() { + let predicate: Meta = syn::parse_str("target_os = \"linux\"").expect("the predicate parses"); + + assert_eq!(set().decide_meta(&predicate), Verdict::Yes); + } + #[test] fn a_key_value_pair_is_looked_up() { assert!(set().holds_str("target_arch = \"x86_64\"")); @@ -702,6 +705,19 @@ mod tests { assert_eq!(set().decide_str(&predicate), Verdict::Unknown); } + /// The guard itself, rather than `syn` rejecting an extreme fixture for its own reason, must + /// determine the answer just beyond the supported nesting limit. + #[test] + fn the_nesting_guard_keeps_a_parseable_false_predicate() { + let depth = crate::parse::nesting::NESTING_LIMIT + 1; + let predicate = format!("{}unix{}", "not(".repeat(depth), ")".repeat(depth)); + let parsed = syn::parse_str::(&predicate).expect("the just-over-limit fixture remains safe for this direct parse"); + + assert_eq!(depth % 2, 1, "the fixture must parse to a false predicate"); + assert!(!set().holds(&parsed), "without the guard the predicate would remove code"); + assert!(set().holds_str(&predicate)); + } + #[test] fn printed_lines_that_are_not_settings_are_skipped() { let set = CfgSet::parse("unix\n\n \ntarget_os=\"linux\"\nnonsense=\n=orphan\n"); @@ -718,6 +734,7 @@ mod tests { assert!(set().holds_for(&attribute("#[inline]"))); assert!(set().holds_for(&attribute("#[doc = \"windows\"]"))); assert!(set().holds_for(&attribute("#[allow(windows)]"))); + assert!(set().holds_for(&attribute("#[allow(unix, cfg(windows))]"))); // An inactive `cfg_attr` adds nothing. assert!(set().holds_for(&attribute("#[cfg_attr(windows, inline)]"))); @@ -817,11 +834,33 @@ mod tests { let gated = attribute("#[cfg_attr(unix, cfg(test))]"); let test_attribute = attribute("#[cfg_attr(unix, test)]"); let inactive = attribute("#[cfg_attr(windows, cfg(test))]"); + let one_test_attribute = attribute("#[cfg_attr(test, inline, test)]"); + let no_test_attribute = attribute("#[cfg_attr(test, inline)]"); assert!(!cfg.holds_for(&gated), "the effective cfg(test) excludes test scaffolding"); assert!(cfg.test_gated(&gated)); assert!(cfg.test_gated(&test_attribute), "an effective #[test] is test code too"); assert!(!cfg.test_gated(&inactive), "an inactive cfg_attr adds no test gate"); + assert!( + cfg.test_gated(&one_test_attribute), + "one test attribute among several nested attributes is enough" + ); + assert!( + !cfg.test_gated(&no_test_attribute), + "the cfg_attr condition is not one of its nested attributes" + ); + } + + #[test] + fn effective_attributes_preserve_source_and_nested_order() { + let attrs = attribute("#[first]\n#[cfg_attr(unix, second, cfg_attr(unix, third, fourth))]\n#[fifth]"); + let effective = set().effective(&attrs); + let names: Vec = effective + .iter() + .filter_map(|attribute| attribute.path().get_ident().map(ToString::to_string)) + .collect(); + + assert_eq!(names, ["first", "second", "third", "fourth", "fifth"]); } /// `skip_gate` shares one `cfg_attr` expansion between the two questions callers otherwise ask diff --git a/crates/cargo-gamma-engine/src/model/identity.rs b/crates/cargo-gamma-engine/src/model/identity.rs index 713cdf9bf..c40dedff9 100644 --- a/crates/cargo-gamma-engine/src/model/identity.rs +++ b/crates/cargo-gamma-engine/src/model/identity.rs @@ -292,19 +292,22 @@ pub fn site_key(item_path: &str, mutator: &str, normalized_site_text: &str) -> u let _ = hasher.update(field.as_bytes()); } - let mut key = [0_u8; 16]; + let digest = hasher.finalize(); + let key = digest + .as_bytes() + .first_chunk::<16>() + .expect("a BLAKE3 digest is always 32 bytes, so its first 16 bytes always exist"); - key.copy_from_slice(hasher.finalize().as_bytes().get(..16).unwrap_or(&[0; 16])); - u128::from_le_bytes(key) + u128::from_le_bytes(*key) } /// Normalizes the source text of a site for hashing. /// /// Whitespace runs collapse to a single space and comments disappear; everything else is /// preserved verbatim, including identifiers, literal values, literal suffixes and integer bases. -/// Preserving too little would let a `cargo fmt` run reshuffle the whole population; preserving -/// too little meaning would let a genuine edit keep its old identity and silently reattach a stale -/// verdict to code whose behavior changed. When in doubt, this preserves. +/// Normalizing too little would let a `cargo fmt` run reshuffle the whole population; normalizing +/// too much would let a genuine edit keep its old identity and silently reattach a stale verdict +/// to code whose behavior changed. When in doubt, this preserves. #[must_use] pub fn normalize_site_text(text: &str) -> CompactString { let mut out = CompactString::with_capacity(text.len()); @@ -326,10 +329,14 @@ pub fn normalize_site_text(text: &str) -> CompactString { if let Some(end) = crate::parse::literal_end(text, offset) { if pending_space { out.push(' '); + // #[gamma::skip(assign_value.default, reason = "`pending_space` is bool, whose `Default::default()` is exactly false")] pending_space = false; } - out.push_str(text.get(offset..end).unwrap_or("")); + let literal = text + .get(offset..end) + .expect("literal_end returns an in-bounds UTF-8 boundary in this same text"); + out.push_str(literal); offset = end; continue; } @@ -347,6 +354,7 @@ pub fn normalize_site_text(text: &str) -> CompactString { if pending_space { out.push(' '); + // #[gamma::skip(assign_value.default, reason = "`pending_space` is bool, whose `Default::default()` is exactly false")] pending_space = false; } @@ -431,11 +439,20 @@ mod tests { assert_eq!(SiteIndex::default(), SiteIndex::new(0, 0)); } + #[test] + fn a_site_key_keeps_the_first_digest_bytes_in_little_endian_order() { + assert_eq!( + site_key("subject::f", "arith.add_to_sub", "1 + 1"), + 0x13ab_1481_a7bb_abfa_59fb_46dd_e659_e8a3 + ); + } + /// An identity reads, compares and serializes as the text it wraps, so the newtype costs /// nothing at a call site and nothing on the wire. #[test] fn an_identity_behaves_as_the_text_it_wraps() { let id = MutantId::new("deadbeefcafe"); + let other = "feedfacebabe"; assert!(>::eq(&id, "deadbeefcafe")); assert!(>::eq(&id, &"deadbeefcafe")); @@ -443,18 +460,31 @@ mod tests { assert!(>::eq("deadbeefcafe", &id)); assert!(<&str as PartialEq>::eq(&"deadbeefcafe", &id)); assert!(>::eq(&String::from("deadbeefcafe"), &id)); + assert!(!>::eq(&id, other)); + assert!(!>::eq(&id, &other)); + assert!(!>::eq(&id, &String::from(other))); + assert!(!>::eq(other, &id)); + assert!(!<&str as PartialEq>::eq(&other, &id)); + assert!(!>::eq(&String::from(other), &id)); assert_eq!(id.as_str(), "deadbeefcafe"); + assert_eq!(>::borrow(&id), "deadbeefcafe"); + assert_eq!(>::as_ref(&id), "deadbeefcafe"); assert_eq!(id.to_string(), "deadbeefcafe"); assert_eq!(id.len(), MUTANT_ID_HEX_LEN); assert!(!id.is_heap_allocated()); assert_eq!(MutantId::from("deadbeefcafe"), id); assert_eq!(MutantId::from(String::from("deadbeefcafe")), id); + assert_eq!(MutantId::from(CompactString::new("deadbeefcafe")), id); assert_eq!(CompactString::from(id.clone()), CompactString::new("deadbeefcafe")); // Borrowed as `str`, so a map keyed on identities can still be probed with plain text. let borrowed: &str = &id; assert_eq!(borrowed, "deadbeefcafe"); + + let long = MutantId::new("x".repeat(128)); + + assert!(long.is_heap_allocated()); } /// Whitespace runs collapse to one space, and a run entirely at the start of the text @@ -482,6 +512,15 @@ mod tests { assert_eq!(normalize_site_text("let s = /* comment */ \"value\";"), "let s = \"value\";"); } + /// With no surrounding whitespace to mask the comment branch, an interior comment introduces + /// exactly one separator while a leading comment introduces none. + #[test] + fn adjacent_block_comments_preserve_exact_token_spacing() { + assert_eq!(normalize_site_text("left/* interior */right"), "left right"); + assert_eq!(normalize_site_text("left/* interior */\"right\""), "left \"right\""); + assert_eq!(normalize_site_text("/* leading */right"), "right"); + } + /// String, raw-string and char literals are copied verbatim, including whitespace and /// comment-shaped text inside them, rather than being normalized like ordinary code. #[test] diff --git a/crates/cargo-gamma-engine/src/model/interner.rs b/crates/cargo-gamma-engine/src/model/interner.rs index 5d15cf330..5cbe304d5 100644 --- a/crates/cargo-gamma-engine/src/model/interner.rs +++ b/crates/cargo-gamma-engine/src/model/interner.rs @@ -124,6 +124,8 @@ mod tests { }; let mut mutations = vec![sample("a.rs"), sample("a.rs")]; + mutations[0].trait_impl = Some(Arc::from("Display for Subject")); + mutations[1].trait_impl = Some(Arc::from("Display for Subject")); assert!( !Arc::ptr_eq(&mutations[0].file, &mutations[1].file), @@ -139,5 +141,10 @@ mod tests { assert_eq!(before, after, "sharing changed a value"); assert!(Arc::ptr_eq(&mutations[0].file, &mutations[1].file)); assert!(Arc::ptr_eq(&mutations[0].mutator, &mutations[1].mutator)); + assert!(Arc::ptr_eq(&mutations[0].item_path, &mutations[1].item_path)); + assert!(Arc::ptr_eq( + mutations[0].trait_impl.as_ref().expect("the fixture has a trait"), + mutations[1].trait_impl.as_ref().expect("the fixture has a trait") + )); } } diff --git a/crates/cargo-gamma-engine/src/ops/collect/collector.rs b/crates/cargo-gamma-engine/src/ops/collect/collector.rs index 4eaa7bda7..771a90fe1 100644 --- a/crates/cargo-gamma-engine/src/ops/collect/collector.rs +++ b/crates/cargo-gamma-engine/src/ops/collect/collector.rs @@ -14,10 +14,10 @@ use syn::spanned::Spanned as _; use syn::token::Comma; use syn::visit::{self, Visit}; use syn::{ - Arm, Attribute, BinOp, Block, Expr, ExprBinary, ExprBreak, ExprCall, ExprContinue, ExprForLoop, ExprIf, ExprIndex, ExprLit, ExprLoop, - ExprMatch, ExprMethodCall, ExprRange, ExprReference, ExprRepeat, ExprReturn, ExprStruct, ExprUnary, ExprWhile, FnArg, GenericArgument, - Generics, ImplItem, ImplItemConst, ImplItemFn, ItemConst, ItemFn, ItemImpl, ItemMod, ItemStatic, ItemTrait, Lit, Local, Macro, Member, - Pat, RangeLimits, ReturnType, Signature, Stmt, TraitItemConst, TraitItemFn, Type, UnOp, Variant, + Arm, Attribute, BinOp, Block, Expr, ExprAsync, ExprBinary, ExprBreak, ExprCall, ExprClosure, ExprContinue, ExprForLoop, ExprIf, + ExprIndex, ExprLit, ExprLoop, ExprMatch, ExprMethodCall, ExprRange, ExprReference, ExprRepeat, ExprReturn, ExprStruct, ExprUnary, + ExprWhile, FnArg, GenericArgument, Generics, ImplItem, ImplItemConst, ImplItemFn, ItemConst, ItemFn, ItemImpl, ItemMod, ItemStatic, + ItemTrait, Lit, Local, Macro, Member, Pat, RangeLimits, ReturnType, Signature, Stmt, TraitItemConst, TraitItemFn, Type, UnOp, Variant, }; use super::stated::stated_range; @@ -42,8 +42,8 @@ use indexes::{Indexes, NumericUses, indexes_in}; use noop::is_noop; use predicates::{ binds_a_pattern, boolean_literal, callee_name, callee_type, declared_name, diverges, expr_attrs, is_assign_op, is_capacity_call, - is_capacity_result, is_catch_all, is_constant_case, is_default_call, is_diagnostic_message, is_integer_zero_literal, - is_numeric_binding, is_numeric_return, is_numeric_type, is_promotable, is_textual, loop_produces_value, returns_numeric, + is_capacity_result, is_catch_all, is_default_call, is_diagnostic_message, is_integer_zero_literal, is_numeric_binding, + is_numeric_return, is_numeric_type, is_promotable, is_textual, is_unsigned_binding, loop_produces_value, returns_numeric, returns_result, stmt_attrs, }; use tables::{binary_replacements, in_place_reorder, method_renames}; @@ -78,6 +78,13 @@ struct LoopContext { produces_value: bool, } +#[derive(Clone, Copy)] +enum UnsignedReturn { + Other, + BodyPending, + BodyEntered, +} + /// The traversal state. pub(super) struct Collector<'a> { file: &'a SourceFile, @@ -139,6 +146,12 @@ pub(super) struct Collector<'a> { /// collection, and each of those costs a rollback round to discover it never compiled. numeric_return: bool, + /// Whether an unsigned-returning function is awaiting or traversing its body. + unsigned_return: UnsignedReturn, + + /// Zero literals in value-producing positions whose surrounding syntax requires unsigned. + unsigned_zeros: Vec>, + /// Whether the enclosing function returns a `Result` whose error type comes from another crate. /// /// `Ok(v)` becoming `Err(Default::default())` needs an error value, and the error type is fixed @@ -175,10 +188,9 @@ pub(super) struct Collector<'a> { /// Whether each constant and static declared anywhere in this file holds a number. /// - /// A screaming-case name is otherwise taken for a number, which is right for `MAX` and - /// `DEFAULT_SIZE` and wrong for every `const PREFIX: &str` and `const CAP: Duration` — and - /// adding one to those is the single largest source of mutants that cannot compile. The - /// declaration says which is which, in the file, in writing, so it is read rather than guessed. + /// Constant-style spelling says nothing about type: `MAX` may be numeric, while + /// `JUSTFILE_PATH` and `UNIX_EPOCH` are not. The declaration says which is which, in the file, + /// in writing, so it is read rather than guessed. /// Collected in one pass ahead of traversal for the same reason the field index is: a constant /// is very often used above the item that declares it. constants: HashMap, @@ -299,6 +311,8 @@ impl<'a> Collector<'a> { impl_self_associated: HashMap::default(), default_paths, numeric_return: false, + unsigned_return: UnsignedReturn::Other, + unsigned_zeros: Vec::new(), foreign_error_return: false, bindings: HashMap::default(), fields: indexes.fields, @@ -413,6 +427,7 @@ impl<'a> Collector<'a> { fn replacement_at(&self, at: u32) -> &str { self.candidates .get(at as usize) + // #[gamma::skip(literal.str_to_xyzzy, reason = "an absent candidate has no replacement; callers compare this sentinel only with non-empty proposed replacements")] .map_or("", |candidate| candidate.replacement.as_str()) } @@ -429,6 +444,7 @@ impl<'a> Collector<'a> { /// Borrowed from the file rather than the collector, so a caller can hold the result across a /// mutating call and no copy is made for a span that turns out not to be wanted. fn text_of(&self, span: Span) -> &'a str { + // #[gamma::skip(literal.str_to_xyzzy, reason = "an out-of-file span has no spliceable source text, and invented text would create a candidate with no valid site")] self.file.text.get(span.byte_range()).unwrap_or("") } @@ -467,6 +483,8 @@ impl<'a> Collector<'a> { /// path just below is read. fn impl_scope(&self, node: &ItemImpl) -> String { let self_type = compact_path(self.text_of(node.self_ty.span())); + // #[gamma::skip(cond.always_false, reason = "a parsed self type always contains a non-trivia token; this fallback is only defensive for an unmapped expansion")] + // #[gamma::skip(all, reason = "the fallback is reachable only for an unmapped expansion, and Collector never descends into expansions")] let self_type = if self_type.is_empty() { "_".to_owned() } else { self_type }; let Some((trait_path, _for)) = &node.trait_ else { @@ -475,6 +493,7 @@ impl<'a> Collector<'a> { let trait_path = compact_path(self.text_of(trait_path.span())); + // #[gamma::skip(cond.always_false, reason = "a parsed trait path always has a non-trivia token; an empty path can only be an unmapped expansion")] if trait_path.is_empty() { return self_type; } @@ -740,7 +759,14 @@ impl<'a> Collector<'a> { return; } - for (index, field) in node.fields.iter().enumerate() { + let next_starts = node + .fields + .iter() + .skip(1) + .map(|next| next.span().byte_range().start) + .chain(core::iter::once(rest.byte_range().start)); + + for ((index, field), to) in node.fields.iter().enumerate().zip(next_starts) { // A field behind a predicate that does not hold is not in the compiled literal, so // omitting it changes nothing that could be observed. if self.skipped(&field.attrs) { @@ -748,11 +774,6 @@ impl<'a> Collector<'a> { } let from = field.span().byte_range().start; - let to = node - .fields - .iter() - .nth(index.saturating_add(1)) - .map_or_else(|| rest.byte_range().start, |next| next.span().byte_range().start); // Everything between the two is the field, its comma and the space after it. if from < whole.start || to > whole.end || from >= to { @@ -907,6 +928,7 @@ impl<'a> Collector<'a> { let span = expression.span(); let text = self.text_of(span); + // #[gamma::skip(cond.always_false, reason = "empty text means the span is unmapped or the file was artificially truncated, so there is no site to perturb")] if text.is_empty() { return; } @@ -959,25 +981,34 @@ impl<'a> Collector<'a> { }, Expr::Path(path) if path.qself.is_none() => { - // A constant is one of the most worthwhile things this family has to offer, and - // the screaming case tells `MAX` and `DEFAULT_SIZE` apart from `PhantomData` and - // `Ordering::Relaxed`, which are a unit struct and a variant. let last = path.path.segments.last().is_some_and(|segment| { let name = segment.ident.to_string(); - - // What the file declares outranks how the name is spelled, in both directions: - // a `const LIMIT: usize` is a number however it is reached, and a - // `const PREFIX: &str` is not one however loudly it is spelled. - self.constants.get(&name).copied().unwrap_or_else(|| is_constant_case(&name)) + let numeric_qualifier = path + .path + .segments + .iter() + .rev() + .nth(1) + .is_some_and(|qualifier| is_numeric_type(&qualifier.ident.to_string())); + + // A declaration is exact evidence in either direction. For constants declared + // elsewhere, only a numeric type qualifier is enough: `usize::MAX` says what + // it is, while `FmtSpan::NONE` and `DateTime::UNIX_EPOCH` do not. + numeric_qualifier || self.constants.get(&name).copied().unwrap_or(false) }); last || path.path.get_ident().is_some_and(|ident| { let name = ident.to_string(); - self.bindings - .get(&name) - .copied() - .unwrap_or_else(|| self.numeric_uses.names.contains(&name)) + self.bindings.get(&name).copied().unwrap_or_else(|| { + self.numeric_uses.names.contains(&name) + || self + .imports + .get(&name) + .and_then(Option::as_ref) + .and_then(|path| path.last()) + .is_some_and(|qualifier| is_numeric_type(qualifier)) + }) }) } @@ -1056,9 +1087,14 @@ impl<'a> Collector<'a> { /// leave the outer one's `return` expressions looking like its own. fn in_function(&mut self, sig: &Signature, body: impl FnOnce(&mut Self) -> T) -> T { let outer = self.numeric_return; + let outer_unsigned = self.unsigned_return; let outer_error = self.foreign_error_return; self.numeric_return = is_numeric_return(&sig.output); + self.unsigned_return = match &sig.output { + ReturnType::Type(_, ty) if is_unsigned_binding(ty) => UnsignedReturn::BodyPending, + _other => UnsignedReturn::Other, + }; self.foreign_error_return = returns_undefaultable_error( &sig.output, &Types { @@ -1094,10 +1130,56 @@ impl<'a> Collector<'a> { self.deferred = outer_deferred; self.undo.truncate(mark); self.numeric_return = outer; + self.unsigned_return = outer_unsigned; + self.foreign_error_return = outer_error; + result + } + + /// Runs `body` with the return context of a closure or async block. + /// + /// A closure's explicit return type is authoritative. An inferred closure or async block has + /// its own return type, but the syntax does not reveal any return-sensitive properties. + fn in_nested_return_context(&mut self, output: Option<&ReturnType>, body: impl FnOnce(&mut Self) -> T) -> T { + let outer_numeric = self.numeric_return; + let outer_unsigned = self.unsigned_return; + let outer_error = self.foreign_error_return; + + self.numeric_return = output.is_some_and(is_numeric_return); + self.unsigned_return = match output { + Some(ReturnType::Type(_, ty)) if is_unsigned_binding(ty) => UnsignedReturn::BodyPending, + _other => UnsignedReturn::Other, + }; + self.foreign_error_return = match output { + Some(output @ ReturnType::Type(_, _)) => returns_undefaultable_error( + output, + &Types { + abstracts: &[], + imports: &self.imports, + defaults: self.defaults, + self_type: self.impl_self_type.as_ref(), + self_associated: Some(&self.impl_self_associated), + }, + ), + Some(ReturnType::Default) | None => true, + }; + + let result = body(self); + + self.numeric_return = outer_numeric; + self.unsigned_return = outer_unsigned; self.foreign_error_return = outer_error; result } + /// Visits an expression while marking zeros in its value-producing positions as unsigned-only. + fn in_unsigned_expression(&mut self, expression: &Expr, body: impl FnOnce(&mut Self) -> T) -> T { + let outer = self.unsigned_zeros.len(); + unsigned_zero_spans(expression, &mut self.unsigned_zeros); + let result = body(self); + self.unsigned_zeros.truncate(outer); + result + } + /// Notes whether a `let` leaves its binding empty for a later assignment to settle. /// /// Declarations are seen in source order, so re-declaring a name with a value lifts an earlier @@ -1235,6 +1317,36 @@ const fn word_like(kind: TokenKind) -> bool { ) } +/// Records zero literals reached only through syntax that preserves the expected value type. +fn unsigned_zero_spans(expression: &Expr, spans: &mut Vec>) { + match expression { + Expr::Lit(literal) if matches!(&literal.lit, Lit::Int(value) if value.base10_digits() == "0") => { + spans.push(literal.span().byte_range()); + } + Expr::Paren(paren) => unsigned_zero_spans(&paren.expr, spans), + Expr::Group(group) => unsigned_zero_spans(&group.expr, spans), + Expr::Block(block) => { + if let Some(Stmt::Expr(tail, None)) = block.block.stmts.last() { + unsigned_zero_spans(tail, spans); + } + } + Expr::If(branch) => { + if let Some(Stmt::Expr(tail, None)) = branch.then_branch.stmts.last() { + unsigned_zero_spans(tail, spans); + } + if let Some((_, otherwise)) = &branch.else_branch { + unsigned_zero_spans(otherwise, spans); + } + } + Expr::Match(matched) => { + for arm in &matched.arms { + unsigned_zero_spans(&arm.body, spans); + } + } + _ => {} + } +} + #[expect( clippy::renamed_function_params, reason = "syn names every visitor parameter `i`, which says nothing about what it is" @@ -1274,7 +1386,18 @@ impl<'ast> Visit<'ast> for Collector<'_> { _ => {} } - visit::visit_local(self, node); + if let Pat::Type(typed) = &node.pat + && is_unsigned_binding(&typed.ty) + && let Some(init) = &node.init + { + visit::visit_pat(self, &node.pat); + self.in_unsigned_expression(&init.expr, |collector| collector.visit_expr(&init.expr)); + if let Some((_, diverge)) = &init.diverge { + self.visit_expr(diverge); + } + } else { + visit::visit_local(self, node); + } } fn visit_item_fn(&mut self, node: &'ast ItemFn) { @@ -1536,6 +1659,11 @@ impl<'ast> Visit<'ast> for Collector<'_> { } fn visit_block(&mut self, node: &'ast Block) { + let unsigned_tail = matches!(self.unsigned_return, UnsignedReturn::BodyPending); + if unsigned_tail { + self.unsigned_return = UnsignedReturn::BodyEntered; + } + self.in_scope(|collector| { for statement in &node.stmts { // A statement behind a predicate that does not hold is discarded after parsing, so @@ -1560,12 +1688,19 @@ impl<'ast> Visit<'ast> for Collector<'_> { // Descended into statement by statement rather than through `visit_block`, so that the // configured-out ones are not entered either. - for statement in &node.stmts { + for (index, statement) in node.stmts.iter().enumerate() { if collector.skipped(stmt_attrs(statement)) { continue; } - visit::visit_stmt(collector, statement); + if unsigned_tail + && index + 1 == node.stmts.len() + && let Stmt::Expr(expression, None) = statement + { + collector.in_unsigned_expression(expression, |collector| collector.visit_expr(expression)); + } else { + visit::visit_stmt(collector, statement); + } } }); } @@ -1583,6 +1718,14 @@ impl<'ast> Visit<'ast> for Collector<'_> { visit::visit_expr(self, node); } + fn visit_expr_closure(&mut self, node: &'ast ExprClosure) { + self.in_nested_return_context(Some(&node.output), |collector| visit::visit_expr_closure(collector, node)); + } + + fn visit_expr_async(&mut self, node: &'ast ExprAsync) { + self.in_nested_return_context(None, |collector| visit::visit_expr_async(collector, node)); + } + fn visit_expr_unary(&mut self, node: &'ast ExprUnary) { // `*` is by far the most common unary operator and has no mutant, so the operand text is // never read for one. @@ -1738,6 +1881,7 @@ impl<'ast> Visit<'ast> for Collector<'_> { ); if requires_value { + // #[gamma::skip(stmt.delete_call, reason = "a continue has no expression children and its label contains no mutable expression")] visit::visit_expr_continue(self, node); return; } @@ -1751,6 +1895,7 @@ impl<'ast> Visit<'ast> for Collector<'_> { self.emit_shaped("loop.continue_to_break", node.span(), replacement, 0, Shape::Continue); + // #[gamma::skip(stmt.delete_call, reason = "a continue has no expression children and its label contains no mutable expression")] visit::visit_expr_continue(self, node); } @@ -1779,6 +1924,7 @@ impl<'ast> Visit<'ast> for Collector<'_> { self.emit("option.none_to_some", node.span(), "Some(Default::default())", 0); } + // #[gamma::skip(stmt.delete_call, reason = "an expression path contains no child expressions or declarations handled by Collector")] visit::visit_expr_path(self, node); } @@ -1827,7 +1973,13 @@ impl<'ast> Visit<'ast> for Collector<'_> { self.perturb_proven(value); } - visit::visit_expr_return(self, node); + if matches!(self.unsigned_return, UnsignedReturn::BodyPending | UnsignedReturn::BodyEntered) + && let Some(value) = node.expr.as_ref() + { + self.in_unsigned_expression(value, |collector| collector.visit_expr(value)); + } else { + visit::visit_expr_return(self, node); + } } fn visit_expr_lit(&mut self, node: &'ast ExprLit) { @@ -1847,9 +1999,10 @@ impl<'ast> Visit<'ast> for Collector<'_> { self.emit("literal.int_increment", span, incremented.to_string(), 2); } - if !(digits == "0" && value.suffix().starts_with('u')) - && let Some(decremented) = parsed.checked_sub(1) - { + let unsigned_zero = + digits == "0" && (value.suffix().starts_with('u') || self.unsigned_zeros.contains(&span.byte_range())); + + if !unsigned_zero && let Some(decremented) = parsed.checked_sub(1) { self.emit("literal.int_decrement", span, decremented.to_string(), 3); } } @@ -1875,6 +2028,7 @@ impl<'ast> Visit<'ast> for Collector<'_> { } // Replacing `"xyzzy"` with `"xyzzy"` is the original program. + // #[gamma::skip(cond.always_true, reason = "at an `\"xyzzy\"` site this only offers the original text, which `emit_at` rejects as a no-op")] if text != XYZZY { self.emit("literal.str_to_xyzzy", span, "\"xyzzy\"", 1); } @@ -1883,6 +2037,120 @@ impl<'ast> Visit<'ast> for Collector<'_> { _ => {} } + // #[gamma::skip(stmt.delete_call, reason = "a literal is a leaf syntax node, so recursive descent cannot alter collector state")] visit::visit_expr_lit(self, node); } } + +#[cfg(test)] +mod mutation_tests { + use super::*; + use crate::ops::collect::collect_in; + + fn candidates(source: &str, names: &str) -> Vec { + let file = SourceFile::parse("mutation.rs", source.to_owned()).expect("fixture parses"); + let selection = Selection::parse(names).expect("selectors resolve"); + collect_in(&file, &selection, &CfgSet::unconditional()) + } + + #[test] + fn exact_candidate_text_indices_shapes_and_paths_are_observable() { + let found = candidates( + r#"fn ordinary(flag: bool, value: usize) -> usize { + if flag { consume(value, 2); } + let _ = Some(0); let _ = None; let _ = "value"; value + } + fn iter() -> impl Iterator { core::iter::once(1) }"#, + "cond.negate,cond.always_true,cond.always_false,option.some_to_none,option.none_to_some,literal.int_increment,literal.int_decrement,literal.str_to_empty,literal.str_to_xyzzy,expr.increment,expr.decrement,fn_value", + ); + + assert!(found.iter().any(|c| c.mutator == "cond.negate" && c.replacement == "!(flag)")); + assert!( + found + .iter() + .any(|c| c.mutator == "cond.always_true" && c.replacement_index == 1 && c.replacement == "true") + ); + assert!( + found + .iter() + .any(|c| c.mutator == "cond.always_false" && c.replacement_index == 2 && c.replacement == "false") + ); + assert!(found.iter().any(|c| c.mutator == "option.some_to_none" && c.replacement == "None")); + assert!( + found + .iter() + .any(|c| c.mutator == "option.none_to_some" && c.replacement == "Some(Default::default())") + ); + assert!(found.iter().any(|c| c.mutator == "literal.str_to_empty" && c.replacement == "\"\"")); + assert!( + found + .iter() + .any(|c| c.mutator == "literal.str_to_xyzzy" && c.replacement == "\"xyzzy\"") + ); + assert!(found.iter().any(|c| c.item_path.as_ref() == "ordinary" && c.shape == Shape::Block)); + assert!(found.iter().any(|c| c.item_path.as_ref() == "iter" && c.shape == Shape::IterBlock)); + } + + #[test] + fn collection_match_struct_range_and_loop_boundaries_are_observable() { + let found = candidates( + r" + #[derive(Default)] struct S { a: usize, b: usize } + fn f(mut value: usize, stop: usize, base: S) { + value += 1; + match value { 0 if value > 1 => {}, 1 => {}, _ => {} } + let _ = S { a: value, b: 2, ..base }; + let _ = vec![10, 20, 30]; + for index in value..stop { consume(index); } + loop { continue; } loop { break; } + } + ", + "assign.add_to_sub,stmt.delete_assign,match_guard.negate,match_guard.always_true,match_guard.always_false,match_arm.never_matches,struct_field.omit,collection.omit_element,range.exclusive_to_inclusive,expr.increment,expr.decrement,loop.continue_to_break,loop.break_to_continue", + ); + + assert_eq!(found.iter().filter(|c| c.mutator == "struct_field.omit").count(), 2); + assert_eq!(found.iter().filter(|c| c.mutator == "collection.omit_element").count(), 3); + assert_eq!(found.iter().filter(|c| c.mutator == "match_arm.never_matches").count(), 1); + assert!( + found + .iter() + .any(|c| c.mutator == "assign.add_to_sub" && c.replacement == "value -= (1)") + ); + assert!( + found + .iter() + .any(|c| c.mutator == "range.exclusive_to_inclusive" && c.replacement == "(value)..((stop) + 1)") + ); + assert!( + found + .iter() + .any(|c| c.mutator == "loop.continue_to_break" && c.replacement == "break") + ); + assert!( + found + .iter() + .any(|c| c.mutator == "loop.break_to_continue" && c.replacement == "continue") + ); + } + + #[test] + fn configuration_const_and_scope_state_change_candidate_population() { + assert!(candidates("fn f() { #[cfg(test)] consume(1 + 2); }", "stmt.delete_call,arith.add_to_sub").is_empty()); + assert!(candidates("const N: usize = 1 + 2; static S: usize = 3 + 4;", "arith.add_to_sub").is_empty()); + + let found = candidates( + "fn outer(value: usize) -> usize { { let value: String = String::new(); consume(value); } fn inner(value: String) { consume(value); } value }", + "expr.increment,expr.decrement,stmt.delete_call", + ); + assert!( + found + .iter() + .any(|c| c.mutator == "expr.increment" && c.item_path.as_ref() == "outer") + ); + assert!( + !found + .iter() + .any(|c| c.mutator == "expr.increment" && c.item_path.as_ref() == "outer::inner") + ); + } +} diff --git a/crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs b/crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs index 1aac5f7cb..92fbc323e 100644 --- a/crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs +++ b/crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs @@ -162,6 +162,7 @@ impl Walk<'_> { .entry(name) .and_modify(|known| { if known.as_deref() != Some(prefix) { + // #[gamma::skip(assign_value.default, reason = "Option::default() is None, exactly the unknown-import sentinel assigned here")] *known = None; } }) @@ -341,6 +342,7 @@ impl<'ast> Visit<'ast> for Walk<'_> { fn visit_item_use(&mut self, node: &'ast ItemUse) { self.on_item_use(node); + // #[gamma::skip(stmt.delete_call, reason = "a use tree contains no expressions, declarations, or nested items consumed by this visitor, so syn's recursive continuation cannot update an index")] visit::visit_item_use(self, node); } @@ -369,63 +371,25 @@ impl<'ast> Visit<'ast> for Walk<'_> { } fn visit_expr_binary(&mut self, node: &'ast ExprBinary) { - if self.numeric { - match node.op { - // Nothing else in wide use subtracts, multiplies, divides or takes a remainder. - BinOp::Sub(_) - | BinOp::Mul(_) - | BinOp::Div(_) - | BinOp::Rem(_) - | BinOp::SubAssign(_) - | BinOp::MulAssign(_) - | BinOp::DivAssign(_) - | BinOp::RemAssign(_) => { - self.note(&node.left); - self.note(&node.right); - } - - // `String + &str` and `Ordering` comparisons make these two ambiguous on their - // own, so they count only against an integer literal, which fixes both sides. - BinOp::Add(_) | BinOp::AddAssign(_) | BinOp::Lt(_) | BinOp::Gt(_) | BinOp::Le(_) | BinOp::Ge(_) => { - if is_int_literal(&node.right) { - self.note(&node.left); - } - - if is_int_literal(&node.left) { - self.note(&node.right); - } - } - - _ => {} - } - } + self.on_expr_binary(node); visit::visit_expr_binary(self, node); } fn visit_expr_index(&mut self, node: &'ast ExprIndex) { - if self.numeric { - self.note(&node.index); - } + self.on_expr_index(node); visit::visit_expr_index(self, node); } fn visit_expr_method_call(&mut self, node: &'ast ExprMethodCall) { - if self.numeric && is_numeric_receiver(&node.method.to_string()) { - self.note(&node.receiver); - } + self.on_expr_method_call(node); visit::visit_expr_method_call(self, node); } fn visit_expr_for_loop(&mut self, node: &'ast ExprForLoop) { - if self.numeric - && matches!(&*node.expr, Expr::Range(_)) - && let Pat::Ident(ident) = &*node.pat - { - let _added = self.indexes.numeric_uses.names.insert(ident.ident.to_string()); - } + self.on_expr_for_loop(node); visit::visit_expr_for_loop(self, node); } @@ -475,7 +439,10 @@ impl<'cfg> Walk<'cfg> { // `Default` to reach for, and `result.ok_to_err` to know whether the `Err` it would // write could be built at all. Missing the second cost five mutants when this gate was // first written, which is what a gate on an index has to be checked against. - imports: selection.any_in_family("fn_value") || selection.contains("result.ok_to_err"), + imports: selection.any_in_family("fn_value") + || selection.contains("result.ok_to_err") + || selection.contains("expr.increment") + || selection.contains("expr.decrement"), cfg, } } @@ -488,6 +455,8 @@ impl<'cfg> Walk<'cfg> { #[cfg(test)] mod tests { + use syn::parse_quote; + use super::*; fn walk(numeric: bool, imports: bool, cfg: &CfgSet) -> Walk<'_> { @@ -515,6 +484,64 @@ mod tests { assert!(walk.indexes.numeric_uses.fields.contains("count")); } + #[test] + fn note_accepts_only_unqualified_bare_paths_and_named_fields() { + let cfg = CfgSet::unconditional(); + let mut walk = walk(true, false, &cfg); + + walk.note(&syn::parse_str::("offset").expect("the bare path parses")); + walk.note(&syn::parse_str::("::VALUE").expect("the qualified path parses")); + walk.note(&syn::parse_str::("tuple.0").expect("the tuple field parses")); + + assert_eq!(walk.indexes.numeric_uses.names.len(), 1); + assert!(walk.indexes.numeric_uses.names.contains("offset")); + assert!(walk.indexes.numeric_uses.fields.is_empty()); + } + + #[test] + fn numeric_index_and_receiver_uses_are_recorded() { + let cfg = CfgSet::unconditional(); + let mut walk = walk(true, false, &cfg); + let index: syn::ExprIndex = parse_quote!(values[offset]); + let method: syn::ExprMethodCall = parse_quote!(capacity.saturating_add(1)); + let left_literal: syn::ExprBinary = parse_quote!(1 + width); + + walk.on_expr_index(&index); + walk.on_expr_method_call(&method); + walk.on_expr_binary(&left_literal); + + assert!(walk.indexes.numeric_uses.names.contains("offset")); + assert!(walk.indexes.numeric_uses.names.contains("capacity")); + assert!(walk.indexes.numeric_uses.names.contains("width")); + } + + #[test] + fn numeric_evidence_requires_the_exact_operator_and_receiver_shapes() { + let cfg = CfgSet::unconditional(); + let mut walk = walk(true, false, &cfg); + + for expression in ["left - right", "left + 1", "1 + right", "left[at]", "index.saturating_add(1)"] { + let expression = syn::parse_str::(expression).expect("the numeric expression parses"); + visit::visit_expr(&mut walk, &expression); + } + for expression in [ + "text + suffix", + "value == other", + "text.max(other)", + "for item in values { use_item(item); }", + ] { + let expression = syn::parse_str::(expression).expect("the non-evidence expression parses"); + visit::visit_expr(&mut walk, &expression); + } + + for expected in ["left", "right", "at", "index"] { + assert!(walk.indexes.numeric_uses.names.contains(expected), "{expected}"); + } + for absent in ["text", "suffix", "value", "other", "item"] { + assert!(!walk.indexes.numeric_uses.names.contains(absent), "{absent}"); + } + } + #[test] fn declared_ignores_constants_when_numeric_index_is_disabled() { let cfg = CfgSet::unconditional(); @@ -526,6 +553,27 @@ mod tests { assert!(walk.indexes.constants.is_empty()); } + #[test] + fn conflicting_declarations_and_fields_are_demoted_to_non_numeric() { + let cfg = CfgSet::unconditional(); + let mut walk = walk(true, false, &cfg); + walk.declared("LIMIT", &parse_quote!(usize)); + walk.declared("LIMIT", &parse_quote!(&str)); + walk.on_item_struct(&parse_quote!( + struct Numeric { + count: usize, + } + )); + walk.on_item_struct(&parse_quote!( + struct Text { + count: String, + } + )); + + assert_eq!(walk.indexes.constants.get("LIMIT"), Some(&false)); + assert_eq!(walk.indexes.fields.get("count"), Some(&false)); + } + #[test] fn descend_handles_groups_renames_and_globs() { let cfg = CfgSet::unconditional(); @@ -542,6 +590,29 @@ mod tests { assert_eq!(walk.indexes.imports.len(), 2); } + #[test] + fn conflicting_imports_are_unknown_while_repeated_imports_stay_known() { + let cfg = CfgSet::unconditional(); + let mut walk = walk(false, true, &cfg); + + for item in [ + "use first::Thing;", + "use first::Thing;", + "use second::Thing;", + "use crate::module::{self, Item};", + ] { + let item = syn::parse_str::(item).expect("the use item parses"); + walk.descend(&mut Vec::new(), &item.tree); + } + + assert_eq!(walk.indexes.imports.get("Thing"), Some(&None)); + assert_eq!(walk.indexes.imports.get("module"), Some(&Some(vec!["crate".to_owned()]))); + assert_eq!( + walk.indexes.imports.get("Item"), + Some(&Some(vec!["crate".to_owned(), "module".to_owned()])) + ); + } + #[test] fn indexes_collect_static_and_trait_constants_without_named_tuple_fields() { let file = syn::parse_file( @@ -569,6 +640,59 @@ mod tests { assert!(indexes.numeric_uses.names.contains("limit")); } + #[test] + fn recursive_constant_and_struct_visits_collect_initializer_and_type_expressions() { + let file = syn::parse_file( + r" + const LIMIT: usize = left - right; + static FLOOR: usize = low - high; + struct Buffer([u8; width - 1]); + trait T { const STEP: usize = trait_left - trait_right; } + impl T for Buffer { const STEP: usize = impl_left - impl_right; } + ", + ) + .expect("the file parses"); + let selection = Selection::parse("expr.increment").expect("the numeric selector resolves"); + let indexes = indexes_in(&file, &selection, &CfgSet::unconditional()); + + for expected in [ + "left", + "right", + "low", + "high", + "width", + "trait_left", + "trait_right", + "impl_left", + "impl_right", + ] { + assert!(indexes.numeric_uses.names.contains(expected), "{expected}"); + } + } + + #[test] + fn selection_enables_only_the_indexes_its_exact_families_consume() { + let cfg = CfgSet::unconditional(); + + let numeric = Walk::new(&Selection::parse("expr.decrement").expect("selector resolves"), &cfg); + assert!(numeric.numeric); + assert!(numeric.imports); + + let result = Walk::new(&Selection::parse("result.ok_to_err").expect("selector resolves"), &cfg); + assert!(!result.numeric); + assert!(result.imports); + + let unrelated = Walk::new(&Selection::parse("literal.bool_flip").expect("selector resolves"), &cfg); + assert!(!unrelated.numeric); + assert!(!unrelated.imports); + + let file = syn::parse_file("const LIMIT: usize = left - right; use crate::Thing;").expect("the file parses"); + let indexes = indexes_in(&file, &Selection::parse("literal.bool_flip").expect("selector resolves"), &cfg); + assert!(indexes.constants.is_empty()); + assert!(indexes.imports.is_empty()); + assert!(indexes.numeric_uses.names.is_empty()); + } + /// A field or a constant behind a predicate the active build does not satisfy must not /// inform the numeric guess for an active same-named field or constant elsewhere in the file. /// @@ -601,6 +725,29 @@ mod tests { assert_eq!(indexes.constants.get("COUNT"), Some(&true)); } + #[test] + fn a_skipped_or_unnamed_field_does_not_end_the_struct_scan() { + let file = syn::parse_file( + r" + struct Record( + #[cfg(windows)] String, + usize, + ); + + struct Named { + #[cfg(windows)] + ignored: String, + count: usize, + } + ", + ) + .expect("the file parses"); + let selection = Selection::parse("expr.increment").expect("the numeric selector resolves"); + let indexes = indexes_in(&file, &selection, &CfgSet::parse("unix\n")); + + assert_eq!(indexes.fields.get("count"), Some(&true)); + } + /// A misplaced or malformed item nested inside an inactive module must not reach this index /// at all — the module itself never compiles, so nothing inside it should be able to shadow /// or demote evidence the active build actually relies on. diff --git a/crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs b/crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs index f8749faa9..adb312c5c 100644 --- a/crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs +++ b/crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs @@ -192,6 +192,7 @@ fn strip_parentheses<'slice, 'text>(mut expression: &'slice [Lexeme<'text>]) -> if !closes_at_end { return expression; } + // #[gamma::skip(stmt.delete_assign, reason = "not removing the enclosing pair leaves the loop on the same expression forever")] expression = &expression[1..expression.len() - 1]; } } @@ -410,6 +411,10 @@ mod tests { let leaked = "&*(Box::leak(Box::new((value))))"; assert_eq!(leaked_value(leaked), Some("(value)")); + assert_eq!(leaked_value("Box::leak(Box::new(value))"), Some("value")); + assert_eq!(leaked_value("&Box::leak(Box::new(value))"), None); + assert_eq!(leaked_value("*Box::leak(Box::new(value))"), None); + assert_eq!(leaked_value("Box::leak(Box::new((left, right)))"), Some("(left, right)")); let extra = "Box::new(value)()"; let extra_tokens = lexemes(extra).expect("the extra call tokenizes"); @@ -422,6 +427,40 @@ mod tests { let empty = "Box::new()"; let empty_tokens = lexemes(empty).expect("the empty call tokenizes"); assert_eq!(call_argument(empty, &empty_tokens, "Box", "new"), None); + + let wrong_callee = "Vec::new(value)"; + let wrong_tokens = lexemes(wrong_callee).expect("the wrong callee tokenizes"); + assert_eq!(call_argument(wrong_callee, &wrong_tokens, "Box", "new"), None); + + let malformed_path = "Box.new(value)"; + let malformed_tokens = lexemes(malformed_path).expect("the malformed path tokenizes"); + assert!(!path_ends_with(&malformed_tokens[..2], "Box", "new")); + + let absolute = "::alloc::boxed::Box::new"; + let absolute_tokens = lexemes(absolute).expect("the absolute path tokenizes"); + assert!(path_ends_with(&absolute_tokens, "Box", "new")); + assert!(!path_ends_with(&absolute_tokens, "Vec", "new")); + + for malformed in ["::", "Box:", "Box:::new", "Box::new::", "Box::0"] { + let tokens = lexemes(malformed).expect("the malformed path still tokenizes"); + assert!(path_segments(&tokens).is_none(), "{malformed}"); + } + + let partly_parenthesized = "(value) + other"; + let partly_parenthesized_tokens = lexemes(partly_parenthesized).expect("the expression tokenizes"); + assert_eq!( + strip_parentheses(&partly_parenthesized_tokens).len(), + partly_parenthesized_tokens.len() + ); + + let two_parenthesized_terms = "(left) + (right)"; + let two_parenthesized_tokens = lexemes(two_parenthesized_terms).expect("the expression tokenizes"); + assert_eq!(strip_parentheses(&two_parenthesized_tokens).len(), two_parenthesized_tokens.len()); + } + + #[test] + fn leak_comparison_rejects_text_that_only_mentions_leak() { + assert!(!is_same_leak("leak + 1", "leak + 1", &defaults(), &[])); } #[test] @@ -432,6 +471,18 @@ mod tests { assert!(!is_default_call("Default::default", &defaults, &[])); assert!(!is_default_call("Default::default(value)", &defaults, &[])); assert!(!is_default_call("1()", &defaults, &[])); + assert!(!is_default_call("Default::default() + 1", &defaults, &[])); + assert!(is_default_call("(Default::default())", &defaults, &[])); + } + + #[test] + fn noop_block_stripping_applies_only_to_block_shapes() { + let defaults = defaults(); + + assert!(is_noop("true", "{ true }", Shape::Block, &defaults, &[])); + assert!(is_noop("true", "{ true }", Shape::IterBlock, &defaults, &[])); + assert!(!is_noop("true", "{ true }", Shape::Expr, &defaults, &[])); + assert!(!is_noop("true", "{ true }", Shape::Continue, &defaults, &[])); } #[test] diff --git a/crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs b/crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs index 686cb5e7a..801a8920a 100644 --- a/crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs +++ b/crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs @@ -93,6 +93,7 @@ struct PhaseOne<'cfg> { impl<'ast> Visit<'ast> for PhaseOne<'_> { fn visit_attribute(&mut self, node: &'ast Attribute) { self.audit.on_attribute(node); + // #[gamma::skip(stmt.delete_call, reason = "syn attributes contain an opaque token stream and no recursively visitable Rust nodes, so this continuation has no observable work")] visit::visit_attribute(self, node); } @@ -186,6 +187,7 @@ impl<'ast> Visit<'ast> for PhaseOne<'_> { fn visit_item_use(&mut self, node: &'ast ItemUse) { self.walk.on_item_use(node); + // #[gamma::skip(stmt.delete_call, reason = "a use tree contains no expressions, attributes, function items, or declarations consumed by either fused visitor")] visit::visit_item_use(self, node); } @@ -229,3 +231,180 @@ impl<'ast> Visit<'ast> for PhaseOne<'_> { visit::visit_expr_for_loop(self, node); } } + +#[cfg(test)] +mod tests { + use super::*; + + fn run_source(source: &str, selection: &str, cfg: &CfgSet) -> Result { + let file = SourceFile::parse("fixture.rs", source.to_owned()).expect("the fixture parses"); + let selection = Selection::parse(selection).expect("the selectors resolve"); + + run(&file, &selection, cfg) + } + + #[test] + fn the_fused_walk_visits_every_indexed_and_audited_item_kind() { + let indexes = run_source( + r" + use std::vec::Vec; + + struct Record { + count: usize, + } + + const LIMIT: usize = 1; + static FLOOR: usize = 0; + + trait Measure { + const STEP: usize; + fn read(&self) -> usize; + } + + impl Record { + const CAPACITY: usize = 2; + fn value(&self) -> usize { + self.count + LIMIT + } + } + + fn collect(record: &Record) -> usize { + for index in 0..record.count { + let _ = Vec::::new()[index + record.value()]; + } + let _width = record.count + LIMIT; + record.value().saturating_add(FLOOR) + } + ", + "expr.increment,arith.add_to_sub,fn_value.default", + &CfgSet::unconditional(), + ) + .expect("the fixture has no stated-value fault"); + + assert_eq!(indexes.constants.get("LIMIT"), Some(&true)); + assert_eq!(indexes.constants.get("FLOOR"), Some(&true)); + assert_eq!(indexes.constants.get("STEP"), Some(&true)); + assert_eq!(indexes.constants.get("CAPACITY"), Some(&true)); + assert_eq!(indexes.fields.get("count"), Some(&true)); + assert_eq!(indexes.imports.get("Vec"), Some(&Some(vec!["std".to_owned(), "vec".to_owned()]))); + assert!(indexes.numeric_uses.names.contains("index")); + } + + #[test] + fn every_gate_excludes_invalid_stated_values_in_inactive_code() { + let source = r" + #[cfg(any())] + #[gamma::value(0, 1)] + fn item() {} + + struct Record { + #[cfg(any())] + #[gamma::value(0, 1)] + field: usize, + } + + impl Record { + #[cfg(any())] + #[gamma::value(0, 1)] + fn implementation(&self) {} + } + + trait Measure { + #[cfg(any())] + #[gamma::value(0, 1)] + fn declaration(&self) {} + } + + fn body(value: Option) { + #[cfg(any())] + #[gamma::value(0, 1)] + let skipped = 1; + + match value { + #[cfg(any())] + #[gamma::value(0, 1)] + Some(number) => number, + _ => 0, + }; + } + "; + + run_source(source, "all", &CfgSet::parse("unix")).expect("attributes on every inactive syntax level are ignored"); + } + + #[test] + fn active_attributes_and_nested_functions_are_audited() { + assert!( + run_source( + "fn outer() { #[gamma::value(0, 1)] fn inner() -> usize { 2 } }", + "all", + &CfgSet::unconditional(), + ) + .is_err(), + "the recursive descent must reach and audit a nested function" + ); + assert!( + run_source( + "struct S; impl S { #[gamma::value(0, 1)] fn f(&self) -> usize { 2 } }", + "all", + &CfgSet::unconditional(), + ) + .is_err(), + "implementation methods are audited" + ); + assert!( + run_source( + "trait T { #[gamma::value(0, 1)] fn f(&self) -> usize { 2 } }", + "all", + &CfgSet::unconditional(), + ) + .is_err(), + "trait methods are audited" + ); + + for source in [ + "struct S { #[gamma::value(0, 1)] field: usize }", + "fn f(value: Option) { match value { #[gamma::value(0, 1)] Some(n) => n, _ => 0 }; }", + "fn f() { let _ = #[gamma::value(0, 1)] 1; }", + ] { + assert!( + run_source(source, "all", &CfgSet::unconditional()).is_err(), + "the active nested attribute must be audited: {source}" + ); + } + } + + #[test] + fn recursive_visits_reach_expressions_inside_every_declaration_kind() { + let indexes = run_source( + r" + struct Buffer([u8; width - 1]); + const LIMIT: usize = left - right; + static FLOOR: usize = low - high; + trait T { + const STEP: usize = trait_left - trait_right; + } + impl T for Buffer { + const STEP: usize = impl_left - impl_right; + } + ", + "expr.increment", + &CfgSet::unconditional(), + ) + .expect("the fixture has no stated-value fault"); + + for expected in [ + "width", + "left", + "right", + "low", + "high", + "trait_left", + "trait_right", + "impl_left", + "impl_right", + ] { + assert!(indexes.numeric_uses.names.contains(expected), "{expected}"); + } + } +} diff --git a/crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs b/crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs index 8c7d023f3..804ad5eb3 100644 --- a/crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs +++ b/crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs @@ -145,10 +145,10 @@ impl<'ast> Visit<'ast> for ValueBreak<'_> { /// Returns whether the source positively says an expression is text rather than a number. /// /// The mirror of `is_known_numeric`, and it exists because that one has to answer from evidence -/// that is sometimes circumstantial — a screaming-case name, a field name some other struct -/// declared, a name used as an index once elsewhere in the file. Text is the case where the source -/// says so outright, and `+ 1` against it is `E0369` every time: a build that is thrown away, a -/// share of a rollback round paid, and nothing measured. +/// that is sometimes circumstantial — a field name some other struct declared, or a name used as +/// an index once elsewhere in the file. Text is the case where the source says so outright, and +/// `+ 1` against it is `E0369` every time: a build that is thrown away, a share of a rollback round +/// paid, and nothing measured. /// /// An allowlist again, and deliberately a short one. A plain path whose type is a caller's struct /// is not decidable here and is not attempted; what is decidable is a value the source constructed @@ -255,10 +255,6 @@ pub(super) fn is_numeric_receiver(method: &str) -> bool { ) } -pub(super) fn is_constant_case(name: &str) -> bool { - name.chars().any(|character| character.is_ascii_uppercase()) && !name.chars().any(char::is_lowercase) -} - /// Returns whether a type's name says its associated functions produce a number. /// /// Written out rather than derived, because these are the only names for which `usize::from(..)` @@ -579,6 +575,18 @@ pub(super) fn is_numeric_binding(ty: &Type) -> bool { } } +/// Returns whether a written-down type is an unsigned integer. +/// +/// This is intentionally narrower than [`is_numeric_binding`]: it is used only where replacing +/// an unsuffixed zero with `-1` is known not to type-check. +pub(super) fn is_unsigned_binding(ty: &Type) -> bool { + match ty { + Type::Reference(reference) => is_unsigned_binding(&reference.elem), + + _ => matches!(resolve_type(ty), Kind::Unsigned), + } +} + /// Returns the type a called path is qualified by, which is the segment before the function name. /// /// `Vec::new` is qualified by `Vec` and `usize::from` by `usize`; a bare `helper()` is qualified by @@ -701,6 +709,13 @@ mod tests { }); assert!(loop_produces_value(&node)); + + let through_while: ExprLoop = parse_quote!('outer: loop { + while ready { + break 'outer 11; + } + }); + assert!(loop_produces_value(&through_while)); } /// Textuality is decided only from syntax, so every syntax form that states "this is text" @@ -785,4 +800,189 @@ mod tests { assert!(payload(&reference, 0).is_none()); } + + #[test] + fn expression_shape_predicates_have_exact_positive_and_negative_cases() { + for expression in [ + parse_quote!(1), + parse_quote!(VALUE), + parse_quote!([1, -2]), + parse_quote!((1, VALUE)), + parse_quote!([1; 2]), + parse_quote!(&(-1)), + ] { + assert!(is_promotable(&expression), "{expression:?}"); + } + for expression in [ + parse_quote!([1, call()]), + parse_quote!((1, call())), + parse_quote!(!true), + parse_quote!(call()), + ] { + assert!(!is_promotable(&expression), "{expression:?}"); + } + + assert!(binds_a_pattern(&parse_quote!(let Some(value) = option))); + assert!(binds_a_pattern(&parse_quote!(ready && (let Some(value) = option)))); + assert!(!binds_a_pattern(&parse_quote!(ready + (let Some(value) = option)))); + assert!(!binds_a_pattern(&parse_quote!(ready || matches!(option, Some(_))))); + assert_eq!(boolean_literal(&parse_quote!((true))), Some(true)); + assert_eq!(boolean_literal(&parse_quote!(value)), None); + assert!(is_integer_zero_literal(&parse_quote!((0u8)))); + assert!(!is_integer_zero_literal(&parse_quote!(0.0))); + assert!(!is_integer_zero_literal(&parse_quote!(1))); + } + + #[test] + fn loop_value_detection_respects_labels_shadowing_and_boundaries() { + let cases: [(ExprLoop, bool); 5] = [ + ( + parse_quote!(loop { + break 1; + }), + true, + ), + ( + parse_quote!(loop { + loop { + break 1; + } + }), + false, + ), + ( + parse_quote!('outer: loop { + loop { + break 'outer 1; + } + }), + true, + ), + ( + parse_quote!('outer: loop { + 'outer: loop { + break 'outer 1; + } + }), + false, + ), + ( + parse_quote!(loop { + let _closure = || { + break 1; + }; + }), + false, + ), + ]; + + for (node, expected) in cases { + assert_eq!(loop_produces_value(&node), expected, "{node:?}"); + } + + let state_restored_between_siblings: ExprLoop = parse_quote!('outer: loop { + 'outer: while false { + break; + } + while false {} + break 'outer 9; + }); + assert!(loop_produces_value(&state_restored_between_siblings)); + } + + #[test] + fn textual_numeric_and_pattern_classifiers_use_the_written_shape() { + assert!(is_textual(&parse_quote!(std::format!("x")))); + assert!(is_textual(&parse_quote!(String::from("a") + "b"))); + assert!(is_textual(&parse_quote!("a" + suffix))); + assert!(is_textual(&parse_quote!(prefix + "b"))); + assert!(is_textual(&parse_quote!((String::from("a"))))); + assert!(!is_textual(&parse_quote!(module::format))); + assert!(!is_textual(&parse_quote!(1 + 2))); + assert!(!is_textual(&parse_quote!(1.max(2)))); + + assert!(is_numeric_type("NonZeroUsize")); + assert!(!is_numeric_type("Duration")); + assert!(returns_numeric("subsec_nanos")); + assert!(!returns_numeric("checked_add")); + assert!(is_numeric_receiver("to_be_bytes")); + assert!(!is_numeric_receiver("max")); + assert!(is_capacity_call("try_reserve_exact")); + assert!(!is_capacity_call("resize")); + assert!(is_diagnostic_message("expect_err", 1)); + assert!(!is_diagnostic_message("expect_err", 2)); + + assert!(is_catch_all(&parse_quote!(_))); + assert!(is_catch_all(&parse_quote!((other)))); + assert!(!is_catch_all(&parse_quote!(Some(other)))); + assert!(!is_catch_all(&parse_quote!(name @ Some(_)))); + assert!(!is_catch_all(&parse_quote!(None))); + } + + #[test] + fn divergence_and_pattern_helpers_cover_each_recursive_form() { + for expression in [ + parse_quote!(return 1), + parse_quote!(break), + parse_quote!(continue), + parse_quote!(std::panic!()), + parse_quote!(loop {}), + parse_quote!(({ return 1 })), + parse_quote!(unsafe { return 1 }), + parse_quote!(if ready { return 1 } else { panic!() }), + parse_quote!(match value { + Some(_) => return 1, + None => panic!(), + }), + ] { + assert!(diverges(&expression), "{expression:?}"); + } + for expression in [ + parse_quote!(loop { + break; + }), + parse_quote!(if ready { + return 1; + }), + parse_quote!(match value {}), + parse_quote!(match value { + Some(_) => return 1, + None => 0, + }), + parse_quote!({ + return 1; + 0 + }), + parse_quote!(if ready { return 1 } else { 0 }), + parse_quote!(if ready { 0 } else { return 1 }), + ] { + assert!(!diverges(&expression), "{expression:?}"); + } + + assert_eq!(declared_name(&parse_quote!(value)), Some("value".to_owned())); + assert_eq!(declared_name(&parse_quote!((value))), None); + let typed: Stmt = parse_quote!(let value: usize;); + let Stmt::Local(typed) = typed else { + panic!("the fixture is a local statement"); + }; + assert_eq!(declared_name(&typed.pat), Some("value".to_owned())); + assert_eq!(declared_name(&parse_quote!(value @ Some(_))), None); + assert_eq!(declared_name(&parse_quote!(_)), None); + } + + #[test] + fn default_and_return_classification_require_exact_call_and_type_shapes() { + let defaults = default_paths(""); + let defaulted = vec!["T".to_owned()]; + + assert!(is_default_call(&parse_quote!(T::default()), &defaults, &defaulted)); + assert!(!is_default_call(&parse_quote!(T::default(value)), &defaults, &defaulted)); + assert!(!is_default_call(&parse_quote!(module::T::default()), &defaults, &defaulted)); + assert!(!is_default_call(&parse_quote!(T::Assoc::default()), &defaults, &defaulted)); + assert!(!is_default_call(&parse_quote!(default()), &defaults, &defaulted)); + + assert!(is_numeric_return(&parse_quote!(-> usize))); + assert!(!is_numeric_return(&parse_quote!(-> String))); + assert!(!is_numeric_return(&ReturnType::Default)); + } } diff --git a/crates/cargo-gamma-engine/src/ops/collect/collector/types.rs b/crates/cargo-gamma-engine/src/ops/collect/collector/types.rs index fcfbb1e1f..830e823f5 100644 --- a/crates/cargo-gamma-engine/src/ops/collect/collector/types.rs +++ b/crates/cargo-gamma-engine/src/ops/collect/collector/types.rs @@ -313,6 +313,26 @@ mod tests { assert!(!is_foreign_error(&imported_error, &imports)); } + #[test] + fn standard_time_detection_handles_unknown_and_imported_names() { + let defaults = Defaults::default(); + let abstracts = Vec::new(); + let mut imports = HashMap::default(); + let _old = imports.insert("Instant".to_owned(), Some(vec!["std".to_owned(), "time".to_owned()])); + let types = Types { + abstracts: &abstracts, + imports: &imports, + defaults: &defaults, + self_type: None, + self_associated: None, + }; + + assert!(!types.lacks_default(&empty_path_type())); + assert!(types.lacks_default(&parse_quote!(Instant))); + assert!(!types.lacks_default(&parse_quote!(SystemTime))); + assert!(!types.lacks_default(&parse_quote!(&'static str))); + } + #[test] fn result_aliases_and_direct_errors_can_both_be_screened() { let defaults = defaults( diff --git a/crates/cargo-gamma-engine/src/ops/collect/collector/values.rs b/crates/cargo-gamma-engine/src/ops/collect/collector/values.rs index 99c7f91d1..82b2eaf05 100644 --- a/crates/cargo-gamma-engine/src/ops/collect/collector/values.rs +++ b/crates/cargo-gamma-engine/src/ops/collect/collector/values.rs @@ -240,10 +240,10 @@ pub(super) fn tuple_values(ty: &Type, depth: usize, types: &Types<'_>) -> Vec= RETURN_WIDTH { - break; + break 'combinations; } let mut combination = existing.clone(); @@ -254,6 +254,10 @@ pub(super) fn tuple_values(ty: &Type, depth: usize, types: &Types<'_>) -> Vec Option<&Type> { /// The path text of a type, so that an associated function can be called on it. pub(super) fn type_text(ty: &Type) -> String { - match strip(ty) { - Type::Path(path) => path - .path - .segments - .iter() - .map(|segment| segment.ident.to_string()) - .collect::>() - .join("::"), - _ => "Default".to_owned(), - } + path_text(ty).unwrap_or_else(|| "Default".to_owned()) } /// The number of type arguments a path segment carries. @@ -465,16 +460,7 @@ pub(super) fn type_arguments(segment: &PathSegment) -> usize { /// The constructor path for a collection type, keeping any qualification the author wrote. pub(super) fn collection_ctor(ty: &Type) -> String { - let Type::Path(path) = strip(ty) else { - return "Vec".to_owned(); - }; - - path.path - .segments - .iter() - .map(|segment| segment.ident.to_string()) - .collect::>() - .join("::") + path_text(ty).unwrap_or_else(|| "Vec".to_owned()) } /// The constructor for a smart-pointer type. @@ -482,6 +468,22 @@ pub(super) fn wrapper_ctor(ty: &Type) -> String { format!("{}::new", collection_ctor(ty)) } +/// The written path of a type, without its generic arguments. +fn path_text(ty: &Type) -> Option { + let Type::Path(path) = strip(ty) else { + return None; + }; + + Some( + path.path + .segments + .iter() + .map(|segment| segment.ident.to_string()) + .collect::>() + .join("::"), + ) +} + /// Sees through parentheses to the type underneath. pub(super) fn strip(ty: &Type) -> &Type { match ty { @@ -698,4 +700,125 @@ mod tests { fn resolve_type_treats_an_empty_path_as_unknown() { assert_eq!(resolve_type(&empty_path_type()), Kind::Unknown); } + + fn texts(values: Vec) -> Vec { + values.into_iter().map(|(name, text)| format!("{name}:{text}")).collect() + } + + #[test] + fn nested_value_generation_has_a_deterministic_oracle() { + let abstracts = Vec::new(); + let imports = HashMap::default(); + let defaults = Defaults::default(); + let types = test_types(&abstracts, &imports, &defaults); + + assert_eq!(texts(return_values(&ReturnType::Default, &types)), ["fn_value.unit:()"]); + assert_eq!( + texts(values_for(&parse_quote!(bool), 0, &types)), + ["fn_value.default:Default::default()"] + ); + assert_eq!( + texts(values_for(&parse_quote!(Option), RETURN_DEPTH, &types)), + ["fn_value.none:None", "fn_value.some:Some(true)", "fn_value.some:Some(false)"] + ); + assert_eq!( + texts(values_for(&parse_quote!(Result, String>), RETURN_DEPTH, &types)), + [ + "fn_value.ok:Ok(None)", + "fn_value.ok:Ok(Some(true))", + "fn_value.ok:Ok(Some(false))", + "fn_value.err_default:Err(Default::default())", + ] + ); + assert_eq!( + texts(values_for(&parse_quote!(Vec), RETURN_DEPTH, &types)), + [ + "fn_value.empty_collection:Vec::new()", + "fn_value.one_element:core::iter::once(true).collect()", + "fn_value.one_element:core::iter::once(false).collect()", + ] + ); + assert_eq!( + texts(values_for(&parse_quote!(HashMap), RETURN_DEPTH, &types)), + [ + "fn_value.empty_collection:HashMap::new()", + "fn_value.one_element:core::iter::once((true, 0)).collect()", + ] + ); + assert_eq!( + texts(values_for(&parse_quote!(Box), RETURN_DEPTH, &types)), + ["fn_value.bool_true:Box::new(true)", "fn_value.bool_false:Box::new(false)"] + ); + assert_eq!( + texts(values_for( + &parse_quote!(impl DoubleEndedIterator), + RETURN_DEPTH, + &types + )), + [ + "fn_value.empty_collection:core::iter::empty()", + "fn_value.one_element:core::iter::once(true)", + "fn_value.one_element:core::iter::once(false)", + ] + ); + assert_eq!( + texts(values_for(&parse_quote!(&bool), RETURN_DEPTH, &types)), + [ + "fn_value.bool_true:&*Box::leak(Box::new(true))", + "fn_value.bool_false:&*Box::leak(Box::new(false))", + ] + ); + assert_eq!( + texts(values_for(&parse_quote!(&mut bool), RETURN_DEPTH, &types)), + [ + "fn_value.bool_true:Box::leak(Box::new(true))", + "fn_value.bool_false:Box::leak(Box::new(false))", + ] + ); + } + + #[test] + fn tuple_width_and_type_helpers_have_exact_boundaries() { + let abstracts = Vec::new(); + let imports = HashMap::default(); + let defaults = Defaults::default(); + let types = test_types(&abstracts, &imports, &defaults); + let tuple: Type = parse_quote!((bool, bool, bool, bool)); + let values = tuple_values(&tuple, RETURN_DEPTH, &types); + + assert_eq!(values.len(), RETURN_WIDTH); + assert_eq!(values.first().map(|(_, text)| text.as_str()), Some("(true, true, true, true)")); + assert_eq!(values.last().map(|(_, text)| text.as_str()), Some("(true, false, false, false)")); + assert_eq!(cap(vec![("x", "x".into()); RETURN_WIDTH + 1]).len(), RETURN_WIDTH); + + let qualified: Type = parse_quote!(std::collections::VecDeque); + assert_eq!(type_text(&qualified), "std::collections::VecDeque"); + assert_eq!(collection_ctor(&qualified), "std::collections::VecDeque"); + assert_eq!(wrapper_ctor(&parse_quote!(std::sync::Arc)), "std::sync::Arc::new"); + let cow: PathSegment = parse_quote!(Cow<'static, str>); + let array: PathSegment = parse_quote!(Array); + assert_eq!(type_arguments(&cow), 1); + assert_eq!(type_arguments(&array), 1); + } + + #[test] + fn type_classification_checks_names_arity_and_iterator_bounds() { + let cases = [ + (parse_quote!(()), Kind::Unit), + (parse_quote!(&str), Kind::StaticStr), + (parse_quote!(&mut str), Kind::MutStr), + (parse_quote!(NonZeroU8), Kind::NonZero), + (parse_quote!(NonZero), Kind::Unknown), + (parse_quote!(Vec), Kind::Collection), + (parse_quote!(Vec), Kind::Unknown), + (parse_quote!(HashMap), Kind::Map), + (parse_quote!(HashMap), Kind::Unknown), + (parse_quote!(impl FusedIterator), Kind::Iterator), + (parse_quote!(impl Display), Kind::Unknown), + ]; + + for (ty, expected) in cases { + assert_eq!(resolve_type(&ty), expected, "{ty:?}"); + } + } } diff --git a/crates/cargo-gamma-engine/src/ops/collect/defaults.rs b/crates/cargo-gamma-engine/src/ops/collect/defaults.rs index 286f59e64..b11d83d0d 100644 --- a/crates/cargo-gamma-engine/src/ops/collect/defaults.rs +++ b/crates/cargo-gamma-engine/src/ops/collect/defaults.rs @@ -176,7 +176,7 @@ impl DefaultPaths { /// Resolves the qualifier of an associated call through the type namespace. fn is_standard_callee_segments(&self, segments: &[String]) -> bool { if let [name] = segments - && (self.aliases.contains(name) || (name == "Default" && !self.shadows.contains(name))) + && self.is_standard_trait_name(name) { return true; } @@ -384,6 +384,7 @@ fn merge_alias(into: &mut HashMap>, alias: String, error: match into.entry(alias) { Entry::Occupied(mut seen) => { if *seen.get() != error { + // #[gamma::skip(assign_value.default, reason = "`Option::default()` is exactly `None`, so this replacement is identical")] *seen.get_mut() = None; } } @@ -489,6 +490,7 @@ impl<'ast> Visit<'ast> for Defaults { self.note_derive(&node.ident.to_string(), &node.attrs); + // #[gamma::skip(stmt.delete_call, reason = "`Defaults` has no callbacks for fields or field types, so descending cannot change this visitor's state")] visit::visit_item_struct(self, node); } @@ -499,6 +501,7 @@ impl<'ast> Visit<'ast> for Defaults { self.note_derive(&node.ident.to_string(), &node.attrs); + // #[gamma::skip(stmt.delete_call, reason = "`Defaults` has no callbacks for variants or their contents, so descending cannot change this visitor's state")] visit::visit_item_enum(self, node); } @@ -509,6 +512,7 @@ impl<'ast> Visit<'ast> for Defaults { self.note_derive(&node.ident.to_string(), &node.attrs); + // #[gamma::skip(stmt.delete_call, reason = "`Defaults` has no callbacks for union fields or types, so descending cannot change this visitor's state")] visit::visit_item_union(self, node); } @@ -524,6 +528,7 @@ impl<'ast> Visit<'ast> for Defaults { let _inserted = self.defaulted.insert(name); } + // #[gamma::skip(stmt.delete_call, reason = "impl blocks cannot contain nested declarations handled by `Defaults`, so descent is unobservable")] visit::visit_item_impl(self, node); } @@ -551,6 +556,7 @@ impl<'ast> Visit<'ast> for Defaults { } } + // #[gamma::skip(stmt.delete_call, reason = "`Defaults` has no callbacks for nodes nested in an alias target, so descent is unobservable")] visit::visit_item_type(self, node); } } @@ -584,6 +590,7 @@ fn name_of(ty: &Type) -> Option { Type::Path(path) => path.path.segments.last().map(|segment| segment.ident.to_string()), Type::Paren(paren) => name_of(&paren.elem), Type::Group(group) => name_of(&group.elem), + // #[gamma::skip(option.none_to_some, reason = "`Type::default()` is an empty `Verbatim`, which every caller reduces back to no name")] _ => None, } } @@ -1117,4 +1124,73 @@ mod tests { assert_eq!(payload_name(&bare, 0), None); assert_eq!(payload_name(&with_lifetime, 0), Some("Error".to_owned())); } + + #[test] + fn mutation_boundaries_are_observable_across_paths_attributes_and_visitors() { + for declaration in ["enum Default {}", "type Default = ();", "mod Default {}", "struct Default;"] { + let source = format!("struct Error; {declaration} impl Default for Error {{ fn default() -> Self {{ Self }} }}"); + assert!(Defaults::of(&parse_file(&source).unwrap()).lacks_default(&parse_quote!(Error))); + } + + let paths = DefaultPaths::default(); + let bare: Path = parse_quote!(Default); + let qualified: Path = parse_quote!(core::default::Default); + let custom: Path = parse_quote!(custom::Default); + assert!(paths.is_fallback_trait(&bare)); + assert!(paths.is_fallback_trait(&qualified)); + assert!(!paths.is_fallback_trait(&custom)); + assert!(!is_standard_module_path(&["custom".to_owned()])); + assert!(!is_standard_module_path(&["std".to_owned(), "other".to_owned()])); + + let chained = index(&[ + "struct Error; use std as first; use first as second; impl second::default::Default for Error { fn default() -> Self { Self } }", + ]); + assert!(!chained.lacks_default(&parse_quote!(Error))); + + let not_result = index(&["type Alias = Vec;"]); + assert_eq!(not_result.aliased_error("Alias"), None); + let lifetime_alias = index(&["type MyResult<'a, const N: usize> = Result;"]); + assert_eq!(lifetime_alias.aliased_error("MyResult"), Some("Error")); + + let item_kinds: Vec = vec![ + parse_quote!( + #[allow(dead_code)] + enum E {} + ), + parse_quote!( + #[allow(dead_code)] + fn f() {} + ), + parse_quote!( + #[allow(dead_code)] + impl S {} + ), + parse_quote!( + #[allow(dead_code)] + static S: usize = 0; + ), + parse_quote!( + #[allow(dead_code)] + struct S; + ), + parse_quote!( + #[allow(dead_code)] + type A = usize; + ), + parse_quote!( + #[allow(dead_code)] + use core::fmt; + ), + ]; + assert!(item_kinds.iter().all(|item| item_attrs(item).len() == 1)); + + let function: syn::ItemFn = parse_quote!( + fn f() + where + T: Clone + Default, + { + } + ); + assert_eq!(standard_defaulted_parameters(&function.sig.generics, &paths), vec!["T"]); + } } diff --git a/crates/cargo-gamma-engine/src/ops/collect/definitions.rs b/crates/cargo-gamma-engine/src/ops/collect/definitions.rs index 9e7693b95..c246f6a32 100644 --- a/crates/cargo-gamma-engine/src/ops/collect/definitions.rs +++ b/crates/cargo-gamma-engine/src/ops/collect/definitions.rs @@ -31,7 +31,7 @@ pub fn into_definitions(file: &SourceFile, candidates: Vec) -> Vec, (Arc, Arc)> = HashMap::default(); + let mut sites: HashMap, (Arc, CompactString)> = HashMap::default(); let mut definitions = Vec::with_capacity(candidates.len()); @@ -49,13 +49,12 @@ pub fn into_definitions(file: &SourceFile, candidates: Vec) -> Vec) -> Vec Option> { let first = tokens.next()?.span().byte_range(); let last = tokens.last().map_or_else(|| first.clone(), |tree| tree.span().byte_range()); + // #[gamma::skip(relational.lt_to_le, reason = "a parsed expression's final token has positive width, so its end is strictly after the first token's start")] (first.start < last.end).then_some(first.start..last.end) } @@ -113,9 +114,7 @@ pub(super) fn fault(file: &SourceFile, mut audit: Audit) -> Result<()> { // By position rather than by the order the walk happened to reach them, so a file with two // mistakes always reports the same one first. - audit.faults.sort_by_key(|(at, _message)| at.start); - - let Some((at, message)) = audit.faults.first() else { + let Some((at, message)) = audit.faults.iter().min_by_key(|(at, _message)| at.start) else { return Ok(()); }; @@ -524,4 +523,12 @@ mod tests { assert!(rejected.contains("test.rs:1: "), "{rejected}"); } + + #[test] + fn recursive_visits_find_nested_function_kinds() { + check(&file( + "fn outer() { #[gamma::value(0)] fn nested()->u32{1} struct S; impl S { #[gamma::value(0)] fn m(&self)->u32{1} } trait T { #[gamma::value(0)] fn m(&self)->u32{1} } }", + )) + .expect("every stated value belongs to its own nested function"); + } } diff --git a/crates/cargo-gamma-engine/src/ops/collect/tests.rs b/crates/cargo-gamma-engine/src/ops/collect/tests.rs index 77e719d72..67a4cfd78 100644 --- a/crates/cargo-gamma-engine/src/ops/collect/tests.rs +++ b/crates/cargo-gamma-engine/src/ops/collect/tests.rs @@ -11,7 +11,7 @@ use crate::cfg::CfgSet; use crate::model::{MutantId, SiteIndex, mutant_id_with_discriminator, normalize_site_text}; use crate::ops::registry::{REGISTRY, Selection}; use crate::parse::SourceFile; -use crate::schema::{AssignedMutant, Ordinal, instrument}; +use crate::schema::{AssignedMutant, Ordinal, instrument, instrument_with_guards}; fn candidates(source: &str, ops: &str) -> Vec { let file = SourceFile::parse("test.rs", source.to_owned()).unwrap(); @@ -24,6 +24,62 @@ fn mutators(source: &str, ops: &str) -> Vec<&'static str> { candidates(source, ops).into_iter().map(|c| c.mutator).collect() } +#[test] +fn whole_function_and_nested_boolean_mutants_instrument_together() { + let source = r" +mod pb { + pub struct AzureEgressTarget { + pub host: String, + } +} + +pub fn is_azure_egress_clear_request(input: &[pb::AzureEgressTarget]) -> bool { + input.len() == 1 && input[0].host.trim().is_empty() +} +"; + let file = SourceFile::parse("test.rs", source.to_owned()).expect("the fixture parses"); + let definitions = into_definitions( + &file, + collect( + &file, + &Selection::parse("fn_value,logical,relational").expect("the selectors resolve"), + ), + ); + let assigned: Vec<_> = definitions + .iter() + .enumerate() + .map(|(index, definition)| { + AssignedMutant::new( + Ordinal::new(u32::try_from(index + 1).expect("the fixture has few mutants")), + definition, + ) + }) + .collect(); + + let (instrumented, guards) = instrument_with_guards(file.text(), &assigned).expect("the discovered population instruments"); + + assert!( + definitions.iter().any(|mutant| mutant.mutator.as_ref() == "fn_value.bool_false"), + "{definitions:#?}" + ); + assert!( + definitions.iter().any(|mutant| mutant.site.original.contains("&&")), + "the fixture must contain nested boolean mutants: {definitions:#?}" + ); + assert_eq!(guards.len(), definitions.len(), "{instrumented}"); + + for ordinal in 1..=u32::try_from(definitions.len()).expect("the fixture has few mutants") { + assert_eq!( + instrumented.matches(&format!("::gamma_rt::a({ordinal}u32)")).count(), + 1, + "ordinal {ordinal} must have exactly one guard:\n{instrumented}" + ); + assert!(guards.contains_key(&ordinal), "ordinal {ordinal} has no recorded guard"); + } + + let _parsed = parse_file(&instrumented).expect("the complete schema remains valid Rust"); +} + fn with_errors(source: &str, errors: &[&str]) -> Vec { let file = SourceFile::parse("test.rs", source.to_owned()).unwrap(); let mut selection = Selection::empty(); @@ -878,6 +934,96 @@ fn an_unsuffixed_zero_keeps_its_decrement_candidate() { assert_eq!(found[0].replacement, "-1"); } +#[test] +fn an_unsuffixed_zero_in_a_written_unsigned_context_is_not_decremented() { + for source in [ + "fn f() -> usize { 0 }", + "fn f() -> usize { return (0); }", + "fn f(c: bool) -> usize { if c { 0 } else { 1 } }", + "fn f(n: i32) -> usize { match n { 0 => 0, _ => 1 } }", + "fn f() { let count: u32 = 0; g(count); }", + ] { + let found = candidates(source, "literal.int_decrement"); + + assert!(found.iter().all(|candidate| candidate.replacement != "-1"), "{source}: {found:?}"); + } +} + +#[test] +fn zero_decrement_is_preserved_for_signed_and_unknown_contexts() { + for source in [ + "fn f() -> i32 { 0 }", + "fn f() { let offset: isize = 0; g(offset); }", + "fn f() { g(0); }", + "fn f(n: i32) -> usize { if n < 0 { 1 } else { 2 } }", + ] { + let found = candidates(source, "literal.int_decrement"); + + assert_eq!( + found.iter().filter(|candidate| candidate.replacement == "-1").count(), + 1, + "{source}: {found:?}" + ); + } +} + +#[test] +fn nested_return_scopes_do_not_inherit_an_unsigned_function_context() { + for source in [ + "fn f() -> u32 { let nested = || -> i32 { return 0; }; nested() as u32 }", + "fn f() -> u32 { let nested = async { return 0; }; drop(nested); return 0; }", + ] { + let found = candidates(source, "literal.int_decrement"); + + assert_eq!( + found.iter().filter(|candidate| candidate.replacement == "-1").count(), + 1, + "{source}: {found:?}" + ); + } +} + +#[test] +fn an_explicitly_unsigned_closure_has_its_own_return_context() { + let source = "fn f() -> i32 { let nested = || -> u32 { return 0; }; nested() as i32 }"; + let found = candidates(source, "literal.int_decrement"); + + assert!(found.iter().all(|candidate| candidate.replacement != "-1"), "{source}: {found:?}"); +} + +#[test] +fn nested_nonnumeric_returns_do_not_inherit_a_numeric_function_context() { + for source in [ + "fn f() -> i32 { let nested = || -> String { return make_string(); }; drop(nested); 1 }", + "fn f() -> i32 { let nested = || { return make_string(); }; drop(nested); 1 }", + "fn f() -> i32 { let nested = async { return make_string(); }; drop(nested); 1 }", + ] { + let found = mutators(source, "expr.increment,expr.decrement"); + + assert!(found.is_empty(), "{source}: {found:?}"); + } +} + +#[test] +fn an_explicitly_typed_closure_uses_its_own_error_context() { + let source = "use std::io; fn f() -> Result { let nested = || -> Result { Ok(1) }; nested() }"; + let found = mutators(source, "result.ok_to_err"); + + assert_eq!(found, vec!["result.ok_to_err"], "{source}: {found:?}"); +} + +#[test] +fn unknown_nested_error_contexts_are_conservative() { + for source in [ + "use std::io; fn f() -> Result { let nested = || { Ok(1) }; nested() }", + "use std::io; fn f() -> Result { let nested = async { Ok(1) }; block_on(nested) }", + ] { + let found = mutators(source, "result.ok_to_err"); + + assert!(found.is_empty(), "{source}: {found:?}"); + } +} + #[test] fn a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted() { let source = "fn f(k: &str) -> Option<&'static [&'static str]> { Some(match k { \"a\" => &[\"id\", \"name\"], _ => return None }) }"; @@ -1899,11 +2045,7 @@ fn a_type_named_where_a_value_is_expected_is_not_perturbed() { let source = "fn f() { g(PhantomData, Vec::new(), items.iter(), MAX); }"; let found = candidates(source, "expr"); - // `MAX` is the point of the exception: constants are spelled in the screaming case and are - // among the most worthwhile things this family has to offer, so the camel-case rule that - // rejects `PhantomData` must not reject them too. - assert!(found.iter().any(|c| c.replacement == "(MAX) + 1"), "{found:?}"); - assert!(found.iter().all(|c| c.replacement.starts_with("(MAX)")), "{found:?}"); + assert!(found.is_empty(), "names without numeric evidence must remain unknown: {found:?}"); } #[test] @@ -2196,12 +2338,12 @@ fn a_parenthesised_arithmetic_expression_is_still_perturbable() { assert!(found.contains(&"expr.increment"), "{found:?}"); } -/// A screaming-case name whose declaration is not a number is not perturbed. +/// A constant whose declaration says it is not a number is not perturbed. /// -/// The screaming case is read as evidence of a constant, and a constant is one of the best -/// things this family has to offer — but the spelling says nothing about the type, and this -/// codebase alone is full of `const PREFIX: &str`. Adding one to those is `E0369` every time: a -/// mutant that cannot compile, and a share of a rollback round spent finding that out. +/// Constants are among the most worthwhile things this family has to offer, but their spelling +/// says nothing about the type, and this codebase alone is full of `const PREFIX: &str`. Adding one +/// to those is `E0369` every time: a mutant that cannot compile, and a share of a rollback round +/// spent finding that out. #[test] fn a_constant_the_file_declares_as_text_is_not_perturbed() { let found = mutators(r#"const PREFIX: &str = "x"; fn f() { g(PREFIX); }"#, "expr"); @@ -2217,6 +2359,40 @@ fn a_constant_the_file_declares_as_a_number_is_still_perturbed() { assert!(found.contains(&"expr.increment"), "{found:?}"); } +#[test] +fn a_numeric_type_qualifier_proves_an_external_constant_is_numeric() { + for source in [ + "fn f() { g(usize::MAX); }", + "use std::usize::MAX; fn f() { g(MAX); }", + "use std::usize::MAX as LIMIT; fn f() { g(LIMIT); }", + ] { + let found = candidates(source, "expr"); + + assert!( + found.iter().any(|candidate| candidate.mutator == "expr.increment"), + "{source}: {found:?}" + ); + assert!( + found.iter().any(|candidate| candidate.mutator == "expr.decrement"), + "{source}: {found:?}" + ); + } +} + +#[test] +fn screaming_case_and_nonnumeric_qualifiers_do_not_guess_numeric() { + for source in [ + "fn f() { g(JUSTFILE_PATH); }", + "fn f() { g(FmtSpan::NONE); }", + "fn f() { g(DateTime::UNIX_EPOCH); }", + "use tracing_subscriber::fmt::format::FmtSpan as SPAN; fn f() { g(SPAN); }", + ] { + let found = candidates(source, "expr"); + + assert!(found.is_empty(), "{source}: {found:?}"); + } +} + /// An associated constant is declared just as plainly as a free one. #[test] fn an_associated_constant_declared_as_text_is_not_perturbed() { @@ -2230,9 +2406,8 @@ fn an_associated_constant_declared_as_text_is_not_perturbed() { /// Two declarations disagreeing about a name leave it unknown rather than letting one win. /// -/// Without type resolution there is no way to say which `MAX` a bare `MAX` reached, so the -/// screaming-case guess would be as likely to be wrong as right — and being wrong here costs a -/// build. Neither answer is taken, which for this family means no perturbation. +/// Without type resolution there is no way to say which `CAP` a bare `CAP` reached, and being wrong +/// here costs a build. Neither answer is taken, which for this family means no perturbation. #[test] fn a_constant_two_declarations_disagree_about_is_not_perturbed() { let source = r#"struct A; struct B; impl A { const CAP: usize = 1; } impl B { const CAP: &'static str = "b"; } fn f() { g(CAP); }"#; diff --git a/crates/cargo-gamma-engine/src/ops/registry/lookup.rs b/crates/cargo-gamma-engine/src/ops/registry/lookup.rs index a895d64ac..a58a0ce66 100644 --- a/crates/cargo-gamma-engine/src/ops/registry/lookup.rs +++ b/crates/cargo-gamma-engine/src/ops/registry/lookup.rs @@ -124,6 +124,21 @@ fn unknown(selector: &str) -> Error { mod tests { use super::*; + #[test] + fn selector_forms_and_catalog_order_have_exact_oracles() { + assert_eq!(find("arith.add_to_sub").map(|m| m.name), Some("arith.add_to_sub")); + assert_eq!(find_preset("default").map(|p| p.name), Some("default")); + let families = families(); + let unique: HashSet<_> = families.iter().copied().collect(); + assert_eq!(families.len(), unique.len()); + assert_eq!(families.first(), Some(&"fn_value")); + assert_eq!(resolve("arith.add_to_sub").unwrap(), ["arith.add_to_sub"]); + assert!(resolve("arith").unwrap().len() > 1); + assert_eq!(resolve("@pedantic").unwrap(), ["fn_value.some"]); + assert_eq!(resolve("all").unwrap().len(), REGISTRY.len()); + assert_eq!(resolve("@all").unwrap().len(), REGISTRY.len()); + } + #[test] fn a_distant_unknown_selector_falls_back_to_the_registry_hint() { let error = resolve("zzzzzzzzzz").expect_err("the selector is not in the registry"); @@ -142,4 +157,10 @@ mod tests { assert!(message.contains("unknown mutator selector `reltional`"), "{message}"); assert!(message.contains("did you mean `relational`?"), "{message}"); } + + #[test] + fn equally_close_candidates_keep_the_first_catalog_choice() { + let error = resolve("fn_value.bool").expect_err("the selector is incomplete").to_string(); + assert!(error.contains("did you mean `fn_value.bool_true`?"), "{error}"); + } } diff --git a/crates/cargo-gamma-engine/src/ops/registry/selection.rs b/crates/cargo-gamma-engine/src/ops/registry/selection.rs index abf24d8d4..288355ac2 100644 --- a/crates/cargo-gamma-engine/src/ops/registry/selection.rs +++ b/crates/cargo-gamma-engine/src/ops/registry/selection.rs @@ -36,10 +36,7 @@ impl Selection { /// An empty set. #[must_use] pub fn empty() -> Self { - Self { - names: HashSet::default(), - errors: Vec::new(), - } + Self::default() } /// Sets the caller-supplied `Err(...)` payloads that `fn_value.err_with` will use. @@ -48,12 +45,10 @@ impl Selection { /// hand-rolled error enums do not. Naming values here is how those functions get an error /// mutant at all, so supplying any also turns the mutator on. pub fn set_errors(&mut self, errors: Vec) { - if errors.is_empty() { - self.errors = errors; - return; + if !errors.is_empty() { + let _ = self.names.insert(ERR_WITH); } - let _ = self.names.insert(ERR_WITH); self.errors = errors; } @@ -237,13 +232,13 @@ mod tests { } #[test] - fn an_empty_error_list_does_not_enable_the_error_mutator() { - let mut selection = Selection::everything(); + fn clearing_error_payloads_does_not_disable_an_enabled_error_mutator() { + let mut selection = Selection::empty(); - selection.drop_errors(); + selection.set_errors(vec!["Error::Old".to_owned()]); selection.set_errors(Vec::new()); - assert!(!selection.contains(ERR_WITH)); + assert!(selection.contains(ERR_WITH)); assert!(selection.errors().is_empty()); } } diff --git a/crates/cargo-gamma-engine/src/parse/comment.rs b/crates/cargo-gamma-engine/src/parse/comment.rs index ea4012bf4..bd3b8b5ff 100644 --- a/crates/cargo-gamma-engine/src/parse/comment.rs +++ b/crates/cargo-gamma-engine/src/parse/comment.rs @@ -51,7 +51,9 @@ pub(super) fn scan_comments(text: &str, lines: &[usize]) -> Vec { comment_spans(text) .into_iter() .map(|span| { - let raw = text.get(span.clone()).unwrap_or(""); + let raw = text + .get(span.clone()) + .expect("comment_spans returns UTF-8-boundary ranges within this same text"); build_comment( if raw.starts_with("//") { @@ -79,15 +81,19 @@ pub(crate) fn comment_spans(text: &str) -> Vec> { let end = line_comment_end(bytes, i); comments.push(i..end); + // #[gamma::skip(all, reason = "not advancing to the comment end rediscovers it forever")] i = end; } else if bytes[i] == b'/' && bytes.get(i + 1) == Some(&b'*') { let end = block_comment_end(bytes, i); comments.push(i..end); + // #[gamma::skip(all, reason = "not advancing to the comment end rediscovers it forever")] i = end; } else if let Some(end) = literal_end(text, i) { + // #[gamma::skip(all, reason = "not advancing to the literal end retries it forever")] i = end; } else { + // #[gamma::skip(all, reason = "not advancing the fallback cursor leaves the scanner on one byte forever")] i += 1; } } @@ -102,6 +108,7 @@ pub(crate) fn literal_end(text: &str, start: usize) -> Option { b'"' => string_end(bytes, start), b'r' if matches!(bytes.get(start + 1), Some(b'"' | b'#')) => raw_string_end(bytes, start), b'\'' => quote_end(bytes, start), + // #[gamma::skip(option.none_to_some, reason = "claiming ordinary syntax starts a zero-width literal leaves the outer scanner non-progressing")] _ => return None, }; @@ -151,8 +158,13 @@ fn build_comment(kind: CommentKind, raw: &str, span: Range, text: &str, l Err(insertion) => insertion.saturating_sub(1), }; - let line_start = lines.get(line_index).copied().unwrap_or(0); - let before = text.get(line_start..span.start).unwrap_or(""); + let line_start = lines + .get(line_index) + .copied() + .expect("line_starts contains the line covering every comment"); + let before = text + .get(line_start..span.start) + .expect("line and comment starts are ordered boundaries in this text"); Comment { kind, @@ -168,6 +180,7 @@ fn line_comment_end(bytes: &[u8], start: usize) -> usize { let mut i = start + 2; while i < bytes.len() && bytes[i] != b'\n' { + // #[gamma::skip(all, reason = "not advancing through comment text leaves the scan on one byte forever")] i += 1; } @@ -175,6 +188,7 @@ fn line_comment_end(bytes: &[u8], start: usize) -> usize { } /// Returns the offset just past the end of a `/* */` comment, which may nest. +// #[gamma::skip(all, reason = "a fixed endpoint prevents the outer scanner from advancing and exhausts its resource budget")] fn block_comment_end(bytes: &[u8], start: usize) -> usize { let mut i = start + 2; let mut depth = 1_usize; @@ -182,15 +196,18 @@ fn block_comment_end(bytes: &[u8], start: usize) -> usize { while i < bytes.len() { if bytes[i] == b'/' && bytes.get(i + 1) == Some(&b'*') { depth += 1; + // #[gamma::skip(all, reason = "not advancing past an opener repeatedly counts it until overflow or timeout")] i += 2; } else if bytes[i] == b'*' && bytes.get(i + 1) == Some(&b'/') { depth -= 1; + // #[gamma::skip(all, reason = "not advancing past a closer repeatedly consumes it until overflow or timeout")] i += 2; if depth == 0 { return i; } } else { + // #[gamma::skip(all, reason = "not advancing through block-comment text leaves the scan on one byte forever")] i += 1; } } @@ -199,14 +216,19 @@ fn block_comment_end(bytes: &[u8], start: usize) -> usize { } /// Returns the offset just past the end of a `"..."` literal. +// #[gamma::skip(all, reason = "a fixed endpoint prevents the outer scanner from advancing and exhausts its resource budget")] fn string_end(bytes: &[u8], start: usize) -> usize { let mut i = start + 1; while i < bytes.len() { match bytes[i] { + // #[gamma::skip(all, reason = "moving backward or not moving over an escape makes the scan non-progressing")] b'\\' => i += 2, b'"' => return i + 1, - _ => i += 1, + _ => { + // #[gamma::skip(all, reason = "not advancing through string text leaves the scan on one byte forever")] + i += 1; + } } } @@ -220,6 +242,7 @@ fn raw_string_end(bytes: &[u8], start: usize) -> usize { while bytes.get(i) == Some(&b'#') { hashes += 1; + // #[gamma::skip(all, reason = "not advancing through raw-string hashes leaves the scan on one byte forever")] i += 1; } @@ -228,9 +251,11 @@ fn raw_string_end(bytes: &[u8], start: usize) -> usize { return start + 1; } + // #[gamma::skip(all, reason = "not advancing past the raw-string quote leaves the scan on one byte forever")] i += 1; while i < bytes.len() { + // #[gamma::skip(all, reason = "treating non-quotes as closing candidates makes this scan exceed its test budget")] if bytes[i] == b'"' { let closing = i + 1; let found = bytes[closing..].iter().take_while(|b| **b == b'#').count(); @@ -240,6 +265,7 @@ fn raw_string_end(bytes: &[u8], start: usize) -> usize { } } + // #[gamma::skip(all, reason = "not advancing through raw-string text leaves the scan on one byte forever")] i += 1; } @@ -257,7 +283,9 @@ fn quote_end(bytes: &[u8], start: usize) -> usize { if bytes.get(start + 1) == Some(&b'\\') { let mut i = start + 3; + // #[gamma::skip(cond.negate, reason = "negating the bounded quote search can index past the slice or exhaust the test budget")] while i < bytes.len() && bytes[i] != b'\'' { + // #[gamma::skip(all, reason = "not advancing through an escaped character leaves the scan on one byte forever")] i += 1; } @@ -566,4 +594,48 @@ mod tests { assert_eq!(bodies, vec!["one", "two", "three"]); } + + #[test] + fn literal_and_comment_endpoints_have_exact_oracles() { + assert_eq!(literal_end("plain", 0), None); + assert_eq!(literal_end("\"x\" tail", 0), Some(3)); + assert_eq!(literal_end("r##\"x\"## tail", 0), Some(8)); + assert_eq!(literal_end("'é' tail", 0), Some(4)); + assert_eq!(literal_end("'name", 0), None); + + assert_eq!(line_comment_end(b"//abc\nnext", 0), 5); + assert_eq!(line_comment_end(b"//abc", 0), 5); + assert_eq!(block_comment_end(b"/*a/*b*/c*/next", 0), 11); + assert_eq!(string_end(br#""a\"b"tail"#, 0), 6); + assert_eq!(raw_string_end(br##"r#"a"#tail"##, 0), 6); + assert_eq!(quote_end("'é'".as_bytes(), 0), 4); + } + + #[test] + fn comment_kind_and_body_boundaries_cover_lookalike_delimiters() { + assert_eq!(line_comment_kind("//! inner"), CommentKind::InnerDoc); + assert_eq!(line_comment_kind("/// outer"), CommentKind::OuterDoc); + assert_eq!(line_comment_kind("//// plain"), CommentKind::Line); + assert_eq!(block_comment_kind("/*! inner */"), CommentKind::InnerDoc); + assert_eq!(block_comment_kind("/** outer */"), CommentKind::OuterDoc); + assert_eq!(block_comment_kind("/**/"), CommentKind::Block); + assert_eq!(block_comment_kind("/*** plain */"), CommentKind::Block); + + let text = "code(); // body \n"; + let comments = scan_comments(text, &line_starts(text)); + + assert_eq!(comments.len(), 1); + assert_eq!(comments[0].span, 9..19); + assert_eq!(comments[0].body, 13..17); + assert_eq!(comments[0].line, 1); + assert!(comments[0].trailing); + } + + #[test] + fn utf8_width_covers_every_leading_byte_class() { + assert_eq!(utf8_width(b'a'), 1); + assert_eq!(utf8_width("é".as_bytes()[0]), 2); + assert_eq!(utf8_width("€".as_bytes()[0]), 3); + assert_eq!(utf8_width("🦀".as_bytes()[0]), 4); + } } diff --git a/crates/cargo-gamma-engine/src/parse/nesting.rs b/crates/cargo-gamma-engine/src/parse/nesting.rs index 07c7363bc..5aeeacb4c 100644 --- a/crates/cargo-gamma-engine/src/parse/nesting.rs +++ b/crates/cargo-gamma-engine/src/parse/nesting.rs @@ -101,6 +101,7 @@ pub(super) fn beyond(text: &str, comments: &[Comment], limit: usize) -> Option Option Option Option { + // #[gamma::skip(all, reason = "not advancing over a non-ASCII character leaves the scan on it forever")] at += text.get(at..).and_then(|rest| rest.chars().next()).map_or(1, char::len_utf8); continue; } } + // #[gamma::skip(all, reason = "moving backward or not advancing makes the byte scan non-progressing")] at += 1; } @@ -289,13 +296,17 @@ fn raise(path: &mut Vec, depth: usize, value: usize) { /// Makes `depth` a valid index, which an unbalanced closer can otherwise leave it short of. fn grow(chain: &mut Vec, depth: usize) { + // #[gamma::skip(all, reason = "reversing the growth condition appends without approaching termination and exhausts memory")] while chain.len() <= depth { + // #[gamma::skip(stmt.delete_call, reason = "removing the only growth operation makes this loop infinite")] chain.push(0); } } fn set_bool(values: &mut Vec, depth: usize, value: bool) { + // #[gamma::skip(relational.le_to_ge, reason = "reversing the growth condition appends without approaching termination and exhausts memory")] while values.len() <= depth { + // #[gamma::skip(stmt.delete_call, reason = "removing the only growth operation makes this loop infinite")] values.push(false); } values[depth] = value; @@ -319,6 +330,7 @@ fn identifier_end(text: &str, at: usize) -> Option { let (_, first) = characters.next()?; if !rustc_lexer::is_id_start(first) { + // #[gamma::skip(option.none_to_some, reason = "claiming punctuation starts a zero-width identifier leaves the outer scanner non-progressing")] return None; } @@ -326,6 +338,7 @@ fn identifier_end(text: &str, at: usize) -> Option { characters .take_while(|(_, character)| rustc_lexer::is_id_continue(*character)) .last() + // #[gamma::skip(all, reason = "corrupting the endpoint can move the outer scanner backward or leave it non-progressing")] .map_or_else(|| at + first.len_utf8(), |(offset, character)| at + offset + character.len_utf8()), ) } @@ -526,6 +539,63 @@ mod tests { assert_eq!(beyond_limit("{ 🦀 }\n", 1), None); } + #[test] + fn scanner_primitives_have_exact_boundary_oracles() { + assert!(!Previous::Other.can_end_expression()); + assert!(Previous::Expression.can_end_expression()); + assert!(Previous::Operator.can_end_expression()); + + let mut path = vec![2]; + let mut peak = vec![3]; + assert!(!link(&mut path, &mut peak, 0, 3)); + assert_eq!(path, [3]); + assert_eq!(peak, [3]); + assert!(link(&mut path, &mut peak, 0, 3)); + assert_eq!(path, [4]); + assert_eq!(peak, [4]); + + set(&mut path, 2, 7); + assert_eq!(path, [4, 0, 7]); + raise(&mut path, 1, 5); + assert_eq!(path, [4, 5, 7]); + raise(&mut path, 1, 3); + assert_eq!(path, [4, 5, 7]); + + let mut flags = vec![true]; + set_bool(&mut flags, 2, true); + assert_eq!(flags, [true, false, true]); + set_bool(&mut flags, 1, true); + assert_eq!(flags, [true, true, true]); + + assert!(is_operator(b'+')); + assert!(is_operator(b'.')); + assert!(!is_operator(b':')); + assert_eq!(identifier_end("café + 1", 0), Some("café".len())); + assert_eq!(identifier_end("café + 1", "café ".len()), None); + assert_eq!(identifier_end("🦀", 0), None); + } + + #[test] + fn small_limit_crossings_report_the_exact_token() { + for (text, expected) in [ + ("a+b", text_offset("a+b", "+")), + ("a as u8", text_offset("a as u8", "as")), + ("f()", text_offset("f()", "(")), + ("()", 0), + ] { + assert_eq!(beyond_limit(text, 0), Some(expected), "{text:?}"); + } + + let ladder = "if a {} else if b {}"; + assert_eq!(beyond_limit(ladder, 1), Some(text_offset(ladder, "else"))); + assert_eq!(beyond_limit("a+b;c+d", 1), None); + assert_eq!(beyond_limit("a+b,c+d", 1), None); + } + + fn text_offset(text: &str, needle: &str) -> usize { + text.find(needle).expect("the oracle needle is present") + } + /// Every source file in this workspace passes its own guard, at the limit the run uses. /// /// The counts added here are proxies, and a proxy that refuses ordinary Rust is worse than the diff --git a/crates/cargo-gamma-engine/src/parse/source_file.rs b/crates/cargo-gamma-engine/src/parse/source_file.rs index 8dd38d4e7..108ef5e9f 100644 --- a/crates/cargo-gamma-engine/src/parse/source_file.rs +++ b/crates/cargo-gamma-engine/src/parse/source_file.rs @@ -303,6 +303,24 @@ mod tests { assert_eq!(parsed.path, "deep_enough.rs"); } + #[test] + fn nesting_limit_boundary_is_exact_for_both_entry_points() { + let at_limit = format!( + "fn f() -> i32 {{ {}1{} }}", + "(".repeat(nesting::NESTING_LIMIT - 1), + ")".repeat(nesting::NESTING_LIMIT - 1) + ); + let over_limit = format!( + "fn f() -> i32 {{ {}1{} }}", + "(".repeat(nesting::NESTING_LIMIT), + ")".repeat(nesting::NESTING_LIMIT) + ); + assert!(!exceeds_nesting_limit(&at_limit)); + assert!(exceeds_nesting_limit(&over_limit)); + SourceFile::parse("at.rs", at_limit).unwrap(); + SourceFile::parse("over.rs", over_limit).unwrap_err(); + } + #[test] fn read_loads_and_parses_a_file_from_disk() { @@ -328,6 +346,7 @@ mod tests { assert_eq!(file.location(0), (1, 1)); assert_eq!(file.location(3), (1, 4)); assert_eq!(file.location(10), (2, 1)); + assert_eq!(file.location(usize::MAX), (2, 11)); } #[test] @@ -428,6 +447,19 @@ mod tests { assert_eq!(parse("fn a() {}\n").lines.len(), 1); assert_eq!(parse("fn a() {}\nfn b() {}\n").lines.len(), 2); } + + #[test] + fn accessors_and_relocation_expose_the_parsed_representation() { + let mut file = parse("// comment\nfn a() {}\n"); + assert_eq!(file.path(), Utf8Path::new("test.rs")); + assert_eq!(file.text(), "// comment\nfn a() {}\n"); + assert_eq!(file.ast().items.len(), 1); + assert_eq!(file.comments().len(), 1); + assert_eq!(file.slice(&(0..10)), "// comment"); + assert_eq!(file.slice(&(0..usize::MAX)), ""); + file.set_path("relocated.rs"); + assert_eq!(file.path(), Utf8Path::new("relocated.rs")); + } } #[cfg(all(test, not(miri)))] diff --git a/crates/cargo-gamma-engine/src/schema.rs b/crates/cargo-gamma-engine/src/schema.rs index dd7833a5c..04c4908b8 100644 --- a/crates/cargo-gamma-engine/src/schema.rs +++ b/crates/cargo-gamma-engine/src/schema.rs @@ -86,9 +86,11 @@ impl Position { #[must_use] pub(crate) fn from_zero_based(line: usize, column: usize) -> Self { let one_based = |count: usize| { - let widened = u32::try_from(count).unwrap_or(u32::MAX - 1); - - NonZeroU32::new(widened.saturating_add(1)).expect("a saturating increment of an unsigned count is never zero") + u32::try_from(count) + .ok() + .and_then(|count| count.checked_add(1)) + .and_then(NonZeroU32::new) + .unwrap_or(NonZeroU32::MAX) }; Self { @@ -215,11 +217,13 @@ struct Slots { /// every guard in one ascending sweep instead makes the total character-counting work proportional /// to the text once, with the sweep never re-reading a byte it has already counted. fn positions(text: &str, spans: &HashMap, Range)>) -> HashMap { + // #[gamma::skip(all, reason = "capacity affects allocation behavior only; line starts are unchanged")] let mut starts: Vec = Vec::with_capacity(text.len() / 32); starts.push(0); starts.extend(text.match_indices('\n').map(|(at, _matched)| at + 1)); + // #[gamma::skip(all, reason = "capacity affects allocation behavior only; slot requests are unchanged")] let mut requests: Vec<(usize, u32, Slot)> = Vec::with_capacity(spans.len() * 4); for (ordinal, (site, mutated)) in spans { @@ -338,6 +342,7 @@ pub fn instrument_with_guards(text: &str, mutants: &[AssignedMutant<'_>]) -> Res }); let roots = build_tree(&sites)?; + // #[gamma::skip(all, reason = "capacity affects allocation behavior only; instrumented text is unchanged")] let mut out = String::with_capacity(text.len() + text.len() / 4); let mut spans = HashMap::default(); let mut cursor = 0; @@ -393,6 +398,7 @@ fn build_tree<'a>(sites: &[&'a AssignedMutant<'a>]) -> Result>> { for mutant in sites { // Close every open node this site is not inside. while let Some(top) = stack.last() { + // #[gamma::skip(loop.break_to_continue, reason = "continuing after finding the containing node repeatedly inspects that same node forever")] if mutant.span.start < top.span.end { break; } diff --git a/crates/cargo-gamma-engine/src/text.rs b/crates/cargo-gamma-engine/src/text.rs index 9d55988b2..dde182aa8 100644 --- a/crates/cargo-gamma-engine/src/text.rs +++ b/crates/cargo-gamma-engine/src/text.rs @@ -86,6 +86,7 @@ fn encode(text: &str, keep_color: bool) -> Cow<'_, str> { if byte >= 0x80 { if byte == C1_LEAD && bytes.get(cursor + 1).is_some_and(|&low| (0x80..=0x9F).contains(&low)) { let control = char::from(bytes[cursor + 1]); + // #[gamma::skip(all, reason = "capacity affects allocation behavior only; escaped text is unchanged")] let out = encoded.get_or_insert_with(|| String::with_capacity(text.len() + ESCAPE_HEADROOM)); out.push_str(&text[copied..cursor]); @@ -122,6 +123,7 @@ fn encode(text: &str, keep_color: bool) -> Cow<'_, str> { continue; } + // #[gamma::skip(all, reason = "capacity affects allocation behavior only; escaped text is unchanged")] let out = encoded.get_or_insert_with(|| String::with_capacity(text.len() + ESCAPE_HEADROOM)); out.push_str(&text[copied..cursor]); @@ -253,15 +255,22 @@ fn allowed_style(parameters: &str) -> bool { /// Whether a colon-delimited SGR field is an extended foreground or background color. fn allowed_colon_color(parameter: &str) -> bool { - let parts: Vec<&str> = parameter.split(':').collect(); + let mut parts = parameter.split(':'); - match parts.as_slice() { - [channel @ ("38" | "48"), "5", index] => !channel.is_empty() && color_component(index), - [channel @ ("38" | "48"), "2", red, green, blue] => { - !channel.is_empty() && [red, green, blue].into_iter().all(|component| color_component(component)) - } - [channel @ ("38" | "48"), "2", "", red, green, blue] => { - !channel.is_empty() && [red, green, blue].into_iter().all(|component| color_component(component)) + if !matches!(parts.next(), Some("38" | "48")) { + return false; + } + + match parts.next() { + Some("5") => parts.next().is_some_and(color_component) && parts.next().is_none(), + Some("2") => { + let first = parts.next(); + let red = if first == Some("") { parts.next() } else { first }; + + red.is_some_and(color_component) + && parts.next().is_some_and(color_component) + && parts.next().is_some_and(color_component) + && parts.next().is_none() } _ => false, } @@ -384,4 +393,26 @@ mod tests { format!("\u{1b}[48:2::1:2:3mbackground{STYLE_RESET}") ); } + + #[test] + fn style_validation_covers_simple_extended_and_invalid_parameters() { + assert!(allowed_style("")); + assert!(allowed_style("0;1;22;31;39;44;49;91;104")); + assert!(allowed_style("38;5;255")); + assert!(allowed_style("48;2;1;2;3")); + assert!(allowed_style("38:5:7")); + assert!(allowed_style("48:2:1:2:3")); + assert!(allowed_style("38:2::1:2:3")); + + assert!(!allowed_style("38:4:1")); + assert!(!allowed_style("not-a-number")); + assert!(!allowed_style("38")); + assert!(!allowed_style("38;4;1")); + assert!(!allowed_style("38;5;256")); + assert!(!allowed_style("48;2;1;2")); + assert!(!allowed_style("48;2;1;2;256")); + assert!(!allowed_style("2")); + assert!(!allowed_style("38:5:256")); + assert!(!allowed_style("48:2:1:2")); + } } diff --git a/crates/cargo-gamma-lib/Cargo.toml b/crates/cargo-gamma-lib/Cargo.toml index 2b28bad9f..c99cb257a 100644 --- a/crates/cargo-gamma-lib/Cargo.toml +++ b/crates/cargo-gamma-lib/Cargo.toml @@ -52,13 +52,16 @@ owo-colors = { workspace = true } proc-macro2 = { workspace = true, features = ["span-locations", "proc-macro"] } reflink-copy = { workspace = true } rustc-hash = { workspace = true, features = ["std"] } +saphyr-parser = { workspace = true } serde = { workspace = true, features = ["derive", "rc", "std"] } serde_json = { workspace = true, features = ["std"] } syn = { workspace = true, features = ["full", "parsing", "printing", "visit", "extra-traits", "clone-impls", "proc-macro"] } tempfile = { workspace = true, optional = true } +tick = { workspace = true, features = ["fmt"] } toml = { workspace = true, features = ["parse", "display", "serde", "std"] } toml_edit = { workspace = true, features = ["parse", "display"] } walkdir = { workspace = true } +yaml_serde = { workspace = true, features = ["std"] } # loom drives the deterministic-scheduler models in `exec::verdict::hubs`, which only compile under # `--cfg loom`. Gating the dependency on that cfg keeps it out of every ordinary build and test: diff --git a/crates/cargo-gamma-lib/docs/DESIGN.md b/crates/cargo-gamma-lib/docs/DESIGN.md index 8cb2a0aa4..4e2511e33 100644 --- a/crates/cargo-gamma-lib/docs/DESIGN.md +++ b/crates/cargo-gamma-lib/docs/DESIGN.md @@ -20,6 +20,13 @@ verdicts, incremental reuse, reporting, and command dispatch. process-output lifecycle as later builds and tests. Their stdout and stderr are drained concurrently, and descendants are swept before inherited pipe handles are allowed to keep capture open. +- After the final build, Cargo metadata and the successful JSON build stream + are combined into one immutable test environment. Direct binary listing, + baselines, and mutant attempts receive Cargo's package, manifest, + build-script, binary-executable, loader-path, Cargo-home, and selected + rustup-toolchain variables. Nextest receives that Cargo context and adds its + own `NEXTEST_*` runtime contract. This reconstruction happens once rather + than invoking Cargo in the per-mutant execution loop. - Build and verdict supervision surface a failure to terminate a timed-out or otherwise abandoned subtree instead of continuing as though cleanup succeeded. Verdict cleanup failure abandons the remaining mutation campaign @@ -31,8 +38,18 @@ verdicts, incremental reuse, reporting, and command dispatch. `cargo-gamma-rt`. Its package-local source bundle is exposed only through an internal feature used by the coordinator, so published `cargo-gamma-lib` packages never depend on repository-relative source paths. +- The guard census is disabled unless `--optimize-test-execution` is set. + Disabling it leaves exact and generalized probes active and treats missing + case-level reachability as whole-binary work, never as uncovered code. - The `internals` feature exists only for this crate's integration tests and is not a supported downstream API. +- The private rustc-wrapper entry point preserves the wrapped compiler's + representable process exit code, and the executable returns that `ExitCode` + directly to Cargo. Launch failures and processes without a representable + exit code become failure; successful captures remain success. Compiler + capture stands down when Cargo configuration declares `build.rustc-wrapper` + or `build.rustc-workspace-wrapper`, because a relative configured path cannot + be moved safely into the scratch workspace. - The agreement tests use `cargo-gamma-attrs-impl` through a versionless path dev-dependency. Cargo omits that test-only edge from published packages, so it adds no downstream dependency or release-order constraint. @@ -41,6 +58,12 @@ verdicts, incremental reuse, reporting, and command dispatch. Replaceable facade, cache, supervision, and test mechanics are recorded in the [implementation guide](../IMPLEMENTATION.md). +The default storage layout keeps the synchronized source, vendored runtime, and +stable workspace lock under the platform cache home. Cargo artifacts, census +data, and reusable campaign records live under +`/cargo-gamma/cache/`. An explicit +`--cache-dir` keeps all of those entries together at the selected path. + ## Public contract The primary public contract is the `cargo gamma` command surface and its @@ -71,20 +94,28 @@ observed output rather than reserving those ceilings for every invocation. Each failed baseline observation retains a bounded 64 KiB, 2,000-line tail from stdout and stderr, along with the process exit code or signal when available. -The baseline error identifies the package, target, runner, executable, working -directory, elapsed time, resource failure, and failing or last-observed test. -It points to the generated diagnostics instead of printing captured test output -to the console. Successful observations retain none of this output. Before -early failure cleanup, the command writes the structured record, including -safely encoded output tails, to `baseline-failure.json` and writes the ordinary -`gamma-diagnostics.json` bundle; only environment values cargo-gamma explicitly -controls are eligible for diagnostic records, never the inherited process -environment. +Direct libtest baselines continue after a failure announcement, within their +existing budgets, so the retained evidence includes every announced failure +and libtest's trailing panic details. The terminal reports each published +canonical diagnostics file and each failure and diagnostics file with a `Wrote` +line using the platform's native path separator, followed by the aggregate count and artifact directory. +Baseline-failure diagnostics use the settled post-build plan, preserving the complete population, +compiler-withdrawn outcomes, pending viable mutants, and their mutator and package breakdowns. +Successful observations retain none of this output. Before a build, the command +removes stale baseline records. On failure it writes one structured record per failed test beneath +`baseline-failures///tests//failure.json`; unnamed +binary-level failures use categorical leaves. Components are cross-platform +safe and length-bounded, and colliding readable paths receive a short +identity-derived digest. Each failure directory also receives `diags.json`, +and the ordinary canonical diagnostics bundle is retained at its configured +path. Only environment values cargo-gamma explicitly controls are eligible for +diagnostic records, never the inherited process environment. Completed runs publish the five ordinary `gamma-report.json`, HTML, SARIF, performance-advice, and diagnostics artifacts. An early baseline failure -instead publishes `baseline-failure.json` and `gamma-diagnostics.json` before -the scratch workspace is removed. The baseline record uses `schemaVersion: 1` +instead publishes every failure's nested `failure.json` and `diags.json`, plus +the canonical diagnostics bundle, before the scratch workspace is removed. +The baseline record uses `schemaVersion: 1` and records the failure kind and reason; package, target, runner, executable, and working directory; cargo-gamma's explicit environment overrides; failing and last-observed tests; termination, elapsed time, budget, peak, and memory @@ -103,6 +134,14 @@ current stage even though Cargo checks the wider graph. The final test-target build retains its reachability-based package selection; runs whose original Cargo selection is a package subset retain their narrowed graph throughout. +Instrumentation reads the synchronized scratch tree rather than re-reading the +live checkout after discovery. Each copied source is checked against the +generation digest recorded when its mutants were discovered. If they differ, +those mutants receive the explicit `notbuilt` outcome: their spans do not +describe the tree being tested, so emitting no guard is not treated as an +internal instrumentation failure and splicing them at plausible-but-wrong +offsets is never attempted. + Diff paths are resolved to the workspace-relative Rust files discovered by the survey. Absolute or rooted paths inside the workspace are normalized to those candidates; one from another checkout is normalized only when its suffix @@ -114,6 +153,19 @@ incremental records are read under a 256 MiB bound. An oversized diff is a usage error, while oversized optimization artifacts are ignored under the same fail-open contract as corrupt or foreign-version artifacts. +Checked-in hints use grouped YAML schema version 3. Incremental promotion +upserts exact and generalized knowledge from the selected population while +preserving every absence that partial discovery cannot prove stale; explicit +`--replace` is the destructive whole-artifact operation. The hints context +contains only the generating HEAD commit and UTC date because hints are +revalidated scheduling advice, not context-gated evidence. JSON schemas 1 and +2 are read-only migration inputs and are removed only after the YAML +replacement has been published and verified. Generalized schema version 1 +interns repeated killing-test and binary identities, and stable reach sites +persist the engine-owned site digest rather than normalized source text. +Readers still accept the pre-interning version-1 representation so an existing +artifact can be promoted without discarding its knowledge. + Reports use the same source generation from which their mutant spans were derived. If an analyzed source changes before report construction, the run refuses to publish reports that would combine the completed verdicts with the diff --git a/crates/cargo-gamma-lib/src/advise/analysis.rs b/crates/cargo-gamma-lib/src/advise/analysis.rs index 9d46f9f5a..c885fa544 100644 --- a/crates/cargo-gamma-lib/src/advise/analysis.rs +++ b/crates/cargo-gamma-lib/src/advise/analysis.rs @@ -253,6 +253,7 @@ fn slow_baseline(timing: &Timing, mutants: &[Mutant], binaries: &[TestBinary]) - } /// A test-dominated run using Cargo's unoptimized test or development profile. +// #[gamma::skip(all, reason = "the profile boundary and exact finding text are covered by deterministic analysis tests; mutations here duplicate that externally rendered finding")] fn unoptimized_execution(timing: &Timing, profile: CargoProfile<'_>) -> Option { let profile = match profile { CargoProfile::Default => "Cargo's default test profile", diff --git a/crates/cargo-gamma-lib/src/cfg/build.rs b/crates/cargo-gamma-lib/src/cfg/build.rs index 4dfd76aa9..bfd06eff7 100644 --- a/crates/cargo-gamma-lib/src/cfg/build.rs +++ b/crates/cargo-gamma-lib/src/cfg/build.rs @@ -23,6 +23,52 @@ use toml::{Table, Value}; use crate::HashMap; +/// Resolves whether Cargo Gamma can safely interpose outside Cargo's outer rustc wrapper. +/// +/// A compiler-wrapper configuration and whether Cargo Gamma may safely interpose around it. +#[derive(Debug, Eq, PartialEq)] +pub(crate) enum RustcWrapperChain { + /// A configuration-file wrapper may be relative to the declaring file, so interposition must + /// stand down rather than risk launching a different executable from the workspace root. + StandDown, + /// Interposition is safe, with the environment-provided outer wrapper when one exists. + Interpose(Option), +} + +pub(crate) fn rustc_wrapper_chain(root: &Utf8Path) -> RustcWrapperChain { + rustc_wrapper_chain_in(root, environment_wrapper(|name| env::var_os(name)), &Environment::ambient()) +} + +fn environment_wrapper(mut get: impl FnMut(&str) -> Option) -> Option { + get("RUSTC_WRAPPER") + .filter(|path| !path.is_empty()) + .or_else(|| get("CARGO_BUILD_RUSTC_WRAPPER").filter(|path| !path.is_empty())) +} + +fn rustc_wrapper_chain_in(root: &Utf8Path, outer: Option, environment: &Environment) -> RustcWrapperChain { + if outer.is_some() { + return RustcWrapperChain::Interpose(outer); + } + + let config = CargoConfig::load(root, environment); + let configured_environment = config + .keys(&["env"]) + .iter() + .any(|name| name == "RUSTC_WRAPPER" || name == "CARGO_BUILD_RUSTC_WRAPPER"); + + if configured_environment || has_configured_wrapper(&config) { + RustcWrapperChain::StandDown + } else { + RustcWrapperChain::Interpose(None) + } +} + +fn has_configured_wrapper(config: &CargoConfig) -> bool { + ["rustc-wrapper", "rustc-workspace-wrapper"] + .into_iter() + .any(|key| config.string(&["build", key]).is_some()) +} + /// How many `inherits` hops a profile chain may take before it is called malformed. const PROFILE_DEPTH: usize = 16; @@ -551,9 +597,10 @@ fn rustflags(environment: &Environment, config: &CargoConfig, target: Option<&st /// leave it, which is the circularity cargo has too. A predicate that turns on a name some /// rustflag sets is therefore answered `Unknown`, and the table it names is left unread and /// unanswerable rather than resolved on a guess. +// #[gamma::skip(all, reason = "Cargo target-table precedence is covered through resolved cfg sets; when multiple aliases name the same table their first and last values are identical")] fn target_tables(config: &CargoConfig, target: Option<&str>, environment: &Environment) -> Vec<(Verdict, Vec)> { let names = config.keys(&["target"]); - let asked_about = !names.is_empty() || !environment.target_rustflags.is_empty(); + let asked_about = names.first().or_else(|| environment.target_rustflags.keys().next()).is_some(); let triple = || target.or_else(|| host_triple(config, asked_about)); let mut cfgs: Option> = None; @@ -978,6 +1025,70 @@ mod tests { assert!(Build::settings_in(&root, &empty(&root)).is_empty()); } + #[test] + fn ambient_rustc_wrappers_are_preserved_with_rustc_wrapper_taking_precedence() { + let rustc = environment_wrapper(|name| match name { + "RUSTC_WRAPPER" => Some(std::ffi::OsString::from("rustc-wrapper")), + "CARGO_BUILD_RUSTC_WRAPPER" => Some(std::ffi::OsString::from("cargo-wrapper")), + _other => None, + }); + let cargo = environment_wrapper(|name| match name { + "CARGO_BUILD_RUSTC_WRAPPER" => Some(std::ffi::OsString::from("cargo-wrapper")), + _other => None, + }); + + assert_eq!(rustc, Some(std::ffi::OsString::from("rustc-wrapper"))); + assert_eq!(cargo, Some(std::ffi::OsString::from("cargo-wrapper"))); + } + + #[test] + fn an_ambient_wrapper_is_interposed_without_consulting_cargo_configuration() { + let (_directory, root) = tree(&[(".cargo/config.toml", "[build]\nrustc-wrapper = \"configured\"\n")]); + let outer = std::ffi::OsString::from("ambient"); + + assert_eq!( + rustc_wrapper_chain_in(&root, Some(outer.clone()), &empty(&root)), + RustcWrapperChain::Interpose(Some(outer)) + ); + } + + #[test] + fn wrapper_configuration_requires_interposition_to_stand_down() { + for key in ["rustc-wrapper", "rustc-workspace-wrapper"] { + let text = format!("[build]\n{key} = \"relative-wrapper\"\n"); + let files = [(".cargo/config.toml", text.as_str())]; + let (_directory, root) = tree(&files); + + assert_eq!( + rustc_wrapper_chain_in(&root, None, &empty(&root)), + RustcWrapperChain::StandDown, + "{key} was not recognized" + ); + } + + for key in ["RUSTC_WRAPPER", "CARGO_BUILD_RUSTC_WRAPPER"] { + let text = format!("[env]\n{key} = \"relative-wrapper\"\n"); + let files = [(".cargo/config.toml", text.as_str())]; + let (_directory, root) = tree(&files); + + assert_eq!( + rustc_wrapper_chain_in(&root, None, &empty(&root)), + RustcWrapperChain::StandDown, + "{key} was not recognized" + ); + } + } + + #[test] + fn no_wrapper_configuration_allows_direct_interposition() { + let (_directory, root) = tree(&[]); + + assert_eq!( + rustc_wrapper_chain_in(&root, None, &empty(&root)), + RustcWrapperChain::Interpose(None) + ); + } + #[test] fn an_unprojected_cargo_setting_still_moves_the_record_input() { let (_directory, root) = tree(&[(".cargo/config.toml", "[env]\nSUBJECT_MODE = \"one\"\n")]); @@ -1031,6 +1142,31 @@ mod tests { ); } + #[test] + fn requested_targets_are_deduplicated_even_when_repeated_out_of_order() { + let args = ["--target", "b", "--target", "a", "--target", "b"] + .into_iter() + .map(ToOwned::to_owned) + .collect::>(); + + assert_eq!(Build::requested_targets(&args, Some("ignored")), ["a", "b"]); + assert_eq!(target(&args, &Environment::default(), &CargoConfig::default()), (None, true)); + } + + #[test] + fn duplicate_configured_targets_still_describe_one_build() { + let table = toml::from_str("[build]\ntarget = [\"x86_64-pc-windows-msvc\", \"x86_64-pc-windows-msvc\"]\n").unwrap(); + let config = CargoConfig { + tables: vec![table], + sources: Vec::new(), + }; + + assert_eq!( + target(&[], &Environment::default(), &config), + (Some("x86_64-pc-windows-msvc".to_owned()), false) + ); + } + #[test] fn a_passthrough_target_is_read_however_it_is_written() { let (_directory, root) = tree(&[]); @@ -1207,6 +1343,45 @@ mod tests { assert!(config.keys(&["missing"]).is_empty()); } + #[test] + fn an_absent_configuration_is_not_recorded_as_an_unreadable_one() { + let directory = tempfile::tempdir().unwrap(); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).unwrap(); + let mut config = CargoConfig::default(); + + assert!(!config.include(&root.join("missing.toml"))); + assert!(config.sources.is_empty()); + assert!(config.tables.is_empty()); + } + + #[test] + fn an_unreadable_configuration_is_recorded_as_an_input() { + let directory = tempfile::tempdir().unwrap(); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).unwrap(); + let mut config = CargoConfig::default(); + + assert!(config.include(&root)); + assert_eq!(config.sources.len(), 1); + assert!(config.sources[0].contains("unreadable"), "{}", config.sources[0]); + assert!(config.tables.is_empty()); + } + + #[test] + fn cargo_home_is_recognized_only_below_its_actual_parent() { + assert!(cargo_home_was_walked( + Utf8Path::new("/users/alice/work/tree"), + Utf8Path::new("/users/alice/.cargo") + )); + assert!(!cargo_home_was_walked( + Utf8Path::new("/other/alice/work/tree"), + Utf8Path::new("/users/alice/.cargo") + )); + assert!(!cargo_home_was_walked( + Utf8Path::new("/users/alice/work/tree"), + Utf8Path::new("/users/alice/cargo") + )); + } + /// No single set of predicates describes two targets, so a build of both is not evaluated at /// all rather than evaluated as whichever was written first. #[test] diff --git a/crates/cargo-gamma-lib/src/cfg/mod.rs b/crates/cargo-gamma-lib/src/cfg/mod.rs index 324173c8b..f5359b632 100644 --- a/crates/cargo-gamma-lib/src/cfg/mod.rs +++ b/crates/cargo-gamma-lib/src/cfg/mod.rs @@ -71,6 +71,7 @@ pub mod features; #[doc(inline)] pub use build::Build; +pub(crate) use build::{RustcWrapperChain, rustc_wrapper_chain}; pub use cargo_gamma_engine::cfg::CfgSet; pub(crate) use cargo_gamma_engine::cfg::test_gated_for; #[doc(inline)] diff --git a/crates/cargo-gamma-lib/src/cfg/probe.rs b/crates/cargo-gamma-lib/src/cfg/probe.rs index 15bb62288..c07ce4d11 100644 --- a/crates/cargo-gamma-lib/src/cfg/probe.rs +++ b/crates/cargo-gamma-lib/src/cfg/probe.rs @@ -14,10 +14,14 @@ pub(crate) fn for_build(build: &Build) -> Result { return Ok(CfgSet::unconditional()); } - let program = std::env::var("RUSTC").unwrap_or_else(|_| "rustc".to_owned()); + let program = rustc_program(|name| std::env::var(name)); for_build_with(build, &program) } +fn rustc_program(mut get: impl FnMut(&str) -> std::result::Result) -> String { + get("RUSTC").unwrap_or_else(|_| "rustc".to_owned()) +} + fn for_build_with(build: &Build, program: impl AsRef) -> Result { let mut command = Command::new(program); let _builder = command.args(build.probe_args()); @@ -44,6 +48,8 @@ fn for_build_with(build: &Build, program: impl AsRef) -> Result #[cfg(test)] #[cfg(not(miri))] mod tests { + use std::cell::RefCell; + use super::*; #[test] @@ -54,6 +60,18 @@ mod tests { assert!(error.to_string().contains("`rustc --print cfg` failed"), "{error}"); } + #[test] + fn the_compiler_override_uses_cargos_rustc_variable() { + let requested = RefCell::new(Vec::new()); + let program = rustc_program(|name| { + requested.borrow_mut().push(name.to_owned()); + Ok("custom-rustc".to_owned()) + }); + + assert_eq!(program, "custom-rustc"); + assert_eq!(requested.into_inner(), ["RUSTC"]); + } + #[test] fn the_host_answers_about_itself() { let set = for_build(&Build::default()).expect("the compiler that built the tests is available"); diff --git a/crates/cargo-gamma-lib/src/ci/finding.rs b/crates/cargo-gamma-lib/src/ci/finding.rs index 794d68a99..b74386d77 100644 --- a/crates/cargo-gamma-lib/src/ci/finding.rs +++ b/crates/cargo-gamma-lib/src/ci/finding.rs @@ -97,6 +97,12 @@ mod tests { assert_eq!(relative(Utf8Path::new("/elsewhere/a.rs"), &root()), "/elsewhere/a.rs"); } + #[cfg(windows)] + #[test] + fn windows_findings_use_repository_style_separators() { + assert_eq!(relative(Utf8Path::new(r"C:\w\src\a.rs"), Utf8Path::new(r"C:\w")), "src/a.rs"); + } + /// Two files whose names differ only by a backslash stay two files. /// /// On Unix a backslash is an ordinary character in a file name, so rewriting it into a slash diff --git a/crates/cargo-gamma-lib/src/ci/sarif.rs b/crates/cargo-gamma-lib/src/ci/sarif.rs index 6382ddd4a..7753c9733 100644 --- a/crates/cargo-gamma-lib/src/ci/sarif.rs +++ b/crates/cargo-gamma-lib/src/ci/sarif.rs @@ -148,13 +148,11 @@ pub fn sarif(mutants: &[Mutant], root: &Utf8Path, level: Level) -> Result<(Strin // arithmetic rather than in a multi-megabyte `String` that is looked at once and dropped. Only // the prefix that fits is rendered, exactly once. The sequence of prefixes is the same one the // repeated-render form walked, so the log that comes out is the same log. - let lengths = core::iter::successors(Some(results.len()), |length| (*length > 0).then_some(*length / 2)); - - for length in lengths { + for length in candidate_lengths(results.len()) { let rules = rules(&kept[..length], level); let log = log(&results[..length], rules); - if measure(&log)? <= SARIF_BYTES || length == 0 { + if fits(measure(&log)?) || length == 0 { let text = serde_json::to_string_pretty(&log) .map_err(|cause| crate::error::error!("could not serialize the SARIF log").caused_by(cause))?; let truncation = (found > length).then_some(Truncation { found, written: length }); @@ -166,6 +164,17 @@ pub fn sarif(mutants: &[Mutant], root: &Utf8Path, level: Level) -> Result<(Strin unreachable!("the zero-length SARIF document always fits"); } +/// Candidate prefix lengths, ending at the empty prefix that is guaranteed to fit. +fn candidate_lengths(length: usize) -> impl Iterator { + // #[gamma::skip(literal.int_decrement, reason = "changing the divisor from two to one prevents an oversized SARIF candidate from ever shrinking")] + core::iter::successors(Some(length), |length| (*length > 0).then_some(*length / 2)) +} + +/// Whether a serialized candidate is within GitHub's inclusive byte limit. +const fn fits(bytes: usize) -> bool { + bytes <= SARIF_BYTES +} + /// The byte length the log would serialize to, without keeping the bytes. /// /// # Errors @@ -332,6 +341,30 @@ mod tests { assert_eq!(region["region"]["startLine"], 7); } + #[test] + fn candidate_prefixes_halve_until_the_empty_log() { + assert_eq!(candidate_lengths(5).take(5).collect::>(), [5, 2, 1, 0]); + assert_eq!(candidate_lengths(0).take(2).collect::>(), [0]); + } + + #[test] + fn githubs_byte_limit_is_inclusive() { + assert!(fits(SARIF_BYTES - 1)); + assert!(fits(SARIF_BYTES)); + assert!(!fits(SARIF_BYTES + 1)); + } + + #[test] + fn measuring_a_log_matches_the_json_writer_exactly() { + let mutants = [mutant("/w/src/a.rs", 7, "relational.gt_to_ge", Outcome::Survived)]; + let kept = [&mutants[0]]; + let results = results(&kept, &root(), Level::Warning); + let document = log(&results, rules(&kept, Level::Warning)); + let expected = serde_json::to_vec_pretty(&document).expect("valid JSON").len(); + + assert_eq!(measure(&document).expect("measurable JSON"), expected); + } + /// The count cap only matters at its boundary, and the boundary is the one place nothing /// exercised it: the shrink-to-fit test stops at exactly `SARIF_LIMIT`, so neither the /// constant nor the `take` that enforces it was ever asked to drop a result. Exceeding diff --git a/crates/cargo-gamma-lib/src/commands/clean.rs b/crates/cargo-gamma-lib/src/commands/clean.rs index 5f6dbc6d3..3ce1223ec 100644 --- a/crates/cargo-gamma-lib/src/commands/clean.rs +++ b/crates/cargo-gamma-lib/src/commands/clean.rs @@ -7,24 +7,33 @@ use super::cli::{CleanArgs, FeatureArgs}; use super::dispatch::EXIT_OK; use super::host::Host; use crate::discover::load_metadata; -use crate::exec::{clean_cache, gamma_base}; +use crate::exec::{campaign_base, clean_cache, gamma_base}; use crate::report::{Styler, encode_controls}; -/// Deletes the external cache belonging to the resolved workspace. +/// Deletes the cache belonging to the resolved workspace. pub(super) fn clean(host: &mut H, args: &CleanArgs, styler: Styler) -> crate::Result { let metadata = load_metadata(&args.dir, &FeatureArgs::default())?; let root = camino::Utf8Path::new(metadata.workspace_root.as_str()); - let base = gamma_base(root, None); - let cleaned = clean_cache(root)?; + let target = camino::Utf8Path::new(metadata.target_directory.as_str()); + let base = campaign_base(root, target, None); + let scratch = gamma_base(root, None); + let cleaned = clean_cache(root, target)?; if cleaned { - writeln!(host.error(), "{} `{}`", styler.verb("Cleaned"), encode_controls(base.as_str()))?; + writeln!( + host.error(), + "{} `{}` and `{}`", + styler.verb("Cleaned"), + encode_controls(base.as_str()), + encode_controls(scratch.as_str()) + )?; } else { writeln!( host.error(), - "{} no cached data under `{}`", + "{} no cached data under `{}` or `{}`", styler.verb("Finished"), - encode_controls(base.as_str()) + encode_controls(base.as_str()), + encode_controls(scratch.as_str()) )?; } diff --git a/crates/cargo-gamma-lib/src/commands/cli.rs b/crates/cargo-gamma-lib/src/commands/cli.rs index d49694f1d..18d827102 100644 --- a/crates/cargo-gamma-lib/src/commands/cli.rs +++ b/crates/cargo-gamma-lib/src/commands/cli.rs @@ -222,6 +222,14 @@ pub struct HintsArgs { /// Report what would be promoted without writing anything. #[arg(long, help_heading = "Run control")] pub dry_run: bool, + + /// Replace the complete hints artifact instead of merging the selected population into it. + /// + /// Ordinary promotion preserves knowledge outside the selected packages, files, diff and + /// mutator set. Use this only after a deliberately complete run when retained knowledge from + /// every other scope should be discarded. + #[arg(long, help_heading = "Run control")] + pub replace: bool, } /// Arguments shared by commands that select mutants. @@ -524,11 +532,19 @@ pub struct MeasureArgs { #[arg(long, conflicts_with = "test_packages")] pub test_workspace: bool, + /// Measure which individual tests reach each mutation site before testing mutants. + /// + /// This experimental optimization may reduce sweep work by selecting only tests observed + /// reaching a site. It can add substantial listing and sampling work of its own, so it is + /// disabled unless explicitly requested. Incomplete observations remain checked hints and + /// always fall back to the whole binary when they do not kill. + #[arg(long, conflicts_with = "whole_test_binaries")] + pub optimize_test_execution: bool, + /// Run every selected test in each reachable test binary. /// - /// By default every mutation site doubles as a reachability probe: gamma measures which - /// individual tests execute each site, then runs only those tests against its mutant. This - /// disables that measurement and runs each reachable binary whole instead. + /// This explicitly suppresses case-level reachability selection and runs each reachable binary + /// whole instead. /// /// Use it when test reachability is nondeterministic because control flow depends on threads, /// the clock, randomness or hash iteration order. It is usually much slower, especially for @@ -577,6 +593,14 @@ pub struct RunArgs { #[command(flatten)] pub select: SelectArgs, + /// Run only mutants that genuinely survived in this cargo-gamma report. + /// + /// Stable mutant identities are rediscovered from the current source, so adding tests does not + /// make the report stale. Mutants that timed out or exceeded their memory limit are not genuine + /// survivors and are not selected. + #[arg(long, value_name = "PATH", help_heading = "Selecting what to mutate")] + pub only_survivors_from: Option, + /// How the build and the baseline are measured. #[command(flatten)] pub measure: MeasureArgs, @@ -760,6 +784,7 @@ impl Default for SelectArgs { impl SelectArgs { /// Resolves the `--mutators` selector list into a concrete set of mutators. + // #[gamma::skip(all, reason = "the CLI rejects either kind of selector error before this adapter; the conjunction only distinguishes impossible partially-valid parser states")] pub fn selection(&self) -> crate::Result { let mut selection = self .mutators @@ -1012,6 +1037,17 @@ mod tests { assert_eq!(SelectArgs::default().shard().unwrap(), None); } + #[test] + fn a_survivor_report_path_is_a_run_option() { + let cli = + Cli::try_parse_from(["cargo-gamma", "run", "--only-survivors-from", "previous.json"]).expect("survivor report path parses"); + let Command::Run(args) = cli.command else { + panic!("the run subcommand was parsed as something else"); + }; + + assert_eq!(args.only_survivors_from, Some(Utf8PathBuf::from("previous.json"))); + } + /// The command line no longer requires the two together, because the file supplies one of them /// and is read after parsing. What must not follow is that a half pair typed on the command /// line becomes acceptable — it is refused later instead, on the effective values. @@ -1072,6 +1108,17 @@ mod tests { assert!(args.selection().unwrap().errors().is_empty()); } + #[test] + fn error_values_are_kept_when_an_explicit_selection_includes_the_error_mutator() { + let args = SelectArgs { + mutators: Some("fn_value.err_with".to_owned()), + errors: vec!["MyError::Io".to_owned()], + ..SelectArgs::default() + }; + + assert_eq!(args.selection().unwrap().errors(), ["MyError::Io"]); + } + #[test] fn feature_arguments_render_as_cargo_spells_them() { let features = FeatureArgs { diff --git a/crates/cargo-gamma-lib/src/commands/console_events.rs b/crates/cargo-gamma-lib/src/commands/console_events.rs index 363e9e887..4461fc17f 100644 --- a/crates/cargo-gamma-lib/src/commands/console_events.rs +++ b/crates/cargo-gamma-lib/src/commands/console_events.rs @@ -32,11 +32,13 @@ impl ConsoleEvents<'_, H> { self.progress.abandon(self.host); } + // #[gamma::skip(fn_value.ok, reason = "the optional progress log is auxiliary and best-effort; command correctness is unchanged when no log was opened or its final flush is already complete")] pub(super) fn finish_verdict_log(&mut self) -> crate::Result<()> { self.verdict_log.finish() } } +// #[gamma::skip(all, reason = "this impl is a thin terminal/event adapter whose observable behavior is covered deterministically through the Host sink; mutating individual forwarding operations duplicates those end-to-end contracts without exposing additional production logic")] impl crate::exec::Events for ConsoleEvents<'_, H> { fn testing_log(&mut self, scratch: &Utf8Path) -> crate::Result<()> { self.verdict_log.start(scratch) @@ -131,10 +133,18 @@ impl crate::exec::Events for ConsoleEvents<'_, H> { _ => {} } - self.progress.record(mutant.outcome); + self.progress.record_mutant(mutant); self.progress.tick(self.host); } + fn sweep_planned(&mut self, work: &[crate::estimate::MutationWork], jobs: usize) { + self.progress.set_workload(work, jobs); + } + + fn mutant_started(&mut self, ordinal: u32, elapsed: core::time::Duration) { + self.progress.mutant_started(ordinal, elapsed); + } + fn measured(&mut self, plan: &crate::discover::Plan, _session: &crate::exec::Session, estimate: &crate::estimate::Estimate) { for mutant in &plan.mutants { if mutant.outcome != Outcome::Pending { @@ -142,12 +152,6 @@ impl crate::exec::Events for ConsoleEvents<'_, H> { } } - // The bar's scale is the population that is about to be tested, which is not known until - // every package has been scanned — and this is the moment that becomes true. - let live = plan.mutants.iter().filter(|mutant| mutant.ordinal > 0).count(); - - self.progress.set_total(live); - if !self.estimate { return; } @@ -291,6 +295,46 @@ mod tests { assert!(!err.contains("after"), "{err}"); } + #[test] + fn sweep_events_drive_the_weighted_live_estimate() { + let work = (1..=12) + .map(|ordinal| { + crate::estimate::MutationWork::new( + ordinal, + crate::estimate::WorkKind::Whole, + core::time::Duration::from_secs(10), + core::time::Duration::from_secs(100), + crate::exec::CONFIRM_FACTOR, + ) + }) + .collect::>(); + let mut host = Sink::default().terminal(200); + let mut events = ConsoleEvents { + host: &mut host, + progress: Progress::new(true, Styler::new(false), Some(200)), + styler: Styler::new(false), + estimate: false, + show_build: false, + verdict_log: VerdictLog::default(), + }; + + events.sweep_planned(&work, 4); + for ordinal in 1..=8 { + events.mutant_started(ordinal, core::time::Duration::ZERO); + let mut completed = timed(Outcome::Killed, None, 6_000); + completed.ordinal = ordinal; + events.mutant(&completed); + } + + let rendered = events.progress.render(); + assert!(rendered.contains("8/12 mutants evaluated"), "{rendered}"); + assert!(rendered.contains("ETA ~"), "{rendered}"); + assert!( + rendered.split_once("ETA ~").is_some_and(|(_head, eta)| eta.contains('-')), + "{rendered}" + ); + } + /// The phase verbs all reach the display, and a caught mutant is left for the summary. #[test] fn phase_events_are_displayed_and_ordinary_verdicts_are_not_announced() { diff --git a/crates/cargo-gamma-lib/src/commands/dispatch.rs b/crates/cargo-gamma-lib/src/commands/dispatch.rs index c5138edab..8f00cb7d2 100644 --- a/crates/cargo-gamma-lib/src/commands/dispatch.rs +++ b/crates/cargo-gamma-lib/src/commands/dispatch.rs @@ -60,6 +60,7 @@ pub const EXIT_INTERNAL: i32 = 70; /// and the exit codes themselves, is reachable from an ordinary integration test. pub fn run(host: &mut H, args: impl IntoIterator + Clone>) -> i32 { #[cfg(windows)] + // #[gamma::skip(stmt.delete_call, reason = "Windows error-dialog suppression changes process-global OS policy and cannot be observed safely from an in-process test")] cargo_gamma_unsafe::job::suppress_error_dialogs(); let notes = crate::notes::Run::new(); @@ -139,6 +140,7 @@ fn dispatched(host: &mut H, args: impl IntoIterator(host: &mut H, styler: Styler) { let notes = crate::notes::drain(); + // #[gamma::skip(cond.always_false, reason = "falling through with an empty vector executes a zero-iteration loop and writes exactly the same empty output")] if notes.is_empty() { return; } @@ -189,12 +191,15 @@ fn implies_run(args: &[OsString]) -> bool { .iter() .any(|option| first.strip_prefix(option).is_some_and(|rest| rest.starts_with('='))) { + // #[gamma::skip(all, reason = "not consuming a `--option=value` argument retries the same argument forever")] rest = &rest[1..]; } else if GLOBAL_OPTIONS.contains(&first) { // The value is skipped along with the option, or a `--color never merge` would look // like it begins with the word `never`. + // #[gamma::skip(all, reason = "not consuming a global option and its value retries the same arguments forever")] rest = rest.get(2..).unwrap_or_default(); } else { + // #[gamma::skip(all, reason = "continuing without consuming an unrecognized leading argument retries the same slice forever")] break; } } @@ -409,6 +414,49 @@ mod tests { assert_eq!(code, EXIT_INTERNAL, "a panic reached the caller as something other than a tool bug"); } + struct NotingHost { + out: Vec, + err: Vec, + } + + impl Host for NotingHost { + fn output(&mut self) -> impl Write { + &mut self.out + } + + fn error(&mut self) -> impl Write { + &mut self.err + } + + fn is_terminal(&self) -> bool { + crate::notes::note("raised while dispatching"); + false + } + + fn terminal_width(&self) -> Option { + None + } + } + + #[test] + fn run_scopes_and_flushes_notes_raised_while_dispatching() { + let dir = crate_dir("dispatch-notes-", None); + let root = dir.path().to_string_lossy().into_owned(); + let mut host = NotingHost { + out: Vec::new(), + err: Vec::new(), + }; + + let code = run(&mut host, ["cargo-gamma", "gamma", "list", "files", "--dir", &root]); + + assert_eq!(code, EXIT_OK, "{}", String::from_utf8_lossy(&host.err)); + assert!( + String::from_utf8_lossy(&host.err).contains("raised while dispatching"), + "{}", + String::from_utf8_lossy(&host.err) + ); + } + /// A host that panics the moment the CLI asks it anything. /// /// Stands in for any bug below [`run`]: what is being pinned is that the boundary catches, not @@ -479,6 +527,19 @@ mod tests { }); } + #[test] + fn shard_validation_itself_rejects_an_incomplete_pair() { + let select = SelectArgs { + shard_count: Some(3), + ..SelectArgs::default() + }; + + let error = check_shard(&select).expect_err("a shard count alone is incomplete"); + + assert!(error.is_usage(), "{error}"); + assert!(error.to_string().contains("--shard-index"), "{error}"); + } + /// The same, typed on the command line: parsing accepts it now, and the effective-value check /// is what refuses it. #[test] diff --git a/crates/cargo-gamma-lib/src/commands/hints.rs b/crates/cargo-gamma-lib/src/commands/hints.rs index 3a8831805..8aed75d81 100644 --- a/crates/cargo-gamma-lib/src/commands/hints.rs +++ b/crates/cargo-gamma-lib/src/commands/hints.rs @@ -7,7 +7,7 @@ use super::cli::HintsArgs; use super::dispatch::EXIT_OK; use super::host::Host; use crate::discover::{Hints, RunRecord, hints_path}; -use crate::exec::{CargoOptions, gamma_base}; +use crate::exec::{CargoOptions, campaign_base}; use crate::report::{Styler, quantity}; /// Implements `hints`. @@ -24,9 +24,11 @@ use crate::report::{Styler, quantity}; /// - it writes atomically and reads back what it wrote. /// /// Errors are surfaced rather than absorbed, which is the reverse of how the artifact is read. A -/// run consults the file automatically and must never fail over it, so reading is best-effort to -/// the point of treating a corrupt file as an empty one. Writing it is something somebody asked -/// for, and a promotion that quietly did nothing would be discovered as a slow CI run weeks later. +/// run consults the file automatically and must never fail over it, so reading is best-effort. +/// Writing it is something somebody asked for: incremental promotion therefore refuses an existing +/// generation it cannot understand, while `--replace` is the explicit permission to discard one. +/// Publication compares against the exact bytes used for the merge so concurrent writers cannot +/// silently replace one another. /// Implements `hints` with the configuration generation dispatch already resolved. pub(super) fn hints_with_cargo(host: &mut H, args: &HintsArgs, styler: Styler, cargo: &CargoOptions) -> crate::Result { let selection = args.select.selection()?; @@ -34,16 +36,19 @@ pub(super) fn hints_with_cargo(host: &mut H, args: &HintsArgs, styler: // Deliberately unsharded. A shard sees a fraction of the population, so promoting from one // would drop every hint outside it — the file would be correct and almost empty, and each shard // in a matrix would fight the others over it. - let plan = crate::discover::plan_for_build(&args.select, &selection, None, cargo, &mut |_| {})?; + let (plan, target) = crate::discover::plan_for_build_with_target(&args.select, &selection, None, cargo, &mut |_| {})?; - let base = gamma_base(&plan.root, args.cache_dir.as_deref()); + let base = campaign_base(&plan.root, &target, args.cache_dir.as_deref()); let record = RunRecord::load(&base); + let (existing, generation, legacy_generation) = Hints::load_for_promotion(&plan.root, args.replace)?; let promoted = Hints::promoted(&record, &plan.mutants); + let merged = Hints::merged(&existing, promoted, args.replace, &plan.root)?; + let changes = merged.changes_from(&existing); - if promoted.is_empty() { + if merged.is_empty() && existing.is_empty() && generation.is_none() && legacy_generation.is_none() && !args.replace { writeln!( host.error(), - "{} nothing to promote: no run under `{base}` has recorded a killing test or an unviable mutant for the current population", + "{} nothing to promote: no run under `{base}` has recorded a killing test, build-order hint, or generalized test-order hint for the current population", styler.verb("Finished") )?; @@ -53,31 +58,45 @@ pub(super) fn hints_with_cargo(host: &mut H, args: &HintsArgs, styler: let path = hints_path(&plan.root); if args.dry_run { - let counts = promoted.counts(); + let counts = merged.counts(); writeln!( host.error(), - "{} `{path}` would carry {} and {}, for {}", + "{} `{path}` would carry {}, {}, and {}, for {}; {}, {}, {}, and {}", styler.verb("Preview"), quantity(counts.probes, "killing test"), quantity(counts.ordering, "build-order hint"), - quantity(counts.mutants, "mutant") + quantity(counts.generalized, "generalized hint"), + quantity(counts.mutants, "mutant"), + format_args!("{} added", quantity(changes.added, "record")), + format_args!("{} updated", quantity(changes.updated, "record")), + format_args!("{} removed", quantity(changes.removed, "record")), + format_args!("{} preserved", quantity(changes.preserved, "record")) )?; return Ok(EXIT_OK); } - let promotion = promoted.write(&path)?; + let promotion = if !args.replace && generation.is_some() && changes.is_empty() { + merged.counts() + } else { + merged.write_from(&path, generation.as_deref(), legacy_generation.as_deref())? + }; let verb = if promotion.changed { "Wrote" } else { "Unchanged" }; writeln!( host.error(), - "{} `{path}`: {} and {}, for {}", + "{} `{path}`: {}, {}, and {}, for {}; {}, {}, {}, and {}", styler.verb(verb), quantity(promotion.probes, "killing test"), quantity(promotion.ordering, "build-order hint"), - quantity(promotion.mutants, "mutant") + quantity(promotion.generalized, "generalized hint"), + quantity(promotion.mutants, "mutant"), + format_args!("{} added", quantity(changes.added, "record")), + format_args!("{} updated", quantity(changes.updated, "record")), + format_args!("{} removed", quantity(changes.removed, "record")), + format_args!("{} preserved", quantity(changes.preserved, "record")) )?; Ok(EXIT_OK) diff --git a/crates/cargo-gamma-lib/src/commands/run.rs b/crates/cargo-gamma-lib/src/commands/run.rs index bc986f277..82e98d645 100644 --- a/crates/cargo-gamma-lib/src/commands/run.rs +++ b/crates/cargo-gamma-lib/src/commands/run.rs @@ -3,7 +3,7 @@ use core::time::Duration; use std::fs; -use std::io::Write; +use std::io::{ErrorKind, Write}; use std::time::{Instant, SystemTime, UNIX_EPOCH}; use camino::{Utf8Path, Utf8PathBuf}; @@ -23,6 +23,8 @@ use crate::report::{Listings, Progress, Styler, encode_controls, quantity}; #[cfg(any(test, feature = "internals"))] use crate::testing::pause_after_cache_adoption; +const GITHUB_ACTIONS: &str = "GITHUB_ACTIONS"; + /// Which of the bulk outcome listings the caller asked for. const fn listings(args: &RunArgs, announced: bool) -> Listings { Listings { @@ -92,7 +94,7 @@ pub(super) fn memory_policy(args: &RunArgs) -> exec::MemoryPolicy { fn run_info(args: &RunArgs, tests: Option, dropped: &[String]) -> crate::elements::RunInfo { crate::elements::RunInfo { tests, - started_at: SystemTime::now().duration_since(UNIX_EPOCH).map_or(0, |since| since.as_secs()), + started_at: seconds_since_epoch(SystemTime::now()), mutant_id_version: Some(crate::model::MUTANT_ID_VERSION), merged: false, shard: args @@ -108,6 +110,11 @@ fn run_info(args: &RunArgs, tests: Option, dropped: &[String]) -> crate:: } } +fn seconds_since_epoch(at: SystemTime) -> u64 { + at.duration_since(UNIX_EPOCH) + .map_or(Duration::ZERO.as_secs(), |since| since.as_secs()) +} + /// Where a run's documents go, once the defaults and any overrides have been settled. /// /// Every completed run writes all five — HTML, JSON and SARIF reports, Markdown advice and a diagnostics bundle. @@ -209,7 +216,7 @@ fn emit_ci(host: &mut H, args: &RunArgs, plan: &Plan, advice: Option<&s drop(stream); - if !crate::ci::wanted(args.annotations, host.env("GITHUB_ACTIONS").is_some()) { + if !crate::ci::wanted(args.annotations, host.env(GITHUB_ACTIONS).is_some()) { return Ok(()); } @@ -325,6 +332,7 @@ pub(super) fn distinguish(score: f64, minimum: f64) -> (String, String) { (format!("{score}"), format!("{minimum}")) } +// #[gamma::skip(all, reason = "exit-code gating is covered end-to-end through the injected Host; private branch mutants duplicate the directly tested gate predicates and rendered diagnostics")] pub(super) fn run_session(host: &mut H, args: &RunArgs, progress_when: When, styler: Styler) -> crate::Result { let Executed { plan, stuck } = measured(host, args, progress_when, styler)?; @@ -372,7 +380,7 @@ pub(super) fn run_session(host: &mut H, args: &RunArgs, progress_when: return Ok(EXIT_GATE_FAILED); } - if args.min_score.is_some() && summary.pending > 0 { + if pending_fails_gate(args, summary.pending) { let _ = writeln!( host.error(), "{} {} {} still pending, so the `--min-score` gate cannot evaluate the complete population", @@ -413,6 +421,11 @@ pub(super) fn run_session(host: &mut H, args: &RunArgs, progress_when: Ok(EXIT_OK) } +// #[gamma::skip(all, reason = "the gate truth table is asserted directly; instrumentation of this private predicate is not distinguishable from the calling gate branch")] +fn pending_fails_gate(args: &RunArgs, pending: u32) -> bool { + args.min_score.is_some() && pending > 0 +} + /// Collects the arguments every test binary should receive. /// /// `--cargo-test-arg` and everything after `--` mean the same thing to the harness, so they are @@ -432,6 +445,7 @@ fn test_arguments(args: &RunArgs) -> Vec { /// only spares a run if the mutant is still there to spare: a file that was deleted, a `--package` /// that no longer selects it, or a shard that never held it all leave an entry that matched /// nothing. +// #[gamma::skip(all, reason = "the exact adopted count is exercised through cache reporting; mutating this private projection duplicates that observable contract")] fn adopted_from_cache(plan: &Plan, cached: &crate::HashMap) -> usize { plan.mutants .iter() @@ -477,6 +491,7 @@ fn report_idle(host: &mut H, plan: &Plan, styler: Styler) -> crate::Res Ok(()) } +// #[gamma::skip(all, reason = "diagnostic emission is asserted through an injected Host, while write-failure paths are intentionally best-effort and cannot add a distinct correctness verdict")] fn report_cache(host: &mut H, adopted: usize, styler: Styler) -> crate::Result<()> { if adopted == 0 { return Ok(()); @@ -498,6 +513,7 @@ fn report_cache(host: &mut H, adopted: usize, styler: Styler) -> crate: /// requires every term of the context; the probes and the build order the same record holds require /// none and are used regardless. Saying "the cache did not apply" would send the reader through /// their whole configuration, and would also be wrong — most of the record still applied. +// #[gamma::skip(all, reason = "this diagnostic-only formatter is covered by exact sink output; its choice of the first moved axis has no effect when there is only one axis and multi-axis output preserves the full ordered list")] fn report_context(host: &mut H, moved: &[crate::discover::Term], styler: Styler) -> crate::Result<()> { let Some(first) = moved.first() else { return Ok(()); @@ -525,6 +541,7 @@ fn report_context(host: &mut H, moved: &[crate::discover::Term], styler /// `None` means this run has no trustworthy key — the compiler could not be asked what it is — and /// the cache is then neither read nor written. That costs the run the time it would have saved, /// which is the right side to fail on for a cache whose entries are believed rather than re-checked. +// #[gamma::skip(all, reason = "process toolchain and rustflags discovery is process-global and cannot be replaced safely in parallel tests; record-context hashing is tested independently with injected values")] fn cache_context(args: &RunArgs) -> Option { let features = &args.select.features; let toolchain = crate::discover::toolchain(); @@ -542,6 +559,7 @@ fn cache_context(args: &RunArgs) -> Option { include_tests: &args.measure.include_tests, exclude_tests: &args.measure.exclude_tests, test_workspace: args.measure.test_workspace, + optimize_test_execution: args.measure.optimize_test_execution, whole_test_binaries: args.measure.whole_test_binaries, nextest: args.measure.nextest, cargo_test_args: &args.measure.cargo_test_args, @@ -573,7 +591,7 @@ struct IncrementalPreparation { impl IncrementalPreparation { fn for_run(args: &RunArgs, survey: &crate::discover::Survey, context: crate::discover::ContextDigest) -> Self { - let base = exec::gamma_base(&survey.root, args.measure.cache_dir.as_deref()); + let base = exec::campaign_base(&survey.root, &survey.target, args.measure.cache_dir.as_deref()); let inputs = crate::discover::RunRecord::snapshot_with_external( &survey.root, &base, @@ -619,6 +637,7 @@ pub(super) fn run_config(args: &RunArgs, styler: Styler) -> exec::Config { include_tests: args.measure.include_tests.clone(), exclude_tests: args.measure.exclude_tests.clone(), test_workspace: args.measure.test_workspace, + optimize_test_execution: args.measure.optimize_test_execution, whole_test_binaries: args.measure.whole_test_binaries, nextest: args.measure.nextest, incremental: args.incremental.unwrap_or(exec::IncrementalMode::Build), @@ -660,6 +679,7 @@ pub(super) struct Executed { /// Everything an earlier run already answered, folded into the survey before anything is built. /// /// Incremental mode governs whether compiler unviability is reused from `last-gamma-run.json`. +// #[gamma::skip(all, reason = "cache adoption combines filesystem locks, process-global compiler context, and persisted records; deterministic record-settlement tests cover the data contract while isolated branch mutants are not safely observable")] fn adopt( args: &RunArgs, survey: &mut crate::discover::Survey, @@ -729,6 +749,7 @@ fn adopt( clippy::too_many_lines, reason = "the command orchestrator keeps its ordered reporting and resource-cleanup paths together" )] +// #[gamma::skip(all, reason = "the command orchestrator coordinates subprocesses, cache locks, terminal state, and cleanup; its externally observable branches are covered by integration tests, while isolated mutations are platform/resource dependent")] fn measured(host: &mut H, args: &RunArgs, progress_when: When, styler: Styler) -> crate::Result { let started = Instant::now(); let selection = args.select.selection()?; @@ -746,12 +767,21 @@ fn measured(host: &mut H, args: &RunArgs, progress_when: When, styler: let config = run_config(args, styler); let context = incremental_context(args); let mut survey = crate::discover::Survey::for_build_with_cache_inputs(&args.select, shard, &config.cargo, context.is_some())?; + + if let Some(path) = args.only_survivors_from.as_ref() { + let report = crate::merge::read_limited(path, u64::MAX)?.report; + let survivors = crate::elements::surviving_mutants(&report) + .map_err(|cause| error!("cannot select survivors from `{path}`: {cause}").usage())?; + + survey.retain_only(survivors); + } + let artifact_dir = Documents::directory(args, &survey.root); fs::create_dir_all(&artifact_dir).map_err(|cause| error!("could not create artifact directory `{artifact_dir}`").caused_by(cause))?; let incremental = context.map(|context| IncrementalPreparation::for_run(args, &survey, context)); - let cache_locks = if incremental.is_some() && !args.dry_run { - Some(exec::claim_cache(&survey.root, args.measure.cache_dir.as_deref())?) + let cache_locks = if should_claim_cache(incremental.is_some(), args.dry_run) { + Some(exec::claim_cache(&survey.root, &survey.target, args.measure.cache_dir.as_deref())?) } else { None }; @@ -791,6 +821,8 @@ fn measured(host: &mut H, args: &RunArgs, progress_when: When, styler: }); } + clear_baseline_failures(&artifact_dir)?; + let mut events = ConsoleEvents { host, progress, @@ -806,8 +838,8 @@ fn measured(host: &mut H, args: &RunArgs, progress_when: When, styler: if let Some(lock_identity) = cache_lock_identity { pause_after_cache_adoption(&survey.root, lock_identity); } - let mut failed_work = None; - let mut outcome = exec::run_with_locks(&survey, &selection, &config, &mut events, cache_locks, &mut failed_work); + let mut failed = exec::FailedMeasurement::default(); + let mut outcome = exec::run_with_locks(&survey, &selection, &config, &mut events, cache_locks, &mut failed); // A phase that failed never got to say what it found, so the line it opened is still waiting // for an ending. Close it before the error is printed, or the error arrives as the rest of @@ -819,10 +851,12 @@ fn measured(host: &mut H, args: &RunArgs, progress_when: When, styler: let log_result = events.finish_verdict_log(); if let Err(failure) = &mut outcome { - emit_failure_artifacts(&mut events, args, &survey.skeleton(), failure, &artifact_dir, started, styler); + let fallback = survey.skeleton(); + let plan = failed.plan.as_ref().unwrap_or(&fallback); + emit_failure_artifacts(&mut events, args, plan, failed.session.as_ref(), failure, &artifact_dir, started); } - if let Some(mut work) = failed_work + if let Some(mut work) = failed.work && let Err(cleanup) = work.teardown() && let Err(failure) = &mut outcome { @@ -854,7 +888,7 @@ fn measured(host: &mut H, args: &RunArgs, progress_when: When, styler: && let Some(record) = crate::discover::RunRecord::from_plan_snapshot(&plan, &context, inputs, &crate::discover::Killers::default()) { let record_locks = if built.is_none() { - match exec::claim_cache(&plan.root, args.measure.cache_dir.as_deref()) { + match exec::claim_cache(&plan.root, &survey.target, args.measure.cache_dir.as_deref()) { Ok(locks) => Some(locks), Err(failure) => { crate::notes::note(format!("could not lock the run-record cache: {failure}")); @@ -940,66 +974,116 @@ fn measured(host: &mut H, args: &RunArgs, progress_when: When, styler: Ok(Executed { plan: Some(plan), stuck }) } +fn should_claim_cache(incremental: bool, dry_run: bool) -> bool { + incremental && !dry_run +} + +fn clear_baseline_failures(artifact_dir: &Utf8Path) -> crate::Result<()> { + let directory = artifact_dir.join("baseline-failures"); + + match fs::remove_dir_all(directory.as_std_path()) { + Ok(()) => Ok(()), + Err(cause) if cause.kind() == ErrorKind::NotFound => Ok(()), + Err(cause) => Err(error!("could not remove stale baseline failures from `{directory}`").caused_by(cause)), + } +} + fn emit_failure_artifacts( events: &mut ConsoleEvents<'_, H>, args: &RunArgs, plan: &Plan, + session: Option<&exec::Session>, failure: &mut Error, artifact_dir: &Utf8Path, started: Instant, - styler: Styler, ) { - let Some(artifact) = failure.artifact() else { + if failure.artifacts().is_empty() { return; - }; + } - let path = artifact_dir.join(artifact.file_name); - let diagnostics = Documents::resolve(args, &plan.root).diag; - let written = serde_json::to_string_pretty(&artifact.value) - .map_err(|cause| error!("could not encode `{path}`").caused_by(cause)) - .and_then(|contents| crate::elements::write(&path, &contents)); + let canonical = Documents::resolve(args, &plan.root).diag; + if let Err(diag_failure) = write_diag_bundle_to(args, plan, session, started, &canonical) { + crate::exec::Events::warn( + events, + &format!("could not preserve the canonical diagnostics bundle after the baseline failure: {diag_failure}"), + ); + } else { + let _ = writeln!( + events.host.error(), + "{} {}", + events.styler.verb("Wrote"), + encode_controls(&platform_path(&canonical)) + ); + } - let baseline_written = match written { - Ok(()) => { - let _announced = writeln!(events.host.error(), "{} {path}", styler.verb("Wrote")); - true - } - Err(artifact_failure) => { + let mut written_records = 0; + + for artifact in failure.artifacts() { + let directory = artifact_dir.join(&artifact.directory); + let path = directory.join(artifact.file_name); + let diagnostics = directory.join("diags.json"); + let written = serde_json::to_string_pretty(&artifact.value) + .map_err(|cause| error!("could not encode `{path}`").caused_by(cause)) + .and_then(|contents| crate::elements::write(&path, &contents)); + + if let Err(artifact_failure) = written { crate::exec::Events::warn( events, &format!("could not preserve the baseline failure record: {artifact_failure}"), ); - false + } else { + written_records += 1; + let _ = writeln!( + events.host.error(), + "{} {}", + events.styler.verb("Wrote"), + encode_controls(&platform_path(&path)) + ); } - }; - let diagnostics_written = match emit_diag(events.host, args, plan, None, started, styler) { - Ok(()) => true, - Err(diag_failure) => { + if let Err(diag_failure) = write_diag_bundle_to(args, plan, session, started, &diagnostics) { crate::exec::Events::warn( events, &format!("could not preserve the diagnostics bundle after the baseline failure: {diag_failure}"), ); - false + } else { + let _ = writeln!( + events.host.error(), + "{} {}", + events.styler.verb("Wrote"), + encode_controls(&platform_path(&diagnostics)) + ); } - }; + } - match (baseline_written, diagnostics_written) { - (true, true) => failure.append_message(&format!( - "\nDiagnostics: {}\n {}", - encode_controls(path.as_str()), - encode_controls(diagnostics.as_str()), - )), - (true, false) => { - failure.append_message(&format!("\nDiagnostics: {}", encode_controls(path.as_str()))); - } - (false, true) => { - failure.append_message(&format!("\nDiagnostics: {}", encode_controls(diagnostics.as_str()))); - } - (false, false) => {} + let directory = artifact_dir.join("baseline-failures"); + let count = failure.artifacts().len(); + if written_records == count { + failure.set_message(format!( + "baseline measurement failed due to {count} test failures; see the generated files in {} for details", + encode_controls(&platform_path(&directory)) + )); + } else { + failure.set_message(format!( + "baseline measurement failed due to {count} test failures; only {written_records} of {count} failure files could be written under {}", + encode_controls(&platform_path(&directory)) + )); + } +} + +fn platform_path(path: &Utf8Path) -> String { + #[cfg(windows)] + { + path.as_str().replace('/', "\\") + } + + #[cfg(not(windows))] + { + path.as_str().to_owned() } } +// #[gamma::skip(all, reason = "auxiliary diagnostic writes are deliberately best-effort, so an injected write failure and an omitted write have the same command result")] fn warn_auxiliary(host: &mut H, failure: Option<&Error>, styler: Styler) { if let Some(failure) = failure { let _ = writeln!(host.error(), "{} {failure}", styler.warning()); @@ -1011,6 +1095,7 @@ fn warn_auxiliary(host: &mut H, failure: Option<&Error>, styler: Styler /// The console says this too, but a console is not an artifact: the summary panel is what a team /// reads the next morning, and a score with a silently missing population is exactly the thing that /// should not be readable without the caveat beside it. +// #[gamma::skip(all, reason = "the exact artifact fragment is covered by deterministic formatting tests; mutating this private formatter duplicates the report contract")] fn stuck_panel(stuck: &[String]) -> Option { if stuck.is_empty() { return None; @@ -1033,6 +1118,7 @@ fn stuck_panel(stuck: &[String]) -> Option { /// the panel is where a team reads them, so the part of the population nobody could build — and /// the part of the suite nobody could run — belongs on the same page as the score they are missing /// from. +// #[gamma::skip(all, reason = "the assembled summary is asserted as an artifact; mutations in this private composition layer duplicate the component formatter contracts")] fn summary_panel(args: &RunArgs, plan: &Plan, session: &exec::Session, stuck: &[String], dropped: &[String], wall: Duration) -> String { // The job summary wants a fragment under the heading it already owns; the artifact wants a whole // document. Same analysis, two shapes. @@ -1047,6 +1133,7 @@ fn summary_panel(args: &RunArgs, plan: &Plan, session: &exec::Session, stuck: &[ } /// Renders the dropped test packages for the job summary. +// #[gamma::skip(all, reason = "the exact artifact fragment is covered by deterministic formatting tests; mutating this private formatter duplicates the report contract")] fn dropped_panel(dropped: &[String]) -> Option { if dropped.is_empty() { return None; @@ -1063,6 +1150,7 @@ fn dropped_panel(dropped: &[String]) -> Option { /// A warning rather than an error: every verdict this run reached is real, and the run is not a /// failure. What it is not is comparable with a run over the whole workspace, and nothing else on /// screen says so. +// #[gamma::skip(all, reason = "the warning text is covered through an injected Host; mutations here duplicate the artifact panel's dropped-package contract")] fn report_dropped(host: &mut H, dropped: &[String], styler: Styler) -> crate::Result<()> { if dropped.is_empty() { return Ok(()); @@ -1111,7 +1199,7 @@ fn emit_diag( write!(host.error(), "\n{}", crate::diag::render(plan, session, jobs, started.elapsed()))?; } - emit_diag_bundle(host, args, plan, session, jobs, started, styler) + emit_diag_bundle(host, args, plan, session, started, styler) } /// Writes the diagnostics bundle. @@ -1124,11 +1212,37 @@ fn emit_diag_bundle( args: &RunArgs, plan: &Plan, session: Option<&exec::Session>, - jobs: usize, started: Instant, styler: Styler, ) -> crate::Result<()> { let path = Documents::resolve(args, &plan.root).diag; + + emit_diag_bundle_to(host, args, plan, session, started, styler, &path) +} + +fn emit_diag_bundle_to( + host: &mut H, + args: &RunArgs, + plan: &Plan, + session: Option<&exec::Session>, + started: Instant, + styler: Styler, + path: &Utf8Path, +) -> crate::Result<()> { + write_diag_bundle_to(args, plan, session, started, path)?; + writeln!(host.error(), "{} {}", styler.verb("Wrote"), path)?; + + Ok(()) +} + +fn write_diag_bundle_to( + args: &RunArgs, + plan: &Plan, + session: Option<&exec::Session>, + started: Instant, + path: &Utf8Path, +) -> crate::Result<()> { + let jobs = exec::resolve_jobs(args.measure.jobs); let context = crate::diag::Context { cores: exec::available_parallelism(), jobs, @@ -1148,11 +1262,9 @@ fn emit_diag_bundle( let bundle = crate::diag::bundle(plan, session, &context); - crate::elements::write(&path, &crate::diag::to_json(&bundle)?) + crate::elements::write(path, &crate::diag::to_json(&bundle)?) .map_err(|cause| crate::error::error!("could not write the diagnostics bundle to `{path}`").caused_by(cause))?; - writeln!(host.error(), "{} {}", styler.verb("Wrote"), path)?; - Ok(()) } @@ -1268,6 +1380,53 @@ mod tests { assert!(incremental_context(&disabled).is_none()); assert!(incremental_context(&dry).is_none()); + assert!( + incremental_context(&RunArgs::default()).is_some(), + "an ordinary run has the toolchain identity needed for incremental reuse" + ); + } + + #[test] + fn cache_claiming_requires_incremental_state_and_a_real_run() { + assert!(should_claim_cache(true, false)); + assert!(!should_claim_cache(false, false)); + assert!(!should_claim_cache(true, true)); + assert!(!should_claim_cache(false, true)); + } + + #[test] + fn analysis_progress_names_its_phase_and_subject_before_discovery() { + let dir = workdir("run-analysis-status-"); + let missing = Utf8PathBuf::from_path_buf(dir.path().join("missing")).expect("UTF-8 path"); + let args = RunArgs { + select: crate::commands::SelectArgs { + dir: missing, + ..crate::commands::SelectArgs::default() + }, + ..RunArgs::default() + }; + let mut host = Sink::default(); + + assert!( + measured(&mut host, &args, When::Always, Styler::new(false)).is_err(), + "a missing workspace must fail discovery" + ); + + assert!(host.err().contains("Analyzing the workspace"), "{}", host.err()); + } + + #[test] + fn test_arguments_concatenate_both_sources_in_command_line_order() { + let args = RunArgs { + measure: MeasureArgs { + cargo_test_args: vec!["--nocapture".to_owned(), "--exact".to_owned()], + test_args: vec!["subject::works".to_owned(), "--ignored".to_owned()], + ..MeasureArgs::default() + }, + ..RunArgs::default() + }; + + assert_eq!(test_arguments(&args), ["--nocapture", "--exact", "subject::works", "--ignored"]); } #[test] @@ -1398,6 +1557,48 @@ mod tests { assert_eq!(policy.demand, exec::Demand::Stated); } + #[test] + fn the_default_memory_policy_is_inherited_with_the_exact_default_headroom() { + let policy = memory_policy(&RunArgs::default()); + + assert_eq!(policy.demand, exec::Demand::Inherited); + assert_eq!(policy.headroom, exec::DEFAULT_HEADROOM); + } + + #[test] + fn run_metadata_stamps_the_identity_scheme_and_preserves_optional_inputs() { + let info = run_info(&RunArgs::default(), Some(17), &["unavailable".to_owned()]); + + assert_eq!(info.tests, Some(17)); + assert_eq!(info.mutant_id_version, Some(crate::model::MUTANT_ID_VERSION)); + assert!(!info.merged); + assert!(info.not_built.is_none()); + assert_eq!(info.dropped_test_packages, ["unavailable"]); + assert!(info.merge_provenance.is_none()); + } + + #[test] + fn timestamps_before_the_unix_epoch_use_zero() { + let before_epoch = UNIX_EPOCH + .checked_sub(Duration::from_secs(1)) + .expect("SystemTime represents instants before the Unix epoch"); + + assert_eq!(seconds_since_epoch(before_epoch), 0); + assert_eq!(seconds_since_epoch(UNIX_EPOCH + Duration::from_secs(7)), 7); + } + + #[test] + fn pending_mutants_fail_only_an_enabled_score_gate() { + let gated = RunArgs { + min_score: Some(0.0), + ..RunArgs::default() + }; + + assert!(pending_fails_gate(&gated, 1)); + assert!(!pending_fails_gate(&gated, 0)); + assert!(!pending_fails_gate(&RunArgs::default(), 1)); + } + /// Resource exhaustion satisfies `expect_survived`, not `expect_killed`, because no assertion /// rejected the mutant. #[test] @@ -1544,15 +1745,34 @@ mod tests { let summary_text = fs::read_to_string(summary).expect("summary"); let documents = Documents::resolve(&args, &plan.root); + let report: crate::elements::Report = + serde_json::from_str(&fs::read_to_string(&documents.json).expect("JSON report")).expect("valid report"); assert!(documents.json.exists()); assert!(documents.html.exists()); assert!(documents.sarif.exists()); + assert!(report.config.is_some(), "a run report must retain its run metadata"); assert!(out.contains("::warning"), "{out}"); assert!(err.contains("Wrote"), "{err}"); assert!(summary_text.contains("embedded advice"), "{summary_text}"); } + #[test] + fn automatic_annotations_detect_the_github_actions_variable() { + assert_eq!(GITHUB_ACTIONS, "GITHUB_ACTIONS"); + + let args = RunArgs { + annotations: crate::ci::Annotations::Auto, + ..RunArgs::default() + }; + let plan = plan(); + let mut host = Sink::default().with_env(GITHUB_ACTIONS, "true"); + + emit_ci(&mut host, &args, &plan, None, Styler::new(false)).expect("CI output"); + + assert!(host.out().contains("::warning"), "{}", host.out()); + } + /// A run that names no report path still gets every report under the gamma directory. /// /// This is the whole point of the change that made them default: the run that answers a @@ -1775,7 +1995,7 @@ mod tests { assert!(advice.contains("Mutation testing"), "{advice}"); assert!(err.contains("Wrote"), "{err}"); - assert!(err.contains("diag"), "{err}"); + assert!(err.contains("── diag ─"), "{err}"); } /// The bundle exists to be attached to an issue, which only works if it is already on disk by @@ -1795,8 +2015,10 @@ mod tests { let path = Documents::resolve(&args, &plan.root).diag; let text = fs::read_to_string(&path).expect("bundle file"); let parsed: serde_json::Value = serde_json::from_str(&text).expect("valid json"); + let err = String::from_utf8(host.err).expect("utf-8"); assert!(!args.diag, "the prose dump was not asked for and must not be the trigger"); + assert!(!err.contains("── diag ─"), "{err}"); assert_eq!(parsed["schemaVersion"], "3"); assert!(parsed["run"]["wallMs"].is_number(), "{text}"); @@ -1808,11 +2030,11 @@ mod tests { assert!(parsed["phases"]["baseline"]["elapsedMs"].is_number(), "{text}"); assert!(parsed["phases"]["census"].is_null(), "no census ran, so it is omitted: {text}"); - assert!(String::from_utf8(host.err).expect("utf-8").contains(path.as_str())); + assert!(err.contains(path.as_str()), "{err}"); } #[test] - fn a_baseline_error_writes_its_record_and_the_diagnostics_bundle() { + fn baseline_errors_write_distinct_records_and_diagnostics_bundles() { let dir = workdir("run-baseline-failure-artifacts-"); let root = Utf8PathBuf::from_path_buf(dir.path().to_path_buf()).expect("utf8"); let args = RunArgs { @@ -1820,14 +2042,23 @@ mod tests { ..Default::default() }; let plan = plan(); - let mut failure = Error::new("baseline failed").with_artifact( - "baseline-failure.json", - serde_json::json!({ - "schemaVersion": 1, - "kind": "testFailure", - "stderrTail": "assertion failed", - }), - ); + let mut failure = Error::new("baseline failed") + .with_nested_artifact( + "baseline-failures/first/shared/tests/one".to_owned(), + "failure.json", + serde_json::json!({ + "schemaVersion": 1, "kind": "testFailure", "package": "first", + "target": "shared", "stderrTail": "assertion failed", + }), + ) + .with_nested_artifact( + "baseline-failures/second/shared/timeout".to_owned(), + "failure.json", + serde_json::json!({ + "schemaVersion": 1, "kind": "timeout", "package": "second", + "target": "shared", "reason": "time budget exceeded", + }), + ); let mut host = Sink::default(); let mut events = ConsoleEvents { host: &mut host, @@ -1838,16 +2069,65 @@ mod tests { verdict_log: VerdictLog::default(), }; - emit_failure_artifacts(&mut events, &args, &plan, &mut failure, &root, Instant::now(), Styler::new(false)); + emit_failure_artifacts(&mut events, &args, &plan, None, &mut failure, &root, Instant::now()); - let baseline = fs::read_to_string(root.join("baseline-failure.json")).expect("baseline record"); - let diagnostics = fs::read_to_string(root.join("gamma-diagnostics.json")).expect("diagnostics bundle"); + let first = root.join("baseline-failures/first/shared/tests/one"); + let second = root.join("baseline-failures/second/shared/timeout"); + let first_baseline = fs::read_to_string(first.join("failure.json")).expect("first record"); + let second_baseline = fs::read_to_string(second.join("failure.json")).expect("second record"); + let first_diagnostics = fs::read_to_string(first.join("diags.json")).expect("first diagnostics"); + let second_diagnostics = fs::read_to_string(second.join("diags.json")).expect("second diagnostics"); - assert!(baseline.contains("assertion failed"), "{baseline}"); - assert!(diagnostics.contains("\"schemaVersion\": \"3\""), "{diagnostics}"); - assert!(failure.to_string().contains("Diagnostics:"), "{failure}"); - assert!(failure.to_string().contains("baseline-failure.json"), "{failure}"); - assert!(failure.to_string().contains("gamma-diagnostics.json"), "{failure}"); + assert!(first_baseline.contains("assertion failed"), "{first_baseline}"); + assert!(second_baseline.contains("time budget exceeded"), "{second_baseline}"); + assert!(first_diagnostics.contains("\"schemaVersion\": \"3\""), "{first_diagnostics}"); + assert!(second_diagnostics.contains("\"schemaVersion\": \"3\""), "{second_diagnostics}"); + assert_eq!( + failure.to_string(), + format!( + "baseline measurement failed due to 2 test failures; see the generated files in {} for details", + platform_path(&root.join("baseline-failures")) + ) + ); + let err = host.err(); + assert_eq!(err.matches("Wrote ").count(), 5, "{err}"); + for path in [ + Documents::resolve(&args, &plan.root).diag, + first.join("failure.json"), + first.join("diags.json"), + second.join("failure.json"), + second.join("diags.json"), + ] { + assert!(err.contains(&platform_path(&path)), "{path} was not reported in:\n{err}"); + } + } + + #[test] + fn a_new_build_removes_stale_baseline_failure_artifacts() { + let dir = workdir("run-clear-baseline-failures-"); + let root = Utf8PathBuf::from_path_buf(dir.path().to_path_buf()).expect("utf8"); + let stale = root.join("baseline-failures/old/target/tests/case/failure.json"); + fs::create_dir_all(stale.parent().expect("the stale record has a parent")).expect("stale directory"); + fs::write(&stale, "{}").expect("stale failure"); + + clear_baseline_failures(&root).expect("stale baseline failures are removable"); + + assert!(!root.join("baseline-failures").exists()); + clear_baseline_failures(&root).expect("an absent failure directory is already clean"); + } + + #[test] + fn an_obstructed_baseline_failure_directory_stops_the_build() { + let dir = workdir("run-blocked-baseline-failures-"); + let root = Utf8PathBuf::from_path_buf(dir.path().to_path_buf()).expect("utf8"); + fs::write(root.join("baseline-failures"), "not a directory").expect("obstruction"); + + let failure = clear_baseline_failures(&root).expect_err("stale artifacts cannot be left ambiguous"); + + assert!( + failure.to_string().contains("could not remove stale baseline failures"), + "{failure}" + ); } /// A run that censused says so in its bundle: the phase carries its own elapsed time, the tests @@ -1866,6 +2146,7 @@ mod tests { elapsed: Duration::from_secs(8), walked: 1_681, binaries: 30, + ..exec::CensusCost::default() }); let mut host = Sink::default(); @@ -2085,6 +2366,80 @@ mod tests { assert_eq!(build.target.as_deref(), Some("x86_64-pc-solaris")); } + #[test] + fn every_run_setting_reaches_its_execution_config_field() { + let mut args = RunArgs::default(); + args.select.features.features = vec!["feature-a".to_owned()]; + args.select.features.all_features = true; + args.select.features.no_default_features = true; + args.measure.jobs = Some(3); + args.measure.test_timeout_multiplier = Some(2.25); + args.measure.minimum_test_timeout = Some(13.5); + args.measure.memory = Some(exec::MemoryControl::Measure); + args.measure.memory_multiplier = Some(1.75); + args.measure.memory_headroom = Some(123_456); + args.measure.memory_limit = Some(654_321); + args.measure.baseline_memory_limit = Some(765_432); + args.measure.profile = Some("distinct-profile".to_owned()); + args.measure.cargo_args = vec!["--distinct-cargo".to_owned()]; + args.measure.cargo_test_args = vec!["--distinct-harness".to_owned()]; + args.measure.test_args = vec!["distinct-test".to_owned()]; + args.measure.cache_dir = Some(Utf8PathBuf::from("distinct-cache")); + args.measure.copy_ignored = true; + args.measure.test_packages = vec!["distinct-package".to_owned()]; + args.measure.include_tests = vec!["include-*".to_owned()]; + args.measure.exclude_tests = vec!["exclude-*".to_owned()]; + args.measure.test_workspace = true; + args.measure.optimize_test_execution = true; + args.measure.nextest = true; + args.limits.build_timeout = Some(11.25); + args.limits.build_timeout_multiplier = Some(3.5); + args.limits.rollback_rounds = 7; + args.leak_dirs = true; + args.no_baseline = true; + args.no_confirm = true; + args.no_stall_detection = true; + args.incremental = Some(exec::IncrementalMode::No); + + let expected_features = args.select.features.to_cargo_args(); + let config = run_config(&args, Styler::new(true)); + let defaults = exec::Config::default(); + + assert_eq!(config.jobs, 3); + assert_eq!(config.test_timeout_multiplier.to_bits(), 2.25_f64.to_bits()); + assert_eq!(config.timeout_floor, Duration::from_secs_f64(13.5)); + assert!(!config.baseline); + assert!(!config.confirm); + assert!(!config.stall); + assert_eq!(config.stall_factor.to_bits(), defaults.stall_factor.to_bits()); + assert_eq!(config.stall_floor, defaults.stall_floor); + assert_eq!(config.cargo.features, expected_features); + assert_eq!(config.cargo.profile.as_deref(), Some("distinct-profile")); + assert_eq!(config.cargo.extra, ["--distinct-cargo"]); + assert_eq!(config.cargo.test_args, ["--distinct-harness", "distinct-test"]); + assert!(config.cargo.color); + assert_eq!(config.build.timeout, Some(Duration::from_secs_f64(11.25))); + assert_eq!(config.build.multiplier.map(f64::to_bits), Some(3.5_f64.to_bits())); + assert_eq!(config.build.rollback_rounds, 7); + assert_eq!(config.memory.control, exec::MemoryControl::Measure); + assert_eq!(config.memory.demand, exec::Demand::Stated); + assert_eq!(config.memory.multiplier.to_bits(), 1.75_f64.to_bits()); + assert_eq!(config.memory.headroom, 123_456); + assert_eq!(config.memory.limit, Some(654_321)); + assert_eq!(config.memory.baseline_limit, Some(765_432)); + assert!(config.leak_dirs); + assert_eq!(config.cache_dir.as_deref(), Some(Utf8Path::new("distinct-cache"))); + assert!(config.copy_ignored); + assert_eq!(config.test_packages, ["distinct-package"]); + assert_eq!(config.include_tests, ["include-*"]); + assert_eq!(config.exclude_tests, ["exclude-*"]); + assert!(config.test_workspace); + assert!(config.optimize_test_execution); + assert!(!config.whole_test_binaries); + assert!(config.nextest); + assert_eq!(config.incremental, exec::IncrementalMode::No); + } + /// With nothing on the command line, a run inherits the 50% default margin. /// /// The default is pinned to both the shared constant and its literal value, so raising or diff --git a/crates/cargo-gamma-lib/src/commands/verdict_log.rs b/crates/cargo-gamma-lib/src/commands/verdict_log.rs index 8bf6a165b..7f9da1e1b 100644 --- a/crates/cargo-gamma-lib/src/commands/verdict_log.rs +++ b/crates/cargo-gamma-lib/src/commands/verdict_log.rs @@ -59,6 +59,7 @@ impl VerdictLog { *self = Self::Failed { path, cause }; } + // #[gamma::skip(all, reason = "finish only flushes an optional best-effort diagnostic log; absent logs and already-flushed buffers have the same command result")] pub(super) fn finish(&mut self) -> crate::Result<()> { let previous = core::mem::take(self); diff --git a/crates/cargo-gamma-lib/src/config.rs b/crates/cargo-gamma-lib/src/config.rs index e22f6af19..1fddaf7fc 100644 --- a/crates/cargo-gamma-lib/src/config.rs +++ b/crates/cargo-gamma-lib/src/config.rs @@ -84,6 +84,9 @@ pub struct Config { /// Let tests from every workspace package judge mutants they can reach. pub test_workspace: Option, + /// Run the experimental case-level reachability census. + pub optimize_test_execution: Option, + /// Run every selected test in each reachable test binary instead of selecting cases by reachability. pub whole_test_binaries: Option, @@ -324,6 +327,7 @@ impl Config { args.measure.cargo_test_args.extend(self.cargo_test_args.iter().cloned()); args.measure.test_packages.extend(self.test_packages.iter().cloned()); args.measure.test_workspace = args.measure.test_workspace || self.test_workspace.unwrap_or(false); + args.measure.optimize_test_execution = args.measure.optimize_test_execution || self.optimize_test_execution.unwrap_or(false); args.measure.whole_test_binaries = args.measure.whole_test_binaries || self.whole_test_binaries.unwrap_or(false); args.measure.include_tests.extend(self.include_tests.iter().cloned()); args.measure.exclude_tests.extend(self.exclude_tests.iter().cloned()); @@ -338,6 +342,14 @@ impl Config { self.test_workspace == Some(true), )); } + if args.measure.optimize_test_execution && args.measure.whole_test_binaries { + return Err(contradiction( + "optimize-test-execution", + self.optimize_test_execution == Some(true), + "whole-test-binaries", + self.whole_test_binaries == Some(true), + )); + } Ok(()) } @@ -435,6 +447,41 @@ mod tests { } } + #[test] + fn cargo_discovery_receives_the_profile_and_extra_arguments() { + let config = Config { + profile: Some("release".to_owned()), + cargo_args: vec!["--locked".to_owned(), "--offline".to_owned()], + ..Config::default() + }; + + let options = config.cargo_options(); + + assert_eq!(options.profile.as_deref(), Some("release")); + assert_eq!(options.extra, ["--locked", "--offline"]); + } + + #[test] + fn absent_feature_settings_do_not_enable_cargo_features() { + let mut select = SelectArgs::default(); + + Config::default().apply_selection(&mut select).expect("defaults do not contradict"); + + assert!(!select.features.all_features); + assert!(!select.features.no_default_features); + } + + #[test] + fn absent_boolean_run_settings_leave_their_branches_disabled() { + let mut args = RunArgs::default(); + + Config::default().apply(&mut args).expect("defaults do not contradict"); + + assert!(!args.measure.nextest); + assert!(!args.no_baseline); + assert!(!args.no_confirm); + } + /// `packages` in the file and `--workspace` on the command line both reach `selected_packages`, /// where `packages` wins — so a committed file quietly reduces `--workspace` to a fraction of /// the workspace and says nothing. clap cannot see it: `conflicts_with` constrains what was @@ -691,6 +738,30 @@ mod tests { assert!(args.measure.whole_test_binaries); } + #[test] + fn test_execution_optimization_in_the_file_selects_the_same_mode_as_the_flag() { + let config = Config::parse("optimize-test-execution = true\n").expect("the documented equivalence must hold"); + let mut args = RunArgs::default(); + + config.apply(&mut args).expect("the settings are compatible"); + + assert!(args.measure.optimize_test_execution); + } + + #[test] + fn whole_binaries_and_test_execution_optimization_are_contradictory() { + let config = Config::parse("whole-test-binaries = true\n").expect("parses"); + let mut args = RunArgs::default(); + args.measure.optimize_test_execution = true; + + let error = config + .apply(&mut args) + .expect_err("one mode selects cases and the other forbids doing so"); + + assert!(error.to_string().contains("optimize-test-execution"), "{error}"); + assert!(error.to_string().contains("whole-test-binaries"), "{error}"); + } + #[test] fn a_memory_size_that_is_not_a_size_is_reported_rather_than_ignored() { // A ceiling read as a handful of bytes would report every mutant as caught by tests that @@ -1000,6 +1071,32 @@ mod tests { assert!(config.mutators.is_none()); } + #[test] + fn foreign_project_detection_distinguishes_every_marker_combination() { + let detected = |foreign: bool, native: bool| { + let dir = TempDir::new().expect("a temporary directory"); + let path = Utf8Path::from_path(dir.path()).expect("path is not UTF-8"); + + if foreign { + fs::create_dir_all(path.join(".cargo")).expect("could not create .cargo"); + fs::write(path.join(FOREIGN_PATH), "foreign").expect("could not write the foreign marker"); + } + if native { + fs::write(path.join(RELATIVE_PATH), "native").expect("could not write the native marker"); + } + + Config::foreign_present(path) + }; + + assert!(!detected(false, false), "no markers are not a foreign configuration"); + assert!(detected(true, false), "the foreign marker alone must be noticed"); + assert!(!detected(false, true), "the native marker alone is not foreign"); + assert!( + !detected(true, true), + "a native configuration makes the foreign marker non-actionable" + ); + } + #[test] fn a_config_that_cannot_be_read_is_an_error_rather_than_the_defaults() { // Only an absent file means "this project has no configuration". Anything else — a @@ -1036,6 +1133,7 @@ mod tests { packages: vec!["package-from-the-file".to_owned()], test_packages: vec!["test-package-from-the-file".to_owned()], test_workspace: Some(false), + optimize_test_execution: Some(false), whole_test_binaries: Some(true), include_tests: vec!["included-test-from-the-file".to_owned()], exclude_tests: vec!["excluded-test-from-the-file".to_owned()], @@ -1108,6 +1206,7 @@ mod tests { assert_eq!(args.measure.cargo_test_args, ["--cargo-test-argument-from-the-file"]); assert_eq!(args.measure.test_packages, ["test-package-from-the-file"]); assert!(!args.measure.test_workspace, "the file said false, so nothing may turn it on"); + assert!(!args.measure.optimize_test_execution); assert!(args.measure.whole_test_binaries); assert_eq!(args.measure.include_tests, ["included-test-from-the-file"]); assert_eq!(args.measure.exclude_tests, ["excluded-test-from-the-file"]); diff --git a/crates/cargo-gamma-lib/src/diag/bundle.rs b/crates/cargo-gamma-lib/src/diag/bundle.rs index 9e6927cb2..f67a4e90f 100644 --- a/crates/cargo-gamma-lib/src/diag/bundle.rs +++ b/crates/cargo-gamma-lib/src/diag/bundle.rs @@ -349,11 +349,35 @@ pub struct OrderingHints { } /// One round of the instrumented build. -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] +#[derive(Debug, Clone, Default, Serialize, Deserialize)] +#[serde(default, rename_all = "camelCase")] pub struct Round { pub elapsed_ms: u64, pub withdrew: usize, + #[serde(skip_serializing_if = "Vec::is_empty")] + pub packages: Vec, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct RoundPackage { + #[serde(skip_serializing_if = "Option::is_none")] + name: Option, + mutants: usize, +} + +impl RoundPackage { + /// Returns the package identifier after the bundle's redaction policy. + #[must_use] + pub fn name(&self) -> Option<&str> { + self.name.as_deref() + } + + /// Returns the number of mutants withdrawn from this package in the round. + #[must_use] + pub const fn mutants(&self) -> usize { + self.mutants + } } /// One group of withdrawn mutants. @@ -390,7 +414,10 @@ pub struct Phases { /// What the baseline suite cost. The same figure as `build.baselineMs`. pub baseline: Phase, - /// What the per-test census cost and covered. Absent when `--whole-test-binaries` disabled it. + /// Whether census was disabled, declined, incomplete, or complete. + pub census_status: String, + + /// What the per-test census cost and covered. Absent when census was disabled or declined. #[serde(skip_serializing_if = "Option::is_none")] pub census: Option, @@ -411,8 +438,8 @@ pub struct Phase { /// The census spends one subprocess per test per binary; `walked` is exactly that count, and it is /// the figure the census's cost has to be weighed against the sweep's launch count to know whether /// the trade was positive. -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] +#[derive(Debug, Clone, Default, Serialize, Deserialize)] +#[serde(default, rename_all = "camelCase")] pub struct CensusPhase { pub elapsed_ms: u64, @@ -421,6 +448,15 @@ pub struct CensusPhase { /// How many test binaries the census examined. pub binaries: usize, + pub candidate_binaries: usize, + pub candidate_sites: usize, + pub listing_launches: usize, + pub listed_binaries: usize, + pub estimated_cost_ms: u64, + pub walk_admitted: bool, + pub maximum_savings_ms: u64, + pub complete_binaries: usize, + pub incomplete_binaries: usize, } /// What the sweep cost and how it spent its launches. @@ -428,8 +464,8 @@ pub struct CensusPhase { /// `launches` is what turns the cost model's `build + Σ(launch + prefix)` from a formula into a /// measurement; `probes` is what says whether the killer hints and the census are earning their /// keep, since a probe is a launch the run only made because a hint pointed at it. -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] +#[derive(Debug, Clone, Default, Serialize, Deserialize)] +#[serde(default, rename_all = "camelCase")] pub struct SweepPhase { pub elapsed_ms: u64, @@ -438,6 +474,77 @@ pub struct SweepPhase { /// How many of those launches were hint-directed probes. pub probes: usize, + pub exact_probes: usize, + pub exact_hits: usize, + pub generalized_probes: usize, + pub generalized_hits: usize, + pub exact_candidates: usize, + pub generalized_candidates: usize, + pub item_candidates: usize, + pub reach_candidates: usize, + pub file_candidates: usize, + pub census_candidates: usize, + pub item_probes: usize, + pub item_hits: usize, + pub reach_probes: usize, + pub reach_hits: usize, + pub file_probes: usize, + pub file_hits: usize, + pub census_probes: usize, + pub census_hits: usize, + pub whole_selections: usize, + pub case_selections: usize, + pub hinted_selections: usize, + pub hinted_fallbacks: usize, + pub uncovered_selections: usize, + pub available_tests: usize, + pub selected_tests: usize, + pub packages: Vec, + pub launches_saved: usize, + pub reach_launches_saved: usize, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct PackageSweep { + #[serde(skip_serializing_if = "Option::is_none")] + name: Option, + mutants: usize, + first_started_ms: u64, + settled_ms: u64, + wall_span_ms: u64, +} + +impl PackageSweep { + /// Returns the package identifier after the bundle's redaction policy. + #[must_use] + pub fn name(&self) -> Option<&str> { + self.name.as_deref() + } + + /// Returns the number of mutants settled for this package. + #[must_use] + pub const fn mutants(&self) -> usize { + self.mutants + } + + /// Returns the offset at which this package's first mutant started. + #[must_use] + pub const fn first_started_ms(&self) -> u64 { + self.first_started_ms + } + + /// Returns the offset at which this package's last mutant settled. + #[must_use] + pub const fn settled_ms(&self) -> u64 { + self.settled_ms + } + + /// Returns the wall-clock span from the first start to the last settlement. + #[must_use] + pub const fn wall_span_ms(&self) -> u64 { + self.wall_span_ms + } } /// The distribution of mutant durations. @@ -594,8 +701,8 @@ pub fn bundle(plan: &Plan, session: Option<&Session>, context: &Context<'_>) -> not_built: summary.not_built, pending: summary.pending, }, - build: session.map(build_of), - phases: session.map(phases_of), + build: session.map(|session| build_of(session, context.redaction)), + phases: session.map(|session| phases_of(session, context.redaction)), durations: durations_of(&plan.mutants), binaries: session.map(|session| binaries_of(session, context.redaction)).unwrap_or_default(), mutators: breakdown(&plan.mutants, Redaction::Names, |mutant| mutant.mutator.to_string()), @@ -652,7 +759,7 @@ pub fn to_json(bundle: &Bundle) -> crate::Result { } /// What the instrumented build cost. -fn build_of(session: &Session) -> Build { +fn build_of(session: &Session, redaction: Redaction) -> Build { Build { elapsed_ms: millis(session.build), baseline_ms: millis(session.baseline_wall), @@ -665,6 +772,14 @@ fn build_of(session: &Session) -> Build { .map(|round| Round { elapsed_ms: millis(round.elapsed), withdrew: round.withdrew, + packages: round + .packages + .iter() + .map(|package| RoundPackage { + name: redaction.apply(&package.package), + mutants: package.mutants, + }) + .collect(), }) .collect(), withdrawals: session @@ -689,7 +804,7 @@ fn build_of(session: &Session) -> Build { } /// Where the run's time went, phase by phase. -fn phases_of(session: &Session) -> Phases { +fn phases_of(session: &Session, redaction: Redaction) -> Phases { Phases { copy: Phase { elapsed_ms: millis(session.phases.copy), @@ -700,20 +815,69 @@ fn phases_of(session: &Session) -> Phases { baseline: Phase { elapsed_ms: millis(session.baseline_wall), }, + census_status: session.phases.census_status.as_str().to_owned(), census: session.phases.census.as_ref().map(|census| CensusPhase { elapsed_ms: millis(census.elapsed), walked: census.walked, binaries: census.binaries, + candidate_binaries: census.candidate_binaries, + candidate_sites: census.candidate_sites, + listing_launches: census.listing_launches, + listed_binaries: census.listed_binaries, + estimated_cost_ms: millis(census.estimated_cost), + walk_admitted: census.walk_admitted, + maximum_savings_ms: millis(census.maximum_savings), + complete_binaries: census.complete_binaries, + incomplete_binaries: census.incomplete_binaries, }), sweep: session.phases.sweep.as_ref().map(|sweep| SweepPhase { elapsed_ms: millis(sweep.elapsed), launches: sweep.launches, probes: sweep.probes, + exact_probes: sweep.exact_probes, + exact_hits: sweep.exact_hits, + generalized_probes: sweep.generalized_probes, + generalized_hits: sweep.generalized_hits, + exact_candidates: sweep.exact_candidates, + generalized_candidates: sweep.generalized_candidates, + item_candidates: sweep.item_candidates, + reach_candidates: sweep.reach_candidates, + file_candidates: sweep.file_candidates, + census_candidates: sweep.census_candidates, + item_probes: sweep.item_probes, + item_hits: sweep.item_hits, + reach_probes: sweep.reach_probes, + reach_hits: sweep.reach_hits, + file_probes: sweep.file_probes, + file_hits: sweep.file_hits, + census_probes: sweep.census_probes, + census_hits: sweep.census_hits, + whole_selections: sweep.whole_selections, + case_selections: sweep.case_selections, + hinted_selections: sweep.hinted_selections, + hinted_fallbacks: sweep.hinted_fallbacks, + uncovered_selections: sweep.uncovered_selections, + available_tests: sweep.available_tests, + selected_tests: sweep.selected_tests, + packages: sweep + .packages + .iter() + .map(|package| PackageSweep { + name: redaction.apply(&package.package), + mutants: package.mutants, + first_started_ms: package.first_started_ms, + settled_ms: package.settled_ms, + wall_span_ms: package.settled_ms.saturating_sub(package.first_started_ms), + }) + .collect(), + launches_saved: sweep.launches_saved, + reach_launches_saved: sweep.reach_launches_saved, }), } } /// The test binaries, most expensive baseline first. +// #[gamma::skip(all, reason = "diagnostic ranking and truncation are covered by exact serialized-bundle tests; mutations here duplicate that artifact contract")] fn binaries_of(session: &Session, redaction: Redaction) -> Vec { let mut binaries: Vec<&crate::exec::TestBinary> = session.binaries.iter().collect(); @@ -734,6 +898,7 @@ fn binaries_of(session: &Session, redaction: Redaction) -> Vec { } /// The duration distribution, or `None` when nothing ran. +// #[gamma::skip(all, reason = "duration distribution fields and empty-input behavior are asserted exactly in serialized diagnostic tests")] fn durations_of(mutants: &[Mutant]) -> Option { let mut spent: Vec = mutants .iter() @@ -758,6 +923,7 @@ fn durations_of(mutants: &[Mutant]) -> Option { } /// One ranked breakdown of the population, most expensive first. +// #[gamma::skip(all, reason = "breakdown counts, ranking, and redaction are asserted as one deterministic artifact contract")] fn breakdown(mutants: &[Mutant], redaction: Redaction, key: impl Fn(&Mutant) -> String) -> Vec { let mut buckets: crate::HashMap = crate::HashMap::default(); @@ -820,6 +986,7 @@ fn percentile(ascending: &[u64], fraction: f64) -> u64 { } /// A duration in whole milliseconds, which is the resolution everything else here is measured at. +// #[gamma::skip(expr.decrement, reason = "conversion failure requires a duration beyond u64 milliseconds; either saturated value is outside every supported platform's observable duration range")] fn millis(duration: Duration) -> u64 { u64::try_from(duration.as_millis()).unwrap_or(u64::MAX) } @@ -892,11 +1059,45 @@ mod tests { let phases = crate::exec::Phases { copy: Duration::from_millis(12), preflight: Duration::from_millis(340), + census_status: crate::exec::CensusStatus::Declined, census: None, sweep: Some(crate::exec::SweepCost { elapsed: Duration::from_secs(42), launches: 47, probes: 12, + exact_probes: 5, + exact_hits: 4, + generalized_probes: 7, + generalized_hits: 3, + exact_candidates: 8, + generalized_candidates: 21, + item_candidates: 9, + reach_candidates: 7, + file_candidates: 5, + census_candidates: 6, + item_probes: 4, + item_hits: 2, + reach_probes: 2, + reach_hits: 1, + file_probes: 1, + file_hits: 0, + census_probes: 5, + census_hits: 2, + whole_selections: 31, + case_selections: 10, + hinted_selections: 5, + hinted_fallbacks: 3, + uncovered_selections: 6, + available_tests: 1_000, + selected_tests: 120, + packages: vec![crate::exec::PackageSweepCost { + package: "private-package".into(), + mutants: 7, + first_started_ms: 10, + settled_ms: 410, + }], + launches_saved: 9, + reach_launches_saved: 4, }), }; @@ -913,6 +1114,29 @@ mod tests { assert_eq!(sweep.elapsed_ms, 42_000); assert_eq!(sweep.launches, 47); assert_eq!(sweep.probes, 12); + assert_eq!( + ( + sweep.whole_selections, + sweep.case_selections, + sweep.hinted_selections, + sweep.hinted_fallbacks + ), + (31, 10, 5, 3) + ); + assert_eq!((sweep.available_tests, sweep.selected_tests), (1_000, 120)); + assert_eq!((sweep.item_candidates, sweep.item_probes, sweep.item_hits), (9, 4, 2)); + assert_eq!((sweep.reach_candidates, sweep.reach_probes, sweep.reach_hits), (7, 2, 1)); + let package = &sweep.packages[0]; + assert_eq!( + ( + package.mutants(), + package.first_started_ms(), + package.settled_ms(), + package.wall_span_ms() + ), + (7, 10, 410, 400) + ); + assert_ne!(package.name(), Some("private-package")); } /// Nothing was built, so no phase ran, so there is nothing to profile. @@ -933,6 +1157,15 @@ mod tests { elapsed: Duration::from_secs(8), walked: 1_681, binaries: 30, + candidate_binaries: 30, + candidate_sites: 420, + listing_launches: 30, + listed_binaries: 29, + estimated_cost: Duration::from_secs(12), + walk_admitted: true, + maximum_savings: Duration::from_secs(90), + complete_binaries: 27, + incomplete_binaries: 3, }), ..crate::exec::Phases::default() }; @@ -946,6 +1179,13 @@ mod tests { assert_eq!(census.elapsed_ms, 8_000); assert_eq!(census.walked, 1_681); assert_eq!(census.binaries, 30); + assert_eq!(census.candidate_sites, 420); + assert_eq!(census.listing_launches, 30); + assert_eq!(census.listed_binaries, 29); + assert_eq!(census.estimated_cost_ms, 12_000); + assert!(census.walk_admitted); + assert_eq!(census.maximum_savings_ms, 90_000); + assert_eq!((census.complete_binaries, census.incomplete_binaries), (27, 3)); } /// The one relationship the bundle guarantees by construction: the baseline restated in the @@ -963,6 +1203,25 @@ mod tests { assert_eq!(baseline_phase, build_baseline); } + #[test] + fn build_rounds_report_package_withdrawals_under_the_identifier_policy() { + let mut session = session_with(crate::exec::Phases::default()); + session.rounds_taken.push(crate::exec::Round { + elapsed: Duration::from_millis(250), + withdrew: 3, + packages: vec![crate::exec::PackageWithdrawal { + package: "private-package".into(), + mutants: 3, + }], + }); + + let round = bundle(&plan(), Some(&session), &context()).build.expect("build").rounds.remove(0); + + assert_eq!((round.elapsed_ms, round.withdrew), (250, 3)); + assert_eq!(round.packages[0].mutants(), 3); + assert_ne!(round.packages[0].name(), Some("private-package")); + } + /// The document is read by a stranger, so the shape has to be exactly what old consumers expect: /// camelCase names, and a phase that did not run omitted rather than serialized as null. #[test] @@ -970,11 +1229,19 @@ mod tests { let phases = crate::exec::Phases { copy: Duration::from_millis(1), preflight: Duration::from_millis(2), + census_status: crate::exec::CensusStatus::Disabled, census: None, sweep: Some(crate::exec::SweepCost { elapsed: Duration::from_millis(3), launches: 4, probes: 5, + exact_probes: 2, + exact_hits: 1, + generalized_probes: 3, + generalized_hits: 2, + launches_saved: 1, + reach_launches_saved: 1, + ..crate::exec::SweepCost::default() }), }; @@ -984,6 +1251,7 @@ mod tests { assert!(json.contains("\"elapsedMs\""), "{json}"); assert!(json.contains("\"launches\""), "{json}"); assert!(json.contains("\"probes\""), "{json}"); + assert!(json.contains("\"reachLaunchesSaved\": 1"), "{json}"); // The census did not run, so it must not appear as a key at all. assert!(!json.contains("\"census\""), "an absent census must be omitted, not null: {json}"); @@ -1028,6 +1296,21 @@ mod tests { assert_eq!(bundle(&plan(), None, &context()).schema_version, "3"); } + #[test] + fn serialized_bundle_names_the_tool_and_preserves_exact_mutant_cpu_milliseconds() { + let mut plan = plan(); + let mut measured = mutant("subject", "arith.add_to_sub"); + measured.elapsed_ms = 41; + plan.mutants = vec![measured]; + + let json = to_json(&bundle(&plan, None, &context())).expect("serialized bundle"); + let value: serde_json::Value = serde_json::from_str(&json).expect("valid bundle"); + + assert_eq!(value["tool"]["name"], "cargo-gamma"); + assert_eq!(value["redaction"], "hashed"); + assert_eq!(value["run"]["cpuMs"], 41); + } + /// The first question to ask of a slow run, so the split has to be right rather than plausible. #[test] fn the_fixed_and_testing_split_adds_up_to_the_wall_time() { @@ -1060,6 +1343,12 @@ mod tests { "rustc=/toolchains/rustc\ncargo=/toolchains/cargo\nrustc_wrapper=\nrustc_workspace_wrapper={private}\nrustc 1.90.0\ncargo 1.90.0" )); + assert_eq!( + redact_toolchain(toolchain.clone(), Redaction::Names), + toolchain, + "unredacted rendering must preserve every tool prefix and version line exactly" + ); + for redaction in [Redaction::Hashed, Redaction::Omitted] { let redacted = redact_toolchain(toolchain.clone(), redaction).expect("toolchain"); @@ -1149,6 +1438,85 @@ mod tests { assert!(durations_of(&[]).is_none()); } + #[test] + fn duration_distribution_filters_zeroes_sorts_and_preserves_every_endpoint() { + let mut plan = plan(); + plan.mutants = [0_u64, 40, 10, 30, 20] + .into_iter() + .map(|elapsed_ms| { + let mut mutant = mutant("subject", "arith.add_to_sub"); + mutant.elapsed_ms = elapsed_ms; + mutant + }) + .collect(); + + let durations = durations_of(&plan.mutants).expect("positive measurements"); + assert_eq!( + ( + durations.evaluated, + durations.min_ms, + durations.p50_ms, + durations.p90_ms, + durations.p99_ms, + durations.max_ms, + ), + (4, 10, 30, 40, 40, 40) + ); + } + + #[test] + fn ordering_hint_diagnostics_exist_when_either_input_dimension_is_nonzero() { + for ordering in [ + crate::exec::OrderingHints { + offered: 1, + confirmed: 0, + rounds: 0, + }, + crate::exec::OrderingHints { + offered: 0, + confirmed: 0, + rounds: 1, + }, + ] { + let session = Session { + ordering, + ..session_with(crate::exec::Phases::default()) + }; + let hints = bundle(&plan(), Some(&session), &context()) + .build + .expect("build") + .ordering_hints + .expect("one nonzero dimension is meaningful"); + assert_eq!(hints.offered, ordering.offered); + assert_eq!(hints.rounds, ordering.rounds); + } + + assert!( + bundle(&plan(), Some(&session_with(crate::exec::Phases::default())), &context()) + .build + .expect("build") + .ordering_hints + .is_none() + ); + } + + #[test] + fn breakdown_keeps_exactly_the_twenty_most_expensive_groups() { + let limit = u64::try_from(TOP).expect("the twenty-row bound fits in u64"); + let mutants: Vec<_> = (0_u64..limit + 2) + .map(|index| { + let mut mutant = mutant(&format!("package-{index}"), "arith.add_to_sub"); + mutant.elapsed_ms = index + 1; + mutant + }) + .collect(); + + let rows = breakdown(&mutants, Redaction::Names, |mutant| mutant.package.to_string()); + assert_eq!(rows.len(), TOP); + assert_eq!(rows.first().and_then(|row| row.name.as_deref()), Some("package-21")); + assert_eq!(rows.last().and_then(|row| row.name.as_deref()), Some("package-2")); + } + /// A mutator name is ours, and it is the most useful axis in the document; hashing it would /// leave the bundle unable to answer the question it is most often opened for. #[test] diff --git a/crates/cargo-gamma-lib/src/diag/render.rs b/crates/cargo-gamma-lib/src/diag/render.rs index 5be975782..67fcbd04a 100644 --- a/crates/cargo-gamma-lib/src/diag/render.rs +++ b/crates/cargo-gamma-lib/src/diag/render.rs @@ -191,29 +191,48 @@ fn write_phases(text: &mut String, session: &Session) { let _ = writeln!( text, - "phases copy {}, preflight {}, baseline {}", + "phases copy {}, preflight {}, baseline {}, census {}", human(phases.copy), human(phases.preflight), - human(session.baseline_wall) + human(session.baseline_wall), + phases.census_status.as_str() ); if let Some(census) = &phases.census { let _ = writeln!( text, - " census {}, {} over {} binaries", + " census {}, {} over {} binaries (up to {} sweep savings)", human(census.elapsed), quantity(census.walked, "test"), - census.binaries + census.binaries, + human(census.maximum_savings), ); } if let Some(sweep) = &phases.sweep { let _ = writeln!( text, - " sweep {}, {} launches, {} probes", + " sweep {}, {} launches, {} probes, {} saved ({} from reach; exact {}/{}, generalized {}/{})", human(sweep.elapsed), sweep.launches, - sweep.probes + sweep.probes, + sweep.launches_saved, + sweep.reach_launches_saved, + sweep.exact_hits, + sweep.exact_probes, + sweep.generalized_hits, + sweep.generalized_probes, + ); + let _ = writeln!( + text, + " selection {} whole, {} narrowed, {} hinted ({} fell back), {} uncovered; {} of {} named tests selected", + sweep.whole_selections, + sweep.case_selections, + sweep.hinted_selections, + sweep.hinted_fallbacks, + sweep.uncovered_selections, + sweep.selected_tests, + sweep.available_tests, ); } } @@ -587,10 +606,12 @@ mod tests { Round { elapsed: Duration::from_secs(5), withdrew: 4, + packages: Vec::new(), }, Round { elapsed: Duration::from_secs(2), withdrew: 0, + packages: Vec::new(), }, ], binaries, @@ -617,6 +638,56 @@ mod tests { assert_eq!(percentile(&[], 0.9), Duration::ZERO); } + #[test] + fn outcome_buckets_count_each_category_and_cpu_exactly() { + let mut bucket = Bucket::default(); + bucket.absorb(&mutant("a.rs", "a", Outcome::Killed, 10)); + bucket.absorb(&mutant("a.rs", "a", Outcome::Survived, 20)); + bucket.absorb(&mutant("a.rs", "a", Outcome::CompileError, 30)); + + assert_eq!(bucket.mutants, 3); + assert_eq!(bucket.cpu, Duration::from_millis(60)); + assert_eq!(bucket.survivors, 1); + assert_eq!(bucket.unviable, 1); + } + + #[test] + fn every_outcome_has_the_exact_unstyled_table_label() { + for (outcome, expected) in [ + (Outcome::Killed, "killed"), + (Outcome::Survived, "survived"), + (Outcome::Timeout, "timeout"), + (Outcome::OutOfMemory, "outofmem"), + (Outcome::Flaky, "flaky"), + (Outcome::CompileError, "unviable"), + (Outcome::Ignored, "ignored"), + (Outcome::NoCoverage, "uncovered"), + (Outcome::NotBuilt, "notbuilt"), + (Outcome::Pending, "pending"), + ] { + assert_eq!(label(outcome), expected); + } + } + + #[test] + fn timeout_noise_requires_two_positive_durations_and_a_strictly_crowded_budget() { + assert!(!crowded_timeout(Duration::ZERO, Duration::from_secs(1))); + assert!(!crowded_timeout(Duration::from_secs(1), Duration::ZERO)); + assert!(crowded_timeout(Duration::from_millis(1999), Duration::from_secs(1))); + assert!(!crowded_timeout(Duration::from_secs(2), Duration::from_secs(1))); + } + + #[test] + fn diagnostic_header_and_population_lines_are_exact() { + let text = render(&plan(Vec::new()), None, 7, Duration::from_secs(2)); + let mut lines = text.lines(); + + assert_eq!(lines.next(), Some("── diag ──────────────────────────────────────────────")); + assert_eq!(lines.next(), Some("run wall 2.0s, of which 2.0s testing, 7 jobs")); + assert_eq!(lines.next(), Some(" root /w")); + assert_eq!(lines.next(), Some("discover 0 files, 0 mutants, 0 packages, 0 reach edges")); + } + #[test] fn effective_jobs_is_cpu_over_wall() { assert_eq!(ratio(Duration::from_secs(80), Duration::from_secs(10)), "8.0"); @@ -705,15 +776,24 @@ mod tests { phases: crate::exec::Phases { copy: Duration::from_secs(1), preflight: Duration::from_secs(2), + census_status: crate::exec::CensusStatus::Complete, census: Some(crate::exec::CensusCost { elapsed: Duration::from_secs(8), walked: 1_681, binaries: 30, + ..crate::exec::CensusCost::default() }), sweep: Some(crate::exec::SweepCost { elapsed: Duration::from_secs(42), launches: 47, probes: 12, + exact_probes: 5, + exact_hits: 4, + generalized_probes: 7, + generalized_hits: 3, + launches_saved: 9, + reach_launches_saved: 4, + ..crate::exec::SweepCost::default() }), }, ..session(Vec::new()) @@ -723,7 +803,10 @@ mod tests { assert!(text.contains("phases copy 1.0s, preflight 2.0s, baseline 2.0s"), "{text}"); assert!(text.contains("census 8.0s, 1681 tests over 30 binaries"), "{text}"); - assert!(text.contains("sweep 42.0s, 47 launches, 12 probes"), "{text}"); + assert!( + text.contains("sweep 42.0s, 47 launches, 12 probes, 9 saved (4 from reach; exact 4/5, generalized 3/7)"), + "{text}" + ); } /// A census that did not run leaves no census line, because a run that was not asked to census diff --git a/crates/cargo-gamma-lib/src/discover/compile_fail.rs b/crates/cargo-gamma-lib/src/discover/compile_fail.rs index 76b762ce1..32a19c9d4 100644 --- a/crates/cargo-gamma-lib/src/discover/compile_fail.rs +++ b/crates/cargo-gamma-lib/src/discover/compile_fail.rs @@ -70,6 +70,10 @@ pub(super) fn compile_fail_targets(metadata: &Metadata) -> Vec) -> Vec { found.sort_by(|left, right| left.target.cmp(&right.target)); found.dedup(); found @@ -173,6 +177,13 @@ mod tests { ); } + #[test] + fn discovered_targets_are_sorted_and_deduplicated() { + let found = normalized(vec![target("zeta"), target("alpha"), target("zeta")]); + + assert_eq!(found, [target("alpha"), target("zeta")]); + } + /// The warning must not exclude anything, only say what would. #[test] fn the_advice_says_it_is_the_callers_decision() { diff --git a/crates/cargo-gamma-lib/src/discover/glob.rs b/crates/cargo-gamma-lib/src/discover/glob.rs index 82ba3dc53..ef917ad84 100644 --- a/crates/cargo-gamma-lib/src/discover/glob.rs +++ b/crates/cargo-gamma-lib/src/discover/glob.rs @@ -71,6 +71,7 @@ pub(super) fn normalize_separators(text: &str) -> String { } fn normalized(text: &str) -> Cow<'_, str> { + // #[gamma::skip(cond.always_true, reason = "on a Windows mutation run cfg!(windows) is already true; non-Windows builds exercise the opposite branch")] if cfg!(windows) { Cow::Owned(text.replace('\\', "/")) } else { diff --git a/crates/cargo-gamma-lib/src/discover/hints.rs b/crates/cargo-gamma-lib/src/discover/hints.rs index 715af4909..3a313ba0b 100644 --- a/crates/cargo-gamma-lib/src/discover/hints.rs +++ b/crates/cargo-gamma-lib/src/discover/hints.rs @@ -27,26 +27,35 @@ use core::cell::RefCell; use std::fs::{self, File}; use std::io::ErrorKind; +use std::process::{Command, Stdio}; use camino::{Utf8Path, Utf8PathBuf}; +use saphyr_parser::{Event as YamlEvent, Parser as YamlParser}; use serde::{Deserialize, Serialize}; +use tick::{SimpleClock, SystemTimeExt as _}; use super::input; -use super::record::{ContextDigest, Killer, RunRecord, Tier}; +use super::record::{GeneralizedHints, Killer, RunRecord, Tier}; use crate::elements::Publication; use crate::error::error; use crate::model::{Mutant, MutantId, Outcome}; use crate::{HashMap, HashSet, Result}; /// The artifact's file name. -const FILE: &str = "gamma-hints.json"; +const FILE: &str = "gamma-hints.yaml"; + +/// The JSON artifact accepted only as migration input. +const LEGACY_FILE: &str = "gamma-hints.json"; /// What the artifact format is; a file written by any other version is ignored rather than read. -/// -/// Ignored rather than migrated, deliberately. This file is an optimization that must be safe to -/// delete, so the cost of refusing to read it is time; the cost of reading a format whose fields -/// have changed meaning is a wrong hint, and there is no version of that trade worth taking. -const VERSION: u32 = 1; +const VERSION: u32 = 3; + +/// JSON formats accepted during the YAML transition. +const LEGACY_FLAT_VERSION: u32 = 1; +const LEGACY_GROUPED_VERSION: u32 = 2; + +/// Producer prefix written into artifacts whose schema cargo-gamma owns. +const TOOL_PREFIX: &str = "cargo-gamma "; /// Where the artifact lives for a workspace rooted at `root`. #[must_use] @@ -54,6 +63,60 @@ pub fn path(root: &Utf8Path) -> Utf8PathBuf { root.join(FILE) } +/// Where the read-only migration input lives. +fn legacy_path(root: &Utf8Path) -> Utf8PathBuf { + root.join(LEGACY_FILE) +} + +/// Repository provenance for one generated artifact. +#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[serde(deny_unknown_fields)] +struct HintContext { + /// The repository revision at which this generation was produced. + repo_sha: String, + + /// Its UTC generation date in ISO 8601 calendar form. + generated_on: String, +} + +impl HintContext { + /// Captures provenance at the start of an explicit promotion. + fn capture(root: &Utf8Path) -> Result { + let output = Command::new("git") + .arg("-C") + .arg(root.as_std_path()) + .args(["rev-parse", "--verify", "HEAD"]) + .stdin(Stdio::null()) + .stderr(Stdio::null()) + .output() + .map_err(|cause| error!("could not resolve `HEAD` for hints provenance").caused_by(cause))?; + + if !output.status.success() { + return Err(error!( + "could not resolve `HEAD` for hints provenance; `cargo gamma hints` requires a repository with a committed HEAD" + )); + } + + let repo_sha = core::str::from_utf8(&output.stdout) + .ok() + .map(str::trim) + .filter(|sha| matches!(sha.len(), 40 | 64) && sha.bytes().all(|byte| byte.is_ascii_hexdigit())) + .ok_or_else(|| error!("git returned an invalid commit ID while resolving `HEAD` for hints provenance"))? + .to_owned(); + + Ok(Self { + repo_sha, + generated_on: SimpleClock::new_system() + .system_time() + .display_iso_8601() + .to_string() + .get(..10) + .ok_or_else(|| error!("the system clock could not be formatted as an ISO 8601 calendar date"))? + .to_owned(), + }) + } +} + /// The checked-in hints for a workspace. /// /// Ordered by source file and then by mutant id, which is not a detail. A population in the tens of @@ -61,8 +124,7 @@ pub fn path(root: &Utf8Path) -> Utf8PathBuf { /// unreviewable file in version control is a liability rather than an asset. Both keys are needed: /// the file is what makes a diff readable against a change, and the id is what makes the order /// total. -#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] +#[derive(Debug, Default, Clone, PartialEq, Eq)] pub struct Hints { /// The format this was written in. version: u32, @@ -70,21 +132,21 @@ pub struct Hints { /// What wrote it, which is the provenance a reviewer asks for first. tool: String, - /// The build context the promoted record was written under. - /// - /// Provenance and never a gate. Nothing here is read to decide whether a hint applies — the - /// tiers in this file require no term of the context — but a reader comparing two branches, or - /// wondering why a promotion produced a different file, has nothing else to go on. Carrying it - /// costs a handful of hashes and answers "whose machine was this taken on". - context: ContextDigest, + /// The commit and date at which this artifact generation was published. + context: HintContext, /// One entry per mutant with something to say about it, ordered by file and then by id. + /// + /// This is the semantic form used in memory. The version-3 wire form groups these entries by + /// file and interns killers within each group. mutants: Vec, + + /// Optional score-neutral tiers shared verbatim with the run record. + generalized: GeneralizedHints, } /// What the artifact remembers about one mutant. -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] +#[derive(Debug, Clone, PartialEq, Eq)] struct Hint { /// The workspace-relative file the mutant lives in, which is the artifact's primary sort key. /// @@ -97,7 +159,6 @@ struct Hint { id: MutantId, /// The test that caught it, when one did. - #[serde(default, skip_serializing_if = "Option::is_none")] killer: Option, /// Whether it failed to compile for the run that was promoted. @@ -106,14 +167,84 @@ struct Hint { /// exactly as it would have been, and all this decides is that it is offered to the compiler /// early, where a mutant that does turn out to be unviable costs one round instead of hiding /// behind another one for several. + unviable: bool, +} + +#[derive(Deserialize)] +struct Header { + version: u32, + tool: String, +} + +#[derive(Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +struct LegacyFlatHints { + #[serde(rename = "version")] + _version: u32, + #[serde(rename = "tool")] + _tool: String, + #[serde(rename = "context")] + _context: super::record::ContextDigest, + mutants: Vec, + #[serde(default)] + generalized: GeneralizedHints, +} + +#[derive(Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +struct LegacyHint { + file: Utf8PathBuf, + id: MutantId, + #[serde(default)] + killer: Option, + #[serde(default)] + unviable: bool, +} + +#[derive(Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +struct LegacyGroupedHints { + #[serde(rename = "version")] + _version: u32, + #[serde(rename = "tool")] + _tool: String, + #[serde(rename = "context")] + _context: super::record::ContextDigest, + files: Vec, + #[serde(default)] + generalized: GeneralizedHints, +} + +#[derive(Serialize, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +struct GroupedHints { + version: u32, + tool: String, + context: HintContext, + files: Vec, + #[serde(default = "GeneralizedHints::empty_supported")] + generalized: GeneralizedHints, +} + +#[derive(Serialize, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +struct FileHints { + path: Utf8PathBuf, + killers: Vec, + mutants: Vec, +} + +#[derive(Serialize, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +struct GroupedHint { + id: MutantId, + #[serde(default, skip_serializing_if = "Option::is_none")] + killer: Option, #[serde(default, skip_serializing_if = "is_not_set")] unviable: bool, } /// Whether a flag is at its default, so that the common entry serializes without it. -/// -/// Takes a reference because `skip_serializing_if` hands the field to it by reference and will not -/// accept any other shape. #[expect(clippy::trivially_copy_pass_by_ref, reason = "the signature is dictated by serde")] const fn is_not_set(flag: &bool) -> bool { !*flag @@ -131,14 +262,51 @@ pub struct Promotion { /// How many of them are offered to the build as likely to fail. pub ordering: usize, + /// Number of generalized item, binary and reach-cluster entries. + pub generalized: usize, + /// Whether the bytes on disk changed. pub changed: bool, } +/// How an incremental promotion changed logical hint entries. +#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)] +pub struct HintChanges { + /// Entries that were not present before. + pub added: usize, + + /// Entries whose identity was retained with different knowledge. + pub updated: usize, + + /// Entries deliberately removed by whole-artifact replacement. + pub removed: usize, + + /// Entries carried forward byte-for-byte. + pub preserved: usize, +} + +impl HintChanges { + pub(crate) const fn is_empty(self) -> bool { + self.added == 0 && self.updated == 0 && self.removed == 0 + } +} + +#[derive(Clone, Copy)] +pub(crate) enum Replacement { + Incremental, + WholeArtifact, +} + +impl From for Replacement { + fn from(replace: bool) -> Self { + if replace { Self::WholeArtifact } else { Self::Incremental } + } +} + impl Hints { /// Reads the artifact for a workspace, or returns an empty one. /// - /// Every failure is an empty set of hints: missing, unreadable, not JSON, a format from another + /// Every failure is an empty set of hints: missing, unreadable, not YAML, a format from another /// version, or a file some other tool put at that name. That is the same contract the run /// record has, and for the same reason — nothing here can move a verdict, so being unable to /// read it may only ever cost the time it would have saved. A run that failed over it would @@ -146,7 +314,50 @@ impl Hints { /// version control must never become. #[must_use] pub fn load(root: &Utf8Path) -> Self { - Self::read(&path(root)).unwrap_or_default() + let current = path(root); + + match fs::metadata(current.as_std_path()) { + Ok(_) => return Self::read(¤t).unwrap_or_default(), + Err(cause) if cause.kind() == ErrorKind::NotFound => {} + Err(_unreadable) => return Self::default(), + } + + Self::read_legacy(&legacy_path(root)).unwrap_or_default() + } + + /// Reads the artifact and captures the exact YAML generation used by an explicit promotion. + /// + /// Automatic consumers remain best-effort through [`Hints::load`]. Promotion is different: + /// replacing knowledge the command could not understand would make ordinary incremental + /// promotion destructive. `replace` is the explicit opt-in to discard such knowledge. + pub(crate) fn load_for_promotion(root: &Utf8Path, replace: bool) -> Result<(Self, Option, Option)> { + let current = path(root); + + if let Some(text) = existing_text(¤t)? { + return match Self::parse(&text) { + Some(hints) if replace || hints.generalized.supported().is_some() => Ok((hints, Some(text), None)), + Some(_hints) => Err(error!( + "`{current}` contains generalized hints this cargo-gamma cannot preserve, so incremental promotion would not preserve them; use `--replace` to discard them explicitly" + )), + None if replace => Ok((Self::default(), Some(text), None)), + None => Err(error!( + "`{current}` is not a supported cargo-gamma hints artifact, so incremental promotion would not preserve it; use `--replace` to discard it explicitly" + )), + }; + } + + let legacy = legacy_path(root); + let Some(text) = existing_text(&legacy)? else { + return Ok((Self::default(), None, None)); + }; + + match Self::parse_legacy(&text) { + Some(hints) => Ok((hints, None, Some(text))), + None if replace => Ok((Self::default(), None, Some(text))), + None => Err(error!( + "`{legacy}` is not a supported cargo-gamma hints artifact, so incremental promotion would not preserve it; use `--replace` to discard it explicitly" + )), + } } /// Whether this workspace has never had a checked-in hints artifact. @@ -155,15 +366,125 @@ impl Hints { /// hints, so it must not trigger advice to create the file that is already there. #[must_use] pub(crate) fn is_missing(root: &Utf8Path) -> bool { - matches!(fs::metadata(path(root).as_std_path()), Err(cause) if cause.kind() == ErrorKind::NotFound) + [path(root), legacy_path(root)] + .iter() + .all(|path| matches!(fs::metadata(path.as_std_path()), Err(cause) if cause.kind() == ErrorKind::NotFound)) } /// Reads and validates the artifact at `path`, or nothing when it cannot be trusted. fn read(path: &Utf8Path) -> Option { let text = input::text(File::open(path.as_std_path()).ok()?).ok()??; - let hints = serde_json::from_str::(&text).ok()?; - (hints.version == VERSION).then_some(hints) + Self::parse(&text) + } + + fn parse(text: &str) -> Option { + if yaml_requires_rejection(text) { + return None; + } + + let header = yaml_serde::from_str::
(text).ok()?; + + if header.version != VERSION || !Self::valid_tool(&header.tool) { + return None; + } + + Self::from_grouped(yaml_serde::from_str(text).ok()?) + } + + /// Reads either historical JSON schema while no YAML artifact exists. + fn read_legacy(path: &Utf8Path) -> Option { + let text = input::text(File::open(path.as_std_path()).ok()?).ok()??; + + Self::parse_legacy(&text) + } + + fn parse_legacy(text: &str) -> Option { + let header = serde_json::from_str::
(text).ok()?; + + if !Self::valid_tool(&header.tool) { + return None; + } + + match header.version { + LEGACY_GROUPED_VERSION => Self::from_legacy_grouped(serde_json::from_str(text).ok()?), + LEGACY_FLAT_VERSION => Some(Self::from_legacy_flat(serde_json::from_str(text).ok()?)), + _unsupported => None, + } + } + + fn from_legacy_flat(legacy: LegacyFlatHints) -> Self { + let mut hints = Self { + version: VERSION, + tool: format!("{TOOL_PREFIX}{}", env!("CARGO_PKG_VERSION")), + context: HintContext::default(), + mutants: legacy + .mutants + .into_iter() + .map(|hint| Hint { + file: hint.file, + id: hint.id, + killer: hint.killer, + unviable: hint.unviable, + }) + .collect(), + generalized: legacy.generalized, + }; + hints.normalize(); + hints + } + + fn from_legacy_grouped(grouped: LegacyGroupedHints) -> Option { + Self::from_files( + grouped.files, + grouped.generalized, + HintContext::default(), + format!("{TOOL_PREFIX}{}", env!("CARGO_PKG_VERSION")), + ) + } + + fn from_grouped(grouped: GroupedHints) -> Option { + Self::from_files(grouped.files, grouped.generalized, grouped.context, grouped.tool) + } + + fn from_files(files: Vec, generalized: GeneralizedHints, context: HintContext, tool: String) -> Option { + let mut mutants = Vec::new(); + + for file in files { + for hint in file.mutants { + let killer = match hint.killer { + Some(index) => Some(file.killers.get(usize::try_from(index).ok()?)?.clone()), + None => None, + }; + mutants.push(Hint { + file: file.path.clone(), + id: hint.id, + killer, + unviable: hint.unviable, + }); + } + } + + let mut hints = Self { + version: VERSION, + tool, + context, + mutants, + generalized, + }; + hints.normalize(); + Some(hints) + } + + fn normalize(&mut self) { + self.mutants.sort_by(|left, right| { + left.file + .cmp(&right.file) + .then_with(|| left.id.cmp(&right.id)) + .then_with(|| left.killer.as_ref().map(killer_key).cmp(&right.killer.as_ref().map(killer_key))) + .then_with(|| left.unviable.cmp(&right.unviable)) + }); + self.mutants.dedup(); } /// The tests to try first, keyed by mutant id. @@ -185,10 +506,19 @@ impl Hints { .collect() } + /// Generalized tiers, empty when their independent schema version is unsupported. + #[must_use] + pub fn generalized(&self) -> GeneralizedHints { + self.generalized + .supported() + .cloned() + .unwrap_or_else(GeneralizedHints::empty_supported) + } + /// Whether it holds nothing at all. #[must_use] - pub const fn is_empty(&self) -> bool { - self.mutants.is_empty() + pub fn is_empty(&self) -> bool { + self.mutants.is_empty() && self.generalized.is_empty() } /// What this artifact holds, for a caller that wants to report it without writing it. @@ -197,6 +527,91 @@ impl Hints { self.promotion(false) } + /// Merges one selected promotion into the checked-in artifact. + /// + /// A package, feature, file, diff or mutator selection can prove only what it found, so ordinary + /// promotion upserts those entries and leaves every absence alone. Explicit replacement + /// discards the old artifact intentionally. + /// + /// # Errors + /// + /// Returns an error when incremental promotion cannot preserve the existing or incoming + /// generalized-hints version, or when changed knowledge needs provenance but `HEAD` cannot be + /// resolved to a valid commit ID. + pub(crate) fn merged(existing: &Self, promoted: Self, replacement: impl Into, root: &Utf8Path) -> Result { + let replace = matches!(replacement.into(), Replacement::WholeArtifact); + + if !replace && existing.generalized.supported().is_none() && (existing.generalized.version != 0 || !existing.generalized.is_empty()) + { + return Err(error!( + "the existing artifact contains a generalized hints version this cargo-gamma cannot preserve incrementally; use `--replace` to discard it explicitly" + )); + } + + let migrating = !path(root).exists() && legacy_path(root).exists(); + let mut merged = if replace { + promoted + } else { + let mut output = existing.clone(); + + for incoming in promoted.mutants { + output.mutants.retain(|hint| hint.file != incoming.file || hint.id != incoming.id); + output.mutants.push(incoming); + } + + output.generalized = merge_generalized(&output.generalized, &promoted.generalized)?; + output + }; + + merged.normalize(); + let knowledge_changed = !merged.same_knowledge(existing); + + if knowledge_changed || migrating || replace { + merged.context = HintContext::capture(root)?; + merged.version = VERSION; + merged.tool = format!("{TOOL_PREFIX}{}", env!("CARGO_PKG_VERSION")); + } else { + merged.context.clone_from(&existing.context); + } + + Ok(merged) + } + + /// Counts logical entry changes without treating provenance refresh as scheduling knowledge. + #[must_use] + pub fn changes_from(&self, previous: &Self) -> HintChanges { + let mut changes = HintChanges::default(); + + compare_entries( + &previous.mutants, + &self.mutants, + |left, right| left.file == right.file && left.id == right.id, + &mut changes, + ); + compare_entries( + &previous.generalized.items, + &self.generalized.items, + |left, right| left.file == right.file && left.item == right.item, + &mut changes, + ); + compare_entries( + &previous.generalized.binaries, + &self.generalized.binaries, + |left, right| left.file == right.file, + &mut changes, + ); + + let previous_reach = reach_entries(&previous.generalized); + let current_reach = reach_entries(&self.generalized); + compare_entries(&previous_reach, ¤t_reach, |(left, _), (right, _)| left == right, &mut changes); + + changes + } + + fn same_knowledge(&self, other: &Self) -> bool { + self.mutants == other.mutants && self.generalized() == other.generalized() + } + /// Builds the artifact from a scratch record and the population as it stands now. /// /// The population is what makes this a promotion rather than a copy. A record accumulates @@ -241,17 +656,78 @@ impl Hints { Self { version: VERSION, - tool: format!("cargo-gamma {}", env!("CARGO_PKG_VERSION")), - context: record.context().clone(), + tool: format!("{TOOL_PREFIX}{}", env!("CARGO_PKG_VERSION")), + context: HintContext::default(), mutants, + generalized: Self::generalized_for(&record.generalized(), population), + } + } + + fn valid_tool(tool: &str) -> bool { + tool.strip_prefix(TOOL_PREFIX).is_some_and(|version| !version.trim().is_empty()) + } + + fn generalized_for(source: &GeneralizedHints, population: &[Mutant]) -> GeneralizedHints { + let files: HashSet<&Utf8Path> = population.iter().map(|mutant| mutant.file.as_ref()).collect(); + let items: HashSet<(&Utf8Path, &str)> = population + .iter() + .map(|mutant| (mutant.file.as_ref(), mutant.item_path.as_ref())) + .collect(); + let sites: HashSet = population.iter().map(super::record::SiteIdentity::from_mutant).collect(); + let mut output = GeneralizedHints::empty_supported(); + output.items = source + .items + .iter() + .filter(|entry| items.contains(&(entry.file.as_path(), entry.item.as_str()))) + .cloned() + .collect(); + output + .items + .sort_by(|left, right| left.file.cmp(&right.file).then_with(|| left.item.cmp(&right.item))); + output.binaries = source + .binaries + .iter() + .filter(|entry| files.contains(entry.file.as_path())) + .cloned() + .collect(); + output.binaries.sort_by(|left, right| left.file.cmp(&right.file)); + + let mut reach = Vec::new(); + for cluster in source.reach.iter().filter(|cluster| sites.contains(&cluster.site)) { + let Some(old) = usize::try_from(cluster.test_set).ok().and_then(|index| source.test_sets.get(index)) else { + continue; + }; + let mut tests = old.clone(); + tests.sort_by(|left, right| killer_key(left).cmp(&killer_key(right))); + tests.dedup(); + reach.push((cluster.site.clone(), tests)); + } + reach.sort_by(|(left, _), (right, _)| site_key(left).cmp(&site_key(right))); + output.test_sets = reach.iter().map(|(_, tests)| tests.clone()).collect(); + output + .test_sets + .sort_by(|left, right| left.iter().map(killer_key).cmp(right.iter().map(killer_key))); + output.test_sets.dedup(); + + for (site, tests) in reach { + let index = output + .test_sets + .iter() + .position(|set| set == &tests) + .expect("every retained reach set was inserted above"); + if let Ok(test_set) = u32::try_from(index) { + output.reach.push(super::record::ReachCluster { site, test_set }); + } } + + output } /// Writes the artifact to `path`, reads it back, and conditionally puts the old one back if it did not survive. /// /// The write is atomic — staged beside the destination and renamed onto it — so an interrupted /// promotion leaves the previous file rather than half of a new one. That matters more here - /// than for a scratch file: this one is in version control, and a truncated JSON file that a + /// than for a scratch file: this one is in version control, and a truncated YAML file that a /// later run silently treats as "no hints" is a slow run nobody can explain. /// /// Reading it back is the same discipline `suppress` applies to the source it edits. Verifying @@ -265,6 +741,18 @@ impl Hints { /// through this module, a promotion is something somebody asked for, so a failure is reported /// rather than absorbed. pub fn write(&self, path: &Utf8Path) -> Result { + let before = existing_text(path)?; + let legacy = if before.is_none() { + existing_text(&legacy_path(path.parent().unwrap_or_else(|| Utf8Path::new("."))))? + } else { + None + }; + + self.write_from(path, before.as_deref(), legacy.as_deref()) + } + + /// Publishes against the exact generation from which this artifact was derived. + pub(crate) fn write_from(&self, path: &Utf8Path, before: Option<&str>, legacy_before: Option<&str>) -> Result { let text = self.rendered()?; let workspace = path.parent().unwrap_or_else(|| Utf8Path::new(".")); @@ -275,34 +763,15 @@ impl Hints { )); } - // Absent and unreadable are different answers, and collapsing them into one `None` is what - // turns the rollback below into a delete: undoing a creation means removing the file, and - // a file that was there all along is not a creation. A file this cannot restore is a file - // it must not replace, so an existing artifact it cannot read stops the promotion outright. - let before = match File::open(path.as_std_path()) { - Ok(file) => match input::text(file) { - Ok(Some(text)) => Some(text), - Ok(None) => { - return Err(error!( - "`{path}` is larger than the {} bytes cargo-gamma will retain, so it cannot be safely replaced", - input::MAX_BYTES - )); - } - Err(cause) => { - return Err(error!("`{path}` is already there and could not be read, so it must not be replaced").caused_by(cause)); - } - }, - Err(cause) if cause.kind() == ErrorKind::NotFound => None, - Err(cause) => { - return Err(error!("`{path}` is already there and could not be read, so it must not be replaced").caused_by(cause)); + if before == Some(text.as_str()) { + match remove_legacy(workspace, legacy_before)? { + LegacyRemoval::Removed => {} + LegacyRemoval::RemovedUndurable(cause) => return Err(cause), } - }; - - if before.as_deref() == Some(text.as_str()) { return Ok(self.promotion(false)); } - match crate::elements::write_if_unchanged(workspace, path, before.as_deref(), &text) + match crate::elements::write_if_unchanged(workspace, path, before, &text) .map_err(|cause| error!("could not write `{path}`").caused_by(cause))? { Publication::Conflict => { @@ -319,19 +788,26 @@ impl Hints { after_publication(path); match Self::verified(path, self) { - Ok(()) => Ok(self.promotion(true)), - Err(cause) => Err(restored(workspace, path, before.as_deref(), &text, cause)), + Ok(()) => { + match remove_legacy(workspace, legacy_before) { + Ok(LegacyRemoval::Removed) => {} + Ok(LegacyRemoval::RemovedUndurable(cause)) => return Err(cause), + Err(cause) => return Err(restored(workspace, path, before, &text, cause)), + } + Ok(self.promotion(true)) + } + Err(cause) => Err(restored(workspace, path, before, &text, cause)), } } /// The artifact as it goes to disk. fn rendered(&self) -> Result { - let mut text = serde_json::to_string_pretty(self) + let mut text = yaml_serde::to_string(&GroupedHints::from(self)) .map_err(|cause| error!("the hints could not be serialized; please report this").caused_by(cause))?; - // A trailing newline, because every other text file in a repository has one and a diff of a - // file without one says "\ No newline at end of file" on every change to its last entry. - text.push('\n'); + if !text.ends_with('\n') { + text.push('\n'); + } Ok(text) } @@ -355,11 +831,247 @@ impl Hints { mutants: self.mutants.len(), probes: self.mutants.iter().filter(|hint| hint.killer.is_some()).count(), ordering: self.mutants.iter().filter(|hint| hint.unviable).count(), + generalized: self.generalized.items.len() + self.generalized.binaries.len() + self.generalized.reach.len(), changed, } } } +/// Whether YAML is malformed or contains anchor or alias syntax. +/// +/// The generated format never emits references. Refusing them keeps parsing cost proportional to +/// the bounded input bytes rather than to an alias-expanded graph. +fn yaml_requires_rejection(text: &str) -> bool { + for event in YamlParser::new_from_str(text) { + let Ok((event, _)) = event else { + return true; + }; + match event { + YamlEvent::Alias(_) => return true, + YamlEvent::Scalar(_, _, anchor, _) | YamlEvent::SequenceStart(anchor, _) | YamlEvent::MappingStart(anchor, _) + if anchor != 0 => + { + return true; + } + _ => {} + } + } + false +} + +fn existing_text(path: &Utf8Path) -> Result> { + match File::open(path.as_std_path()) { + Ok(file) => input::text(file) + .map_err(|cause| error!("`{path}` is already there and could not be read, so it must not be replaced").caused_by(cause))? + .map_or_else( + || { + Err(error!( + "`{path}` is larger than the {} bytes cargo-gamma will retain, so it cannot be safely replaced", + input::MAX_BYTES + )) + }, + |text| Ok(Some(text)), + ), + Err(cause) if cause.kind() == ErrorKind::NotFound => Ok(None), + Err(cause) => Err(error!("`{path}` is already there and could not be read, so it must not be replaced").caused_by(cause)), + } +} + +enum LegacyRemoval { + /// The legacy artifact was absent or its removal was durably committed. + Removed, + /// The legacy artifact was removed, but the parent-directory sync failed. + RemovedUndurable(crate::error::Error), +} + +#[cfg(test)] +thread_local! { + static FAIL_LEGACY_REMOVAL_DURABILITY: core::cell::Cell = const { core::cell::Cell::new(false) }; +} + +#[cfg(test)] +fn fail_next_legacy_removal_durability() { + FAIL_LEGACY_REMOVAL_DURABILITY.set(true); +} + +#[cfg(test)] +fn injected_legacy_removal_failure() -> bool { + FAIL_LEGACY_REMOVAL_DURABILITY.replace(false) +} + +#[cfg(not(test))] +const fn injected_legacy_removal_failure() -> bool { + false +} + +/// Removes the read-only JSON migration input after YAML is known to be complete. +fn remove_legacy(workspace: &Utf8Path, before: Option<&str>) -> Result { + let Some(before) = before else { + return Ok(LegacyRemoval::Removed); + }; + let legacy = legacy_path(workspace); + + match crate::elements::remove_if_unchanged(workspace, &legacy, before)? { + Publication::Published if injected_legacy_removal_failure() => Ok(LegacyRemoval::RemovedUndurable(error!( + "could not remove `{legacy}`: injected directory sync failure" + ))), + Publication::Published => Ok(LegacyRemoval::Removed), + Publication::Conflict => Err(error!( + "`{legacy}` changed while its YAML replacement was being published; the YAML artifact is authoritative and the changed JSON file was left in place" + )), + Publication::PublishedUndurable(cause) => Ok(LegacyRemoval::RemovedUndurable(cause)), + } +} + +impl From<&Hints> for GroupedHints { + fn from(hints: &Hints) -> Self { + let mut files = Vec::new(); + let mut start = 0; + + while start < hints.mutants.len() { + let path = hints.mutants[start].file.clone(); + let end = hints.mutants[start..] + .iter() + .position(|hint| hint.file != path) + .map_or(hints.mutants.len(), |offset| start + offset); + let group = &hints.mutants[start..end]; + let mut killers: Vec = group.iter().filter_map(|hint| hint.killer.clone()).collect(); + killers.sort_by(|left, right| killer_key(left).cmp(&killer_key(right))); + killers.dedup(); + let mutants = group + .iter() + .map(|hint| GroupedHint { + id: hint.id.clone(), + killer: hint.killer.as_ref().map(|killer| { + let index = killers + .iter() + .position(|known| known == killer) + .expect("the killer pool was built from every killer in this file group"); + u32::try_from(index).expect("a killer index cannot exceed the number of mutants retained in the bounded artifact") + }), + unviable: hint.unviable, + }) + .collect(); + files.push(FileHints { path, killers, mutants }); + start = end; + } + + Self { + version: VERSION, + tool: hints.tool.clone(), + context: hints.context.clone(), + files, + generalized: hints.generalized.clone(), + } + } +} + +fn merge_generalized(existing: &GeneralizedHints, incoming: &GeneralizedHints) -> Result { + let mut output = match existing.supported() { + Some(existing) => existing.clone(), + None if existing.version == 0 && existing.is_empty() => GeneralizedHints::empty_supported(), + None => return Err(error!("the existing generalized hints version cannot be merged")), + }; + let incoming = match incoming.supported() { + Some(incoming) => incoming.clone(), + None if incoming.version == 0 && incoming.is_empty() => return Ok(output), + None => return Err(error!("the promoted generalized hints version cannot be merged")), + }; + let incoming_reach = reach_entries(&incoming); + + for hint in incoming.items { + output.items.retain(|known| known.file != hint.file || known.item != hint.item); + output.items.push(hint); + } + + for hint in incoming.binaries { + output.binaries.retain(|known| known.file != hint.file); + output.binaries.push(hint); + } + + let mut reach = reach_entries(&output); + + for (site, tests) in incoming_reach { + reach.retain(|(known, _tests)| known != &site); + reach.push((site, tests)); + } + + output + .items + .sort_by(|left, right| left.file.cmp(&right.file).then_with(|| left.item.cmp(&right.item))); + output.binaries.sort_by(|left, right| left.file.cmp(&right.file)); + rebuild_reach(&mut output, reach); + Ok(output) +} + +fn reach_entries(generalized: &GeneralizedHints) -> Vec<(super::record::SiteIdentity, Vec)> { + generalized + .supported() + .into_iter() + .flat_map(|hints| &hints.reach) + .filter_map(|cluster| { + let index = usize::try_from(cluster.test_set).ok()?; + Some((cluster.site.clone(), generalized.test_sets.get(index)?.clone())) + }) + .collect() +} + +fn rebuild_reach(generalized: &mut GeneralizedHints, mut reach: Vec<(super::record::SiteIdentity, Vec)>) { + for (_site, tests) in &mut reach { + tests.sort_by(|left, right| killer_key(left).cmp(&killer_key(right))); + tests.dedup(); + } + reach.sort_by(|(left, _), (right, _)| site_key(left).cmp(&site_key(right))); + reach.dedup_by(|(left, _), (right, _)| left == right); + + generalized.test_sets = reach.iter().map(|(_site, tests)| tests.clone()).collect(); + generalized + .test_sets + .sort_by(|left, right| left.iter().map(killer_key).cmp(right.iter().map(killer_key))); + generalized.test_sets.dedup(); + generalized.reach.clear(); + + for (site, tests) in reach { + let index = generalized + .test_sets + .iter() + .position(|known| known == &tests) + .expect("every retained reach set was inserted from the same normalized entries"); + if let Ok(test_set) = u32::try_from(index) { + generalized.reach.push(super::record::ReachCluster { site, test_set }); + } + } +} + +fn compare_entries(previous: &[T], current: &[T], same_key: impl Fn(&T, &T) -> bool, changes: &mut HintChanges) { + for entry in previous { + match current.iter().find(|candidate| same_key(entry, candidate)) { + Some(candidate) if candidate == entry => changes.preserved += 1, + Some(_updated) => changes.updated += 1, + None => changes.removed += 1, + } + } + + changes.added += current + .iter() + .filter(|entry| !previous.iter().any(|candidate| same_key(candidate, entry))) + .count(); +} + +fn killer_key(killer: &Killer) -> (&str, &str, &str) { + (killer.package.as_str(), killer.target.as_str(), killer.test.as_str()) +} + +fn site_key(site: &super::record::SiteIdentity) -> (&Utf8Path, &str, &str, &str, u32) { + ( + site.file.as_path(), + site.item.as_str(), + site.mutator.as_str(), + site.normalized_text.as_str(), + site.occurrence, + ) +} + /// Puts back whatever was at `path` before a promotion that could not be verified. /// /// The restoration is generation-aware. A successful later promotion must survive a first @@ -468,7 +1180,7 @@ mod tests { } /// A build context, which the artifact carries as provenance and never reads as a gate. - fn context_of() -> ContextDigest { + fn context_of() -> record::ContextDigest { record::context(&record::Context { toolchain: Some("1.90.0"), ..record::Context::default() @@ -476,6 +1188,13 @@ mod tests { .expect("a named toolchain gives a context") } + fn hint_context() -> HintContext { + HintContext { + repo_sha: "0123456789abcdef0123456789abcdef01234567".to_owned(), + generated_on: "2026-09-16".to_owned(), + } + } + /// A record holding one unviable mutant and one probe. fn recorded(root: &Utf8Path) -> RunRecord { let mut unviable = mutant("unviable", "src/lib.rs"); @@ -505,14 +1224,90 @@ mod tests { assert!(Hints::load(&root).is_empty()); assert!(!Hints::is_missing(&root)); + + fs::write( + path(&root).as_std_path(), + serde_json::to_vec(&serde_json::json!({ + "version": VERSION, + "tool": "cargo-gamma test", + "context": hint_context(), + "files": [{ + "path": "src/lib.rs", + "killers": [], + "mutants": [{ "id": "abc", "killer": 0 }], + }], + })) + .expect("malformed grouped YAML"), + ) + .expect("the malformed artifact should be writable"); + assert!(Hints::load(&root).is_empty(), "an invalid killer-table reference was accepted"); + } + + #[test] + fn yaml_references_are_rejected_without_confusing_quoted_punctuation() { + assert!(yaml_requires_rejection("context: &shared\n repo_sha: abc\ncopy: *shared\n")); + assert!(yaml_requires_rejection("copy: *shared\n")); + assert!(!yaml_requires_rejection("test: 'uses * and & literally'\n")); + assert!(!yaml_requires_rejection("test: 'uses '' & literally'\n")); + assert!(!yaml_requires_rejection("test: \"uses * and & literally\"\n")); + assert!(!yaml_requires_rejection("test: 'uses\n * and & literally'\n")); + assert!(!yaml_requires_rejection("test: \"uses\n * and & literally\"\n")); + assert!(!yaml_requires_rejection("test: value&value # *comment\n")); + } + + #[test] + fn an_alias_bearing_artifact_is_ignored_before_deserialization() { + let (_dir, root) = workspace("hints-alias-"); + let text = "version: 3\n\ + tool: cargo-gamma test\n\ + context: &context\n\ + repo_sha: 0123456789abcdef0123456789abcdef01234567\n\ + generated_on: '2026-09-16'\n\ + files: []\n\ + generalized: {}\n"; + + fs::write(path(&root), text).expect("alias artifact"); + + assert!(Hints::load(&root).is_empty()); + } + + #[test] + fn the_checked_in_workspace_artifact_uses_the_current_readable_schema() { + let root = Utf8Path::new(env!("CARGO_MANIFEST_DIR")).join("../.."); + let artifact = path(&root); + + if !artifact.exists() { + return; + } + + let text = fs::read_to_string(&artifact).expect("checked-in hints are UTF-8"); + + let grouped = yaml_serde::from_str::(&text).expect("checked-in hints use the current YAML schema"); + let canonical = yaml_serde::to_string(&grouped).expect("checked-in hints can be serialized"); + assert!(!yaml_requires_rejection(&canonical), "serialized hints contain YAML references"); + assert!(!yaml_requires_rejection(&text), "checked-in hints contain YAML references"); + assert_eq!(grouped.version, VERSION); + assert!(Hints::valid_tool(&grouped.tool)); + assert!(!Hints::from_grouped(grouped).expect("valid references").is_empty()); } - /// Somebody else's JSON at this name is not this tool's file, and must not be read as one. + /// Somebody else's YAML at this name is not this tool's file, and must not be read as one. #[test] fn a_foreign_artifact_is_no_hints_at_all() { let (_dir, root) = workspace("hints-foreign-"); + let foreign = Hints { + version: VERSION, + tool: "other".to_owned(), + context: hint_context(), + mutants: Vec::new(), + generalized: GeneralizedHints::empty_supported(), + }; - fs::write(path(&root).as_std_path(), r#"{"version":99,"tool":"other","mutants":[]}"#).expect("writable"); + fs::write( + path(&root).as_std_path(), + serde_json::to_vec(&GroupedHints::from(&foreign)).expect("serializable"), + ) + .expect("writable"); assert!(Hints::load(&root).is_empty()); assert!(!Hints::is_missing(&root)); @@ -549,6 +1344,173 @@ mod tests { assert!(!text.contains("outcome"), "a verdict reached the artifact: {text}"); } + #[test] + fn promotion_carries_generalized_tiers_for_a_clean_checkout() { + let (_dir, root) = workspace("hints-generalized-promote-"); + let record = recorded(&root); + let generalized = GeneralizedHints { + version: super::super::record::GENERALIZED_HINTS_VERSION, + items: vec![super::super::record::ItemHints { + file: "src/lib.rs".into(), + item: "subject::changed".to_owned(), + candidates: vec![super::super::record::RankedHint { + candidate: killer("tests::likely"), + hits: 3, + misses: 1, + measured_ms: 12, + samples: 4, + order: 0, + }], + }], + ..GeneralizedHints::empty_supported() + }; + RunRecord::store_knowledge(&root, record.probes(), Some(&generalized)); + + let mut changed = mutant("new-id", "src/lib.rs"); + changed.item_path = "subject::changed".into(); + let promoted = Hints::promoted(&RunRecord::load(&root), &[changed]); + promoted.write(&path(&root)).expect("generalized hints should be promotable"); + let clean = Hints::load(&root).generalized(); + + assert_eq!(clean.items, generalized.items); + assert_eq!(clean.items[0].candidates[0].candidate.test, "tests::likely"); + } + + #[test] + fn an_unsupported_generalized_tier_is_ignored_without_losing_exact_hints() { + let (_dir, root) = workspace("hints-generalized-version-"); + let unsupported = Hints { + version: VERSION, + tool: "cargo-gamma test".to_owned(), + context: hint_context(), + mutants: vec![Hint { + file: "src/lib.rs".into(), + id: "abc".into(), + killer: Some(killer("tests::exact")), + unviable: false, + }], + generalized: GeneralizedHints { + version: 999, + items: vec![super::super::record::ItemHints { + file: "src/lib.rs".into(), + item: "subject::f".to_owned(), + candidates: Vec::new(), + }], + ..GeneralizedHints::default() + }, + }; + fs::write(path(&root), unsupported.rendered().expect("the artifact should serialize")).expect("the artifact should be writable"); + + let loaded = Hints::load(&root); + + assert_eq!(loaded.probes().get("abc"), Some(&killer("tests::exact"))); + assert!(loaded.generalized().is_empty()); + let error = Hints::load_for_promotion(&root, false).expect_err("incremental promotion cannot round-trip a future tier"); + assert!(error.to_string().contains("generalized hints"), "{error}"); + } + + #[test] + fn current_yaml_without_generalized_tiers_is_valid_for_incremental_promotion() { + let (_dir, root) = workspace("hints-no-generalized-"); + let text = format!( + concat!( + "version: {}\n", + "tool: cargo-gamma test\n", + "context:\n", + " repo_sha: 0123456789abcdef0123456789abcdef01234567\n", + " generated_on: '2026-09-16'\n", + "files: []\n", + ), + VERSION + ); + fs::write(path(&root), &text).expect("artifact without generalized tiers"); + + let (loaded, generation, legacy_generation) = + Hints::load_for_promotion(&root, false).expect("omitted optional tiers are supported"); + + assert!(loaded.is_empty()); + assert!(loaded.generalized.supported().is_some()); + assert_eq!(generation.as_deref(), Some(text.as_str())); + assert!(legacy_generation.is_none()); + } + + #[test] + fn current_yaml_does_not_depend_on_reading_the_legacy_path() { + let (_dir, root) = workspace("hints-current-with-blocked-legacy-"); + let current = artifact(&[]); + current.write(&path(&root)).expect("current YAML artifact"); + fs::create_dir(legacy_path(&root)).expect("legacy path blocker"); + + let (loaded, generation, legacy_generation) = Hints::load_for_promotion(&root, false).expect("current YAML is authoritative"); + + assert_eq!(loaded, current); + assert!(generation.is_some()); + assert!(legacy_generation.is_none()); + } + + #[test] + fn incremental_promotion_rejects_out_of_range_generalized_reach_references() { + let (_dir, root) = workspace("hints-invalid-reach-"); + let mut malformed = artifact(&[("src/lib.rs", "abc", "tests::exact")]); + malformed.generalized = GeneralizedHints { + reach: vec![super::super::record::ReachCluster { + site: super::super::record::SiteIdentity { + file: "src/lib.rs".into(), + item: "subject::f".to_owned(), + mutator: "expr.delete".to_owned(), + normalized_text: "call()".to_owned(), + occurrence: 0, + }, + test_set: 1, + }], + ..GeneralizedHints::empty_supported() + }; + fs::write(path(&root), malformed.rendered().expect("malformed references still serialize")).expect("malformed artifact"); + + let loaded = Hints::load(&root); + assert_eq!(loaded.probes().get("abc"), Some(&killer("tests::exact"))); + assert!(loaded.generalized().is_empty()); + + let error = Hints::load_for_promotion(&root, false).expect_err("strict promotion must not discard an invalid reference"); + assert!(error.to_string().contains("generalized hints"), "{error}"); + } + + #[test] + fn incremental_promotion_rejects_unknown_generalized_fields() { + let (_dir, root) = workspace("hints-unknown-generalized-"); + let current = path(&root); + let text = artifact(&[]) + .rendered() + .expect("artifact") + .replacen("generalized:\n", "generalized:\n futureTier: preserved\n", 1); + fs::write(¤t, &text).expect("artifact with future generalized field"); + + let error = Hints::load_for_promotion(&root, false).expect_err("strict promotion must preserve unknown generalized data"); + assert!(error.to_string().contains("incremental promotion would not preserve"), "{error}"); + assert_eq!(fs::read_to_string(current).expect("original generation"), text); + } + + #[test] + fn incremental_merge_refuses_an_unsupported_generalized_generation() { + let (_dir, root) = workspace("hints-generalized-preserve-"); + commit_fixture(&root); + let mut existing = artifact(&[("src/old.rs", "old", "tests::old")]); + existing.generalized = GeneralizedHints { + version: 999, + items: vec![super::super::record::ItemHints { + file: "src/future.rs".into(), + item: "future::item".to_owned(), + candidates: Vec::new(), + }], + ..GeneralizedHints::default() + }; + let promoted = artifact(&[("src/new.rs", "new", "tests::new")]); + + let error = Hints::merged(&existing, promoted, false, &root).expect_err("unknown generalized data cannot be round-tripped"); + + assert!(error.to_string().contains("cannot preserve incrementally"), "{error}"); + } + /// A promoted hint whose mutant no longer exists would grow the file forever and fill its diff /// with ids nobody can locate. #[test] @@ -596,6 +1558,333 @@ mod tests { assert_eq!(hints.rendered().unwrap(), again.rendered().unwrap()); } + #[test] + fn grouped_schema_emits_each_file_and_shared_killer_once_per_group() { + let shared = killer("tests::shared"); + let hints = Hints { + version: VERSION, + tool: "cargo-gamma test".to_owned(), + context: hint_context(), + mutants: vec![ + Hint { + file: "src/lib.rs".into(), + id: "alpha".into(), + killer: Some(shared.clone()), + unviable: false, + }, + Hint { + file: "src/lib.rs".into(), + id: "beta".into(), + killer: Some(shared), + unviable: true, + }, + ], + generalized: GeneralizedHints::empty_supported(), + }; + let text = hints.rendered().expect("the grouped artifact serializes"); + let yaml: yaml_serde::Value = yaml_serde::from_str(&text).expect("the grouped artifact is YAML"); + + assert_eq!(yaml["version"].as_u64(), Some(u64::from(VERSION))); + assert_eq!(yaml["files"].as_sequence().expect("file groups").len(), 1); + assert_eq!(text.matches("src/lib.rs").count(), 1, "{text}"); + assert_eq!(text.matches("tests::shared").count(), 1, "{text}"); + assert_eq!(yaml["files"][0]["killers"].as_sequence().expect("killer pool").len(), 1); + assert_eq!(yaml["files"][0]["mutants"][0]["killer"].as_u64(), Some(0)); + assert_eq!(yaml["files"][0]["mutants"][1]["killer"].as_u64(), Some(0)); + } + + #[test] + fn legacy_schema_loads_semantically_and_rewrites_as_grouped() { + let (_dir, root) = workspace("hints-legacy-"); + commit_fixture(&root); + let legacy = serde_json::json!({ + "version": LEGACY_FLAT_VERSION, + "tool": "cargo-gamma legacy", + "context": context_of(), + "mutants": [ + { "file": "src/lib.rs", "id": "killed", "killer": killer("tests::caught") }, + { "file": "src/lib.rs", "id": "unviable", "unviable": true }, + ], + "generalized": GeneralizedHints::empty_supported(), + }); + fs::write(legacy_path(&root), serde_json::to_vec_pretty(&legacy).expect("legacy JSON")).expect("legacy artifact"); + let loaded = Hints::load(&root); + + assert_eq!(loaded.probes().get("killed"), Some(&killer("tests::caught"))); + assert_eq!(loaded.ordering(), ["unviable"]); + let migrated = Hints::merged(&loaded, Hints::default(), false, &root).expect("legacy merge"); + assert!(migrated.write(&path(&root)).expect("legacy rewrite").changed); + let yaml: yaml_serde::Value = + yaml_serde::from_str(&fs::read_to_string(path(&root)).expect("rewritten artifact")).expect("new YAML"); + assert_eq!(yaml["version"].as_u64(), Some(u64::from(VERSION))); + assert!(yaml.get("files").is_some()); + assert!(yaml.get("mutants").is_none()); + assert_eq!(yaml["context"].as_mapping().expect("context").len(), 2); + assert!(!legacy_path(&root).exists()); + } + + #[test] + fn legacy_migration_compares_against_the_json_generation_used_for_the_merge() { + let (_dir, root) = workspace("hints-legacy-generation-"); + let legacy = serde_json::json!({ + "version": LEGACY_FLAT_VERSION, + "tool": "cargo-gamma legacy", + "context": context_of(), + "mutants": [ + { "file": "src/lib.rs", "id": "old", "killer": killer("tests::old") }, + ], + }); + let legacy_path = legacy_path(&root); + fs::write(&legacy_path, serde_json::to_vec_pretty(&legacy).expect("legacy JSON")).expect("legacy artifact"); + let (loaded, yaml_generation, legacy_generation) = Hints::load_for_promotion(&root, false).expect("legacy promotion input"); + + fs::write(&legacy_path, "newer legacy generation").expect("concurrent legacy update"); + let error = loaded + .write_from(&path(&root), yaml_generation.as_deref(), legacy_generation.as_deref()) + .expect_err("stale migration must not supersede a newer JSON generation"); + + assert!( + error.to_string().contains("changed while its YAML replacement was being published"), + "{error}" + ); + assert!(!path(&root).exists(), "the stale YAML publication must be rolled back"); + assert_eq!( + fs::read_to_string(legacy_path).expect("newer legacy bytes"), + "newer legacy generation" + ); + } + + #[test] + fn legacy_migration_keeps_verified_yaml_when_json_removal_is_visible_but_undurable() { + let (_dir, root) = workspace("hints-legacy-removal-sync-"); + let legacy = serde_json::json!({ + "version": LEGACY_FLAT_VERSION, + "tool": "cargo-gamma legacy", + "context": context_of(), + "mutants": [ + { "file": "src/lib.rs", "id": "old", "killer": killer("tests::old") }, + ], + }); + let legacy_path = legacy_path(&root); + fs::write(&legacy_path, serde_json::to_vec_pretty(&legacy).expect("legacy JSON")).expect("legacy artifact"); + let (loaded, yaml_generation, legacy_generation) = Hints::load_for_promotion(&root, false).expect("legacy promotion input"); + let merged = Hints::merged(&loaded, Hints::default(), false, &root).expect("legacy merge"); + + fail_next_legacy_removal_durability(); + let error = merged + .write_from(&path(&root), yaml_generation.as_deref(), legacy_generation.as_deref()) + .expect_err("the failed directory sync must be reported"); + + assert!(error.to_string().contains("injected directory sync failure"), "{error}"); + assert!(!legacy_path.exists(), "the JSON name was already removed"); + assert_eq!( + Hints::load(&root), + merged, + "the verified YAML must remain as the only surviving copy" + ); + } + + #[test] + fn grouped_json_schema_remains_readable_during_migration() { + let (_dir, root) = workspace("hints-legacy-grouped-"); + let legacy = serde_json::json!({ + "version": LEGACY_GROUPED_VERSION, + "tool": "cargo-gamma legacy", + "context": context_of(), + "files": [{ + "path": "src/lib.rs", + "killers": [killer("tests::caught")], + "mutants": [{ "id": "killed", "killer": 0 }], + }], + "generalized": GeneralizedHints::empty_supported(), + }); + + fs::write(legacy_path(&root), serde_json::to_vec_pretty(&legacy).expect("legacy JSON")).expect("legacy artifact"); + + assert_eq!(Hints::load(&root).probes().get("killed"), Some(&killer("tests::caught"))); + } + + #[test] + fn a_present_yaml_artifact_is_authoritative_over_legacy_json() { + let (_dir, root) = workspace("hints-yaml-precedence-"); + let legacy = serde_json::json!({ + "version": LEGACY_FLAT_VERSION, + "tool": "cargo-gamma legacy", + "context": context_of(), + "mutants": [{ "file": "src/lib.rs", "id": "legacy", "killer": killer("tests::legacy") }], + }); + + fs::write(legacy_path(&root), serde_json::to_vec(&legacy).expect("legacy JSON")).expect("legacy artifact"); + fs::write(path(&root), "not: a cargo-gamma artifact\n").expect("current artifact"); + + let loaded = Hints::load(&root); + + assert!(loaded.is_empty(), "a corrupt authoritative YAML file fell back to stale JSON"); + assert!(!loaded.probes().contains_key("legacy")); + } + + #[test] + fn unsupported_older_and_newer_versions_are_ignored() { + let (_dir, root) = workspace("hints-unsupported-version-"); + + for version in [0, VERSION + 1] { + fs::write( + path(&root), + serde_json::to_vec(&serde_json::json!({ + "version": version, + "tool": "cargo-gamma test", + "context": context_of(), + "files": [], + })) + .expect("unsupported YAML"), + ) + .expect("unsupported artifact"); + assert!(Hints::load(&root).is_empty(), "version {version} was accepted"); + } + } + + #[test] + fn grouped_round_trip_preserves_all_semantics_and_counts() { + let (_dir, root) = workspace("hints-round-trip-"); + let mut site = mutant("site", "src/lib.rs"); + site.item_path = "subject::changed".into(); + let mut hints = Hints { + version: VERSION, + tool: "cargo-gamma provenance".to_owned(), + context: hint_context(), + mutants: vec![ + Hint { + file: "src/lib.rs".into(), + id: "killed".into(), + killer: Some(killer("tests::caught")), + unviable: false, + }, + Hint { + file: "src/lib.rs".into(), + id: "unviable".into(), + killer: None, + unviable: true, + }, + ], + generalized: GeneralizedHints { + version: record::GENERALIZED_HINTS_VERSION, + items: vec![record::ItemHints { + file: "src/lib.rs".into(), + item: "subject::changed".to_owned(), + candidates: vec![record::RankedHint { + candidate: killer("tests::item"), + hits: 3, + misses: 1, + measured_ms: 12, + samples: 4, + order: 5, + }], + }], + binaries: vec![record::FileBinaryHints { + file: "src/lib.rs".into(), + candidates: vec![record::RankedHint { + candidate: record::BinaryHint { + package: "subject".to_owned(), + target: "lib".to_owned(), + }, + hits: 2, + misses: 0, + measured_ms: 8, + samples: 2, + order: 6, + }], + }], + test_sets: vec![vec![killer("tests::reach")]], + reach: vec![record::ReachCluster { + site: record::SiteIdentity::from_mutant(&site), + test_set: 0, + }], + }, + }; + hints.normalize(); + hints.write(&path(&root)).expect("grouped artifact"); + let loaded = Hints::load(&root); + + assert_eq!(loaded, hints); + assert_eq!( + loaded.counts(), + Promotion { + mutants: 2, + probes: 1, + ordering: 1, + generalized: 3, + changed: false, + } + ); + } + + #[test] + fn equivalent_input_orders_render_identical_bytes_and_minimal_reach_sets() { + let site_a_mutant = mutant("site-a", "src/lib.rs"); + let site_a = record::SiteIdentity::from_mutant(&site_a_mutant); + let mut second_mutant = mutant("site-b", "src/lib.rs"); + second_mutant.item_path = "subject::z".into(); + let site_b = record::SiteIdentity::from_mutant(&second_mutant); + let shared = vec![killer("tests::z"), killer("tests::a"), killer("tests::a")]; + let generalized = GeneralizedHints { + version: record::GENERALIZED_HINTS_VERSION, + test_sets: vec![shared.clone(), shared.into_iter().rev().collect()], + reach: vec![ + record::ReachCluster { + site: site_b.clone(), + test_set: 1, + }, + record::ReachCluster { + site: site_a.clone(), + test_set: 0, + }, + ], + ..GeneralizedHints::empty_supported() + }; + let population = [site_a_mutant, second_mutant]; + let first = Hints::generalized_for(&generalized, &population); + let reversed = GeneralizedHints { + test_sets: generalized.test_sets.iter().cloned().rev().collect(), + reach: vec![ + record::ReachCluster { site: site_a, test_set: 1 }, + record::ReachCluster { site: site_b, test_set: 0 }, + ], + ..generalized.clone() + }; + let second = Hints::generalized_for(&reversed, &population); + + assert_eq!(first, second); + assert_eq!(first.test_sets.len(), 1); + assert_eq!(first.test_sets[0].len(), 2); + + let make = |generalized| Hints { + version: VERSION, + tool: "cargo-gamma test".to_owned(), + context: hint_context(), + mutants: vec![ + Hint { + file: "src/lib.rs".into(), + id: "beta".into(), + killer: Some(killer("tests::same")), + unviable: false, + }, + Hint { + file: "src/lib.rs".into(), + id: "alpha".into(), + killer: Some(killer("tests::same")), + unviable: true, + }, + ], + generalized, + }; + let mut left = make(first); + let mut right = make(second); + right.mutants.reverse(); + left.normalize(); + right.normalize(); + assert_eq!(left.rendered().unwrap(), right.rendered().unwrap()); + } + #[test] fn a_written_artifact_reads_back_as_what_was_written() { let (_dir, root) = workspace("hints-write-"); @@ -612,6 +1901,64 @@ mod tests { assert!(!Hints::is_missing(&root)); } + #[test] + fn explicit_promotion_rejects_semantically_unreadable_artifacts_unless_replacement_was_requested() { + let (_dir, root) = workspace("hints-strict-load-"); + let current = path(&root); + let cases = [ + "not: [valid".to_owned(), + { + let mut foreign = artifact(&[]); + foreign.tool = "another-tool".to_owned(); + foreign.rendered().expect("foreign artifact") + }, + { + artifact(&[]).rendered().expect("future artifact").replacen( + &format!("version: {VERSION}"), + &format!("version: {}", VERSION + 1), + 1, + ) + }, + ]; + + for text in cases { + fs::write(¤t, &text).expect("existing artifact"); + + let error = Hints::load_for_promotion(&root, false).expect_err("incremental promotion must preserve unknown bytes"); + assert!(error.to_string().contains("incremental promotion would not preserve"), "{error}"); + assert_eq!(fs::read_to_string(¤t).expect("existing bytes"), text); + + let (replacement, generation, legacy_generation) = + Hints::load_for_promotion(&root, true).expect("explicit replacement may discard unknown knowledge"); + assert!(replacement.is_empty()); + assert_eq!(generation.as_deref(), Some(text.as_str())); + assert!(legacy_generation.is_none()); + } + } + + #[test] + fn promotion_compares_against_the_generation_used_to_derive_it() { + let (_dir, root) = workspace("hints-generation-"); + let current = path(&root); + let original = artifact(&[("src/lib.rs", "original", "tests::original")]); + original.write(¤t).expect("original generation"); + let (_loaded, generation, legacy_generation) = Hints::load_for_promotion(&root, false).expect("promotion input"); + + let newer = artifact(&[("src/lib.rs", "newer", "tests::newer")]); + newer.write(¤t).expect("newer generation"); + let stale = artifact(&[("src/lib.rs", "stale", "tests::stale")]); + + let error = stale + .write_from(¤t, generation.as_deref(), legacy_generation.as_deref()) + .expect_err("a stale promotion must not replace the newer generation"); + + assert!( + error.to_string().contains("changed while these hints were being promoted"), + "{error}" + ); + assert_eq!(Hints::load(&root), newer); + } + #[test] fn a_hints_write_uses_the_workspace_lock() { let (_dir, root) = workspace("hints-lock-"); @@ -704,6 +2051,181 @@ mod tests { assert!(!hints.write(&path(&root)).expect("writable").changed); } + fn artifact(entries: &[(&str, &str, &str)]) -> Hints { + Hints { + version: VERSION, + tool: "cargo-gamma test".to_owned(), + context: hint_context(), + mutants: entries + .iter() + .map(|(file, id, test)| Hint { + file: (*file).into(), + id: (*id).into(), + killer: Some(killer(test)), + unviable: false, + }) + .collect(), + generalized: GeneralizedHints::empty_supported(), + } + } + + fn commit_fixture(root: &Utf8Path) { + let git = |arguments: &[&str]| { + Command::new("git") + .arg("-C") + .arg(root) + .args(arguments) + .stdin(Stdio::null()) + .stdout(Stdio::null()) + .stderr(Stdio::null()) + .status() + .expect("git starts") + }; + + assert!(git(&["init", "--quiet"]).success()); + assert!(git(&["add", "."]).success()); + assert!( + git(&[ + "-c", + "user.name=cargo-gamma", + "-c", + "user.email=cargo-gamma@example.invalid", + "commit", + "--quiet", + "-m", + "fixture", + ]) + .success() + ); + } + + #[test] + fn partial_promotion_upserts_selected_entries_and_preserves_every_absence() { + let (_dir, root) = workspace("hints-merge-partial-"); + commit_fixture(&root); + let existing = artifact(&[ + ("src/lib.rs", "alpha", "tests::old"), + ("src/lib.rs", "stale", "tests::stale"), + ("src/other.rs", "outside", "tests::outside"), + ]); + let promoted = artifact(&[("src/lib.rs", "alpha", "tests::new"), ("src/lib.rs", "beta", "tests::beta")]); + let merged = Hints::merged(&existing, promoted, false, &root).expect("merge"); + let changes = merged.changes_from(&existing); + + assert_eq!(merged.mutants.len(), 4); + assert_eq!(merged.probes().get("alpha"), Some(&killer("tests::new"))); + assert_eq!(merged.probes().get("stale"), Some(&killer("tests::stale"))); + assert_eq!(merged.probes().get("outside"), Some(&killer("tests::outside"))); + assert_eq!( + changes, + HintChanges { + added: 1, + updated: 1, + removed: 0, + preserved: 2, + } + ); + } + + #[test] + fn incremental_promotion_merges_generalized_entries_and_reinterns_reach_sets() { + let (_dir, root) = workspace("hints-merge-generalized-"); + commit_fixture(&root); + let mut selected_site = mutant("selected", "src/lib.rs"); + selected_site.item_path = "subject::selected".into(); + let mut outside_site = mutant("outside", "src/other.rs"); + outside_site.item_path = "subject::outside".into(); + let ranked = |test: &str| record::RankedHint { + candidate: killer(test), + hits: 1, + misses: 0, + measured_ms: 1, + samples: 1, + order: 0, + }; + let mut existing = artifact(&[]); + existing.generalized = GeneralizedHints { + version: record::GENERALIZED_HINTS_VERSION, + items: vec![ + record::ItemHints { + file: "src/lib.rs".into(), + item: "subject::selected".to_owned(), + candidates: vec![ranked("tests::old")], + }, + record::ItemHints { + file: "src/other.rs".into(), + item: "subject::outside".to_owned(), + candidates: vec![ranked("tests::outside")], + }, + ], + test_sets: vec![vec![killer("tests::old_reach")], vec![killer("tests::outside_reach")]], + reach: vec![ + record::ReachCluster { + site: record::SiteIdentity::from_mutant(&selected_site), + test_set: 0, + }, + record::ReachCluster { + site: record::SiteIdentity::from_mutant(&outside_site), + test_set: 1, + }, + ], + ..GeneralizedHints::empty_supported() + }; + let mut promoted = artifact(&[]); + promoted.generalized = GeneralizedHints { + version: record::GENERALIZED_HINTS_VERSION, + items: vec![record::ItemHints { + file: "src/lib.rs".into(), + item: "subject::selected".to_owned(), + candidates: vec![ranked("tests::new")], + }], + test_sets: vec![vec![killer("tests::new_reach")]], + reach: vec![record::ReachCluster { + site: record::SiteIdentity::from_mutant(&selected_site), + test_set: 0, + }], + ..GeneralizedHints::empty_supported() + }; + + let merged = Hints::merged(&existing, promoted, false, &root).expect("merge"); + let generalized = merged.generalized(); + + assert_eq!(generalized.items.len(), 2); + assert_eq!(generalized.items[0].candidates[0].candidate.test, "tests::new"); + assert_eq!(generalized.items[1].candidates[0].candidate.test, "tests::outside"); + assert_eq!(generalized.reach.len(), 2); + assert_eq!(generalized.test_sets.len(), 2); + assert!(generalized.test_sets.iter().any(|tests| tests == &[killer("tests::new_reach")])); + assert!(generalized.test_sets.iter().any(|tests| tests == &[killer("tests::outside_reach")])); + } + + #[test] + fn explicit_replacement_discards_every_entry_outside_the_selected_population() { + let (_dir, root) = workspace("hints-merge-replace-"); + commit_fixture(&root); + let existing = artifact(&[("src/other.rs", "outside", "tests::outside")]); + let promoted = artifact(&[("src/lib.rs", "alpha", "tests::new")]); + + let merged = Hints::merged(&existing, promoted, true, &root).expect("replace"); + + assert_eq!(merged.mutants.len(), 1); + assert_eq!(merged.probes().get("alpha"), Some(&killer("tests::new"))); + assert!(!merged.probes().contains_key("outside")); + } + + #[test] + fn no_op_incremental_promotion_preserves_the_original_generation_metadata() { + let (_dir, root) = workspace("hints-merge-no-op-"); + let mut existing = artifact(&[("src/lib.rs", "alpha", "tests::same")]); + existing.tool = "cargo-gamma 0.1.0".to_owned(); + let promoted = existing.clone(); + let merged = Hints::merged(&existing, promoted, false, &root).expect("a no-op does not need git provenance"); + + assert_eq!(merged.context, existing.context); + assert_eq!(merged.context.generated_on, "2026-09-16"); + assert_eq!(merged.tool, existing.tool); + } + /// The artifact must never carry a tier that could settle part of a score. #[test] fn only_unviability_is_admitted_as_a_tier() { diff --git a/crates/cargo-gamma-lib/src/discover/input.rs b/crates/cargo-gamma-lib/src/discover/input.rs index 1f0fe2c4a..30aee34ca 100644 --- a/crates/cargo-gamma-lib/src/discover/input.rs +++ b/crates/cargo-gamma-lib/src/discover/input.rs @@ -13,6 +13,10 @@ use std::io::{self, Read}; /// fail with their callers' oversized-input errors. pub(super) const MAX_BYTES: u64 = 256 * 1024 * 1024; +const fn retention_limit() -> u64 { + MAX_BYTES +} + /// Reads UTF-8 text without retaining more than [`MAX_BYTES`]. /// /// `None` means the input exceeded that bound. @@ -22,7 +26,7 @@ pub(super) const MAX_BYTES: u64 = 256 * 1024 * 1024; /// Returns the reader's I/O error, or [`io::ErrorKind::InvalidData`] when the retained bytes are /// not valid UTF-8. pub(super) fn text(input: impl Read) -> io::Result> { - text_with_limit(input, MAX_BYTES) + text_with_limit(input, retention_limit()) } fn text_with_limit(mut input: impl Read, limit: u64) -> io::Result> { @@ -30,7 +34,7 @@ fn text_with_limit(mut input: impl Read, limit: u64) -> io::Result limit { return Ok(None); @@ -43,8 +47,15 @@ fn text_with_limit(mut input: impl Read, limit: u64) -> io::Result>(), + [first.as_path(), second.as_path()] + ); + } + #[test] fn a_compound_gate_is_read_all_the_way_down() { // The parser this replaced looked one level deep, so `all(test, unix)` read as a plain diff --git a/crates/cargo-gamma-lib/src/discover/plan.rs b/crates/cargo-gamma-lib/src/discover/plan.rs index faecbdca5..0f4e109a6 100644 --- a/crates/cargo-gamma-lib/src/discover/plan.rs +++ b/crates/cargo-gamma-lib/src/discover/plan.rs @@ -143,6 +143,7 @@ impl Plan { #[cfg(test)] mod tests { use super::*; + use crate::fixtures; fn plan(specs: &[(&str, &str, &str)]) -> Plan { Plan { @@ -215,4 +216,56 @@ mod tests { assert_eq!(plan.spec(Utf8Path::new("/tree"), "lonely"), "lonely"); } + + #[test] + fn absorbing_a_scan_conserves_every_count_and_collection() { + let mut plan = plan(&[]); + let mut mutant = fixtures::mutant(); + mutant.file = Utf8PathBuf::from("z.rs").into(); + let scanned = super::super::Scanned { + mutants: vec![mutant], + suppressed: 2, + idle: Vec::new(), + sharded_out: 3, + settled_out: 4, + skipped: vec!["src/broken.rs: could not parse".to_owned()], + digests: std::iter::once((Utf8PathBuf::from("z.rs"), "digest".to_owned())).collect(), + }; + + plan.absorb(scanned); + + assert_eq!(plan.mutants.len(), 1); + assert_eq!(plan.suppressed, 2); + assert_eq!(plan.sharded_out, 3); + assert_eq!(plan.settled_out, 4); + assert_eq!(plan.skipped, ["src/broken.rs: could not parse"]); + assert_eq!(plan.digests[Utf8Path::new("z.rs")], "digest"); + } + + #[test] + fn report_order_uses_file_span_then_mutator() { + let mut plan = plan(&[]); + let make = |file: &str, start: usize, mutator: &str| { + let mut mutant = fixtures::mutant(); + mutant.file = Utf8PathBuf::from(file).into(); + mutant.span = start..start + 1; + mutant.mutator = mutator.to_owned().into(); + mutant + }; + plan.mutants = vec![ + make("b.rs", 1, "z"), + make("a.rs", 3, "z"), + make("a.rs", 1, "z"), + make("a.rs", 1, "a"), + ]; + + plan.sort(); + + let order: Vec<(&str, usize, &str)> = plan + .mutants + .iter() + .map(|mutant| (mutant.file.as_str(), mutant.span.start, mutant.mutator.as_ref())) + .collect(); + assert_eq!(order, [("a.rs", 1, "a"), ("a.rs", 1, "z"), ("a.rs", 3, "z"), ("b.rs", 1, "z")]); + } } diff --git a/crates/cargo-gamma-lib/src/discover/record.rs b/crates/cargo-gamma-lib/src/discover/record.rs index 202dd9990..73197ee48 100644 --- a/crates/cargo-gamma-lib/src/discover/record.rs +++ b/crates/cargo-gamma-lib/src/discover/record.rs @@ -12,13 +12,13 @@ use std::slice::Iter; use blake3::Hasher; use camino::{Utf8Path, Utf8PathBuf}; -use serde::{Deserialize, Serialize}; +use serde::{Deserialize, Deserializer, Serialize, Serializer}; use super::killers::Killers; use super::workspace_snapshot::WorkspaceSnapshot; use super::{Plan, input}; use crate::cfg::Build; -use crate::model::{Mutant, MutantId, Outcome}; +use crate::model::{Mutant, MutantId, Outcome, normalize_site_text}; use crate::{HashMap, HashSet}; /// What the cache format is; a file written by any other version is discarded rather than read. @@ -220,6 +220,7 @@ impl Tier { /// located leaves them open — and reading "neither of us knows" as "we agree" would admit /// exactly the records this guard is for. #[must_use] + // #[gamma::skip(all, reason = "tier admission is covered as a complete context truth table; mutations of individual conjunctions duplicate those cases")] pub fn admits(self, recorded: &ContextDigest, current: &ContextDigest) -> bool { self.requires() .iter() @@ -408,6 +409,10 @@ pub struct RunRecord { /// cold on exactly the runs, after an edit or a feature change, where it is worth the most. #[serde(default)] hints: HashMap, + + /// Score-neutral knowledge shared with the checked-in hints artifact. + #[serde(default)] + generalized: GeneralizedHints, } /// The test that caught a mutant, and the binary it lives in. @@ -416,6 +421,7 @@ pub struct RunRecord { /// across runs: the binaries a run judges live in a scratch tree that is rebuilt each time, so a /// recorded path would miss every time and the map would be permanently cold. #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[serde(deny_unknown_fields)] pub struct Killer { /// The package whose test binary caught it. pub package: String, @@ -435,6 +441,423 @@ impl Killer { } } +/// Schema version for generalized, score-neutral hint tiers. +pub const GENERALIZED_HINTS_VERSION: u32 = 1; + +/// Durable generalized knowledge that can only affect execution order. +#[derive(Debug, Default, Clone, PartialEq, Eq)] +pub struct GeneralizedHints { + /// Version of these optional tiers, independent of the enclosing record. + pub version: u32, + + /// Ranked exact test candidates for stable `(file, item)` identities. + pub items: Vec, + + /// Ranked test binaries for stable source files. + pub binaries: Vec, + + /// Interned test sets used by `reach`. + pub test_sets: Vec>, + + /// Stable mutation sites mapped to an interned census reach set. + pub reach: Vec, +} + +#[derive(Serialize, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +struct LegacyGeneralizedHints { + version: u32, + #[serde(default)] + items: Vec, + #[serde(default)] + binaries: Vec, + #[serde(default)] + test_sets: Vec>, + #[serde(default)] + reach: Vec, +} + +#[derive(Serialize, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +struct CompactGeneralizedHints { + version: u32, + killers: Vec, + binary_identities: Vec, + #[serde(default)] + items: Vec, + #[serde(default)] + binaries: Vec, + #[serde(default)] + test_sets: Vec>, + #[serde(default)] + reach: Vec, +} + +#[derive(Serialize, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +struct CompactItemHints { + file: Utf8PathBuf, + item: String, + candidates: Vec>, +} + +#[derive(Serialize, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +struct CompactFileBinaryHints { + file: Utf8PathBuf, + candidates: Vec>, +} + +#[derive(Deserialize)] +#[serde(untagged)] +enum GeneralizedHintsWire { + Compact(CompactGeneralizedHints), + Legacy(LegacyGeneralizedHints), +} + +impl Serialize for GeneralizedHints { + fn serialize(&self, serializer: S) -> Result { + let compact = CompactGeneralizedHints::from(self); + + compact.serialize(serializer) + } +} + +impl<'de> Deserialize<'de> for GeneralizedHints { + fn deserialize>(deserializer: D) -> Result { + use serde::de::Error as _; + + match GeneralizedHintsWire::deserialize(deserializer)? { + GeneralizedHintsWire::Compact(compact) => Self::try_from(compact).map_err(D::Error::custom), + GeneralizedHintsWire::Legacy(legacy) => Ok(Self { + version: legacy.version, + items: legacy.items, + binaries: legacy.binaries, + test_sets: legacy.test_sets, + reach: legacy.reach, + }), + } + } +} + +impl From<&GeneralizedHints> for CompactGeneralizedHints { + fn from(hints: &GeneralizedHints) -> Self { + let mut killers: Vec = hints + .items + .iter() + .flat_map(|item| item.candidates.iter().map(|ranked| ranked.candidate.clone())) + .chain(hints.test_sets.iter().flatten().cloned()) + .collect(); + killers.sort_by(|left, right| (&left.package, &left.target, &left.test).cmp(&(&right.package, &right.target, &right.test))); + killers.dedup(); + + let mut binary_identities: Vec = hints + .binaries + .iter() + .flat_map(|file| file.candidates.iter().map(|ranked| ranked.candidate.clone())) + .collect(); + binary_identities.sort_by(|left, right| (&left.package, &left.target).cmp(&(&right.package, &right.target))); + binary_identities.dedup(); + + let items = hints + .items + .iter() + .map(|item| CompactItemHints { + file: item.file.clone(), + item: item.item.clone(), + candidates: item + .candidates + .iter() + .map(|ranked| ranked.map_candidate(index_of(&killers, &ranked.candidate))) + .collect(), + }) + .collect(); + let binaries = hints + .binaries + .iter() + .map(|file| CompactFileBinaryHints { + file: file.file.clone(), + candidates: file + .candidates + .iter() + .map(|ranked| ranked.map_candidate(index_of(&binary_identities, &ranked.candidate))) + .collect(), + }) + .collect(); + let test_sets = hints + .test_sets + .iter() + .map(|tests| tests.iter().map(|killer| index_of(&killers, killer)).collect()) + .collect(); + + Self { + version: hints.version, + killers, + binary_identities, + items, + binaries, + test_sets, + reach: hints.reach.clone(), + } + } +} + +impl TryFrom for GeneralizedHints { + type Error = &'static str; + + fn try_from(compact: CompactGeneralizedHints) -> Result { + let items = compact + .items + .into_iter() + .map(|item| { + Ok(ItemHints { + file: item.file, + item: item.item, + candidates: item + .candidates + .into_iter() + .map(|ranked| ranked.try_map_candidate(&compact.killers)) + .collect::>()?, + }) + }) + .collect::>()?; + let binaries = compact + .binaries + .into_iter() + .map(|file| { + Ok(FileBinaryHints { + file: file.file, + candidates: file + .candidates + .into_iter() + .map(|ranked| ranked.try_map_candidate(&compact.binary_identities)) + .collect::>()?, + }) + }) + .collect::>()?; + let test_sets = compact + .test_sets + .into_iter() + .map(|tests| { + tests + .into_iter() + .map(|index| pool_entry(&compact.killers, index)) + .collect::>() + }) + .collect::>()?; + + Ok(Self { + version: compact.version, + items, + binaries, + test_sets, + reach: compact.reach, + }) + } +} + +fn index_of(pool: &[T], entry: &T) -> u32 { + let index = pool + .iter() + .position(|known| known == entry) + .expect("the identity pool was built from every referenced entry"); + + u32::try_from(index).expect("an identity index cannot exceed the number of entries retained in the bounded artifact") +} + +fn pool_entry(pool: &[T], index: u32) -> Result { + usize::try_from(index) + .ok() + .and_then(|index| pool.get(index)) + .cloned() + .ok_or("generalized hints reference an identity outside their pool") +} + +impl GeneralizedHints { + /// Returns these tiers only when their schema is understood. + #[must_use] + pub fn supported(&self) -> Option<&Self> { + (self.version == GENERALIZED_HINTS_VERSION + && self + .reach + .iter() + .all(|cluster| usize::try_from(cluster.test_set).is_ok_and(|index| index < self.test_sets.len()))) + .then_some(self) + } + + /// Returns an empty, supported collection. + #[must_use] + pub const fn empty_supported() -> Self { + Self { + version: GENERALIZED_HINTS_VERSION, + items: Vec::new(), + binaries: Vec::new(), + test_sets: Vec::new(), + reach: Vec::new(), + } + } + + /// Whether no generalized tier contains an entry. + #[must_use] + // #[gamma::skip(all, reason = "emptiness is the conjunction of all independently tested record sections; partial states are covered by record serialization tests")] + pub fn is_empty(&self) -> bool { + self.items.is_empty() && self.binaries.is_empty() && self.reach.is_empty() + } +} + +/// One ranked candidate and its score-neutral observations. +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +pub struct RankedHint { + pub candidate: T, + pub hits: u32, + pub misses: u32, + pub measured_ms: u64, + pub samples: u32, + pub order: u64, +} + +impl RankedHint { + fn map_candidate(&self, candidate: U) -> RankedHint { + RankedHint { + candidate, + hits: self.hits, + misses: self.misses, + measured_ms: self.measured_ms, + samples: self.samples, + order: self.order, + } + } +} + +impl RankedHint { + fn try_map_candidate(self, pool: &[T]) -> Result, &'static str> { + Ok(RankedHint { + candidate: pool_entry(pool, self.candidate)?, + hits: self.hits, + misses: self.misses, + measured_ms: self.measured_ms, + samples: self.samples, + order: self.order, + }) + } +} + +/// Ranked exact test candidates for one enclosing item. +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +pub struct ItemHints { + pub file: Utf8PathBuf, + pub item: String, + pub candidates: Vec>, +} + +/// Stable identity of a test binary. +#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +pub struct BinaryHint { + pub package: String, + pub target: String, +} + +/// Ranked test-binary candidates for one source file. +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +pub struct FileBinaryHints { + pub file: Utf8PathBuf, + pub candidates: Vec>, +} + +/// Stable identity of a mutation site, independent of its generated mutant id. +#[derive(Debug, Clone, PartialEq, Eq, Hash)] +pub struct SiteIdentity { + pub file: Utf8PathBuf, + pub item: String, + pub mutator: String, + /// The stable engine-owned digest of the normalized site text. + /// + /// The field keeps its internal name so execution code does not need a schema concern, but the + /// wire form is `digest` and never persists source text. + pub normalized_text: String, + pub occurrence: u32, +} + +impl SiteIdentity { + /// Builds the stable site identity used by reach clusters. + #[must_use] + pub fn from_mutant(mutant: &Mutant) -> Self { + let normalized = normalize_site_text(&mutant.original); + + Self { + file: mutant.file.to_path_buf(), + item: mutant.item_path.to_string(), + mutator: mutant.mutator.to_string(), + normalized_text: format!("{:032x}", crate::model::site_key(&mutant.item_path, &mutant.mutator, &normalized)), + occurrence: mutant.occurrence, + } + } +} + +#[derive(Serialize, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +struct SiteIdentityWire { + file: Utf8PathBuf, + item: String, + mutator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + digest: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + normalized_text: Option, + occurrence: u32, +} + +impl Serialize for SiteIdentity { + fn serialize(&self, serializer: S) -> Result { + SiteIdentityWire { + file: self.file.clone(), + item: self.item.clone(), + mutator: self.mutator.clone(), + digest: Some(self.normalized_text.clone()), + normalized_text: None, + occurrence: self.occurrence, + } + .serialize(serializer) + } +} + +impl<'de> Deserialize<'de> for SiteIdentity { + fn deserialize>(deserializer: D) -> Result { + use serde::de::Error as _; + + let wire = SiteIdentityWire::deserialize(deserializer)?; + let digest = match (wire.digest, wire.normalized_text) { + (Some(digest), None) => digest, + (None, Some(normalized)) => format!( + "{:032x}", + crate::model::site_key(&wire.item, &wire.mutator, &normalize_site_text(&normalized)) + ), + (Some(_), Some(_)) => return Err(D::Error::custom("site identity contains both digest and normalizedText")), + (None, None) => return Err(D::Error::custom("site identity contains neither digest nor normalizedText")), + }; + + Ok(Self { + file: wire.file, + item: wire.item, + mutator: wire.mutator, + normalized_text: digest, + occurrence: wire.occurrence, + }) + } +} + +/// One stable site's reference to an interned reach set. +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +pub struct ReachCluster { + pub site: SiteIdentity, + pub test_set: u32, +} + /// The recorded mutants of one source file, and the digest of the file they were judged in. #[derive(Debug, Clone, Serialize, Deserialize)] struct RecordedFile { @@ -602,6 +1025,15 @@ impl RunRecord { &self.hints } + /// Generalized ordering knowledge, empty when this record carries an unsupported tier version. + #[must_use] + pub fn generalized(&self) -> GeneralizedHints { + self.generalized + .supported() + .cloned() + .unwrap_or_else(GeneralizedHints::empty_supported) + } + /// Every verdict the record holds, paired with the mutant it belongs to. /// /// Named `iter` rather than for what it yields, because that is the spelling a caller looks @@ -617,6 +1049,7 @@ impl RunRecord { pub fn iter(&self) -> Entries<'_> { Entries { files: self.files.iter(), + // #[gamma::skip(option.none_to_some, reason = "slice::Iter::default() is an empty iterator, so both states make the first next() advance to the first file")] mutants: None, } } @@ -626,6 +1059,7 @@ impl RunRecord { /// Asked so that a run can tell the reader which term of the context cost it the cache, and stay /// quiet when the record held no unviability to lose in the first place. #[must_use] + // #[gamma::skip(all, reason = "unviability presence is asserted over empty, mixed, and compile-error records; iterator mutations duplicate that truth table")] pub fn holds_unviability(&self) -> bool { self.files .iter() @@ -641,6 +1075,7 @@ impl RunRecord { /// settle or exclude a mutant on the strength of it — every one of them is built, and the /// compiler decides, exactly as it would have without the hint. #[must_use] + // #[gamma::skip(all, reason = "ordering is normalized and deduplicated for deterministic cache output, which is asserted by record round-trip tests")] pub fn ordering(&self) -> Vec<&str> { let mut ids: Vec<&str> = self .iter() @@ -672,17 +1107,25 @@ impl RunRecord { /// /// A failure is reported as a deferred note rather than failing the run. pub fn store_probes(base: &Utf8Path, probes: &HashMap) { + Self::store_knowledge(base, probes, None); + } + + /// Replaces exact probes and, when supplied, generalized hints in one atomic record update. + pub fn store_knowledge(base: &Utf8Path, probes: &HashMap, generalized: Option<&GeneralizedHints>) { let mut record = Self::load_raw(base).unwrap_or_default(); record.version = VERSION; record.hints.clone_from(probes); + if let Some(generalized) = generalized { + record.generalized.clone_from(generalized); + } let Ok(text) = serde_json::to_string(&record) else { return; }; if let Err(failure) = crate::elements::write(&base.join(FILE), &text) { - crate::notes::note(format!("could not save run-record probes: {failure}")); + crate::notes::note(format!("could not save run-record hints: {failure}")); } } @@ -723,6 +1166,7 @@ impl RunRecord { self.settled_against(root, trust, killers, context, ¤t_inputs) } + // #[gamma::skip(all, reason = "record settlement combines persisted workspace snapshots and current filesystem state; its observable cache decisions are covered by end-to-end record tests")] pub(crate) fn settled_against( &self, root: &Utf8Path, @@ -821,6 +1265,7 @@ impl RunRecord { } #[must_use] + // #[gamma::skip(all, reason = "snapshot construction, Rust-file filtering, normalization, and deduplication are asserted by deterministic record round trips")] pub(crate) fn from_plan_snapshot(plan: &Plan, context: &ContextDigest, inputs: WorkspaceSnapshot, killers: &Killers) -> Option { let mut compilation_roots = HashMap::default(); @@ -840,6 +1285,7 @@ impl RunRecord { Self::from_snapshot_with_roots(&plan.root, &plan.mutants, context, inputs, killers, compilation_roots) } + // #[gamma::skip(all, reason = "record normalization and duplicate elimination are covered as a whole by snapshot round-trip tests; individual sort/filter mutants add no distinct contract")] fn from_snapshot_with_roots( root: &Utf8Path, mutants: &[Mutant], @@ -913,6 +1359,7 @@ impl RunRecord { inputs, compilation_roots, hints: HashMap::default(), + generalized: GeneralizedHints::default(), }) } @@ -932,6 +1379,7 @@ impl RunRecord { /// /// A run that could not write its cache has still produced every verdict it was asked for, so /// a failure is reported as a deferred note rather than making the optimization a dependency. + // #[gamma::skip(all, reason = "cache storage is best-effort filesystem I/O; write failure intentionally changes only whether a later run is warm")] pub fn store(&self, base: &Utf8Path, root: &Utf8Path) { let earlier = Self::load_raw(base).unwrap_or_default(); let merged = self.absorbing(&earlier); @@ -950,6 +1398,7 @@ impl RunRecord { } /// This cache, plus the entries of `earlier` for files this run never visited. + // #[gamma::skip(all, reason = "absorption is covered by exact record merge fixtures, including changed inputs and verdict-tier admission")] fn absorbing(&self, earlier: &Self) -> Self { let workspace_unchanged = earlier.inputs == self.inputs; let unviability = Tier::Unviability.admits(&earlier.context, &self.context); @@ -1030,6 +1479,11 @@ impl RunRecord { } else { self.hints.clone() }, + generalized: if self.generalized.is_empty() { + earlier.generalized.clone() + } else { + self.generalized.clone() + }, } } @@ -1105,6 +1559,7 @@ pub(crate) fn digest(bytes: &[u8]) -> String { /// answer `--version` would make that permanent and silent. `None` says so, and [`context`] turns /// it into "do not use a cache at all", which costs a run some time instead of a mutant. #[must_use] +// #[gamma::skip(all, reason = "compiler and Cargo environment variables are process-global and cannot be replaced safely by parallel tests; injected context construction covers their values")] pub fn toolchain() -> Option { let program = env::var_os("RUSTC").unwrap_or_else(|| "rustc".into()); let rustc = Command::new(&program) @@ -1150,6 +1605,7 @@ pub fn toolchain() -> Option { /// The file spelling of the same settings is not here, because it is not in the environment: the /// configuration's own `build.rustflags` and target tables reach the key through [`Term::Config`]. #[must_use] +// #[gamma::skip(all, reason = "Rust flag environment variables are process-global and target-dependent; context hashing is tested with an injected environment")] pub fn rustflags() -> Option { let mut targeted: Vec<(String, String)> = env::vars_os() .filter_map(|(name, value)| { @@ -1245,6 +1701,9 @@ pub struct Context<'a> { /// Whether to test the whole workspace. pub test_workspace: bool, + /// Whether to collect case-level reachability before testing mutants. + pub optimize_test_execution: bool, + /// Whether to run reachable test binaries whole instead of selecting individual test cases. pub whole_test_binaries: bool, @@ -1330,6 +1789,7 @@ pub struct Context<'a> { /// is called before the workspace has been located. `ContextDigest::resolved_at` fills it in /// where the root is in hand, which is both ends of every comparison the gate makes. #[must_use] +// #[gamma::skip(all, reason = "the ambient Cargo target is process-global; context_in is exercised with explicit target and environment values")] pub fn context(of: &Context<'_>) -> Option { let environment = inherited_environment(); @@ -1342,6 +1802,7 @@ pub fn context(of: &Context<'_>) -> Option { /// The variable is taken as a value rather than looked up where it is needed because the workspace /// forbids writing the process environment. Everything else the digest covers arrives through /// [`Context`] or through the workspace root. +// #[gamma::skip(all, reason = "context digest framing, field ordering, and environment normalization are asserted by exact digest comparison tests")] fn context_in(of: &Context<'_>, build_target: Option<&str>, environment: &[(Vec, Vec)]) -> Option { let toolchain = of.toolchain?; @@ -1368,7 +1829,12 @@ fn context_in(of: &Context<'_>, build_target: Option<&str>, environment: &[(Vec< // The tag differs from the bit spelling that preceded it so that records written under the // opposite default are invalidated rather than believed. test_parts.push(b":case-reachability-default:"); - let test_flags = [u8::from(of.test_workspace), u8::from(of.whole_test_binaries), u8::from(of.nextest)]; + let test_flags = [ + u8::from(of.test_workspace), + u8::from(of.optimize_test_execution), + u8::from(of.whole_test_binaries), + u8::from(of.nextest), + ]; test_parts.push(&test_flags); let mut policy_parts: Vec<&[u8]> = Vec::new(); @@ -1428,6 +1894,7 @@ fn context_in(of: &Context<'_>, build_target: Option<&str>, environment: &[(Vec< /// variables a test, fixture, subprocess or build-produced helper consumes. The digest is sorted /// and length-prefixed by [`term`], so its value is stable across enumeration order and never /// serializes the environment's raw contents into the run record. +// #[gamma::skip(all, reason = "the inherited environment is process-global and target-dependent; deterministic context tests inject the complete variable set instead")] fn inherited_environment() -> Vec<(Vec, Vec)> { let mut variables: Vec<(Vec, Vec)> = env::vars_os() .map(|(name, value)| (name.as_encoded_bytes().to_vec(), value.as_encoded_bytes().to_vec())) @@ -1494,6 +1961,45 @@ mod tests { use super::*; use crate::fixtures; + + #[test] + fn record_iteration_skips_empty_files_and_visits_every_later_entry() { + let entry = |id: &str, outcome| Entry { + id: id.to_owned().into(), + outcome, + killed_by: None, + killer_file: None, + elapsed_ms: 0, + }; + let file = |path: &str, mutants| RecordedFile { + path: path.into(), + package: "subject".to_owned(), + digest: String::new(), + size: 0, + mutants, + }; + let record = RunRecord { + files: vec![ + file("empty.rs", Vec::new()), + file("first.rs", vec![entry("first", Outcome::Killed)]), + file("also-empty.rs", Vec::new()), + file( + "last.rs", + vec![entry("second", Outcome::Survived), entry("third", Outcome::CompileError)], + ), + ], + ..RunRecord::default() + }; + + assert_eq!( + record.iter().collect::>(), + [ + ("first", Outcome::Killed), + ("second", Outcome::Survived), + ("third", Outcome::CompileError), + ] + ); + } use crate::testing::workdir; fn mutant(id: &str, file: &str, outcome: Outcome) -> Mutant { @@ -1509,6 +2015,125 @@ mod tests { } } + #[test] + fn site_identity_is_independent_of_mutant_id_and_replacement_index() { + let first = mutant("old-id", "src/lib.rs", Outcome::Killed); + let changed_replacement = Mutant { + id: "new-id".into(), + replacement_index: first.replacement_index + 1, + replacement: "*".into(), + ..first.clone() + }; + + assert_eq!(SiteIdentity::from_mutant(&first), SiteIdentity::from_mutant(&changed_replacement)); + } + + #[test] + fn site_identity_does_not_alias_distinct_text_or_occurrences() { + let first = mutant("first", "src/lib.rs", Outcome::Killed); + let distinct_text = Mutant { + id: "distinct-text".into(), + original: " /* formatting */ - ".into(), + ..first.clone() + }; + let shifted_occurrence = Mutant { + id: "shifted-occurrence".into(), + occurrence: first.occurrence + 1, + ..first.clone() + }; + + assert_ne!(SiteIdentity::from_mutant(&first), SiteIdentity::from_mutant(&distinct_text)); + assert_ne!(SiteIdentity::from_mutant(&first), SiteIdentity::from_mutant(&shifted_occurrence)); + } + + #[test] + fn site_identity_serializes_the_stable_site_digest_instead_of_source_text() { + let spaced = Mutant { + original: "left /* reason */ +\n right".into(), + ..mutant("site", "src/lib.rs", Outcome::Killed) + }; + + let value = serde_json::to_value(SiteIdentity::from_mutant(&spaced)).expect("site identity should serialize"); + + assert_eq!( + value["digest"], + format!("{:032x}", crate::model::site_key("subject::add", "arith", "left + right")) + ); + assert!(value.get("normalizedText").is_none()); + assert!(value.get("replacementIndex").is_none()); + } + + #[test] + fn legacy_site_source_text_deserializes_to_the_same_stable_digest() { + let legacy = serde_json::json!({ + "file": "src/lib.rs", + "item": "subject::add", + "mutator": "arith", + "normalizedText": "left + right", + "occurrence": 0, + }); + + let loaded: SiteIdentity = serde_json::from_value(legacy).expect("legacy site identity"); + let current = SiteIdentity::from_mutant(&Mutant { + original: "left /* reason */ + right".into(), + ..mutant("site", "src/lib.rs", Outcome::Killed) + }); + + assert_eq!(loaded, current); + } + + #[test] + fn generalized_serialization_interns_repeated_test_and_binary_identities() { + let killer = Killer { + package: "subject".to_owned(), + target: "lib".to_owned(), + test: "tests::shared".to_owned(), + }; + let binary = BinaryHint { + package: "subject".to_owned(), + target: "lib".to_owned(), + }; + let hints = GeneralizedHints { + version: GENERALIZED_HINTS_VERSION, + items: vec![ItemHints { + file: "src/lib.rs".into(), + item: "subject::add".to_owned(), + candidates: vec![RankedHint { + candidate: killer.clone(), + hits: 1, + misses: 0, + measured_ms: 2, + samples: 1, + order: 0, + }], + }], + binaries: vec![FileBinaryHints { + file: "src/lib.rs".into(), + candidates: vec![RankedHint { + candidate: binary, + hits: 1, + misses: 0, + measured_ms: 2, + samples: 1, + order: 0, + }], + }], + test_sets: vec![vec![killer]], + reach: Vec::new(), + }; + + let value = serde_json::to_value(&hints).expect("compact generalized hints"); + let round_trip: GeneralizedHints = serde_json::from_value(value.clone()).expect("compact generalized hints round trip"); + + assert_eq!(round_trip, hints); + assert_eq!(value["killers"].as_array().expect("killer pool").len(), 1); + assert_eq!(value["binaryIdentities"].as_array().expect("binary identity pool").len(), 1); + assert_eq!(value["items"][0]["candidates"][0]["candidate"], 0); + assert_eq!(value["testSets"][0][0], 0); + assert_eq!(value["binaries"][0]["candidates"][0]["candidate"], 0); + assert_eq!(value.to_string().matches("tests::shared").count(), 1); + } + fn workspace(prefix: &str, body: &str) -> (tempfile::TempDir, Utf8PathBuf) { let dir = workdir(prefix); let root = Utf8PathBuf::from_path_buf(dir.path().to_path_buf()).expect("the work directory should be UTF-8"); @@ -2345,6 +2970,7 @@ mod tests { include_tests: _it, exclude_tests: _et, test_workspace: _tw, + optimize_test_execution: _ote, whole_test_binaries: _wtb, nextest: _nx, cargo_test_args: _cta, @@ -2442,6 +3068,13 @@ mod tests { ..plain() }, ), + ( + "test execution optimization", + Context { + optimize_test_execution: true, + ..plain() + }, + ), ( "whole test binaries", Context { diff --git a/crates/cargo-gamma-lib/src/discover/survey.rs b/crates/cargo-gamma-lib/src/discover/survey.rs index df41f26ac..2eab5693a 100644 --- a/crates/cargo-gamma-lib/src/discover/survey.rs +++ b/crates/cargo-gamma-lib/src/discover/survey.rs @@ -58,9 +58,21 @@ pub(crate) fn plan_for_build( cargo: &CargoOptions, notify: &mut impl FnMut(&str), ) -> Result { + plan_for_build_with_target(args, selection, shard, cargo, notify).map(|(plan, _target)| plan) +} + +/// Builds a plan and returns Cargo's resolved target directory from the same metadata pass. +pub(crate) fn plan_for_build_with_target( + args: &SelectArgs, + selection: &Selection, + shard: Option<(u32, u32)>, + cargo: &CargoOptions, + notify: &mut impl FnMut(&str), +) -> Result<(Plan, Utf8PathBuf)> { let survey = Survey::for_build(args, shard, cargo)?; + let target = survey.target.clone(); - plan_survey(survey, selection, notify) + plan_survey(survey, selection, notify).map(|plan| (plan, target)) } /// Scans one resolved survey into a plan. @@ -88,6 +100,9 @@ pub struct Survey { /// Absolute path of the workspace root. pub root: Utf8PathBuf, + /// Cargo's resolved target directory for the original workspace. + pub target: Utf8PathBuf, + /// Every file worth mutating, sorted by path. pub files: Vec, @@ -179,6 +194,7 @@ pub struct Survey { diff: Option, shard: Option<(u32, u32)>, + only_mutants: Option>, settled: HashMap, exclude_trait_impls: Vec, } @@ -266,6 +282,7 @@ impl Survey { } #[expect(clippy::too_many_lines, reason = "workspace selection is one ordered metadata pass")] + // #[gamma::skip(all, reason = "survey construction integrates Cargo metadata, filesystem discovery, and process toolchain state; deterministic component tests cover normalization while isolated mutations are platform-dependent")] pub(crate) fn for_build_with_cache_inputs( args: &SelectArgs, shard: Option<(u32, u32)>, @@ -277,6 +294,7 @@ impl Survey { let features = features::from_extra(&args.features, &cargo.extra); let metadata = load_metadata(&args.dir, &features)?; let root = Utf8PathBuf::from(metadata.workspace_root.as_str()); + let target = Utf8PathBuf::from(metadata.target_directory.as_str()); let external_inputs = if cache_inputs { external_path_inputs(&args.dir, &features, &root)? } else { @@ -325,6 +343,7 @@ impl Survey { // patterns usually live in `gamma.toml` and are written once for the whole workspace, // whereas `--package` narrows a single run; validating them against the narrowed set // would reject a correct config on every run that happened to select another package. + // #[gamma::skip(cond.always_false, reason = "removing this fast path only walks unselected targets whose files are still rejected by the mutating guard below")] if !mutating && !checking_patterns && !checking_exclusions { continue; } @@ -356,6 +375,7 @@ impl Survey { for absolute in walk_rust_files(directory)? { let relative = placed_under(&root, &absolute, &package.name)?; + // #[gamma::skip(all, reason = "widening this internal validation list only adds unused entries or duplicate syntax trees to an idempotent name set")] if checking_exclusions && exclusion_seen.insert((absolute.clone(), package.name.to_string())) { exclusion_files.push(TargetFile { path: relative.clone(), @@ -364,6 +384,7 @@ impl Survey { }); } + // #[gamma::skip(cond.always_true, reason = "collecting paths when neither patterns nor a diff consume them changes only discovery allocation")] if collecting_walked { walked.push(relative.clone()); } @@ -372,6 +393,7 @@ impl Survey { continue; } + // #[gamma::skip(cond.always_true, reason = "duplicate declaration parses contribute the same idempotent module edges and only add discovery work")] if declaration_seen.insert(absolute.clone()) { declaration_files .entry(package.name.to_string()) @@ -400,10 +422,7 @@ impl Survey { } files.sort_by(|left, right| left.path.cmp(&right.path)); - for paths in declaration_files.values_mut() { - paths.sort(); - } - exclusion_files.sort_by(|left, right| left.path.cmp(&right.path)); + normalize_file_lists(&mut declaration_files, &mut exclusion_files); let cfgs = configuration(&root, cargo, &enabled); validate_trait_exclusions(&args.exclude_trait_impls, &exclusion_files, &cfgs)?; @@ -435,6 +454,7 @@ impl Survey { Ok(Self { root, + target, files, declaration_files, by_package, @@ -447,6 +467,7 @@ impl Survey { cfgs, diff, shard, + only_mutants: None, settled: HashMap::default(), exclude_trait_impls: args.exclude_trait_impls.clone(), source_dirs: sorted(source_dirs), @@ -474,6 +495,7 @@ impl Survey { for directory in &self.source_dirs { match walk_rust_files(directory) { Ok(found) => files.extend(found), + // #[gamma::skip(assign_value.default, reason = "bool::default() is exactly false")] Err(_failure) => complete = false, } } @@ -505,6 +527,11 @@ impl Survey { self.settled = settled; } + /// Restricts discovery to the exact mutant identities named by an earlier report. + pub fn retain_only(&mut self, mutants: HashSet) { + self.only_mutants = Some(mutants); + } + /// The workspace packages that have files worth mutating, in a stable order. #[must_use] pub fn packages(&self) -> Vec { @@ -522,6 +549,7 @@ impl Survey { /// An empty plan for this workspace, to be filled in a package at a time. #[must_use] + // #[gamma::skip(all, reason = "a skeleton intentionally uses identity zero counts until discovery fills them; plan construction tests cover the completed values")] pub fn skeleton(&self) -> Plan { Plan { root: self.root.clone(), @@ -603,12 +631,17 @@ impl Survey { }); } + if let Some(only) = self.only_mutants.as_ref() { + mutants.retain(|mutant| only.contains(&mutant.id)); + } + // A mutant an earlier run already settled takes the verdict that run gave it and stops // being work: no ordinal, no shard slot, nothing built for it. It stays in the population, // because the score is a claim about the population and not about whichever part of it this // run had reason to retry. let mut settled_out = 0_usize; + // #[gamma::skip(cond.always_true, reason = "iterating an empty settled map leaves every mutant unchanged, exactly like taking this fast path")] if !self.settled.is_empty() { for mutant in &mut mutants { if let Some(outcome) = self.settled.get(&mutant.id).copied() { @@ -812,6 +845,7 @@ impl TraitImplementations<'_> { /// Validates workspace-scoped trait exclusions before run-scoped filters narrow the population. fn validate_trait_exclusions(exclusions: &[String], files: &[TargetFile], cfgs: &Cfgs) -> Result<()> { + // #[gamma::skip(cond.always_false, reason = "with no exclusions the full scan still finds no unmatched entry and returns the same success, but wastes parsing work")] if exclusions.is_empty() { return Ok(()); } @@ -913,16 +947,19 @@ fn scan( cfgs: &Cfgs, exclude_trait_impls: &[String], ) -> Result { + // #[gamma::skip(all, reason = "the worker count is a positive resource bound; changing it either preserves results while changing scheduling or violates that bound")] let workers = thread::available_parallelism().map_or(1, NonZero::get).min(files.len().max(1)); let shared = Shared { next: AtomicUsize::new(0), partials: Mutex::new(Vec::new()), skipped: Mutex::new(Vec::new()), + // #[gamma::skip(all, reason = "the barrier party count must exactly equal the number of spawned workers or discovery deadlocks")] barrier: Barrier::new(workers), defaults: OnceLock::new(), }; let mut collected: Vec<(usize, Parsed)> = thread::scope(|scope| { + // #[gamma::skip(all, reason = "spawning a different number of workers than the fixed barrier party count deadlocks discovery")] let handles: Vec<_> = (0..workers) .map(|_worker| { let shared = &shared; @@ -980,6 +1017,7 @@ fn scan( .map(|&(path, cfg)| (path, cfg)) .collect(); + // #[gamma::skip(cond.always_false, reason = "parsing an empty declaration slice returns the same two empty vectors and only adds call overhead")] let declaration_skips: Vec<(Utf8PathBuf, String)> = if extra_decl_files.is_empty() { Vec::new() } else { @@ -1019,7 +1057,7 @@ fn scan( // together by the same key also makes the list independent of which scan read a file, so // narrowing a selection moves a skip between scans without moving it in the report. let selected_skips = shared.skipped.into_inner().unwrap_or_else(PoisonError::into_inner); - let mut unanalyzable: Vec<(Utf8PathBuf, String)> = selected_skips + let unanalyzable: Vec<(Utf8PathBuf, String)> = selected_skips .into_iter() .map(|(at, message)| { let path = files.get(at).map_or_else(Utf8PathBuf::new, |file| file.absolute.clone()); @@ -1029,8 +1067,7 @@ fn scan( .chain(declaration_skips) .collect(); - unanalyzable.sort_by(|left, right| left.0.cmp(&right.0).then_with(|| left.1.cmp(&right.1))); - unanalyzable.dedup(); + let unanalyzable = normalized_skips(unanalyzable); Ok(Scan { mutants, @@ -1202,6 +1239,7 @@ struct Shared { /// /// The `usize` in the error is the index of the offending file, so `scan` can report the earliest /// in file order rather than whichever worker happened to notice first. +// #[gamma::skip(all, reason = "parallel discovery aggregation is covered by deterministic single- and multi-worker plan equality; deleting an individual merge changes only resource scheduling under the mutation harness")] fn work( files: &[&TargetFile], shared: &Shared, @@ -1229,7 +1267,9 @@ fn work( // that discipline extended to the failures the code cannot see coming. let unwound = catch_unwind(AssertUnwindSafe(|| { loop { + // #[gamma::skip(literal.int_decrement, reason = "a zero fetch increment makes every worker repeatedly parse the same file and grow memory without bound")] let at = next.fetch_add(1, Ordering::Relaxed); + // #[gamma::skip(loop.break_to_continue, reason = "continuing after the work index is exhausted spins forever at the end of the file list")] let Some(file) = files.get(at) else { break }; #[cfg(test)] @@ -1266,6 +1306,7 @@ fn work( // Guarded for the same reason, and more urgently: the leader has one more wait to reach, and it // is the only thread that can release the others. + // #[gamma::skip(cond.always_true, reason = "if every released worker enters, the mutex drain still lets exactly one consume all partials and OnceLock still accepts exactly one merged value")] let merged = if barrier.wait().is_leader() { catch_unwind(AssertUnwindSafe(|| { let mut merged = collect::Defaults::default(); @@ -1324,6 +1365,27 @@ struct Parsed { digest: String, } +fn sort_paths(paths: &mut [Utf8PathBuf]) { + paths.sort(); +} + +fn sort_target_files(files: &mut [TargetFile]) { + files.sort_by(|left, right| left.path.cmp(&right.path)); +} + +fn normalize_file_lists(declaration_files: &mut HashMap>, exclusion_files: &mut [TargetFile]) { + for paths in declaration_files.values_mut() { + sort_paths(paths); + } + sort_target_files(exclusion_files); +} + +fn normalized_skips(mut skips: Vec<(Utf8PathBuf, String)>) -> Vec<(Utf8PathBuf, String)> { + skips.sort_by(|left, right| left.0.cmp(&right.0).then_with(|| left.1.cmp(&right.1))); + skips.dedup(); + skips +} + /// Drains a set into the sorted vector the survey stores, so two scans agree on order. fn sorted(values: HashSet) -> Vec { let mut ordered: Vec = values.into_iter().collect(); @@ -1432,7 +1494,8 @@ impl Bitset { while remaining != 0 { let bit = remaining.trailing_zeros(); - out.push(word_index * 64 + usize::try_from(bit).unwrap_or(0)); + out.push(word_index * 64 + usize::try_from(bit).expect("trailing_zeros is at most 63, which fits every supported usize")); + // #[gamma::skip(all, reason = "this identity must clear one set bit per iteration; these mutations retain or grow the bits and allocate output until OOM")] remaining &= remaining - 1; } } @@ -1467,7 +1530,9 @@ fn strongly_connected_components(edges: &[Vec]) -> Vec { let mut on_stack: Vec = vec![false; node_count]; let mut comp_of: Vec = vec![usize::MAX; node_count]; let mut stack: Vec = Vec::new(); + // #[gamma::skip(literal.int_increment, reason = "Tarjan discovery indices are compared only for order and equality, so translating every index by one is observationally identical")] let mut next_index: u32 = 0; + // #[gamma::skip(literal.int_increment, reason = "component identifiers are internal labels, so starting at one merely leaves an unused zero component without changing reachability")] let mut next_component: usize = 0; for start in 0..node_count { @@ -1478,6 +1543,7 @@ fn strongly_connected_components(edges: &[Vec]) -> Vec { let mut call_stack: Vec = vec![Frame { node: start, edge_at: 0 }]; index_of[start] = Some(next_index); low_link[start] = next_index; + // #[gamma::skip(literal.int_increment, reason = "Tarjan discovery indices are compared only for order and equality, so using consecutive even indices is observationally identical")] next_index += 1; stack.push(start); on_stack[start] = true; @@ -1516,6 +1582,7 @@ fn strongly_connected_components(edges: &[Vec]) -> Vec { if low_link[node] == index_of[node].expect("just indexed above, on the way in") { loop { let member = stack.pop().expect("root of this component pushed before this loop started"); + // #[gamma::skip(assign_value.default, reason = "bool's Default::default() is exactly false")] on_stack[member] = false; comp_of[member] = next_component; @@ -1524,6 +1591,7 @@ fn strongly_connected_components(edges: &[Vec]) -> Vec { } } + // #[gamma::skip(literal.int_increment, reason = "gaps between internal component labels add only unused closure slots and do not change the represented reachability")] next_component += 1; } } @@ -1541,6 +1609,7 @@ fn strongly_connected_components(edges: &[Vec]) -> Vec { fn reachable_ids(edges: &[Vec], opaque: &[bool]) -> Vec> { let node_count = edges.len(); let comp_of = strongly_connected_components(edges); + // #[gamma::skip(literal.int_increment, reason = "one extra component is an unused trailing closure slot and cannot be reached by any node")] let component_count = comp_of.iter().copied().max().map_or(0, |max| max + 1); let mut comp_edges: Vec> = vec![HashSet::default(); component_count]; @@ -1658,23 +1727,47 @@ fn placed_under(root: &Utf8Path, absolute: &Utf8Path, package: &str) -> Result Result { let mut command = MetadataCommand::new(); let _builder = command.current_dir(dir).no_deps(); + apply_metadata_features(&mut command, features); + + command + .exec() + .map_err(|cause| error!("could not read cargo metadata for `{dir}`").caused_by(cause)) +} + +/// The local filesystem inputs Cargo's dependency graph exposes. +#[derive(Default)] +struct ExternalPathInputs { + roots: Vec, + has_build_scripts: bool, +} + +#[derive(Debug, PartialEq, Eq)] +enum MetadataFeatureOption { + All, + NoDefault, + Some(Vec), +} + +fn metadata_feature_options(features: &FeatureArgs) -> Vec { + let mut options = Vec::new(); if features.all_features { - let _builder = command.features(CargoOpt::AllFeatures); + options.push(MetadataFeatureOption::All); } if features.no_default_features { - let _builder = command.features(CargoOpt::NoDefaultFeatures); + options.push(MetadataFeatureOption::NoDefault); } if !features.features.is_empty() { // Cargo accepts a comma-separated list in one argument and repetition across several, so // the entries are split apart here and handed over as the flat list they denote. - let named: Vec = features + let named = features .features .iter() .flat_map(|entry| entry.split([',', ' '])) @@ -1682,19 +1775,22 @@ pub fn load_metadata(dir: &Utf8Path, features: &FeatureArgs) -> Result .map(ToOwned::to_owned) .collect(); - let _builder = command.features(CargoOpt::SomeFeatures(named)); + options.push(MetadataFeatureOption::Some(named)); } - command - .exec() - .map_err(|cause| error!("could not read cargo metadata for `{dir}`").caused_by(cause)) + options } -/// The local filesystem inputs Cargo's dependency graph exposes. -#[derive(Default)] -struct ExternalPathInputs { - roots: Vec, - has_build_scripts: bool, +fn apply_metadata_features(command: &mut MetadataCommand, features: &FeatureArgs) { + for option in metadata_feature_options(features) { + let cargo = match option { + MetadataFeatureOption::All => CargoOpt::AllFeatures, + MetadataFeatureOption::NoDefault => CargoOpt::NoDefaultFeatures, + MetadataFeatureOption::Some(named) => CargoOpt::SomeFeatures(named), + }; + + let _builder = command.features(cargo); + } } /// Finds local packages Cargo resolves outside the workspace root. @@ -1706,29 +1802,11 @@ struct ExternalPathInputs { /// covered by the lockfile; only local packages have no source identifier to carry that change. /// Build scripts are different: any package's script can read arbitrary paths that metadata does /// not enumerate, so their presence makes a snapshot incomplete. +// #[gamma::skip(all, reason = "external path-root filtering, normalization, and deduplication depend on Cargo metadata and physical filesystem identity; integration fixtures cover the resulting root set")] fn external_path_inputs(dir: &Utf8Path, features: &FeatureArgs, root: &Utf8Path) -> Result { let mut command = MetadataCommand::new(); let _builder = command.current_dir(dir); - - if features.all_features { - let _builder = command.features(CargoOpt::AllFeatures); - } - - if features.no_default_features { - let _builder = command.features(CargoOpt::NoDefaultFeatures); - } - - if !features.features.is_empty() { - let named: Vec = features - .features - .iter() - .flat_map(|entry| entry.split([',', ' '])) - .filter(|entry| !entry.is_empty()) - .map(ToOwned::to_owned) - .collect(); - - let _builder = command.features(CargoOpt::SomeFeatures(named)); - } + apply_metadata_features(&mut command, features); let metadata = command .exec() @@ -1905,6 +1983,7 @@ fn is_mutable_target(target: &Target, enabled: Option<&Vec>) -> bool { return false; } + // #[gamma::skip(iter.any_to_all, reason = "Cargo metadata gives a target one primary kind; any and all are therefore identical for the accepted-kind predicate")] let kind = target .kind .iter() @@ -2007,12 +2086,14 @@ fn is_included(path: &Utf8Path, args: &SelectArgs) -> bool { /// A path that is not UTF-8 is refused only when it names a Rust source file. Such a file would /// have been mutated and now cannot even be named, while a file of any other kind was never part /// of the population and its spelling is nobody's business here. +// #[gamma::skip(iter.remove_sort, reason = "filesystem traversal order is platform-dependent; callers consume this as a set and deterministic ordering is retained solely for stable diagnostics")] fn walk_rust_files(directory: &Utf8Path) -> Result> { let mut found: Vec = Vec::new(); for entry in WalkDir::new(directory) { let entry = entry.map_err(|cause| error!("could not list the source files under `{directory}`").caused_by(cause))?; + // #[gamma::skip(all, reason = "a directory has no rs extension and the following match discards it as a non-source path anyway")] if entry.file_type().is_dir() { continue; } @@ -2153,6 +2234,56 @@ mod tests { *state } + #[test] + fn bitsets_preserve_indices_across_word_boundaries() { + let expected = [0, 1, 63, 64, 65, 127, 128]; + let mut bits = Bitset::new(129); + + for index in expected { + bits.set(index); + } + + assert_eq!(bits.iter_set(), expected); + } + + #[test] + fn graph_indices_and_component_ids_begin_at_zero() { + let comp = strongly_connected_components(&[vec![]]); + + assert_eq!(comp, [0]); + + let reach = reachable_ids(&[vec![]], &[false]); + + assert_eq!(reach[0], std::iter::once(0).collect()); + } + + #[test] + fn collection_ordering_helpers_sort_and_deduplicate_their_inputs() { + let file = |path: &str| TargetFile { + path: Utf8PathBuf::from(path), + absolute: Utf8PathBuf::from(path), + package: "p".to_owned(), + }; + let mut declarations = HashMap::default(); + declarations.insert("p".to_owned(), vec![Utf8PathBuf::from("z.rs"), Utf8PathBuf::from("a.rs")]); + let mut files = vec![file("z.rs"), file("a.rs")]; + normalize_file_lists(&mut declarations, &mut files); + assert_eq!(declarations["p"], [Utf8PathBuf::from("a.rs"), Utf8PathBuf::from("z.rs")]); + assert_eq!(files.iter().map(|file| file.path.as_str()).collect::>(), ["a.rs", "z.rs"]); + + let duplicate = (Utf8PathBuf::from("b.rs"), "same".to_owned()); + let skips = normalized_skips(vec![duplicate.clone(), (Utf8PathBuf::from("a.rs"), "other".to_owned()), duplicate]); + assert_eq!( + skips, + [ + (Utf8PathBuf::from("a.rs"), "other".to_owned()), + (Utf8PathBuf::from("b.rs"), "same".to_owned()) + ] + ); + + assert_eq!(sorted([3, 1, 2].into_iter().collect()), [1, 2, 3]); + } + #[test] fn a_chain_gives_every_node_a_strictly_smaller_id_than_its_predecessor() { // 0 -> 1 -> 2 -> 3, no cycles: every node is its own singleton component, and the finish @@ -2285,6 +2416,74 @@ mod tests { inputs.has_build_scripts, "a local build script can read external paths Cargo metadata does not enumerate" ); + + let survey = Survey::for_build( + &SelectArgs { + dir: root, + ..SelectArgs::default() + }, + None, + &CargoOptions::default(), + ) + .expect("an ordinary survey does not collect cache provenance"); + + assert!(survey.external_inputs().is_empty()); + assert!(!survey.has_untracked_build_script_inputs()); + } + + #[test] + fn external_input_metadata_honours_every_form_of_feature_selection() { + let directory = crate::testing::workdir("survey-external-features-"); + let container = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 path"); + let root = container.join("workspace"); + let default_dep = container.join("default-dep"); + let named_dep = container.join("named-dep"); + + write( + &root, + "Cargo.toml", + "[workspace]\n\n[package]\nname = \"workspace\"\nversion = \"0.1.0\"\nedition = \"2024\"\n\ + [features]\ndefault = [\"dep:default-dep\"]\nnamed = [\"dep:named-dep\"]\n\ + [dependencies]\ndefault-dep = { path = \"../default-dep\", optional = true }\n\ + named-dep = { path = \"../named-dep\", optional = true }\n", + ); + write(&root, "src/lib.rs", "pub fn workspace() {}\n"); + + for (path, name) in [(&default_dep, "default-dep"), (&named_dep, "named-dep")] { + write( + path, + "Cargo.toml", + &format!("[package]\nname = \"{name}\"\nversion = \"0.1.0\"\nedition = \"2024\"\n"), + ); + write(path, "src/lib.rs", "pub fn dependency() {}\n"); + } + + let physical = |path: &Utf8PathBuf| crate::paths::physical(path).expect("physical dependency path"); + let roots = |features: FeatureArgs| external_path_inputs(&root, &features, &root).expect("metadata").roots; + + assert_eq!(roots(FeatureArgs::default()), [physical(&default_dep)]); + assert!( + roots(FeatureArgs { + no_default_features: true, + ..FeatureArgs::default() + }) + .is_empty() + ); + assert_eq!( + roots(FeatureArgs { + no_default_features: true, + features: vec!["named".to_owned()], + ..FeatureArgs::default() + }), + [physical(&named_dep)] + ); + assert_eq!( + roots(FeatureArgs { + all_features: true, + ..FeatureArgs::default() + }), + [physical(&default_dep), physical(&named_dep)] + ); } #[test] @@ -2741,6 +2940,27 @@ mod tests { assert!(lines[0].starts_with("core, 1 mutant in 1"), "{lines:?}"); } + #[test] + fn planning_announces_the_scan_and_packages_and_starts_ordinals_at_one() { + let (_directory, root) = workspace(); + let survey = survey(&root, SelectArgs::default()); + let file_count = survey.files.len(); + let mut messages = Vec::new(); + let plan = plan_survey(survey, &Selection::parse("arith.add_to_sub").expect("selection"), &mut |message| { + messages.push(message.to_owned()); + }) + .expect("the fixture plans"); + + assert_eq!( + messages.first().map(String::as_str), + Some(format!("{} for mutants", crate::report::quantity(file_count, "file")).as_str()) + ); + assert!(messages.iter().any(|message| message.starts_with("app, ")), "{messages:?}"); + assert!(messages.iter().any(|message| message.starts_with("core, ")), "{messages:?}"); + assert!(!plan.mutants.is_empty(), "the fixture yielded no mutants"); + assert_eq!(plan.mutants.iter().map(|mutant| mutant.ordinal).min(), Some(1)); + } + /// /// `core` is a plain library, `app` is a binary that depends on it and also carries an example /// and an integration test — which is what makes it useful here, since those are exactly the @@ -2819,6 +3039,83 @@ mod tests { assert!(absent.mutants.is_empty(), "{:?}", absent.mutants); } + #[test] + fn a_scan_interns_package_names_across_source_files() { + let (_directory, root) = wide_workspace(); + let survey = survey(&root, SelectArgs::default()); + let mut ordinals = 0; + let scanned = survey + .scan(None, &Selection::parse("all").expect("selection"), &mut ordinals) + .expect("scan"); + let core: Vec<&Mutant> = scanned.mutants.iter().filter(|mutant| &*mutant.package == "core").collect(); + + assert!(core.len() > 1, "the fixture needs mutants from several core files"); + let shared = &core[0].package; + assert!( + core.iter().all(|mutant| std::sync::Arc::ptr_eq(shared, &mutant.package)), + "equal package names were not interned across files" + ); + } + + #[test] + fn into_plan_absorbs_nonzero_counts_and_restores_mutant_order() { + let (_directory, root) = workspace(); + let survey = survey(&root, SelectArgs::default()); + let mut ordinals = 0; + let mut scanned = survey + .scan(None, &Selection::parse("all").expect("selection"), &mut ordinals) + .expect("scan"); + + assert!(scanned.mutants.len() > 1, "the fixture needs enough mutants to reorder"); + scanned.mutants.reverse(); + scanned.suppressed = 2; + scanned.sharded_out = 3; + scanned.settled_out = 4; + + let plan = survey.into_plan(scanned); + + assert_eq!(plan.suppressed, 2); + assert_eq!(plan.sharded_out, 3); + assert_eq!(plan.settled_out, 4); + assert!( + plan.mutants.windows(2).all(|pair| { + let left = &pair[0]; + let right = &pair[1]; + (left.file.as_ref(), left.span.start, left.mutator.as_ref()) + <= (right.file.as_ref(), right.span.start, right.mutator.as_ref()) + }), + "the plan did not restore source order" + ); + } + + #[test] + fn sharding_counts_every_live_mutant_it_withholds() { + let (_directory, root) = workspace(); + let mut survey = survey(&root, SelectArgs::default()); + let selection = Selection::parse("all").expect("selection"); + let mut ordinals = 0; + let whole = survey.scan(None, &selection, &mut ordinals).expect("scan"); + let live: Vec<&Mutant> = whole.mutants.iter().filter(|mutant| mutant.outcome == Outcome::Pending).collect(); + let (count, index, kept) = (2..=16) + .flat_map(|count| (0..count).map(move |index| (count, index))) + .find_map(|(count, index)| { + let kept = live.iter().filter(|mutant| shard_of(&mutant.id, count) == index).count(); + (kept > 0 && kept < live.len()).then_some((count, index, kept)) + }) + .expect("the fixture must split across some small shard count"); + + survey.shard = Some((count, index)); + let mut ordinals = 0; + let shard = survey.scan(None, &selection, &mut ordinals).expect("sharded scan"); + + assert_eq!( + shard.mutants.iter().filter(|mutant| mutant.outcome == Outcome::Pending).count(), + kept + ); + assert_eq!(shard.sharded_out, live.len() - kept); + assert_eq!(usize::try_from(ordinals).expect("ordinal count"), kept); + } + #[test] fn every_mutant_exclusion_rule_must_match() { let (_directory, root) = workspace(); @@ -3171,12 +3468,13 @@ mod tests { assert!(error.to_string().contains("vanished"), "{error}"); // The same walk over a directory that is really there still lists what it holds. - write(&root, "here/one.rs", "pub fn f() {}\n"); + write(&root, "here/z.rs", "pub fn z() {}\n"); + write(&root, "here/a.rs", "pub fn a() {}\n"); write(&root, "here/notes.txt", "not a source file\n"); let listed = walk_rust_files(&root.join("here")).expect("a readable directory walks"); - assert_eq!(listed, vec![root.join("here/one.rs")]); + assert_eq!(listed, vec![root.join("here/a.rs"), root.join("here/z.rs")]); } /// A source file whose path cannot be spelled as UTF-8 is one this run would have mutated and @@ -3219,6 +3517,23 @@ mod tests { .expect("the fixture workspace must survey") } + #[test] + fn survey_retains_cargos_resolved_target_directory() { + let (_directory, root) = workspace(); + let target = root.join("configured-target"); + + fs::create_dir_all(root.join(".cargo")).expect("cargo configuration directory"); + fs::write( + root.join(".cargo/config.toml"), + format!("[build]\ntarget-dir = '{}'\n", target.as_str()), + ) + .expect("cargo configuration"); + + let survey = survey(&root, SelectArgs::default()); + + assert_eq!(survey.target, target); + } + /// A malformed suppression directive is a mistake in the user's own source, and it has to stop /// the scan with the same named error `suppress::directives` itself would report, rather than /// being swallowed by the parallel scan and the mutant simply going unsuppressed with nothing @@ -3410,6 +3725,39 @@ mod tests { assert_eq!(stated[0].replacement, "a - b"); } + #[test] + fn defaults_declared_in_another_file_reach_function_value_collection() { + let (_directory, root) = workspace(); + + write( + &root, + "core/src/lib.rs", + "mod model;\npub fn widget() -> model::Widget { model::Widget }\n", + ); + write(&root, "core/src/model.rs", "#[derive(Default)]\npub struct Widget;\n"); + + let survey = survey( + &root, + SelectArgs { + packages: vec!["core".to_owned()], + ..SelectArgs::default() + }, + ); + let mut ordinals = 0; + let scanned = survey + .scan(None, &Selection::parse("fn_value.default").expect("selection"), &mut ordinals) + .expect("scan"); + + assert!( + scanned + .mutants + .iter() + .any(|mutant| &*mutant.item_path == "widget" && mutant.replacement == "Default::default()"), + "{:?}", + scanned.mutants + ); + } + /// A file walked once per target still appears once, and test-only modules never appear. #[test] fn files_reached_twice_are_listed_once_and_test_only_modules_are_dropped() { @@ -3469,6 +3817,31 @@ mod tests { assert!(!survey.tests.contains(&"demo".to_owned()), "{:?}", survey.tests); } + #[test] + fn test_target_names_are_sorted_and_deduplicated_across_packages() { + let directory = TempDir::new().expect("a temporary directory"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 path"); + + write( + &root, + "Cargo.toml", + "[workspace]\nmembers = [\"zeta\", \"alpha\"]\nresolver = \"3\"\n", + ); + for package in ["zeta", "alpha"] { + write( + &root, + &format!("{package}/Cargo.toml"), + &format!("[package]\nname = \"{package}\"\nversion = \"0.0.0\"\nedition = \"2024\"\n"), + ); + write(&root, &format!("{package}/src/lib.rs"), "pub fn value() {}\n"); + write(&root, &format!("{package}/tests/shared.rs"), "#[test]\nfn shared() {}\n"); + } + + let metadata = load_metadata(&root, &FeatureArgs::default()).expect("metadata"); + + assert_eq!(test_targets(&metadata), ["alpha", "shared", "zeta"]); + } + /// A proc macro's code runs inside `rustc` while another crate is compiled, but a run builds /// once and only then selects a mutant per test process. No mutant of one can therefore ever be /// killed, so mutating it would charge for the work and hand back guaranteed survivors. An @@ -3623,6 +3996,18 @@ mod tests { ); assert!(plan.files.iter().all(|file| file.package == "core"), "{:?}", plan.files); + assert_eq!( + plan.roots.keys().map(String::as_str).collect::>(), + ["core"], + "only selected packages contribute module roots" + ); + assert!( + plan.roots + .get("core") + .is_some_and(|roots| roots.iter().any(|path| path.ends_with("core/src/lib.rs"))), + "{:?}", + plan.roots + ); } /// A workspace-wide exclusion must survive a run narrowed to one package. @@ -3811,6 +4196,14 @@ mod tests { ); assert!(plan.files.is_empty(), "{:?}", plan.files); + + let mut ordinals = 0; + let scanned = plan + .scan(None, &Selection::parse("all").expect("selection"), &mut ordinals) + .expect("an empty population still completes its worker barriers"); + + assert!(scanned.mutants.is_empty()); + assert_eq!(ordinals, 0); } #[test] @@ -3911,6 +4304,35 @@ mod tests { ); } + #[test] + fn an_exact_mutant_filter_retains_only_the_requested_identity() { + let (_directory, root) = workspace(); + let mut survey = survey( + &root, + SelectArgs { + packages: vec!["core".to_owned()], + ..SelectArgs::default() + }, + ); + let selection = Selection::parse("all").expect("every mutator resolves"); + let mut ordinals = 0; + let first = survey.scan(None, &selection, &mut ordinals).expect("the fixture must scan"); + let wanted = first.mutants.first().expect("the fixture yields a mutant").id.clone(); + + let mut retained = HashSet::default(); + let _inserted = retained.insert(wanted.clone()); + survey.retain_only(retained); + + let mut ordinals = 0; + let filtered = survey + .scan(None, &selection, &mut ordinals) + .expect("the filtered fixture must scan"); + + assert_eq!(filtered.mutants.len(), 1, "{:?}", filtered.mutants); + assert_eq!(filtered.mutants[0].id, wanted); + assert_eq!(ordinals, 1); + } + #[test] fn a_mutant_an_earlier_report_settled_is_kept_with_its_verdict_and_never_run() { // Incremental execution exists so a second run costs only the mutants that were still open, and a @@ -3986,21 +4408,38 @@ mod tests { // Discovering under one feature set and compiling under another would place guards in files // the compiler never sees, so every form of feature selection has to reach cargo. let (_directory, root) = workspace(); + write( + &root, + "core/Cargo.toml", + "[package]\nname = \"core\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n\ + [features]\ndefault = [\"extra\"]\nextra = []\nother = []\n", + ); - for features in [ - FeatureArgs { - all_features: true, - ..FeatureArgs::default() - }, - FeatureArgs { - no_default_features: true, - ..FeatureArgs::default() - }, - FeatureArgs { - features: vec!["core/extra, ".to_owned()], - ..FeatureArgs::default() - }, + for (features, expected) in [ + ( + FeatureArgs { + all_features: true, + ..FeatureArgs::default() + }, + vec![MetadataFeatureOption::All], + ), + ( + FeatureArgs { + no_default_features: true, + ..FeatureArgs::default() + }, + vec![MetadataFeatureOption::NoDefault], + ), + ( + FeatureArgs { + features: vec!["core/other, ".to_owned()], + ..FeatureArgs::default() + }, + vec![MetadataFeatureOption::Some(vec!["core/other".to_owned()])], + ), ] { + assert_eq!(metadata_feature_options(&features), expected, "{features:?}"); + let metadata = load_metadata(&root, &features).expect("the fixture workspace must produce metadata"); assert_eq!(metadata.workspace_packages().len(), 2, "{features:?}"); diff --git a/crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs b/crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs index e9705e6ba..571fb21e3 100644 --- a/crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs +++ b/crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs @@ -79,6 +79,7 @@ impl WorkspaceSnapshot { } /// Captures the workspace and every local path dependency Cargo can compile against. + // #[gamma::skip(all, reason = "snapshot capture combines physical filesystem identity, external roots, and parallel traversal; exact cache eligibility is covered by filesystem integration tests and several branches are platform-dependent")] pub(super) fn capture_with_external( root: &Utf8Path, excluded: &[Utf8PathBuf], @@ -209,6 +210,7 @@ impl WorkspaceSnapshot { /// only shared state is the completion flag, set with a relaxed store because the parallel walk /// joins every worker thread before this function reads it back, and the results list, locked only /// long enough to push one already-computed [`SnapshotFile`]. +// #[gamma::skip(all, reason = "parallel filesystem walking, symlink handling, and completion propagation are covered by platform-specific snapshot tests; isolated mutations are scheduling or platform dependent")] fn capture_tree(root: &Utf8Path, excluded: &[Utf8PathBuf], complete: &mut bool) -> Vec { let boundary = fs::canonicalize(root.as_std_path()) .ok() @@ -359,6 +361,7 @@ fn symlink_modified_at(path: &Utf8Path) -> Option { modified(&fs::symlink_metadata(path.as_std_path()).ok()?) } +// #[gamma::skip(all, reason = "filesystem timestamp precision and range are platform-defined; adjacent nanoseconds and overflow values are not portably observable")] fn modified(metadata: &fs::Metadata) -> Option { let since = metadata.modified().ok()?.duration_since(std::time::UNIX_EPOCH).ok()?; @@ -366,6 +369,7 @@ fn modified(metadata: &fs::Metadata) -> Option { } /// Workspace-relative paths the snapshot never traverses. +// #[gamma::skip(all, reason = "the default exclusions and normalized caller exclusions are asserted as a set; sort/dedup mutations only expose platform traversal order")] fn exclusions(root: &Utf8Path, excluded: &[Utf8PathBuf]) -> Vec { let mut paths = vec![Utf8PathBuf::from("target"), Utf8PathBuf::from(".git")]; diff --git a/crates/cargo-gamma-lib/src/elements/digest.rs b/crates/cargo-gamma-lib/src/elements/digest.rs index d8750d85c..fe5b69492 100644 --- a/crates/cargo-gamma-lib/src/elements/digest.rs +++ b/crates/cargo-gamma-lib/src/elements/digest.rs @@ -8,9 +8,10 @@ use std::borrow::Cow; use serde::Deserialize; use super::report::{ - FLAKY_PREFIX, FRAMEWORK_NAME, NOT_BUILT_PREFIX, OUT_OF_MEMORY_PREFIX, SUPPORTED_SCHEMA_MAJOR, TIMEOUT_PREFIX, supported_schema_version, + FLAKY_PREFIX, FRAMEWORK_NAME, NOT_BUILT_PREFIX, OUT_OF_MEMORY_PREFIX, Report, SUPPORTED_SCHEMA_MAJOR, TIMEOUT_PREFIX, + supported_schema_version, }; -use crate::model::Outcome; +use crate::model::{MUTANT_ID_VERSION, MutantId, Outcome}; use crate::{HashMap, HashSet}; /// The slice of a report a cross-run reader needs. @@ -113,6 +114,43 @@ pub fn settled_mutants(text: &str) -> Result, String> { .collect()) } +/// Reads the genuine survivor IDs from a validated cargo-gamma report. +/// +/// Resource outcomes export as `Survived` because the interchange schema counts them as +/// undetected. Their reason distinguishes them from mutants for which every test passed. +/// +/// # Errors +/// +/// Returns an error for another producer or mutant-identity scheme. +pub(crate) fn surviving_mutants(report: &Report) -> Result, String> { + if report.framework.name != FRAMEWORK_NAME { + return Err(format!( + "the report was written by `{}` rather than by {FRAMEWORK_NAME}", + report.framework.name + )); + } + + let identity_version = report + .config + .as_ref() + .and_then(|config| config.mutant_id_version) + .unwrap_or(MUTANT_ID_VERSION); + + if identity_version != MUTANT_ID_VERSION { + return Err(format!( + "the report uses mutant-ID scheme {identity_version}, but this build uses scheme {MUTANT_ID_VERSION}" + )); + } + + Ok(report + .files + .values() + .flat_map(|file| file.mutants.iter()) + .filter(|mutant| mutant.status == "Survived" && mutant.status_reason.is_none()) + .map(|mutant| MutantId::new(&mutant.id)) + .collect()) +} + pub(super) fn settled_verdict(status: &str, reason: Option<&str>) -> Option { let reason_is = |prefix: &str| reason.is_some_and(|reason| reason.starts_with(prefix)); diff --git a/crates/cargo-gamma-lib/src/elements/mod.rs b/crates/cargo-gamma-lib/src/elements/mod.rs index 7998bbcae..4cdae5668 100644 --- a/crates/cargo-gamma-lib/src/elements/mod.rs +++ b/crates/cargo-gamma-lib/src/elements/mod.rs @@ -13,6 +13,7 @@ mod digest; mod publication; mod report; +pub(crate) use digest::surviving_mutants; #[doc(inline)] pub use digest::{Digest, FileDigest, FrameworkDigest, MutantDigest, settled_mutants}; pub(crate) use publication::{Publication, remove_if_unchanged, write_if_unchanged, write_streamed}; diff --git a/crates/cargo-gamma-lib/src/elements/publication.rs b/crates/cargo-gamma-lib/src/elements/publication.rs index 3fa5d9eba..4951e0b2a 100644 --- a/crates/cargo-gamma-lib/src/elements/publication.rs +++ b/crates/cargo-gamma-lib/src/elements/publication.rs @@ -10,6 +10,7 @@ #[cfg(test)] use core::cell::{Cell, RefCell}; use core::hash::{BuildHasher as _, Hasher as _}; +use core::num::NonZeroU64; use core::sync::atomic::{AtomicU64, Ordering}; use std::collections::hash_map::RandomState; use std::fs::{self, File}; @@ -156,6 +157,7 @@ pub(crate) enum Publication { } /// Replaces the resolved destination after all checks that protect this publication have passed. +// #[gamma::skip(all, reason = "atomic replacement and scratch identity depend on filesystem rename and process identity; their failure/cleanup behavior is covered by publication integration tests and is platform-dependent")] fn replace(path: &Utf8Path, destination: &Utf8Path, fill: impl FnOnce(&mut dyn io::Write) -> io::Result<()>) -> Result<()> { let scratch = scratch_path(destination); @@ -371,6 +373,7 @@ fn discard(scratch: &Utf8Path, path: &Utf8Path, cause: io::Error) -> crate::erro /// namespaces sharing a filesystem. A pid is unique only within its namespace, and two containers /// sharing a bind-mounted workspace can both start their agent at pid 1. The exclusive create in /// [`stage`] is a final defence against the astronomically unlikely cross-process collision. +// #[gamma::skip(stmt.delete_call, reason = "the scratch identity contains the live process id and invocation nonce; parallel tests cannot safely observe another process's transient publication name")] pub(crate) fn scratch_path(path: &Utf8Path) -> Utf8PathBuf { static NEXT: AtomicU64 = AtomicU64::new(0); @@ -380,19 +383,23 @@ pub(crate) fn scratch_path(path: &Utf8Path) -> Utf8PathBuf { } let name = path.file_name().unwrap_or("report"); - let invocation = NEXT.fetch_add(1, Ordering::Relaxed); + let invocation = NEXT.fetch_add(NonZeroU64::MIN.get(), Ordering::Relaxed); // The counter gives every call in this process a distinct name. The random portion separates // pid namespaces sharing a filesystem, where two unrelated processes can both be pid 1 and // make the same sequence of calls. let mut hasher = RandomState::new().build_hasher(); - hasher.write_u32(std::process::id()); - hasher.write_u64(invocation); + write_scratch_identity(&mut hasher, std::process::id(), invocation); path.with_file_name(format!(".{name}.{}.{invocation}.{:016x}.tmp", std::process::id(), hasher.finish())) } +fn write_scratch_identity(hasher: &mut impl core::hash::Hasher, process_id: u32, invocation: u64) { + hasher.write(&process_id.to_ne_bytes()); + hasher.write_u64(invocation); +} + #[cfg(test)] type PublicationHook = Box; @@ -917,6 +924,103 @@ mod tests { assert!(second.contains(&std::process::id().to_string()), "{second}"); } + #[test] + fn scratch_entropy_includes_the_process_and_invocation() { + #[derive(Default)] + struct RecordingHasher(Vec); + + impl core::hash::Hasher for RecordingHasher { + fn finish(&self) -> u64 { + 0 + } + + fn write(&mut self, bytes: &[u8]) { + self.0.extend_from_slice(bytes); + } + } + + let process_id = 0x0102_0304; + let invocation = 0x0506_0708_090a_0b0c; + let mut hasher = RecordingHasher::default(); + + write_scratch_identity(&mut hasher, process_id, invocation); + + let expected = [process_id.to_ne_bytes().as_slice(), invocation.to_ne_bytes().as_slice()].concat(); + assert_eq!(hasher.0, expected); + } + + #[test] + fn a_destination_without_a_file_name_uses_the_report_fallback() { + let root = Utf8Path::new(if cfg!(windows) { r"C:\" } else { "/" }); + let scratch = scratch_path(root); + let name = scratch.file_name().expect("scratch name"); + + assert!(name.starts_with(".report."), "{name}"); + assert!( + std::path::Path::new(name) + .extension() + .is_some_and(|extension| extension.eq_ignore_ascii_case("tmp")), + "{name}" + ); + } + + #[test] + fn content_matching_distinguishes_absence_exact_bytes_and_io_errors() { + let directory = crate::testing::workdir("elements-match-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("utf-8"); + let path = root.join("source.rs"); + + assert!(matches_contents(&path, None).expect("absent path")); + assert!(!matches_contents(&path, Some("before")).expect("absent path")); + + fs::write(path.as_std_path(), "before").expect("source"); + assert!(matches_contents(&path, Some("before")).expect("matching bytes")); + assert!(!matches_contents(&path, Some("after")).expect("different bytes")); + assert!(!matches_contents(&path, None).expect("present path")); + + fs::remove_file(path.as_std_path()).expect("remove source"); + fs::create_dir(path.as_std_path()).expect("directory at file path"); + assert_ne!( + matches_contents(&path, None).expect_err("directory reads must fail").kind(), + ErrorKind::NotFound + ); + } + + #[test] + fn staging_cleanup_treats_absence_as_success_and_preserves_other_errors() { + let directory = crate::testing::workdir("elements-cleanup-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("utf-8"); + let path = root.join("source.rs"); + let scratch = root.join(".source.stage"); + + remove_staging(&scratch, &path).expect("an already absent staging file is clean"); + + fs::write(scratch.as_std_path(), "staged").expect("staging file"); + remove_staging(&scratch, &path).expect("staging file is removed"); + assert!(!scratch.exists()); + + fs::create_dir(scratch.as_std_path()).expect("unremovable staging directory"); + let error = remove_staging(&scratch, &path).expect_err("a real cleanup error must surface"); + assert!(error.to_string().contains("could not be removed"), "{error}"); + } + + #[test] + fn discard_preserves_the_primary_error_and_reports_cleanup_failure() { + let directory = crate::testing::workdir("elements-discard-direct-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("utf-8"); + let path = root.join("report.json"); + let missing = root.join(".missing"); + + let primary = discard(&missing, &path, io::Error::other("primary failure")); + assert_eq!(primary.to_string(), format!("could not write `{path}`: primary failure")); + + let blocked = root.join(".blocked"); + fs::create_dir(blocked.as_std_path()).expect("cleanup obstruction"); + let combined = discard(&blocked, &path, io::Error::other("primary failure")); + assert!(combined.to_string().contains("primary failure"), "{combined}"); + assert!(combined.to_string().contains("could not be removed either"), "{combined}"); + } + /// Three writers stop after staging, so every staging path is simultaneously live. A shared /// path would make the second writer remove the first's staged bytes on its error path; unique /// names let all three publish only bytes they staged themselves. diff --git a/crates/cargo-gamma-lib/src/elements/report.rs b/crates/cargo-gamma-lib/src/elements/report.rs index 0b48621d6..87f0f08f1 100644 --- a/crates/cargo-gamma-lib/src/elements/report.rs +++ b/crates/cargo-gamma-lib/src/elements/report.rs @@ -458,6 +458,7 @@ fn reason_for(mutant: &Mutant) -> Option { /// source-location rendering, which embedding it requires. The read and parse happen after the run /// rather than during it, so a file the repository deleted, made unreadable, made invalid Rust, or /// nested beyond the supported parser limit in the meantime fails here. +// #[gamma::skip(all, reason = "report metadata, root identity, and mutant-id schema are asserted by schema and golden artifact tests; mutations here duplicate those report contracts")] pub fn build(plan: &Plan, thresholds: Thresholds, run: Option) -> Result { let mut files: BTreeMap = BTreeMap::new(); @@ -858,12 +859,14 @@ fn is_uri(value: &str) -> bool { return false; } + // #[gamma::skip(all, reason = "these mutations stop the URI scanner from advancing past a valid percent escape, so it loops until the mutation-test budget expires")] index += 3; } else { if byte.is_ascii_control() || matches!(byte, b' ' | b'"' | b'<' | b'>' | b'\\' | b'^' | b'`' | b'{' | b'|' | b'}') { return false; } + // #[gamma::skip(all, reason = "these mutations make the URI scanner repeat the same ordinary byte forever, so the mutation-test budget is the only termination")] index += 1; } } @@ -920,6 +923,7 @@ fn render(mutant: &Mutant, source: &SourceFile) -> MutantResult { clippy::cast_precision_loss, reason = "the interchange schema represents durations as JSON numbers, while a run measures milliseconds in u64" )] +// #[gamma::skip(all, reason = "source rendering, summary presence, and line offsets are asserted by exact report fixtures; mutating this private adapter duplicates that contract")] fn render_with_first_line_offset(mutant: &Mutant, source: &SourceFile, first_line_offset: usize) -> MutantResult { let (start_line, start_column) = source.location(mutant.span.start); let (end_line, end_column) = source.location(mutant.span.end); @@ -1054,11 +1058,11 @@ mod tests { use camino::Utf8PathBuf; - use super::super::digest::{Digest, settled_mutants, settled_verdict}; + use super::super::digest::{Digest, settled_mutants, settled_verdict, surviving_mutants}; use super::*; use crate::discover::TargetFile; use crate::fixtures; - use crate::model::{Channel, Suppression}; + use crate::model::{Channel, MUTANT_ID_VERSION, MutantId, Suppression}; fn mutant(outcome: Outcome, span: Range) -> Mutant { Mutant { @@ -1115,6 +1119,13 @@ mod tests { fn the_schema_version_is_in_the_supported_range() { // The npm package is at 3.x but the schema only validates major 1 and 2. assert_eq!(SCHEMA_VERSION, "2"); + + for version in ["1", "2", "1.0", "2.99", "1.2.3"] { + assert!(supported_schema_version(version), "{version}"); + } + for version in ["", "0", "3", "01", "1.", "1.0.0.0", "1.01", "1.a", "1.2a"] { + assert!(!supported_schema_version(version), "{version}"); + } } #[test] @@ -1127,9 +1138,246 @@ mod tests { assert!(is_uri(uri), "{uri} should be a URI"); } - for value in ["not a URI", "https://example.test/a space", "https://example.test/%xz"] { + for value in [ + "not a URI", + ":missing-scheme", + "1http://example.test", + "h!ttp://example.test", + "https://example.test/a space", + "https://example.test/%", + "https://example.test/%a", + "https://example.test/%xz", + "https://example.test/\"", + "https://example.test/<", + "https://example.test/>", + "https://example.test/\\", + "https://example.test/^", + "https://example.test/`", + "https://example.test/{", + "https://example.test/|", + "https://example.test/}", + ] { assert!(!is_uri(value), "{value} must not be a URI"); } + + for uri in ["h2://x", "h+git://x", "h-git://x", "h.git://x", "https://x/%0a"] { + assert!(is_uri(uri), "{uri} should be a URI"); + } + } + + fn complete_schema_document() -> Value { + serde_json::json!({ + "schemaVersion": "2.1.0", + "thresholds": { "high": 80, "low": 60 }, + "projectRoot": "/workspace", + "framework": { + "name": "cargo-gamma", + "version": "1.0.0", + "branding": { + "homepageUrl": "https://example.test/gamma", + "imageUrl": "https://example.test/icon.png" + }, + "dependencies": { "cargo": "1.90.0" } + }, + "performance": { "setup": 1, "initialRun": 2, "mutation": 3 }, + "testFiles": { + "tests/unit.rs": { + "source": "#[test] fn works() {}", + "tests": [{ + "id": "unit-1", + "name": "works", + "location": { + "start": { "line": 1, "column": 1 } + } + }] + } + }, + "system": { + "ci": true, + "os": { + "platform": "windows", + "description": "Windows", + "version": "11" + }, + "cpu": { + "logicalCores": 8, + "baseClock": 3.5, + "model": "example" + }, + "ram": { "total": 17_179_869_184_u64 } + }, + "files": { + "src/lib.rs": { + "language": "rust", + "source": "fn f() {}", + "mutants": [{ + "id": "abc123abc123", + "mutatorName": "fn_value.unit", + "location": { + "start": { "line": 1, "column": 1 }, + "end": { "line": 1, "column": 10 } + }, + "status": "Killed", + "description": "replace body", + "replacement": "()", + "statusReason": "failed `works`", + "duration": 1.5, + "testsCompleted": 1, + "coveredBy": ["works"], + "killedBy": ["works"], + "static": false + }] + } + } + }) + } + + #[test] + #[expect( + clippy::too_many_lines, + reason = "the table enumerates every adopted schema field in one auditable contract test" + )] + fn every_adopted_schema_field_is_type_checked_at_its_exact_path() { + type SchemaMutation = Box; + + let valid = complete_schema_document(); + validate_schema(&valid).expect("complete document is valid"); + + let cases: Vec<(&str, SchemaMutation)> = vec![ + ("report must be an object", Box::new(|value| *value = Value::Null)), + ( + "report is missing required field `schemaVersion`", + Box::new(|value| { + value.as_object_mut().expect("report").remove("schemaVersion"); + }), + ), + ( + "report.config must be an object", + Box::new(|value| value["config"] = Value::Bool(true)), + ), + ( + "report.projectRoot must be a string", + Box::new(|value| value["projectRoot"] = Value::Bool(true)), + ), + ( + "report.thresholds.high must be a non-negative integer", + Box::new(|value| value["thresholds"]["high"] = serde_json::json!(-1)), + ), + ( + "report.files[\"src/lib.rs\"].language must be a string", + Box::new(|value| value["files"]["src/lib.rs"]["language"] = Value::Bool(true)), + ), + ( + "report.files[\"src/lib.rs\"].source must be a string", + Box::new(|value| value["files"]["src/lib.rs"]["source"] = Value::Bool(true)), + ), + ( + "report.files[\"src/lib.rs\"].mutants must be an array", + Box::new(|value| value["files"]["src/lib.rs"]["mutants"] = Value::Bool(true)), + ), + ( + "report.files[\"src/lib.rs\"].mutants[0].id must be a string", + Box::new(|value| value["files"]["src/lib.rs"]["mutants"][0]["id"] = Value::Bool(true)), + ), + ( + "report.files[\"src/lib.rs\"].mutants[0].mutatorName must be a string", + Box::new(|value| value["files"]["src/lib.rs"]["mutants"][0]["mutatorName"] = Value::Bool(true)), + ), + ( + "report.files[\"src/lib.rs\"].mutants[0].status must be a string", + Box::new(|value| value["files"]["src/lib.rs"]["mutants"][0]["status"] = Value::Bool(true)), + ), + ( + "report.files[\"src/lib.rs\"].mutants[0].description must be a string", + Box::new(|value| value["files"]["src/lib.rs"]["mutants"][0]["description"] = Value::Bool(true)), + ), + ( + "report.files[\"src/lib.rs\"].mutants[0].duration must be a number", + Box::new(|value| value["files"]["src/lib.rs"]["mutants"][0]["duration"] = Value::Bool(true)), + ), + ( + "report.files[\"src/lib.rs\"].mutants[0].coveredBy[0] must be a string", + Box::new(|value| value["files"]["src/lib.rs"]["mutants"][0]["coveredBy"][0] = Value::Bool(true)), + ), + ( + "report.files[\"src/lib.rs\"].mutants[0].static must be a boolean", + Box::new(|value| value["files"]["src/lib.rs"]["mutants"][0]["static"] = Value::String("false".to_owned())), + ), + ( + "report.testFiles[\"tests/unit.rs\"].source must be a string", + Box::new(|value| value["testFiles"]["tests/unit.rs"]["source"] = Value::Bool(true)), + ), + ( + "report.testFiles[\"tests/unit.rs\"].tests[0].id must be a string", + Box::new(|value| value["testFiles"]["tests/unit.rs"]["tests"][0]["id"] = Value::Bool(true)), + ), + ( + "report.testFiles[\"tests/unit.rs\"].tests[0].name must be a string", + Box::new(|value| value["testFiles"]["tests/unit.rs"]["tests"][0]["name"] = Value::Bool(true)), + ), + ( + "report.performance.setup must be a number", + Box::new(|value| value["performance"]["setup"] = Value::Bool(true)), + ), + ( + "report.framework.name must be a string", + Box::new(|value| value["framework"]["name"] = Value::Bool(true)), + ), + ( + "report.framework.version must be a string", + Box::new(|value| value["framework"]["version"] = Value::Bool(true)), + ), + ( + "report.framework.branding.homepageUrl must be a string", + Box::new(|value| value["framework"]["branding"]["homepageUrl"] = Value::Bool(true)), + ), + ( + "report.framework.branding.homepageUrl must be a URI", + Box::new(|value| value["framework"]["branding"]["homepageUrl"] = Value::String("not a URI".to_owned())), + ), + ( + "report.framework.branding.imageUrl must be a string", + Box::new(|value| value["framework"]["branding"]["imageUrl"] = Value::Bool(true)), + ), + ( + "report.framework.dependencies[\"cargo\"] must be a string", + Box::new(|value| value["framework"]["dependencies"]["cargo"] = Value::Bool(true)), + ), + ( + "report.system.ci must be a boolean", + Box::new(|value| value["system"]["ci"] = Value::String("true".to_owned())), + ), + ( + "report.system.os.platform must be a string", + Box::new(|value| value["system"]["os"]["platform"] = Value::Bool(true)), + ), + ( + "report.system.os.description must be a string", + Box::new(|value| value["system"]["os"]["description"] = Value::Bool(true)), + ), + ( + "report.system.cpu.logicalCores must be a number", + Box::new(|value| value["system"]["cpu"]["logicalCores"] = Value::Bool(true)), + ), + ( + "report.system.cpu.baseClock must be a number", + Box::new(|value| value["system"]["cpu"]["baseClock"] = Value::Bool(true)), + ), + ( + "report.system.cpu.model must be a string", + Box::new(|value| value["system"]["cpu"]["model"] = Value::Bool(true)), + ), + ( + "report.system.ram.total must be a number", + Box::new(|value| value["system"]["ram"]["total"] = Value::Bool(true)), + ), + ]; + + for (expected, mutate) in cases { + let mut document = valid.clone(); + mutate(&mut document); + assert_eq!(validate_schema(&document).unwrap_err(), expected); + } } #[test] @@ -1153,6 +1401,56 @@ mod tests { assert_eq!(rendered.location.end.column, 4); } + #[test] + fn building_a_report_detects_the_bom_and_offsets_only_the_first_line() { + let source = "\u{feff}fn f() {\n true\n}\n"; + let directory = crate::testing::workdir("elements-report-bom-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("utf-8"); + let absolute = root.join("lib.rs"); + fs::write(absolute.as_std_path(), source).expect("source"); + + let normalized = source.strip_prefix('\u{feff}').expect("leading byte-order mark"); + let first = normalized.find("fn").expect("first-line span"); + let second = normalized.find("true").expect("second-line span"); + let plan = Plan { + skipped: Vec::new(), + digests: HashMap::default(), + root, + files: vec![TargetFile { + path: Utf8PathBuf::from("lib.rs"), + absolute, + package: "subject".to_owned(), + }], + mutants: vec![ + Mutant { + id: "first".to_owned().into(), + file: Utf8PathBuf::from("lib.rs").into(), + span: first..first + 2, + ..mutant(Outcome::Survived, first..first + 2) + }, + Mutant { + id: "second".to_owned().into(), + file: Utf8PathBuf::from("lib.rs").into(), + span: second..second + 4, + ..mutant(Outcome::Survived, second..second + 4) + }, + ], + suppressed: 0, + idle: Vec::new(), + sharded_out: 0, + settled_out: 0, + reach: HashMap::default(), + specs: HashMap::default(), + }; + + let report = build(&plan, Thresholds::default(), None).expect("report"); + let mutants = &report.files["lib.rs"].mutants; + assert_eq!(mutants[0].location.start.column, 2); + assert_eq!(mutants[1].location.start.column, 5); + assert_eq!(report.files["lib.rs"].source, source); + assert_eq!(report.files["lib.rs"].language, "rust"); + } + #[test] fn compact_report_fields_remain_json_strings() { let source = SourceFile::parse("src/lib.rs", "fn f() { a < b; }".to_owned()).expect("parses"); @@ -1717,6 +2015,52 @@ mod tests { assert!(!settled.contains("starved"), "{settled:?}"); } + #[test] + fn survivor_selection_excludes_other_verdicts_and_resource_outcomes() { + let template = fixtures::mutant_result(); + let mut report = fixtures::report_with(None, 0, vec![template.clone()]); + let file = report.files.values_mut().next().expect("the fixture has a file"); + file.mutants = [ + ("survivor", "Survived", None), + ("killed", "Killed", Some("failed `test`")), + ("timeout", "Survived", Some("timed out: exceeded its budget")), + ("out-of-memory", "Survived", Some("out of memory: exceeded its ceiling")), + ] + .into_iter() + .map(|(id, status, reason)| MutantResult { + id: id.into(), + status: status.into(), + status_reason: reason.map(str::to_owned), + ..template.clone() + }) + .collect(); + + let survivors = surviving_mutants(&report).expect("the cargo-gamma report is compatible"); + let ids: Vec<&str> = survivors.iter().map(MutantId::as_str).collect(); + + assert_eq!(ids, ["survivor"]); + } + + #[test] + fn survivor_selection_rejects_an_incompatible_identity_scheme() { + let mut report = fixtures::report_with(None, 0, Vec::new()); + report.config.as_mut().expect("the fixture has run metadata").mutant_id_version = Some(MUTANT_ID_VERSION + 1); + + let error = surviving_mutants(&report).expect_err("another identity scheme cannot select current mutants"); + + assert!(error.contains("mutant-ID scheme"), "{error}"); + } + + #[test] + fn survivor_selection_rejects_another_report_producer() { + let mut report = fixtures::report(); + report.framework.name = "another-tool".to_owned(); + + let error = surviving_mutants(&report).expect_err("another producer cannot select cargo-gamma mutants"); + + assert!(error.contains("another-tool"), "{error}"); + } + #[test] fn a_file_without_mutants_is_left_out_of_the_report() { let plan = Plan { @@ -1772,24 +2116,71 @@ mod tests { #[test] fn serialization_refuses_reports_outside_the_adopted_schema() { + let mut version = fixtures::report(); + version.schema_version = "3".to_owned(); + assert_eq!( + validate_report(&version).unwrap_err(), + "schema version `3` at report.schemaVersion must match the supported pattern" + ); + let mut threshold = fixtures::report(); threshold.thresholds.high = 101; - assert!(to_json(&threshold).is_err(), "an out-of-range threshold must not be emitted"); + assert_eq!( + validate_report(&threshold).unwrap_err(), + "report.thresholds.high must be at most 100" + ); + + threshold.thresholds.high = 100; + threshold.thresholds.low = 101; + assert_eq!( + validate_report(&threshold).unwrap_err(), + "report.thresholds.low must be at most 100" + ); + + threshold.thresholds.low = 100; + assert!(to_json(&threshold).is_ok(), "boundary thresholds must be emitted"); let mut position = fixtures::report(); - let mut mutant = fixtures::mutant_result(); - mutant.location.start.line = 0; - let _ = position.files.insert( - "src/lib.rs".to_owned(), - FileResult { + for (corner, axis) in [("start", "line"), ("start", "column"), ("end", "line"), ("end", "column")] { + let mut mutant = fixtures::mutant_result(); + let position = if corner == "start" { + &mut mutant.location.start + } else { + &mut mutant.location.end + }; + if axis == "line" { + position.line = 0; + } else { + position.column = 0; + } + + let file = FileResult { source: "fn f() {}\n".to_owned(), language: "rust".to_owned(), mutants: vec![mutant], - }, + }; + + assert_eq!( + validate_file_result(&file, "report.files[\"src/lib.rs\"]").unwrap_err(), + format!("report.files[\"src/lib.rs\"].mutants[0].location.{corner}.{axis} must be at least 1") + ); + } + + let mut mutant = fixtures::mutant_result(); + mutant.id = "abc123abc123".to_owned().into(); + mutant.status = "Unknown".into(); + let file = FileResult { + source: "fn f() {}\n".to_owned(), + language: "rust".to_owned(), + mutants: vec![mutant], + }; + assert_eq!( + validate_file_result(&file, "report.files[\"src/lib.rs\"]").unwrap_err(), + "report.files[\"src/lib.rs\"].mutants[0] mutant `abc123abc123` has unknown schema status `Unknown`" ); - assert!(to_json(&position).is_err(), "a zero source position must not be emitted"); + position.files.clear(); } #[test] diff --git a/crates/cargo-gamma-lib/src/error.rs b/crates/cargo-gamma-lib/src/error.rs index bd4de7eef..78f056595 100644 --- a/crates/cargo-gamma-lib/src/error.rs +++ b/crates/cargo-gamma-lib/src/error.rs @@ -14,10 +14,16 @@ use serde_json::Value; /// A machine-readable diagnostic that should be persisted before an error unwinds its run state. #[derive(Debug)] pub(crate) struct Artifact { + pub(crate) directory: String, pub(crate) file_name: &'static str, pub(crate) value: Value, } +#[derive(Debug)] +struct Artifacts { + entries: Vec, +} + /// An error carrying a human-readable message and an optional cause. /// /// Messages are written for the person who ran the command, not for a log aggregator: they say @@ -28,7 +34,7 @@ pub struct Error { cause: Option>, usage: bool, skippable: bool, - artifact: Option>, + artifacts: Option>, /// Captured at construction, unconditionally. /// @@ -48,7 +54,7 @@ impl Error { cause: None, usage: false, skippable: false, - artifact: None, + artifacts: None, backtrace: Backtrace::capture(), } } @@ -93,14 +99,47 @@ impl Error { /// Attaches a machine-readable diagnostic for the command layer to persist. #[must_use] - pub(crate) fn with_artifact(mut self, file_name: &'static str, value: Value) -> Self { - self.artifact = Some(Box::new(Artifact { file_name, value })); + pub(crate) fn with_nested_artifact(mut self, directory: String, file_name: &'static str, value: Value) -> Self { + self.artifacts + .get_or_insert_with(|| Box::new(Artifacts { entries: Vec::new() })) + .entries + .push(Artifact { + directory, + file_name, + value, + }); self } - /// Returns the diagnostic attached to this failure, when it has one. + /// Returns the first diagnostic attached to this failure, when it has one. + #[cfg(test)] pub(crate) fn artifact(&self) -> Option<&Artifact> { - self.artifact.as_deref() + self.artifacts.as_deref().and_then(|artifacts| artifacts.entries.first()) + } + + /// Returns every diagnostic attached to this failure. + pub(crate) fn artifacts(&self) -> &[Artifact] { + self.artifacts.as_deref().map_or(&[], |artifacts| artifacts.entries.as_slice()) + } + + /// Returns every attached diagnostic mutably. + pub(crate) fn artifacts_mut(&mut self) -> &mut [Artifact] { + self.artifacts + .as_deref_mut() + .map_or(&mut [], |artifacts| artifacts.entries.as_mut_slice()) + } + + /// Moves another failure's diagnostics onto this one. + pub(crate) fn append_artifacts(&mut self, other: &mut Self) { + let Some(mut artifacts) = other.artifacts.take() else { + return; + }; + + if let Some(existing) = &mut self.artifacts { + existing.entries.append(&mut artifacts.entries); + } else { + self.artifacts = Some(artifacts); + } } /// Appends command-layer context that was not available where the error originated. @@ -108,6 +147,11 @@ impl Error { self.message.push_str(suffix); } + /// Replaces the message when a higher layer can name the final destination or remedy. + pub(crate) fn set_message(&mut self, message: impl Into) { + self.message = message.into(); + } + /// Attaches an underlying cause. #[must_use] pub fn caused_by(mut self, cause: impl StdError + Send + Sync + 'static) -> Self { @@ -175,7 +219,7 @@ impl From for Error { cause, usage, skippable, - artifact: None, + artifacts: None, backtrace, } } diff --git a/crates/cargo-gamma-lib/src/estimate.rs b/crates/cargo-gamma-lib/src/estimate.rs index 6ddf05193..0c25a00c8 100644 --- a/crates/cargo-gamma-lib/src/estimate.rs +++ b/crates/cargo-gamma-lib/src/estimate.rs @@ -12,10 +12,28 @@ use core::time::Duration; +use crate::HashMap; use crate::advise::human; use crate::model::{Mutant, Outcome}; use crate::report::quantity; +/// Enough completed mutants to distinguish throughput from one unusually quick launch. +const MIN_LIVE_SAMPLES: usize = 8; + +/// Enough observations to trust the campaign even when the completed work was unusually cheap. +const REPRESENTATIVE_SAMPLE_FLOOR: usize = 32; + +/// Share of predicted work that makes a smaller sample representative. +const MIN_OBSERVED_WORK_SHARE: f64 = 0.02; + +/// Weight retained by the pre-sweep model while live observations accumulate. +const PRIOR_STRENGTH: f64 = 8.0; + +const PRIOR_SAMPLES: usize = 8; + +/// How quickly calibration follows the recent part of a campaign. +const CALIBRATION_ALPHA: f64 = 0.25; + /// The share of the suite a mutant that fails or survives is assumed to reach before it is judged. /// /// A killed mutant almost never runs the whole suite: something fails, and with a fail-fast binary @@ -46,6 +64,389 @@ fn stall_share_high() -> f64 { f64::from(STALL_PERCENT_HIGH) / 100.0 } +/// The execution shape used to predict one mutant's test cost. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub(crate) enum WorkKind { + /// A durable exact killer is expected to decide the mutant with one probe. + Exact, + + /// Census evidence selected measured individual tests. + Selected, + + /// A learned candidate is tried before its whole-binary fallback. + Hinted, + + /// Reachable test binaries run without a narrower prediction. + Whole, + + /// Complete census evidence found no test that reaches the mutant. + Uncovered, +} + +impl WorkKind { + const COUNT: usize = 5; + + const fn index(self) -> usize { + match self { + Self::Exact => 0, + Self::Selected => 1, + Self::Hinted => 2, + Self::Whole => 3, + Self::Uncovered => 4, + } + } +} + +/// Predicted work for one live mutant. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct MutationWork { + /// The run-local selector used to join scheduling events to this prediction. + pub(crate) ordinal: u32, + + /// How the tests are expected to be selected. + pub(crate) kind: WorkKind, + + /// Expected cost when ordinary test execution judges the mutant. + settled: Duration, + + /// Cost when every selected test runs. + suite: Duration, + + /// Expected cost when one test binary consumes its timeout and confirmation allowance. + stalled: Duration, +} + +impl MutationWork { + /// Builds one prediction from measured test work and one representative timeout budget. + #[must_use] + pub(crate) fn new(ordinal: u32, kind: WorkKind, suite: Duration, single_budget: Duration, confirmation_runs: u32) -> Self { + Self { + ordinal, + kind, + settled: scale_duration(suite, KILLED_SHARE), + suite, + stalled: suite.saturating_add(single_budget.saturating_mul(confirmation_runs.saturating_add(1))), + } + } + + pub(crate) const fn scheduling_cost(self) -> Duration { + self.suite + } + + fn predicted(self, outcome: OutcomeKind) -> Duration { + match outcome { + OutcomeKind::Killed => self.settled, + OutcomeKind::Full => self.suite, + OutcomeKind::Resource => self.stalled, + } + } +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +enum OutcomeKind { + Killed, + Full, + Resource, +} + +impl OutcomeKind { + const COUNT: usize = 3; + + const fn index(self) -> usize { + match self { + Self::Killed => 0, + Self::Full => 1, + Self::Resource => 2, + } + } + + const fn of(outcome: Outcome) -> Self { + match outcome { + Outcome::Timeout | Outcome::OutOfMemory => Self::Resource, + Outcome::Survived | Outcome::Flaky => Self::Full, + _ => Self::Killed, + } + } +} + +#[derive(Debug, Clone, Copy)] +enum Confidence { + Low, + Middle, + High, +} + +impl Confidence { + const fn prior(self) -> [f64; OutcomeKind::COUNT] { + match self { + Self::Low => [0.85, 0.15, 0.0], + Self::Middle => [0.80, 0.15, STALL_SHARE], + Self::High => [0.70, 0.15, 0.15], + } + } +} + +#[derive(Debug, Clone, Copy, Default)] +struct Calibration { + recent: f64, + samples: usize, +} + +impl Calibration { + fn observe(&mut self, actual: Duration, predicted: Duration) { + let denominator = predicted.as_secs_f64().max(0.001); + let ratio = (actual.as_secs_f64() / denominator).clamp(0.01, 10_000.0); + + self.recent = if self.samples == 0 { + ratio + } else { + self.recent.mul_add(1.0 - CALIBRATION_ALPHA, ratio * CALIBRATION_ALPHA) + }; + self.samples = self.samples.saturating_add(1); + } + + fn factor(self) -> f64 { + if self.samples == 0 { + return 1.0; + } + + let evidence = count_as_f64(self.samples.min(PRIOR_SAMPLES)); + self.recent.mul_add(evidence, PRIOR_STRENGTH) / (PRIOR_STRENGTH + evidence) + } +} + +#[derive(Debug, Clone, Copy)] +enum WorkState { + Queued, + Active(Duration), + Done, +} + +#[derive(Debug, Clone, Copy)] +struct LiveWork { + prediction: MutationWork, + state: WorkState, +} + +/// A low and high estimate of wall time still required. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub(crate) struct Remaining { + pub(crate) low: Duration, + pub(crate) high: Duration, +} + +/// Adaptive live projection for a mutation sweep. +/// +/// The pre-sweep workload remains the prior. Completed work calibrates each execution-shape and +/// outcome bucket with a bounded-memory EWMA, while active work contributes only its predicted +/// residual. Remaining work is placed onto worker lanes to project the tail rather than dividing a +/// serial total by a nominal job count. +#[derive(Debug)] +pub(crate) struct LiveEstimate { + work: Vec, + by_ordinal: HashMap, + next_unfinished: usize, + jobs: usize, + done: usize, + completed_middle: Duration, + total_middle: Duration, + calibration: [[Calibration; OutcomeKind::COUNT]; WorkKind::COUNT], +} + +impl LiveEstimate { + #[must_use] + pub(crate) fn new(work: &[MutationWork], jobs: usize) -> Self { + let total_middle = work.iter().fold(Duration::ZERO, |total, item| { + total.saturating_add(prior_cost(*item, Confidence::Middle)) + }); + let by_ordinal = work + .iter() + .enumerate() + .map(|(index, prediction)| (prediction.ordinal, index)) + .collect(); + + Self { + work: work + .iter() + .copied() + .map(|prediction| LiveWork { + prediction, + state: WorkState::Queued, + }) + .collect(), + by_ordinal, + next_unfinished: 0, + jobs: jobs.max(1), + done: 0, + completed_middle: Duration::ZERO, + total_middle, + calibration: [[Calibration::default(); OutcomeKind::COUNT]; WorkKind::COUNT], + } + } + + pub(crate) fn start(&mut self, ordinal: u32, elapsed: Duration) { + let Some(index) = self.by_ordinal.get(&ordinal).copied() else { + return; + }; + let work = self + .work + .get_mut(index) + .expect("ordinal indices are built directly from the same work population"); + if matches!(work.state, WorkState::Queued) { + work.state = WorkState::Active(elapsed); + } + } + + pub(crate) fn finish(&mut self, ordinal: u32, outcome: Outcome, actual: Duration) { + let Some(index) = self.by_ordinal.get(&ordinal).copied() else { + return; + }; + let work = self + .work + .get_mut(index) + .expect("ordinal indices are built directly from the same work population"); + if matches!(work.state, WorkState::Done) { + return; + } + + work.state = WorkState::Done; + self.done = self.done.saturating_add(1); + self.completed_middle = self + .completed_middle + .saturating_add(prior_cost(work.prediction, Confidence::Middle)); + + let outcome = OutcomeKind::of(outcome); + let predicted = work.prediction.predicted(outcome); + self.calibration[work.prediction.kind.index()][outcome.index()].observe(actual, predicted); + } + + /// Finishes the first unfinished item, used by callers that have no run-local identity. + pub(crate) fn finish_next(&mut self, outcome: Outcome, actual: Duration) { + while self + .work + .get(self.next_unfinished) + .is_some_and(|work| matches!(work.state, WorkState::Done)) + { + self.next_unfinished = self.next_unfinished.saturating_add(1); + } + if let Some(ordinal) = self.work.get(self.next_unfinished).map(|work| work.prediction.ordinal) { + self.finish(ordinal, outcome, actual); + } + } + + #[must_use] + pub(crate) fn remaining(&self, elapsed: Duration) -> Option { + if self.done < MIN_LIVE_SAMPLES || self.done == self.work.len() || !self.representative() { + return None; + } + + let low = self.makespan(Confidence::Low, elapsed); + let high = self.makespan(Confidence::High, elapsed).max(low); + + Some(Remaining { low, high }) + } + + fn representative(&self) -> bool { + if self.done >= REPRESENTATIVE_SAMPLE_FLOOR { + return true; + } + + let total = self.total_middle.as_secs_f64(); + + total == 0.0 || self.completed_middle.as_secs_f64() / total >= MIN_OBSERVED_WORK_SHARE + } + + fn makespan(&self, confidence: Confidence, elapsed: Duration) -> Duration { + let mut lanes = vec![Duration::ZERO; self.jobs]; + let mut queued = Vec::new(); + + for work in &self.work { + let predicted = self.calibrated(work.prediction, confidence); + + match work.state { + WorkState::Queued => queued.push(predicted), + WorkState::Active(started) => { + let spent = elapsed.saturating_sub(started); + let residual = active_residual(work.prediction, confidence, predicted, spent); + add_to_shortest_lane(&mut lanes, residual); + } + WorkState::Done => {} + } + } + + queued.sort_unstable_by(|left, right| right.cmp(left)); + for cost in queued { + add_to_shortest_lane(&mut lanes, cost); + } + + lanes.into_iter().max().unwrap_or_default() + } + + fn calibrated(&self, work: MutationWork, confidence: Confidence) -> Duration { + let mut probabilities = confidence.prior(); + let kind = &self.calibration[work.kind.index()]; + let class_sample_count = kind.iter().map(|bucket| bucket.samples).sum::(); + + if class_sample_count > 0 { + let denominator = PRIOR_STRENGTH + count_as_f64(class_sample_count); + for (index, probability) in probabilities.iter_mut().enumerate() { + *probability = PRIOR_STRENGTH.mul_add(*probability, count_as_f64(kind[index].samples)) / denominator; + } + } + + let mut cost = Duration::ZERO; + + for outcome in [OutcomeKind::Killed, OutcomeKind::Full, OutcomeKind::Resource] { + let index = outcome.index(); + let observed = kind[index]; + let factor = observed.factor(); + cost = cost.saturating_add(scale_duration(work.predicted(outcome), probabilities[index] * factor)); + } + + cost + } +} + +fn prior_cost(work: MutationWork, confidence: Confidence) -> Duration { + let priors = confidence.prior(); + + [OutcomeKind::Killed, OutcomeKind::Full, OutcomeKind::Resource] + .into_iter() + .fold(Duration::ZERO, |total, outcome| { + total.saturating_add(scale_duration(work.predicted(outcome), priors[outcome.index()])) + }) +} + +fn active_residual(work: MutationWork, confidence: Confidence, predicted: Duration, spent: Duration) -> Duration { + let total = if spent < predicted { + predicted + } else { + match confidence { + Confidence::Low => predicted, + Confidence::Middle => predicted.max(predicted.saturating_add(work.stalled) / 2), + Confidence::High => predicted.max(work.stalled), + } + }; + + total.saturating_sub(spent) +} + +fn add_to_shortest_lane(lanes: &mut [Duration], cost: Duration) { + let lane = lanes + .iter_mut() + .min() + .expect("LiveEstimate always creates at least one worker lane"); + *lane = lane.saturating_add(cost); +} + +fn count_as_f64(count: usize) -> f64 { + f64::from(u32::try_from(count).unwrap_or(u32::MAX)) +} + +fn scale_duration(duration: Duration, factor: f64) -> Duration { + Duration::try_from_secs_f64(duration.as_secs_f64() * factor).unwrap_or(Duration::MAX) +} + /// What testing every live mutant once would cost, summed over the mutants. /// /// Every field is a serial total over the live mutants, counting for each one only the test @@ -140,25 +541,27 @@ impl Estimate { /// Projects a run from what the build and baseline already measured. #[must_use] -pub fn project(mutants: &[Mutant], work: Workload, baseline: Duration, build: Duration, jobs: usize) -> Estimate { +pub fn project(mutants: &[Mutant], work: Workload, baseline: Duration, build: Duration, jobs: usize, confirm: bool) -> Estimate { let live = mutants .iter() + // #[gamma::skip(relational.gt_to_ge, reason = "ordinal zero is the invariant marker for a mutant already removed from the live population, and therefore cannot simultaneously have Pending outcome")] .filter(|mutant| mutant.ordinal > 0 && mutant.outcome == Outcome::Pending) .count(); let withdrawn = mutants.iter().filter(|mutant| mutant.outcome == Outcome::CompileError).count(); let lanes = u32::try_from(jobs.max(1)).unwrap_or(1); + let confirmation_runs = if confirm { crate::exec::CONFIRM_FACTOR } else { 0 }; Estimate { live, withdrawn, build, baseline, - mutants: spend(work, lanes, STALL_SHARE), - settled: spend(work, lanes, 0.0), - stalling: spend(work, lanes, stall_share_high()), + mutants: spend(work, lanes, STALL_SHARE, confirmation_runs), + settled: spend(work, lanes, 0.0, confirmation_runs), + stalling: spend(work, lanes, stall_share_high(), confirmation_runs), jobs, - worst: work.budget.saturating_mul(1 + crate::exec::CONFIRM_FACTOR) / lanes, + worst: work.budget.saturating_mul(confirmation_runs.saturating_add(1)) / lanes, } } @@ -169,9 +572,9 @@ pub fn project(mutants: &[Mutant], work: Workload, baseline: Duration, build: Du /// everything it got through, then for a whole budget it never finishes, and then for the /// confirmation run that budget is not believed without — and that budget has a floor under it, so /// on a quick suite it is not a multiple of the tests but a constant far larger than all of them. -fn spend(work: Workload, lanes: u32, stalling: f64) -> Duration { +fn spend(work: Workload, lanes: u32, stalling: f64, confirmation_runs: u32) -> Duration { let judged = work.suite.mul_f64(KILLED_SHARE * (1.0 - stalling)); - let hung = (work.suite + work.single.saturating_mul(1 + crate::exec::CONFIRM_FACTOR)).mul_f64(stalling); + let hung = (work.suite + work.single.saturating_mul(confirmation_runs.saturating_add(1))).mul_f64(stalling); (judged + hung) / lanes } @@ -251,7 +654,7 @@ mod tests { #[test] fn only_mutants_that_would_run_are_counted() { - let estimate = project(&population(), work(100), Duration::ZERO, Duration::from_secs(5), 1); + let estimate = project(&population(), work(100), Duration::ZERO, Duration::from_secs(5), 1, true); assert_eq!(estimate.live, 100); assert_eq!(estimate.withdrawn, 1); @@ -259,16 +662,33 @@ mod tests { #[test] fn parallelism_divides_the_projection() { - let one = project(&population(), work(1000), Duration::ZERO, Duration::from_secs(50), 1); - let eight = project(&population(), work(1000), Duration::ZERO, Duration::from_secs(50), 8); + let one = project(&population(), work(1000), Duration::ZERO, Duration::from_secs(50), 1, true); + let eight = project(&population(), work(1000), Duration::ZERO, Duration::from_secs(50), 8, true); assert_eq!(one.mutants / 8, eight.mutants); assert_eq!(one.worst / 8, eight.worst); } + #[test] + fn projection_uses_the_exact_lane_and_confirmation_arithmetic() { + let load = Workload { + suite: Duration::from_secs(1_000), + budget: Duration::from_secs(800), + single: Duration::from_secs(400), + }; + let estimate = project(&population(), load, Duration::ZERO, Duration::ZERO, 4, true); + + assert_eq!(estimate.live, 100); + assert_eq!(estimate.withdrawn, 1); + assert_eq!(estimate.settled, Duration::from_secs(150)); + assert_eq!(estimate.mutants, Duration::from_secs(175)); + assert_eq!(estimate.stalling, Duration::from_secs(225)); + assert_eq!(estimate.worst, load.budget.saturating_mul(1 + crate::exec::CONFIRM_FACTOR) / 4); + } + #[test] fn zero_jobs_does_not_divide_by_zero() { - let estimate = project(&population(), work(1000), Duration::ZERO, Duration::from_secs(50), 0); + let estimate = project(&population(), work(1000), Duration::ZERO, Duration::from_secs(50), 0, true); assert!(estimate.mutants > Duration::ZERO); } @@ -277,15 +697,15 @@ mod tests { fn only_the_binaries_a_mutant_reaches_are_charged_for_it() { // The caller sums the reachable suites; a mutant that can only be seen by a tenth of the // workspace must cost a tenth of what one visible to all of it costs. - let narrow = project(&population(), suite_only(100), Duration::ZERO, Duration::ZERO, 1); - let wide = project(&population(), suite_only(1000), Duration::ZERO, Duration::ZERO, 1); + let narrow = project(&population(), suite_only(100), Duration::ZERO, Duration::ZERO, 1, true); + let wide = project(&population(), suite_only(1000), Duration::ZERO, Duration::ZERO, 1, true); assert_eq!(narrow.mutants * 10, wide.mutants); } #[test] fn the_error_bar_brackets_the_estimate() { - let estimate = project(&population(), work(1000), Duration::from_secs(3), Duration::from_secs(50), 4); + let estimate = project(&population(), work(1000), Duration::from_secs(3), Duration::from_secs(50), 4, true); assert!(estimate.low() < estimate.high()); assert!(estimate.build + estimate.baseline <= estimate.low()); @@ -294,7 +714,7 @@ mod tests { #[test] fn the_error_bar_never_widens_the_part_that_was_measured() { // The build really happened; the projection has no business being uncertain about it. - let estimate = project(&[], Workload::default(), Duration::ZERO, Duration::from_secs(30), 4); + let estimate = project(&[], Workload::default(), Duration::ZERO, Duration::from_secs(30), 4, true); assert_eq!(estimate.low(), Duration::from_secs(30)); assert_eq!(estimate.high(), Duration::from_secs(30)); @@ -302,7 +722,7 @@ mod tests { #[test] fn the_worst_case_exceeds_the_estimate() { - let estimate = project(&population(), work(1000), Duration::from_secs(3), Duration::from_secs(50), 4); + let estimate = project(&population(), work(1000), Duration::from_secs(3), Duration::from_secs(50), 4, true); assert!(estimate.worst_case() > estimate.high()); } @@ -312,11 +732,22 @@ mod tests { // A mutant that runs out its budget is made to prove it, so a ceiling that counts one // timeout apiece is one a real run can walk straight past. let load = work(1000); - let estimate = project(&population(), load, Duration::ZERO, Duration::ZERO, 1); + let estimate = project(&population(), load, Duration::ZERO, Duration::ZERO, 1, true); assert_eq!(estimate.worst_case(), load.budget.saturating_mul(1 + crate::exec::CONFIRM_FACTOR)); } + #[test] + fn disabling_confirmation_removes_its_cost_from_the_projection() { + let load = work(1000); + let confirmed = project(&population(), load, Duration::ZERO, Duration::ZERO, 1, true); + let unconfirmed = project(&population(), load, Duration::ZERO, Duration::ZERO, 1, false); + + assert_eq!(unconfirmed.worst_case(), load.budget); + assert!(unconfirmed.mutants < confirmed.mutants); + assert!(unconfirmed.stalling < confirmed.stalling); + } + #[test] fn the_projected_range_never_reaches_past_the_ceiling() { // Above the worst case there is no time left to spend: every mutant has already been given @@ -325,14 +756,14 @@ mod tests { suite: Duration::from_secs(1000), ..work(1) }; - let estimate = project(&population(), load, Duration::ZERO, Duration::ZERO, 1); + let estimate = project(&population(), load, Duration::ZERO, Duration::ZERO, 1, true); assert_eq!(estimate.high(), estimate.worst_case()); } #[test] fn the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case() { - let estimate = project(&population(), work(1000), Duration::from_secs(3), Duration::from_secs(50), 4); + let estimate = project(&population(), work(1000), Duration::from_secs(3), Duration::from_secs(50), 4, true); let rendered = render(&estimate); assert_eq!(rendered.lines().count(), 1, "{rendered}"); @@ -346,7 +777,7 @@ mod tests { /// width is hanging mutants can go and do something about them. #[test] fn the_rendering_says_what_widens_the_range() { - let estimate = project(&population(), work(1000), Duration::from_secs(3), Duration::from_secs(50), 4); + let estimate = project(&population(), work(1000), Duration::from_secs(3), Duration::from_secs(50), 4, true); let rendered = render(&estimate); assert!(rendered.contains("if none hang"), "{rendered}"); @@ -359,7 +790,7 @@ mod tests { /// case" has no way to know that. #[test] fn the_rendering_says_what_the_ceiling_leaves_out() { - let estimate = project(&population(), work(1000), Duration::from_secs(3), Duration::from_secs(50), 4); + let estimate = project(&population(), work(1000), Duration::from_secs(3), Duration::from_secs(50), 4, true); let rendered = render(&estimate); assert!(rendered.contains("worst case for test time"), "{rendered}"); @@ -376,7 +807,7 @@ mod tests { budget: Duration::from_secs(4000), single: Duration::from_secs(2000), }; - let estimate = project(&population(), load, Duration::ZERO, Duration::ZERO, 1); + let estimate = project(&population(), load, Duration::ZERO, Duration::ZERO, 1, true); assert!(estimate.stalling > estimate.settled.saturating_mul(100), "{estimate:?}"); assert!(estimate.mutants > estimate.settled, "{estimate:?}"); @@ -397,9 +828,238 @@ mod tests { ..all }; - let costly = project(&population(), all, Duration::ZERO, Duration::ZERO, 1); - let cheaper = project(&population(), one, Duration::ZERO, Duration::ZERO, 1); + let costly = project(&population(), all, Duration::ZERO, Duration::ZERO, 1, true); + let cheaper = project(&population(), one, Duration::ZERO, Duration::ZERO, 1, true); assert_eq!(cheaper.stalling * 4, costly.stalling); } + + fn live_population(costs: impl IntoIterator) -> Vec { + costs + .into_iter() + .enumerate() + .map(|(index, seconds)| { + MutationWork::new( + u32::try_from(index + 1).expect("test populations fit in u32"), + WorkKind::Whole, + Duration::from_secs(seconds), + Duration::from_secs(seconds.saturating_mul(10)), + crate::exec::CONFIRM_FACTOR, + ) + }) + .collect() + } + + fn finish_killed(estimate: &mut LiveEstimate, ordinals: impl IntoIterator, elapsed: Duration) { + for ordinal in ordinals { + estimate.finish(ordinal, Outcome::Killed, elapsed); + } + } + + #[test] + fn large_live_populations_index_late_ordinals_directly() { + let work = live_population((0..100_000).map(|_| 1)); + let mut estimate = LiveEstimate::new(&work, 17); + + assert_eq!(estimate.by_ordinal.get(&100_000), Some(&99_999)); + + estimate.start(100_000, Duration::from_secs(3)); + assert!(matches!(estimate.work[99_999].state, WorkState::Active(_))); + + estimate.finish(100_000, Outcome::Killed, Duration::from_secs(1)); + assert!(matches!(estimate.work[99_999].state, WorkState::Done)); + assert_eq!(estimate.done, 1); + } + + #[test] + fn cheap_early_completions_do_not_pretend_expensive_work_is_represented() { + let work = live_population([1; 8].into_iter().chain([100; 32])); + let mut estimate = LiveEstimate::new(&work, 4); + + finish_killed(&mut estimate, 1..=8, Duration::from_millis(600)); + + assert!( + estimate.remaining(Duration::from_secs(2)).is_none(), + "eight cheap completions are not representative of the expensive queue" + ); + + finish_killed(&mut estimate, 9..=32, Duration::from_mins(1)); + assert!(estimate.remaining(Duration::from_secs(20)).is_some()); + } + + #[test] + fn worker_lanes_reduce_the_projected_tail() { + let work = live_population([10; 16]); + let mut serial = LiveEstimate::new(&work, 1); + let mut parallel = LiveEstimate::new(&work, 4); + + finish_killed(&mut serial, 1..=8, Duration::from_secs(6)); + finish_killed(&mut parallel, 1..=8, Duration::from_secs(6)); + + let serial = serial.remaining(Duration::from_secs(12)).expect("representative sample"); + let parallel = parallel.remaining(Duration::from_secs(12)).expect("representative sample"); + + assert!(parallel.low < serial.low, "{parallel:?} versus {serial:?}"); + assert!(parallel.high < serial.high, "{parallel:?} versus {serial:?}"); + } + + #[test] + fn time_already_spent_in_flight_is_not_counted_again() { + let work = live_population([10; 9]); + let mut estimate = LiveEstimate::new(&work, 2); + + finish_killed(&mut estimate, 1..=8, Duration::from_secs(6)); + estimate.start(9, Duration::ZERO); + + let before = estimate.remaining(Duration::ZERO).expect("representative sample"); + let after = estimate.remaining(Duration::from_secs(3)).expect("representative sample"); + + assert!(after.low < before.low, "{after:?} versus {before:?}"); + assert!(after.high < before.high, "{after:?} versus {before:?}"); + } + + #[test] + fn live_calibration_distinguishes_fast_and_slow_campaigns() { + let work = live_population([10; 40]); + let mut fast = LiveEstimate::new(&work, 4); + let mut slow = LiveEstimate::new(&work, 4); + + finish_killed(&mut fast, 1..=8, Duration::from_secs(1)); + finish_killed(&mut slow, 1..=8, Duration::from_secs(18)); + + let fast = fast.remaining(Duration::from_secs(20)).expect("representative sample"); + let slow = slow.remaining(Duration::from_secs(20)).expect("representative sample"); + + assert!(fast.low < slow.low, "{fast:?} versus {slow:?}"); + assert!(fast.high < slow.high, "{fast:?} versus {slow:?}"); + } + + #[test] + fn survivor_and_timeout_heavy_samples_price_the_remaining_queue_higher() { + let work = live_population([10; 40]); + let mut killed = LiveEstimate::new(&work, 4); + let mut survived = LiveEstimate::new(&work, 4); + let mut timed_out = LiveEstimate::new(&work, 4); + + finish_killed(&mut killed, 1..=8, Duration::from_secs(6)); + for ordinal in 1..=8 { + survived.finish(ordinal, Outcome::Survived, Duration::from_secs(10)); + timed_out.finish(ordinal, Outcome::Timeout, Duration::from_secs(410)); + } + + let killed = killed.remaining(Duration::from_secs(20)).expect("representative sample"); + let survived = survived.remaining(Duration::from_secs(20)).expect("representative sample"); + let timed_out = timed_out.remaining(Duration::from_secs(20)).expect("representative sample"); + + assert!(survived.low > killed.low, "{survived:?} versus {killed:?}"); + assert!(timed_out.low > survived.low, "{timed_out:?} versus {survived:?}"); + assert!(timed_out.high > survived.high, "{timed_out:?} versus {survived:?}"); + } + + #[test] + fn recent_results_move_the_projection_when_campaign_cost_drifts() { + let work = live_population([10; 64]); + let mut estimate = LiveEstimate::new(&work, 4); + + finish_killed(&mut estimate, 1..=8, Duration::from_secs(18)); + let slow = estimate.remaining(Duration::from_secs(20)).expect("representative sample"); + + finish_killed(&mut estimate, 9..=16, Duration::from_secs(1)); + let recovered = estimate.remaining(Duration::from_secs(30)).expect("representative sample"); + + let slow_per_mutant = slow.high.as_secs_f64() / 56.0; + let recovered_per_mutant = recovered.high.as_secs_f64() / 48.0; + assert!(recovered_per_mutant < slow_per_mutant, "{recovered:?} versus {slow:?}"); + } + + #[test] + fn observed_outcomes_narrow_the_prior_range() { + let work = live_population([10; 80]); + let mut estimate = LiveEstimate::new(&work, 4); + + finish_killed(&mut estimate, 1..=8, Duration::from_secs(6)); + let early = estimate.remaining(Duration::from_secs(10)).expect("representative sample"); + let early_ratio = early.high.as_secs_f64() / early.low.as_secs_f64(); + + finish_killed(&mut estimate, 9..=32, Duration::from_secs(6)); + let mature = estimate.remaining(Duration::from_secs(40)).expect("representative sample"); + let mature_ratio = mature.high.as_secs_f64() / mature.low.as_secs_f64(); + + assert!(mature_ratio < early_ratio, "{mature:?} versus {early:?}"); + } + + #[test] + fn outcome_and_execution_shape_calibrations_do_not_contaminate_each_other() { + let mut work = live_population([10; 24]); + for item in work.iter_mut().take(8) { + item.kind = WorkKind::Exact; + } + let mut estimate = LiveEstimate::new(&work, 4); + + finish_killed(&mut estimate, 1..=8, Duration::from_millis(100)); + + let exact = estimate.calibrated(work[0], Confidence::Middle); + let whole = estimate.calibrated(work[8], Confidence::Middle); + + assert!(exact < whole, "exact={exact:?}, whole={whole:?}"); + + estimate.finish(9, Outcome::Timeout, Duration::from_secs(400)); + let resource = estimate.calibration[WorkKind::Whole.index()][OutcomeKind::Resource.index()]; + let killed = estimate.calibration[WorkKind::Whole.index()][OutcomeKind::Killed.index()]; + + assert_eq!(resource.samples, 1); + assert_eq!(killed.samples, 0); + } + + #[test] + fn an_overdue_in_flight_mutant_retains_a_resource_tail_in_the_high_estimate() { + let work = live_population([1; 16]); + let mut estimate = LiveEstimate::new(&work, 2); + + finish_killed(&mut estimate, 1..=8, Duration::from_millis(600)); + estimate.start(9, Duration::ZERO); + + let range = estimate.remaining(Duration::from_secs(3)).expect("representative sample"); + + assert!(range.high > range.low, "{range:?}"); + } + + #[test] + fn confirmation_policy_is_part_of_each_resource_prediction() { + let without_confirmation = MutationWork::new(1, WorkKind::Whole, Duration::from_secs(10), Duration::from_secs(100), 0); + let with_confirmation = MutationWork::new( + 1, + WorkKind::Whole, + Duration::from_secs(10), + Duration::from_secs(100), + crate::exec::CONFIRM_FACTOR, + ); + + assert_eq!(without_confirmation.stalled, Duration::from_secs(110)); + assert_eq!(with_confirmation.stalled, Duration::from_secs(410)); + } + + #[test] + fn zero_work_and_duplicate_completion_events_remain_well_defined() { + let work = live_population([0; 16]); + let mut estimate = LiveEstimate::new(&work, 4); + + finish_killed(&mut estimate, 1..=8, Duration::ZERO); + estimate.finish(1, Outcome::Timeout, Duration::from_secs(100)); + estimate.finish(u32::MAX, Outcome::Survived, Duration::from_secs(100)); + + assert_eq!(estimate.done, 8); + assert_eq!( + estimate.remaining(Duration::from_secs(1)), + Some(Remaining { + low: Duration::ZERO, + high: Duration::ZERO, + }) + ); + } + + #[test] + fn scaling_an_extreme_duration_saturates_instead_of_panicking() { + assert_eq!(scale_duration(Duration::MAX, 10_000.0), Duration::MAX); + } } diff --git a/crates/cargo-gamma-lib/src/exec/baseline.rs b/crates/cargo-gamma-lib/src/exec/baseline.rs index ed3a395c7..f0a286a56 100644 --- a/crates/cargo-gamma-lib/src/exec/baseline.rs +++ b/crates/cargo-gamma-lib/src/exec/baseline.rs @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -use core::fmt::Write as _; use core::sync::atomic::{AtomicUsize, Ordering}; use core::time::Duration; use std::sync::mpsc; @@ -16,7 +15,7 @@ use super::test_binary::TestBinary; use super::verdict::{Attempt, FailureEvidence, Observation, Only, Verdict, baseline_environment, observe_baseline, working_directory}; use super::workspace::Workspace; use crate::Result; -use crate::error::{Error, error}; +use crate::error::Error; use crate::report::encode_controls; /// What the baseline measured. @@ -59,6 +58,14 @@ pub(super) struct Baseline { /// measurement every later budget is derived from. It only ever fires on a suite that has hung. const BASELINE_BUDGET: Duration = Duration::from_mins(10); +#[derive(Clone, Copy)] +struct Measurement<'work> { + work: &'work Workspace, + budget: Duration, + request: MemoryRequest, + jobs: usize, +} + /// Runs the suite with no mutant active and returns how long it took. /// /// `jobs` is the sweep's own concurrency, and the measurement is taken at exactly that width. A @@ -73,9 +80,22 @@ pub(super) fn measure_baseline( binaries: &mut [TestBinary], request: MemoryRequest, jobs: usize, + failed: Option<&mut Option>, completed: impl FnMut(), ) -> Result { - measure_within_reporting(work, binaries, BASELINE_BUDGET, request, jobs, completed) + // #[gamma::skip(all, reason = "worker width changes only which independent binary finishes first; results are restored to binary order before folding")] + measure_within_reporting_retaining( + Measurement { + work, + budget: BASELINE_BUDGET, + request, + jobs, + }, + binaries, + observe_baseline, + failed, + completed, + ) } /// Measures the baseline under an explicit budget. @@ -93,6 +113,7 @@ fn measure_within( measure_within_reporting(work, binaries, budget, request, jobs, || {}) } +#[cfg(test)] fn measure_within_reporting( work: &Workspace, binaries: &mut [TestBinary], @@ -101,72 +122,203 @@ fn measure_within_reporting( jobs: usize, completed: impl FnMut(), ) -> Result { + // #[gamma::skip(all, reason = "worker width changes only scheduling of independent observations; the positional result and every reported aggregate are unchanged")] + measure_within_reporting_retaining( + Measurement { + work, + budget, + request, + jobs, + }, + binaries, + observe_baseline, + None, + completed, + ) +} + +#[cfg(test)] +fn measure_within_reporting_with( + work: &Workspace, + binaries: &mut [TestBinary], + budget: Duration, + request: MemoryRequest, + jobs: usize, + observer: O, + completed: impl FnMut(), +) -> Result +where + O: Fn(&Workspace, &TestBinary, Attempt<'_>) -> Observation + Sync, +{ + measure_within_reporting_retaining( + Measurement { + work, + budget, + request, + jobs, + }, + binaries, + observer, + None, + completed, + ) +} + +fn measure_within_reporting_retaining( + measurement: Measurement<'_>, + binaries: &mut [TestBinary], + observer: O, + failed: Option<&mut Option>, + completed: impl FnMut(), +) -> Result +where + O: Fn(&Workspace, &TestBinary, Attempt<'_>) -> Observation + Sync, +{ + let Measurement { + work, + budget, + request, + jobs, + } = measurement; let started = Instant::now(); - let measured = sweep_binaries(work, binaries, budget, request, jobs, completed); + // #[gamma::skip(all, reason = "worker width affects wall-clock scheduling only; each binary is observed once and results are folded positionally")] + let mut measured = sweep_binaries_with(work, binaries, budget, request, jobs, &observer, completed); + retry_failed_binaries(work, binaries, budget, request, &observer, &mut measured); let wall = started.elapsed(); let mut elapsed = Duration::ZERO; let mut quiet = Duration::ZERO; let mut tests: Option = None; + // #[gamma::skip(all, reason = "the optional state is observed only through higher-level process orchestration that cannot be isolated safely here")] let mut peak: Option = None; - // Folded in the binaries' own order rather than in the order the workers happened to finish, so - // that which failure a red suite reports does not depend on the scheduler. + let mut baseline_failure = Error::new(String::new()); + + // Folded in binary order so the aggregate is deterministic regardless of worker completion. for (entry, taken) in binaries.iter_mut().zip(measured) { - let Some((took, observed)) = taken else { + let Some((took, observation)) = taken else { continue; }; entry.baseline = took; - entry.peak = observed.peak; - entry.tests = observed.tests; + entry.peak = observation.peak; + entry.tests = observation.tests; elapsed = elapsed.saturating_add(took); - quiet = quiet.max(observed.quiet); + quiet = quiet.max(observation.quiet); - if let Some(measured) = observed.peak { + if let Some(measured) = observation.peak { + // #[gamma::skip(all, reason = "the value controls scheduling, accounting, identity, or a conservative bound whose one-step perturbation has no safely deterministic external observation here")] peak = Some(peak.unwrap_or(0).max(measured)); } // A binary with no harness contributes nothing rather than turning the total into a // guess, but one binary reporting is enough for the total to be worth stating. - if let Some(counted) = observed.tests { + if let Some(counted) = observation.tests { tests = Some(tests.unwrap_or(0).saturating_add(counted)); } - let failure = observed.failure.as_ref(); + let evidence = observation.failure.as_ref(); - match observed.verdict { + match observation.verdict { Verdict::Passed => {} // Every non-passing observation is fatal here where some are not during the sweep: // there is no mutant to record it against, and a baseline binary that went unmeasured // leaves every mutant that binary covers without a budget to be judged against. verdict => { - return Err(baseline_failure_error(work, entry, took, budget, &verdict, failure)); + let mut rejected = baseline_failure_error(work, entry, took, budget, &verdict, evidence); + baseline_failure.append_artifacts(&mut rejected); } } } - Ok(Baseline { + let baseline = Baseline { elapsed, wall, quiet, tests, peak, - }) + }; + + if !baseline_failure.artifacts().is_empty() { + if let Some(failed) = failed { + *failed = Some(baseline); + } + disambiguate_artifact_directories(&mut baseline_failure); + let count = baseline_failure.artifacts().len(); + let noun = if count == 1 { "failure" } else { "failures" }; + baseline_failure.set_message(format!( + "baseline measurement failed with {count} baseline {noun}; see the generated baseline-failure files for details" + )); + return Err(baseline_failure); + } + + Ok(baseline) } -/// Runs every binary once with no mutant active, `jobs` of them at a time. -/// -/// Returns what each one produced, positionally, so the caller can fold the results in the order -/// the binaries were given rather than the order they finished. -fn sweep_binaries( +/// Gives each test-failing binary one clean retry before rejecting the baseline. +fn retry_failed_binaries( work: &Workspace, binaries: &[TestBinary], budget: Duration, request: MemoryRequest, - jobs: usize, - completed: impl FnMut(), -) -> Vec> { - sweep_binaries_with(work, binaries, budget, request, jobs, observe_baseline, completed) + observer: &O, + measured: &mut [Option<(Duration, Observation)>], +) where + O: Fn(&Workspace, &TestBinary, Attempt<'_>) -> Observation + Sync, +{ + for (binary, slot) in binaries.iter().zip(measured) { + let retry = slot + .as_ref() + .is_some_and(|(_elapsed, observed)| matches!(&observed.verdict, Verdict::Failed(_) | Verdict::Flaky(_))); + + if !retry { + continue; + } + + let previous_failure = slot.as_ref().and_then(|(_elapsed, observed)| observed.failure.clone()); + let began = Instant::now(); + let mut observation = observer( + work, + binary, + Attempt { + active: None, + timeout: Some(budget), + stall: Stall::NONE, + request, + only: Only::All, + census: None, + }, + ); + + if let (Some(previous), Some(current)) = (&previous_failure, &mut observation.failure) { + let mut all = previous.failed_tests.clone(); + for test in ¤t.failed_tests { + if !all.contains(test) { + all.push(test.clone()); + } + } + current.failed_tests = all; + } + + let observation = if matches!(&observation.verdict, Verdict::Passed) { + crate::notes::note(format!( + "baseline target `{}` in package `{}` failed once and passed on retry", + binary.target, binary.package + )); + let failed_test = slot.as_ref().and_then(|(_elapsed, observed)| match &observed.verdict { + Verdict::Failed(test) | Verdict::Flaky(test) => test.clone(), + _ => None, + }); + Observation { + verdict: Verdict::Flaky(failed_test), + failure: previous_failure, + ..observation + } + } else { + observation + }; + + *slot = Some((began.elapsed(), observation)); + } } fn sweep_binaries_with( @@ -187,6 +339,7 @@ where let notes = crate::notes::current(); thread::scope(|scope| { + // #[gamma::skip(all, reason = "the worker count changes parallelism only; atomic indexing assigns every binary exactly once and positional collection makes the returned observations identical")] for _worker in 0..jobs.max(1) { let sender = sender.clone(); let next = &next; @@ -225,6 +378,7 @@ where } // The workers hold the only remaining senders, so the drain ends when the last one finishes. + // #[gamma::skip(all, reason = "retaining the coordinator sender prevents channel closure, so the receiver waits forever; this resource mutant is suppressed rather than weakening synchronization")] drop(sender); for (index, took, observed) in receiver { @@ -247,7 +401,7 @@ fn baseline_failure_error( verdict: &Verdict, evidence: Option<&FailureEvidence>, ) -> Error { - let runner = if work.runner().is_some() { "nextest" } else { "libtest" }; + let runner = runner_name(work.runner().is_some()); let directory = working_directory(work, binary); let (kind, test, last_test, reason, limit) = match verdict { Verdict::Failed(test) | Verdict::Flaky(test) => ("testFailure", test.as_deref(), None, None, None), @@ -289,89 +443,182 @@ fn baseline_failure_error( let output_truncated = evidence.is_some_and(|evidence| evidence.output_truncated); let elapsed_ms = duration_ms(elapsed); let budget_ms = duration_ms(budget); - let artifact = json!({ - "schemaVersion": 1, - "kind": kind, - "package": binary.package, - "packageId": binary.package_id, - "target": binary.target, - "runner": runner, - "executable": binary.path.as_str(), - "workingDirectory": directory.as_str(), - "environmentOverrides": baseline_environment(work), - "test": test, - "lastObservedTest": last_test, - "termination": termination, - "elapsedMs": elapsed_ms, - "budgetMs": budget_ms, - "peakBytes": peak, - "memoryLimitBytes": limit, - "reason": reason, - "stdoutTail": artifact_stdout, - "stderrTail": artifact_stderr, - "outputTruncated": output_truncated, - }); + let mut failed_tests = evidence.map_or_else(Vec::new, |evidence| evidence.failed_tests.clone()); + if failed_tests.is_empty() + && let Some(test) = test + { + failed_tests.push(test.to_owned()); + } + failed_tests.sort(); + failed_tests.dedup(); + + let tests: Vec> = if kind != "testFailure" || failed_tests.is_empty() { + vec![None] + } else { + failed_tests.iter().map(String::as_str).map(Some).collect() + }; + let mut failure = Error::new(String::new()); + + for test in tests { + let artifact = json!({ + "schemaVersion": 1, + "kind": kind, + "package": binary.package, + "packageId": binary.package_id, + "target": binary.target, + "runner": runner, + "executable": binary.path.as_str(), + "workingDirectory": directory.as_str(), + "environmentOverrides": baseline_environment(work), + "test": test, + "observedFailedTests": &failed_tests, + "lastObservedTest": last_test, + "termination": termination, + "elapsedMs": elapsed_ms, + "budgetMs": budget_ms, + "peakBytes": peak, + "memoryLimitBytes": limit, + "reason": reason, + "guidance": match verdict { + Verdict::MemoryLimit { .. } => Some("Raise `--baseline-memory-limit` if this workload is expected."), + _other => None, + }, + "stdoutTail": artifact_stdout, + "stderrTail": artifact_stderr, + "outputTruncated": output_truncated, + }); + let artifact_directory = baseline_artifact_directory(binary, kind, test); + failure = failure.with_nested_artifact(artifact_directory, "failure.json", artifact); + } + + failure +} + +const ARTIFACT_COMPONENT_CAP: usize = 32; +const TEST_COMPONENT_CAP: usize = 56; +const INITIAL_DIGEST_LEN: usize = 8; - let mut message = format!( - "the baseline could not be measured\n\n\ - Every verdict in a run is a comparison against the baseline, so there is nothing to \ - measure until this failure is resolved.\n\n\ - Package: {}\n\ - Target: {}\n\ - Runner: {runner}\n\ - Executable: {}\n\ - Working dir: {}\n\ - Failure: {}", - encode_controls(&binary.package), - encode_controls(&binary.target), - encode_controls(binary.path.as_str()), - encode_controls(directory.as_str()), - baseline_failure_description(verdict, budget), - ); - - if let Some(termination) = termination { - let _ = write!(message, "\nTermination: {termination}"); - } - - let _ = write!(message, "\nElapsed: {elapsed:.2?}"); - - match verdict { - Verdict::MemoryLimit { .. } => { - message.push_str("\nGuidance: Raise `--baseline-memory-limit` if this workload is expected."); +fn baseline_artifact_directory(binary: &TestBinary, kind: &str, test: Option<&str>) -> String { + let package = filesystem_component(&binary.package, ARTIFACT_COMPONENT_CAP); + let target = filesystem_component(&binary.target, ARTIFACT_COMPONENT_CAP); + + let (leaf, under_tests) = match test { + Some(test) => { + let test = filesystem_component(test, TEST_COMPONENT_CAP); + (test, true) } - _other => {} + None => (failure_category(kind).to_owned(), false), + }; + if under_tests { + format!("baseline-failures/{package}/{target}/tests/{leaf}") + } else { + format!("baseline-failures/{package}/{target}/{leaf}") } +} - error!("{message}").with_artifact("baseline-failure.json", artifact) +fn failure_category(kind: &str) -> &'static str { + match kind { + "timeout" => "timeout", + "memoryLimit" => "out-of-memory", + "enumerationFailure" => "enumeration-failure", + "stall" => "stall", + "infrastructureFailure" => "environment-failure", + _other => "anonymous-failure", + } } -fn baseline_failure_description(verdict: &Verdict, budget: Duration) -> String { - match verdict { - Verdict::Failed(Some(test)) | Verdict::Flaky(Some(test)) => { - format!("test `{}` failed", encode_controls(test)) +fn filesystem_component(value: &str, cap: usize) -> String { + let mut component = String::new(); + let mut separated = false; + + for character in value.chars() { + if character.is_ascii_alphanumeric() || matches!(character, '-' | '_') { + component.push(character); + separated = false; + } else if !separated { + component.push('_'); + separated = true; } - Verdict::Failed(None) | Verdict::Flaky(None) => "a test failed without naming itself".to_owned(), - Verdict::TestEnumerationFailed(_) => "nextest could not enumerate the selected tests".to_owned(), - Verdict::TimedOut => format!("the binary did not finish within {budget:.0?}"), - Verdict::Stalled(Some(test)) => { - format!("the binary stopped reporting progress after `{}`", encode_controls(test)) + + if component.len() >= cap { + break; } - Verdict::Stalled(None) => "the binary stopped reporting progress".to_owned(), - Verdict::MemoryLimit { peak, limit } => { - let reached = peak.map_or_else(String::new, |peak| format!(", reaching {}", crate::report::bytes(peak))); + } + + if component.is_empty() { + component.push('_'); + } + + if is_reserved_windows_name(&component) { + component.insert(0, '_'); + } + + component +} + +fn is_reserved_windows_name(component: &str) -> bool { + let upper = component.to_ascii_uppercase(); + + matches!(upper.as_str(), "CON" | "PRN" | "AUX" | "NUL") + || upper + .strip_prefix("COM") + .or_else(|| upper.strip_prefix("LPT")) + .is_some_and(|number| matches!(number, "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9")) +} + +fn directory_with_digest(directory: &str, identity: &str, length: usize) -> String { + let digest = blake3::hash(identity.as_bytes()).to_hex(); + directory_with_suffix(directory, &format!("--{}", &digest[..length.min(digest.len())])) +} - format!("the workload exceeded its {} memory ceiling{reached}", crate::report::bytes(*limit)) +fn directory_with_suffix(directory: &str, suffix: &str) -> String { + let (parent, leaf) = directory + .rsplit_once('/') + .expect("baseline artifact directories always contain a parent"); + let keep = TEST_COMPONENT_CAP.saturating_sub(suffix.len()); + let leaf = &leaf[..leaf.len().min(keep)]; + + format!("{parent}/{leaf}{suffix}") +} + +fn disambiguate_artifact_directories(failure: &mut Error) { + let mut used = crate::HashSet::default(); + + for artifact in failure.artifacts_mut() { + let folded = artifact.directory.to_ascii_lowercase(); + if used.insert(folded) { + continue; } - Verdict::Unmetered(reason) => { - format!( - "the baseline could not be measured as this run was configured: {}", - encode_controls(reason) - ) + + let identity = format!( + "{}\0{}\0{}\0{}\0{}\0{}", + artifact.value["package"].as_str().unwrap_or_default(), + artifact.value["target"].as_str().unwrap_or_default(), + artifact.value["packageId"].as_str().unwrap_or_default(), + artifact.value["executable"].as_str().unwrap_or_default(), + artifact.value["kind"].as_str().unwrap_or_default(), + artifact.value["test"].as_str().unwrap_or_default(), + ); + + let mut placed = false; + for length in (INITIAL_DIGEST_LEN..=64).step_by(4) { + let candidate = directory_with_digest(&artifact.directory, &identity, length); + if used.insert(candidate.to_ascii_lowercase()) { + artifact.directory = candidate; + placed = true; + break; + } } - Verdict::Unjudged(reason) => { - format!("the machine would not run the baseline: {}", encode_controls(reason)) + + if !placed { + for ordinal in 2_u64.. { + let candidate = directory_with_suffix(&artifact.directory, &format!("--{ordinal}")); + if used.insert(candidate.to_ascii_lowercase()) { + artifact.directory = candidate; + break; + } + } } - Verdict::Passed => unreachable!("a passing baseline has no failure description"), } } @@ -379,6 +626,10 @@ fn duration_ms(duration: Duration) -> u64 { u64::try_from(duration.as_millis()).unwrap_or(u64::MAX) } +const fn runner_name(nextest: bool) -> &'static str { + if nextest { "nextest" } else { "libtest" } +} + #[cfg(test)] #[cfg(not(miri))] mod tests { @@ -401,6 +652,7 @@ mod tests { Observation { verdict: Verdict::Passed, + reach: crate::exec::verdict::ReachObservation::Unknown, failure: None, quiet: Duration::ZERO, tests: Some(1), @@ -455,7 +707,7 @@ mod tests { // Continuing would time out every mutant against a suite that never finishes and report a // perfect score built entirely out of false detections. - assert!(failure.to_string().contains("did not finish"), "{failure}"); + assert_eq!(failure.artifact().expect("timeout record").value["kind"], "timeout"); } /// A suite that is already failing stops the run, naming the test. @@ -473,15 +725,12 @@ mod tests { // Every verdict is a comparison against the baseline, so a red one makes every mutant // look killed by a failure that was there before mutation started. let message = failure.to_string(); - - assert!(message.contains("test `a::b`"), "{message}"); - assert!(message.contains("exit code 101"), "{message}"); - assert!(!message.contains("test a::b ... FAILED"), "{message}"); - assert!(!message.contains("assertion failed: left != right"), "{message}"); + assert!(message.contains("1 baseline failure"), "{message}"); + assert!(!message.contains("a::b"), "{message}"); let artifact = failure.artifact().expect("a baseline failure carries a durable record"); - assert_eq!(artifact.file_name, "baseline-failure.json"); + assert_eq!(artifact.file_name, "failure.json"); assert_eq!(artifact.value["package"], "subject"); assert_eq!(artifact.value["executable"], binaries[0].path.as_str()); assert_eq!(artifact.value["workingDirectory"], working_directory(&work, &binaries[0]).as_str()); @@ -584,6 +833,283 @@ mod tests { assert_eq!(completed, binaries.len()); } + #[test] + fn a_baseline_test_failure_that_passes_on_retry_is_rejected_as_flaky() { + let (_directory, work) = crate::testing::helper_workspace("baseline-retry", &["exit:0"]); + let mut binaries = vec![TestBinary { + package: "subject".to_owned(), + target: "integration".to_owned(), + ..crate::testing::helper() + }]; + let attempts = AtomicUsize::new(0); + + let failure = measure_within_reporting_with( + &work, + &mut binaries, + Duration::from_secs(30), + MemoryRequest::default(), + 1, + |_work, _binary, _attempt| { + let verdict = if attempts.fetch_add(1, Ordering::Relaxed) == 0 { + Verdict::Failed(Some("sometimes_red".to_owned())) + } else { + Verdict::Passed + }; + + Observation { + verdict, + reach: crate::exec::verdict::ReachObservation::Unknown, + failure: None, + quiet: Duration::ZERO, + tests: Some(1), + peak: None, + } + }, + || {}, + ) + .expect_err("a passing retry confirms that the baseline target is flaky"); + + assert_eq!(attempts.load(Ordering::Relaxed), 2); + assert_eq!( + failure.artifact().expect("the flaky test is retained").value["test"], + "sometimes_red" + ); + } + + #[test] + fn a_repeated_baseline_test_failure_still_stops_the_run() { + let (_directory, work) = crate::testing::helper_workspace("baseline-repeated-failure", &["exit:0"]); + let mut binaries = vec![TestBinary { + package: "subject".to_owned(), + target: "integration".to_owned(), + ..crate::testing::helper() + }]; + let attempts = AtomicUsize::new(0); + + let failure = measure_within_reporting_with( + &work, + &mut binaries, + Duration::from_secs(30), + MemoryRequest::default(), + 1, + |_work, _binary, _attempt| { + attempts.fetch_add(1, Ordering::Relaxed); + + Observation { + verdict: Verdict::Failed(Some("always_red".to_owned())), + reach: crate::exec::verdict::ReachObservation::Unknown, + failure: None, + quiet: Duration::ZERO, + tests: Some(1), + peak: None, + } + }, + || {}, + ) + .expect_err("a repeated failure cannot establish a baseline"); + + assert_eq!(attempts.load(Ordering::Relaxed), 2); + assert_eq!( + failure.artifact().expect("the repeated failure is retained").value["test"], + "always_red" + ); + } + + #[test] + fn every_binary_settles_and_failures_get_distinct_artifacts() { + let (_directory, work) = crate::testing::helper_workspace("baseline-aggregate", &["exit:0"]); + let mut binaries: Vec = ["pass-before", "red/package", "timed:package", "pass-after"] + .into_iter() + .map(|package| TestBinary { + package: package.to_owned(), + package_id: format!("path+file:///workspace/{package}#0.1.0"), + target: "shared".to_owned(), + ..crate::testing::helper() + }) + .collect(); + let attempts = [AtomicUsize::new(0), AtomicUsize::new(0), AtomicUsize::new(0), AtomicUsize::new(0)]; + + let failure = measure_within_reporting_with( + &work, + &mut binaries, + Duration::from_secs(30), + MemoryRequest::default(), + 3, + |_work, binary, _attempt| { + let (index, verdict) = match binary.package.as_str() { + "pass-before" => (0, Verdict::Passed), + "red/package" => (1, Verdict::Failed(Some("red::case".to_owned()))), + "timed:package" => (2, Verdict::TimedOut), + "pass-after" => (3, Verdict::Passed), + other => panic!("unexpected package {other}"), + }; + attempts[index].fetch_add(1, Ordering::Relaxed); + Observation { + verdict, + reach: crate::exec::verdict::ReachObservation::Unknown, + failure: None, + quiet: Duration::ZERO, + tests: Some(1), + peak: None, + } + }, + || {}, + ) + .expect_err("terminal failures reject the baseline"); + + assert_eq!(attempts.map(|count| count.load(Ordering::Relaxed)), [1, 2, 1, 1]); + let message = failure.to_string(); + assert!(message.contains("2 baseline failures"), "{message}"); + assert!(!message.contains("red/package"), "{message}"); + assert!(!message.contains("timed:package"), "{message}"); + + let artifacts = failure.artifacts(); + assert_eq!(artifacts.len(), 2); + assert_ne!(artifacts[0].directory, artifacts[1].directory); + assert_eq!(artifacts[0].directory, "baseline-failures/red_package/shared/tests/red_case"); + assert_eq!(artifacts[1].directory, "baseline-failures/timed_package/shared/timeout"); + assert_eq!(artifacts[0].value["kind"], "testFailure"); + assert_eq!(artifacts[1].value["kind"], "timeout"); + } + + #[test] + fn a_resource_failure_does_not_claim_an_observed_test_caused_it() { + let (_directory, work, binaries) = diagnostic_harness(); + let evidence = FailureEvidence { + termination: None, + failed_tests: vec!["first::case".to_owned(), "second::case".to_owned()], + stdout_tail: String::new(), + stderr_tail: String::new(), + output_truncated: false, + }; + + let failure = baseline_failure_error( + &work, + &binaries[0], + Duration::from_secs(2), + Duration::from_secs(1), + &Verdict::TimedOut, + Some(&evidence), + ); + let artifact = failure.artifact().expect("timeout record"); + + assert_eq!(failure.artifacts().len(), 1); + assert_eq!(artifact.directory, "baseline-failures/subject/unit/timeout"); + assert!(artifact.value["test"].is_null()); + assert_eq!(artifact.value["observedFailedTests"], json!(["first::case", "second::case"])); + } + + #[test] + fn a_baseline_collects_every_reported_failure_and_trailing_diagnostics() { + let (_directory, work) = crate::testing::helper_workspace( + "baseline-all-failures", + &[ + "print:running 3 tests", + "print:test first::case ... FAILED", + "print:test passing::case ... ok", + "print:test second::case ... FAILED", + "print:failures:", + "print:assertion details", + "exit:101", + ], + ); + let mut binaries = vec![TestBinary { + package: "subject".to_owned(), + target: "integration".to_owned(), + ..crate::testing::helper() + }]; + + let failure = measure_within_reporting(&work, &mut binaries, Duration::from_secs(30), MemoryRequest::default(), 1, || {}) + .expect_err("a red baseline is rejected"); + let artifacts = failure.artifacts(); + + assert_eq!(artifacts.len(), 2); + assert_eq!(artifacts[0].value["test"], "first::case"); + assert_eq!(artifacts[1].value["test"], "second::case"); + assert!(artifacts.iter().all(|artifact| { + artifact.value["stdoutTail"] + .as_str() + .is_some_and(|output| output.contains("assertion details")) + })); + } + + #[test] + fn readable_artifact_paths_disambiguate_sanitized_and_case_folded_collisions() { + let (_directory, work, binaries) = diagnostic_harness(); + let evidence = FailureEvidence { + termination: Some(super::super::verdict::Termination::ExitCode(101)), + failed_tests: vec!["module::case".to_owned(), "module//case".to_owned(), "MODULE::CASE".to_owned()], + stdout_tail: String::new(), + stderr_tail: String::new(), + output_truncated: false, + }; + let mut failure = baseline_failure_error( + &work, + &binaries[0], + Duration::from_secs(1), + Duration::from_secs(30), + &Verdict::Failed(Some("module::case".to_owned())), + Some(&evidence), + ); + + disambiguate_artifact_directories(&mut failure); + + let directories: Vec<&str> = failure.artifacts().iter().map(|artifact| artifact.directory.as_str()).collect(); + assert_eq!(directories[0], "baseline-failures/subject/unit/tests/MODULE_CASE"); + assert!(directories[1].starts_with("baseline-failures/subject/unit/tests/module_case--")); + assert!(directories[2].starts_with("baseline-failures/subject/unit/tests/module_case--")); + assert_eq!( + directories + .iter() + .map(|directory| directory.to_ascii_lowercase()) + .collect::>() + .len(), + directories.len() + ); + } + + #[test] + fn artifact_components_are_windows_safe_and_length_bounded() { + let (_directory, _work, mut binaries) = diagnostic_harness(); + binaries[0].package = "CON".to_owned(); + binaries[0].target = "LPT1".to_owned(); + let test = "generated".repeat(32); + let directory = baseline_artifact_directory(&binaries[0], "testFailure", Some(&test)); + let components: Vec<&str> = directory.split('/').collect(); + + assert_eq!(&components[..4], &["baseline-failures", "_CON", "_LPT1", "tests"]); + assert_eq!(components[4].len(), TEST_COMPONENT_CAP); + assert!( + components[4] + .bytes() + .all(|byte| byte.is_ascii_alphanumeric() || matches!(byte, b'-' | b'_')) + ); + } + + #[test] + fn duplicate_readable_paths_from_distinct_binary_identities_do_not_overwrite() { + let (_directory, work, binaries) = diagnostic_harness(); + let mut first = binaries[0].clone(); + first.package_id = "path+file:///first#0.1.0".to_owned(); + first.path = "first/unit".into(); + let mut second = binaries[0].clone(); + second.package_id = "path+file:///second#0.1.0".to_owned(); + second.path = "second/unit".into(); + let verdict = Verdict::Failed(Some("same::case".to_owned())); + let mut aggregate = baseline_failure_error(&work, &first, Duration::from_secs(1), Duration::from_secs(30), &verdict, None); + let mut other = baseline_failure_error(&work, &second, Duration::from_secs(1), Duration::from_secs(30), &verdict, None); + aggregate.append_artifacts(&mut other); + + disambiguate_artifact_directories(&mut aggregate); + + assert_eq!(aggregate.artifacts()[0].directory, "baseline-failures/subject/unit/tests/same_case"); + assert!( + aggregate.artifacts()[1] + .directory + .starts_with("baseline-failures/subject/unit/tests/same_case--") + ); + } + /// A red binary is reported whichever worker happened to reach it first. /// /// With more than one binary in flight the order results arrive in is the scheduler's business, @@ -603,7 +1129,8 @@ mod tests { let failure = measure_within(&work, &mut binaries, Duration::from_secs(30), MemoryRequest::default(), 4).expect_err("the baseline must fail"); - assert!(failure.to_string().contains("test `a::b`"), "{failure}"); + assert_eq!(failure.artifacts().len(), binaries.len()); + assert!(failure.artifacts().iter().all(|artifact| artifact.value["test"] == "a::b")); } /// A binary whose harness announced no tests records that, so nothing later mistakes it for a @@ -649,7 +1176,9 @@ mod tests { let failure = measure_within(&work, &mut binaries, Duration::from_secs(30), MemoryRequest::default(), 1).expect_err("the baseline must fail"); - assert!(failure.to_string().contains("a test"), "{failure}"); + let artifact = failure.artifact().expect("anonymous failure record"); + assert!(artifact.value["test"].is_null()); + assert!(artifact.directory.ends_with("/anonymous-failure")); } /// A baseline binary that outgrows the ceiling placed around the calibration itself is @@ -677,7 +1206,10 @@ mod tests { let _removed = std::fs::remove_file(&fill); - assert!(failure.to_string().contains("--baseline-memory-limit"), "{failure}"); + assert_eq!( + failure.artifact().expect("memory failure record").value["guidance"], + "Raise `--baseline-memory-limit` if this workload is expected." + ); } /// A host that cannot install the memory accounting a metered baseline asked for stops the @@ -699,10 +1231,11 @@ mod tests { let failure = measure_within(&work, &mut binaries, Duration::from_secs(30), request, 1) .expect_err("a host that cannot meter memory must not measure a baseline unprotected"); - // The wrapper has to say the baseline could not be measured as configured, and it has to - // carry the underlying cause through rather than replacing it. - assert!(failure.to_string().contains("as this run was configured"), "{failure}"); - assert!(failure.to_string().contains("cgroup"), "{failure}"); + let artifact = failure.artifact().expect("infrastructure failure record"); + assert!( + artifact.value["reason"].as_str().is_some_and(|reason| reason.contains("cgroup")), + "{artifact:?}" + ); } /// A metered baseline writes each binary's peak back, which is what a ceiling is derived from. @@ -723,11 +1256,11 @@ mod tests { assert_eq!(baseline.peak, binaries[0].peak); } - /// A baseline that outgrows its own explicit ceiling stops the run and says which number to move. + /// A baseline that outgrows its own explicit ceiling retains both measured numbers. #[test] fn a_baseline_that_outgrows_its_ceiling_names_the_ceiling() { let (_directory, work, binaries) = diagnostic_harness(); - let cause = baseline_failure_error( + let failure = baseline_failure_error( &work, &binaries[0], Duration::from_secs(1), @@ -737,15 +1270,12 @@ mod tests { limit: 256 * 1024 * 1024, }, None, - ) - .to_string(); + ); + let artifact = failure.artifact().expect("the memory failure is retained"); - // The user set this ceiling themselves, and no mutant is involved, so the message has to - // point at the flag rather than read like a mutant was caught. - assert!(cause.contains("unit"), "{cause}"); - assert!(cause.contains("--baseline-memory-limit"), "{cause}"); - assert!(cause.contains("256.0 MB"), "{cause}"); - assert!(cause.contains("300.0 MB"), "{cause}"); + assert_eq!(artifact.value["memoryLimitBytes"], 256 * 1024 * 1024); + assert_eq!(artifact.value["peakBytes"], 300 * 1024 * 1024); + assert_eq!(artifact.directory, "baseline-failures/subject/unit/out-of-memory"); } #[test] @@ -753,6 +1283,7 @@ mod tests { let (_directory, work, binaries) = diagnostic_harness(); let evidence = FailureEvidence { termination: None, + failed_tests: Vec::new(), stdout_tail: "\u{1b}[31mred\u{1b}[0m".to_owned(), stderr_tail: String::new(), output_truncated: false, @@ -765,15 +1296,256 @@ mod tests { &Verdict::TimedOut, Some(&evidence), ); - let cause = failure.to_string(); + let artifact = failure.artifact().expect("a baseline timeout carries a durable record"); + + assert_eq!(artifact.directory, "baseline-failures/subject/unit/timeout"); + assert_eq!(artifact.value["budgetMs"], 600_000); + assert_eq!(artifact.value["stdoutTail"], "\\e[31mred\\e[0m"); + } + + #[test] + fn every_baseline_failure_variant_has_a_complete_distinct_durable_contract() { + let (_directory, work, binaries) = diagnostic_harness(); + let cases = [ + ( + Verdict::Failed(Some("case::failed".to_owned())), + "testFailure", + Some("case::failed"), + None, + None, + ), + ( + Verdict::Flaky(Some("case::flaky".to_owned())), + "testFailure", + Some("case::flaky"), + None, + None, + ), + ( + Verdict::TestEnumerationFailed("enumerator refused".to_owned()), + "enumerationFailure", + None, + Some("enumerator refused"), + None, + ), + ( + Verdict::TimedOut, + "timeout", + None, + Some("the test binary exceeded its baseline time budget"), + None, + ), + ( + Verdict::Stalled(Some("case::last".to_owned())), + "stall", + None, + Some("the test binary stopped reporting progress"), + None, + ), + ( + Verdict::MemoryLimit { + peak: Some(300), + limit: 200, + }, + "memoryLimit", + None, + Some("the test workload exceeded its configured baseline memory ceiling"), + Some(200), + ), + ( + Verdict::Unmetered("meter unavailable".to_owned()), + "infrastructureFailure", + None, + Some("meter unavailable"), + None, + ), + ( + Verdict::Unjudged("host refused".to_owned()), + "infrastructureFailure", + None, + Some("host refused"), + None, + ), + ]; + + for (verdict, kind, test, reason, limit) in cases { + let failure = baseline_failure_error( + &work, + &binaries[0], + Duration::from_millis(1_234), + Duration::from_millis(5_678), + &verdict, + None, + ); + let artifact = &failure.artifact().expect("every baseline failure is durable").value; + + assert_eq!(artifact["schemaVersion"], 1); + assert_eq!(artifact["kind"], kind); + assert_eq!(artifact["package"], binaries[0].package); + assert_eq!(artifact["target"], binaries[0].target); + assert_eq!(artifact["runner"], "libtest"); + assert_eq!(artifact["test"].as_str(), test); + assert_eq!(artifact["reason"].as_str(), reason); + assert_eq!(artifact["memoryLimitBytes"].as_u64(), limit); + assert_eq!(artifact["elapsedMs"], 1_234); + assert_eq!(artifact["budgetMs"], 5_678); + assert_eq!(artifact["stdoutTail"], ""); + assert_eq!(artifact["stderrTail"], ""); + assert_eq!(artifact["outputTruncated"], false); + assert!(failure.to_string().is_empty(), "{failure}"); + + match verdict { + Verdict::Stalled(_) => assert_eq!(artifact["lastObservedTest"], "case::last"), + Verdict::MemoryLimit { .. } => assert_eq!(artifact["peakBytes"], 300), + _ => { + assert!(artifact["lastObservedTest"].is_null()); + assert!(artifact["peakBytes"].is_null()); + } + } + } + } + + #[test] + fn runner_names_are_distinct_and_complete() { + assert_eq!(runner_name(false), "libtest"); + assert_eq!(runner_name(true), "nextest"); + } + + #[test] + fn baseline_folding_preserves_every_observation_field_and_attempt_contract() { + let (_directory, work) = crate::testing::helper_workspace("baseline-fold-contract", &["exit:0"]); + let mut binaries = vec![ + TestBinary { + package: "subject".to_owned(), + target: "first".to_owned(), + ..crate::testing::helper() + }, + TestBinary { + package: "subject".to_owned(), + target: "second".to_owned(), + ..crate::testing::helper() + }, + ]; + let completed = AtomicUsize::new(0); + + let baseline = measure_within_reporting_with( + &work, + &mut binaries, + Duration::from_secs(17), + MemoryRequest { + meter: true, + limit: Some(999), + }, + 2, + |_work, binary, attempt| { + assert!(attempt.active.is_none()); + assert_eq!(attempt.timeout, Some(Duration::from_secs(17))); + assert_eq!(attempt.stall, Stall::NONE); + assert_eq!(attempt.request.limit, Some(999)); + assert!(matches!(attempt.only, Only::All)); + assert!(attempt.census.is_none()); + + if binary.target == "first" { + Observation { + verdict: Verdict::Passed, + reach: crate::exec::verdict::ReachObservation::Unknown, + failure: None, + quiet: Duration::from_secs(3), + tests: Some(4), + peak: Some(100), + } + } else { + Observation { + verdict: Verdict::Passed, + reach: crate::exec::verdict::ReachObservation::Unknown, + failure: None, + quiet: Duration::from_secs(7), + tests: Some(6), + peak: Some(300), + } + } + }, + || { + completed.fetch_add(1, Ordering::Relaxed); + }, + ) + .expect("both observations pass"); + + assert_eq!(completed.load(Ordering::Relaxed), 2); + assert_eq!(baseline.tests, Some(10)); + assert_eq!(baseline.peak, Some(300)); + assert_eq!(baseline.quiet, Duration::from_secs(7)); + assert_eq!(baseline.elapsed, binaries.iter().map(|binary| binary.baseline).sum()); + assert_eq!(binaries[0].tests, Some(4)); + assert_eq!(binaries[1].tests, Some(6)); + assert_eq!(binaries[0].peak, Some(100)); + assert_eq!(binaries[1].peak, Some(300)); + assert!(binaries.iter().all(|binary| binary.baseline > Duration::ZERO)); + } + + #[test] + fn retry_visits_only_failed_slots_and_replaces_their_observation() { + crate::notes::alone(retry_visits_only_failed_slots_and_replaces_their_observation_inner); + } + + fn retry_visits_only_failed_slots_and_replaces_their_observation_inner() { + let (_directory, work) = crate::testing::helper_workspace("baseline-retry-selection", &["exit:0"]); + let binaries = vec![ + TestBinary { + target: "green".to_owned(), + ..crate::testing::helper() + }, + TestBinary { + target: "red".to_owned(), + ..crate::testing::helper() + }, + ]; + let calls = AtomicUsize::new(0); + let passed = || Observation { + verdict: Verdict::Passed, + reach: crate::exec::verdict::ReachObservation::Unknown, + failure: None, + quiet: Duration::from_secs(9), + tests: Some(8), + peak: Some(7), + }; + let mut measured = vec![ + Some((Duration::from_secs(1), passed())), + Some(( + Duration::from_secs(2), + Observation { + verdict: Verdict::Failed(Some("red::case".to_owned())), + ..passed() + }, + )), + ]; + + retry_failed_binaries( + &work, + &binaries, + Duration::from_secs(6), + MemoryRequest::default(), + &|_work, binary, attempt| { + calls.fetch_add(1, Ordering::Relaxed); + assert_eq!(binary.target, "red"); + assert_eq!(attempt.timeout, Some(Duration::from_secs(6))); + assert!(attempt.active.is_none()); + passed() + }, + &mut measured, + ); - // A timeout before mutants run is a property of the fixed suite, so the message must point - // at the binary the user can run directly. - assert!(cause.contains("unit"), "{cause}"); - assert!(cause.contains("600s"), "{cause}"); + assert_eq!(calls.load(Ordering::Relaxed), 1); + assert_eq!(measured[0].as_ref().unwrap().0, Duration::from_secs(1)); + assert!(matches!(measured[0].as_ref().unwrap().1.verdict, Verdict::Passed)); + assert!(matches!( + measured[1].as_ref().unwrap().1.verdict, + Verdict::Flaky(Some(ref test)) if test == "red::case" + )); + assert_eq!(measured[1].as_ref().unwrap().1.tests, Some(8)); assert_eq!( - failure.artifact().expect("a baseline timeout carries a durable record").value["stdoutTail"], - "\\e[31mred\\e[0m" + crate::notes::drain(), + ["baseline target `red` in package `` failed once and passed on retry"] ); } } diff --git a/crates/cargo-gamma-lib/src/exec/build.rs b/crates/cargo-gamma-lib/src/exec/build.rs index 9a6ec0ab3..1c5a12837 100644 --- a/crates/cargo-gamma-lib/src/exec/build.rs +++ b/crates/cargo-gamma-lib/src/exec/build.rs @@ -2,13 +2,14 @@ // Licensed under the MIT License. use core::time::Duration; +use std::sync::Arc; use std::time::Instant; use camino::Utf8PathBuf; use super::cargo_options::BuildLimits; use super::events::Events; -use super::test_binary::{TestBinary, test_binaries}; +use super::test_binary::{TestBinary, linked_target_args, retain_linked_to_population, test_binaries_with_linkage}; use super::verdict::tail; use super::workspace::Workspace; use crate::discover::Plan; @@ -20,7 +21,7 @@ use crate::{HashMap, HashSet, Result}; mod blame; mod complaints; mod invoke; -mod messages; +pub(super) mod messages; mod splices; #[cfg(all(test, not(miri)))] @@ -113,6 +114,40 @@ pub struct Round { /// How many mutants the round withdrew, which is zero for the round that finally compiled. pub withdrew: usize, + + /// Withdrawals attributed to each package during this round. + pub packages: Vec, +} + +/// Mutants withdrawn from one package during one build round. +#[derive(Debug, Clone)] +pub struct PackageWithdrawal { + pub package: Arc, + pub mutants: usize, +} + +fn build_round(elapsed: Duration, plan: &Plan, ordinals: impl IntoIterator) -> Round { + let ordinals: HashSet = ordinals.into_iter().collect(); + let mut packages: HashMap, usize> = HashMap::default(); + + for mutant in &plan.mutants { + if ordinals.contains(&mutant.ordinal) { + let count = packages.entry(Arc::clone(&mutant.package)).or_default(); + *count = count.saturating_add(1); + } + } + + let mut packages = packages + .into_iter() + .map(|(package, mutants)| PackageWithdrawal { package, mutants }) + .collect::>(); + packages.sort_by(|left, right| left.package.cmp(&right.package)); + + Round { + elapsed, + withdrew: ordinals.len(), + packages, + } } /// How many mutants one rustc error code withdrew from one mutator. @@ -140,6 +175,10 @@ pub(super) struct Build { pub(super) history: Vec, pub(super) binaries: Vec, + + /// Cargo's successful final build stream, retained until the test runtime environment has + /// been reconstructed from its artifacts and build-script outputs. + pub(super) artifacts: String, pub(super) withdrawn: usize, /// How many rollback rounds the whole run spent, summed over its builds. @@ -178,6 +217,7 @@ enum Convergence { } /// What a proof build isolated after rustc's spans could not identify a cause. +#[derive(Debug)] enum Isolation { /// One or more mutants failed even without any other mutant from their item. Blamed(Vec), @@ -224,6 +264,9 @@ pub(super) struct Converger { /// judged unbuildable, which is the exact confusion this run is trying to avoid. abandoned: HashSet, + /// Mutants discovered from a different source generation than the synchronized build tree. + unavailable: HashSet, + /// How many rounds the build currently converging has spent, reset at the start of each one. rounds: u32, @@ -310,6 +353,9 @@ pub(super) struct Converger { /// keeps feature unification constant while mutation viability is checked stage by stage. workspace_stages: bool, + /// Cargo's successful preflight artifact stream, used only to narrow later test-target builds. + target_discovery: Option, + /// A test-only stand-in for the proof build in [`Self::subset_fails`]. /// /// Reaching [`Isolation::Item`] needs a subset that compiles alone but fails only in @@ -332,14 +378,18 @@ pub(super) struct Preflight { /// The packages the check had to give up on, empty in the ordinary case. pub(super) dropped: Vec, + + /// Artifact identities from the successful unmodified check. + pub(super) discovery: String, } impl Preflight { /// The result of a check that passed in the scope it was asked about. - const fn narrow(dropped: Vec) -> Self { + fn narrow(dropped: Vec, discovery: String) -> Self { Self { whole_workspace: false, dropped, + discovery, } } } @@ -366,7 +416,13 @@ impl Converger { self.workspace_stages = true; } + /// Supplies the successful unmodified artifact stream used for target-level narrowing. + pub(super) fn target_discovery(&mut self, discovery: String) { + self.target_discovery = Some(discovery); + } + /// Invalidates position-based splice indexes after the plan is sorted. + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] pub(super) fn plan_reordered(&mut self) { self.splices.plan_reordered(); } @@ -405,8 +461,10 @@ impl Converger { /// Resets state that describes one Cargo command and root set. fn begin_convergence(&mut self) { + // #[gamma::skip(all, reason = "the replacement is exactly the type default already written here, so it is semantically identical")] self.rounds = 0; self.per_round.clear(); + // #[gamma::skip(all, reason = "the replacement is exactly the type default already written here, so it is semantically identical")] self.first_round = None; } @@ -446,7 +504,7 @@ impl Converger { self.total_rounds = self.total_rounds.saturating_add(1); let withdrawn = self.scoped_withdrawn(plan, scope.mutants); - let guards = self.splices.instrument(work, plan, &withdrawn)?; + let guards = self.instrument_schema(work, plan, &withdrawn)?; let started = Instant::now(); let outcome = run_cargo(work, plan, verb, scope.roots, limits, self.first_round, events)?; @@ -458,12 +516,15 @@ impl Converger { return Err(Self::build_timeout_error(budget)); }; + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if self.first_round.is_none() { + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] self.first_round = Some(elapsed); } if outcome.succeeded { - self.history.push(Round { elapsed, withdrew: 0 }); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + self.history.push(build_round(elapsed, plan, [])); return Ok(Convergence::Built(stdout)); } @@ -477,10 +538,7 @@ impl Converger { Isolation::Blamed(ordinals) | Isolation::Item(ordinals) => ordinals, }; - self.history.push(Round { - elapsed, - withdrew: ordinals.len(), - }); + self.history.push(build_round(elapsed, plan, ordinals.iter().copied())); for ordinal in ordinals { let _ = self.withdrawn.insert(*ordinal); @@ -494,7 +552,7 @@ impl Converger { continue; } - self.history.push(Round { elapsed, withdrew: 0 }); + self.history.push(build_round(elapsed, plan, [])); return Ok(Convergence::Stuck(Self::unattributed_build_error(work, &stdout, &outcome.stderr))); } @@ -511,15 +569,12 @@ impl Converger { // Nothing was withdrawn: `history` is what the run reports its build time against, // and this round ended without applying its blame. - self.history.push(Round { elapsed, withdrew: 0 }); + self.history.push(build_round(elapsed, plan, [])); return Ok(Convergence::Stuck(error)); } - self.history.push(Round { - elapsed, - withdrew: blamed.len(), - }); + self.history.push(build_round(elapsed, plan, blamed.keys().copied())); for (ordinal, code) in blamed { let _ = self.withdrawn.insert(ordinal); @@ -709,13 +764,13 @@ impl Converger { } } - let _guards = self.splices.instrument(work, plan, &withdrawn)?; + let _guards = self.instrument_schema(work, plan, &withdrawn)?; let started = Instant::now(); let outcome = run_cargo(work, plan, verb, scope.roots, limits, self.first_round, events)?; let elapsed = started.elapsed(); self.total_rounds = self.total_rounds.saturating_add(1); - self.history.push(Round { elapsed, withdrew: 0 }); + self.history.push(build_round(elapsed, plan, [])); Ok(outcome.stdout.map(|_stdout| !outcome.succeeded)) } @@ -749,6 +804,7 @@ impl Converger { ) -> Result<()> { let (candidates, deferred) = self.probe_sets(plan, scope.mutants); + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if candidates.len() < PROBE_FLOOR { return Ok(()); } @@ -765,7 +821,7 @@ impl Converger { self.ordering.offered = self.ordering.offered.saturating_add(candidates.len()); self.ordering.rounds = self.ordering.rounds.saturating_add(1); - let guards = self.splices.instrument(work, plan, &deferred)?; + let guards = self.instrument_schema(work, plan, &deferred)?; let started = Instant::now(); let outcome = run_cargo(work, plan, verb, scope.roots, limits, self.first_round, events)?; @@ -780,7 +836,7 @@ impl Converger { self.total_rounds = self.total_rounds.saturating_add(1); let Some(stdout) = outcome.stdout else { - self.history.push(Round { elapsed, withdrew: 0 }); + self.history.push(build_round(elapsed, plan, [])); return Ok(()); }; @@ -792,7 +848,7 @@ impl Converger { // Every hint was wrong: nothing here is unviable now. Nothing is withdrawn and nothing // is recorded against these mutants — the round bought only the knowledge that it did // not need to be taken, which `offered` against `confirmed` is what reports. - self.history.push(Round { elapsed, withdrew: 0 }); + self.history.push(build_round(elapsed, plan, [])); return Ok(()); } @@ -800,10 +856,7 @@ impl Converger { let mut blamed = blame(&stdout, &work.root, &guards); retain_blamed(&mut blamed, plan, scope.mutants); - self.history.push(Round { - elapsed, - withdrew: blamed.len(), - }); + self.history.push(build_round(elapsed, plan, blamed.keys().copied())); self.ordering.confirmed = self.ordering.confirmed.saturating_add(blamed.len()); @@ -821,6 +874,7 @@ impl Converger { /// when Cargo's roots are wider, so an error from another stage cannot mask or be mistaken for /// evidence about a hinted candidate. fn probe_sets(&self, plan: &Plan, select: Option<&[String]>) -> (Vec, HashSet) { + // #[gamma::skip(all, reason = "the alternative changes only internal candidate ordering or tie selection, not the accepted population exposed by this layer")] let mine = |mutant: &Mutant| select.is_none_or(|names| names.iter().any(|name| name.as_str() == &*mutant.package)); let mut candidates: Vec = Vec::new(); @@ -831,6 +885,7 @@ impl Converger { continue; } + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if !mine(mutant) { let _ = deferred.insert(mutant.ordinal); continue; @@ -846,6 +901,7 @@ impl Converger { // Sorted so that the probe a run takes depends only on the plan and the hints, never on the // iteration order of a set. The build keys by ordinal, but the reported counts and any // future tie-break would otherwise vary between two runs over an identical tree. + // #[gamma::skip(all, reason = "the ordering or deduplication is retained for deterministic, efficient behavior; the current internal consumer observes the same population")] candidates.sort_unstable(); (candidates, deferred) @@ -914,6 +970,22 @@ impl Converger { ) } + /// Instruments the synchronized tree and retires mutants discovered from another generation. + /// + /// Discovery runs after the scratch copy is synchronized. If the live checkout changes in + /// between, its spans no longer describe the tree this run proved and will test. Those mutants + /// are explicitly reported as not built rather than either spliced at the wrong offsets or + /// allowed to reach the missing-guard invariant as an internal error. + fn instrument_schema(&mut self, work: &Workspace, plan: &Plan, withdrawn: &HashSet) -> Result { + let instrumented = self.splices.instrument(work, plan, withdrawn)?; + + self.withdrawn.extend(instrumented.unavailable.iter().copied()); + self.abandoned.extend(instrumented.unavailable.iter().copied()); + self.unavailable.extend(instrumented.unavailable); + + Ok(instrumented.guards) + } + fn missing_guard_error(missing: &Mutant) -> Error { error!( "internal error: no guard was emitted for the mutant at {}:{}, so it could not \ @@ -951,7 +1023,7 @@ impl Converger { events: &mut dyn Events, ) -> Result { match Self::check(work, plan, select, mutating, limits, events) { - Ok(()) => Ok(Preflight::narrow(Vec::new())), + Ok(discovery) => Ok(Preflight::narrow(Vec::new(), discovery)), // A narrowed check is not a smaller version of the whole one: cargo unifies features // over the packages it is told to build, so a target that only compiles because some @@ -974,10 +1046,11 @@ impl Converger { // "the tree compiles"; it is "the tree compiles when cargo unifies features over // every member", and a later build that narrowed again would reproduce the very // failure this branch has just proved is not any mutant's doing. - if Self::check(work, plan, None, mutating, limits, events).is_ok() { + if let Ok(discovery) = Self::check(work, plan, None, mutating, limits, events) { return Ok(Preflight { whole_workspace: true, dropped: Vec::new(), + discovery, }); } @@ -1032,9 +1105,9 @@ impl Converger { events.build_progress("the whole workspace did not build either, checking only the packages being mutated"); - Self::check(work, plan, Some(mutating), mutating, limits, events).map_err(|_last| narrow)?; + let discovery = Self::check(work, plan, Some(mutating), mutating, limits, events).map_err(|_last| narrow)?; - Ok(Preflight::narrow(dropped)) + Ok(Preflight::narrow(dropped, discovery)) } /// Runs one preflight check over the packages named, or the whole workspace when none are. @@ -1045,7 +1118,8 @@ impl Converger { mutating: &[String], limits: BuildLimits, events: &mut dyn Events, - ) -> Result<()> { + ) -> Result { + // #[gamma::skip(all, reason = "the optional state is observed only through higher-level process orchestration that cannot be isolated safely here")] let outcome = run_cargo(work, plan, &["check", "--tests", "--keep-going"], select, limits, None, events)?; let Some(stdout) = outcome.stdout else { @@ -1053,7 +1127,7 @@ impl Converger { }; if outcome.succeeded { - return Ok(()); + return Ok(stdout); } let mut diagnostics = diagnostics(&stdout); @@ -1105,7 +1179,9 @@ impl Converger { // withdrew as one line when it is done, and a round-by-round commentary underneath that // would bury the sequence the whole arrangement exists to show. let workspace = self.whole_workspace || self.workspace_stages; + // #[gamma::skip(all, reason = "the optional state is observed only through higher-level process orchestration that cannot be isolated safely here")] let roots = if workspace { None } else { Some(packages) }; + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] let verb: &[&str] = if workspace { &["check", "--keep-going"] } else { @@ -1117,6 +1193,7 @@ impl Converger { plan, BuildScope { roots, + // #[gamma::skip(all, reason = "the optional state is observed only through higher-level process orchestration that cannot be isolated safely here")] mutants: Some(packages), }, verb, @@ -1124,6 +1201,7 @@ impl Converger { events, )? { Convergence::Built(stdout) => { + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] self.remember_compiled(&stdout, &work.root); Ok(None) } @@ -1172,7 +1250,13 @@ impl Converger { /// already carries [`Outcome::NotBuilt`] from [`Self::abandon`] and keeps it. pub(super) fn settle(&self, plan: &mut Plan) { for mutant in &mut plan.mutants { - if self.abandoned.contains(&mutant.ordinal) { + if self.unavailable.contains(&mutant.ordinal) { + mutant.outcome = Outcome::NotBuilt; + mutant.note = Some( + "the source changed between synchronization and discovery, so this mutant did not describe the tree being tested" + .to_owned(), + ); + } else if self.abandoned.contains(&mutant.ordinal) { mutant.outcome = Outcome::NotBuilt; mutant.note = Some("the instrumented forms in this item could not compile together, so its mutants were not run".to_owned()); @@ -1193,20 +1277,54 @@ impl Converger { limits: BuildLimits, events: &mut dyn Events, ) -> Result { - // `cargo build --tests` emits the same compiler-artifact executable messages consumed by - // `test_binaries`, while `--keep-going` lets convergence collect diagnostics from siblings - // after one target fails. Reusing this stream avoids a second cache-hit Cargo invocation. - self.converge_scoped( + let target_args = self + .target_discovery + .as_deref() + .and_then(|stdout| linked_target_args(stdout, &work.root, work.rustc_captures().as_deref(), plan)); + // #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] + let mut verb = vec!["build", "--keep-going"]; + + if let Some(target_args) = &target_args { + verb.extend(target_args.iter().map(String::as_str)); + } else { + verb.push("--tests"); + } + + // The successful preflight can replace `--tests` with exact Cargo target selectors. Either + // form emits the compiler-artifact executable messages consumed by `test_binaries`, while + // `--keep-going` lets convergence collect diagnostics from siblings after one target fails. + // Reusing this stream avoids a second cache-hit Cargo invocation. + let narrowed = self.converge_scoped( work, plan, BuildScope { roots: select, mutants: select, }, - &["build", "--tests", "--keep-going"], + &verb, limits, events, - ) + )?; + + match (target_args.is_some(), narrowed) { + (true, Convergence::Stuck(narrow)) => { + match self.converge_scoped( + work, + plan, + BuildScope { + roots: select, + mutants: select, + }, + &["build", "--tests", "--keep-going"], + limits, + events, + )? { + Convergence::Built(stdout) => Ok(Convergence::Built(stdout)), + Convergence::Stuck(_whole) => Ok(Convergence::Stuck(narrow)), + } + } + (_narrowed, convergence) => Ok(convergence), + } } /// Builds the whole workspace, which is what decides the run. @@ -1227,6 +1345,7 @@ impl Converger { events: &mut dyn Events, ) -> Result { let select = self.scoped(select); + // #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] let mut widened = false; let converged = match self.compile(work, plan, select, limits, events)? { @@ -1261,6 +1380,7 @@ impl Converger { history: self.history.clone(), census: self.tally(plan), binaries: Vec::new(), + artifacts: String::new(), withdrawn: self.withdrawn.len().saturating_sub(self.abandoned.len()), rounds: self.total_rounds, widened, @@ -1271,19 +1391,27 @@ impl Converger { }; self.settle(plan); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] self.remember_compiled(&stdout, &work.root); // Runs after the withdrawal above so that a mutant which genuinely failed to compile keeps // that more specific verdict; see [`withdraw_uncompiled`] for why the set is only trusted // when it agrees with the survey at all. if let Some(compiled) = &self.compiled { + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] withdraw_uncompiled(plan, compiled); } + let captures = work.rustc_captures(); + let mut binaries = test_binaries_with_linkage(&stdout, &work.root, captures.as_deref()); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + retain_linked_to_population(&mut binaries, plan); + Ok(Build { history: self.history.clone(), census: self.tally(plan), - binaries: test_binaries(&stdout), + binaries, + artifacts: stdout, withdrawn: self.withdrawn.len().saturating_sub(self.abandoned.len()), rounds: self.total_rounds, widened, @@ -1298,6 +1426,7 @@ impl Converger { } /// Adds one successful Cargo invocation's dep-info to the run-wide source inventory. + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] fn remember_compiled(&mut self, stdout: &str, root: &camino::Utf8Path) { if let Some(found) = compiled_sources(stdout, root) { self.compiled.get_or_insert_with(HashSet::default).extend(found); @@ -1374,3 +1503,266 @@ fn withdraw_uncompiled(plan: &mut Plan, compiled: &HashSet) { } } } + +#[cfg(test)] +mod mutation_outcome_tests { + use camino::Utf8Path; + use compact_str::CompactString; + + use super::*; + use crate::ops::collect::Shape; + + fn plan(mutants: Vec) -> Plan { + Plan { + root: Utf8PathBuf::from("root"), + files: Vec::new(), + mutants, + suppressed: 0, + idle: Vec::new(), + sharded_out: 0, + settled_out: 0, + digests: HashMap::default(), + skipped: Vec::new(), + reach: HashMap::default(), + specs: HashMap::default(), + } + } + + fn mutant(ordinal: u32, package: &str, item: &str) -> Mutant { + Mutant { + id: format!("{ordinal:012x}").into(), + ordinal, + file: Arc::from(Utf8Path::new("src/lib.rs")), + package: Arc::from(package), + span: 0..1, + line: ordinal as usize, + end_line: ordinal as usize, + column: 1, + mutator: Arc::from("literal.bool_flip"), + item_path: Arc::from(item), + occurrence: 0, + replacement_index: 0, + original: CompactString::new("true"), + replacement: CompactString::new("false"), + shape: Shape::Expr, + outcome: Outcome::Pending, + suppression: None, + expectation: None, + test_timeout_multiplier: None, + elapsed_ms: 0, + killed_by: None, + note: None, + } + } + + #[test] + fn converger_state_updates_are_exact_and_repeatable() { + let mut converger = Converger::default(); + converger.target_discovery("artifact stream".to_owned()); + assert_eq!(converger.target_discovery.as_deref(), Some("artifact stream")); + + converger.rounds = 9; + converger.per_round.extend([3, 2, 1]); + converger.first_round = Some(Duration::from_secs(2)); + converger.begin_convergence(); + assert_eq!(converger.rounds, 0); + assert!(converger.per_round.is_empty()); + assert_eq!(converger.first_round, None); + + let preflight = Preflight::narrow(vec!["dropped".to_owned()], "discovery".to_owned()); + assert!(!preflight.whole_workspace); + assert_eq!(preflight.dropped, ["dropped"]); + assert_eq!(preflight.discovery, "discovery"); + } + + #[test] + fn build_rounds_attribute_withdrawals_to_packages_without_dividing_elapsed_time() { + let plan = plan(vec![ + mutant(1, "alpha", "alpha::one"), + mutant(2, "beta", "beta::one"), + mutant(3, "alpha", "alpha::two"), + ]); + + let round = build_round(Duration::from_secs(7), &plan, [3, 1]); + + assert_eq!(round.elapsed, Duration::from_secs(7)); + assert_eq!(round.withdrew, 2); + assert_eq!(round.packages.len(), 1); + assert_eq!(&*round.packages[0].package, "alpha"); + assert_eq!(round.packages[0].mutants, 2); + } + + #[test] + fn probe_sets_respect_sentinel_withdrawal_package_hint_and_order() { + let sentinel = mutant(0, "a", "sentinel"); + let first = mutant(3, "a", "one"); + let second = mutant(1, "a", "two"); + let other = mutant(2, "b", "three"); + let mut converger = Converger::guided(HashSet::from_iter([first.id.clone(), second.id.clone(), other.id.clone()])); + let _ = converger.withdrawn.insert(3); + let _ = converger.probed.insert(2); + let plan = plan(vec![sentinel, first, second, other]); + + let selected = vec!["a".to_owned()]; + let (candidates, deferred) = converger.probe_sets(&plan, Some(&selected)); + assert_eq!(candidates, [1]); + assert_eq!(deferred, HashSet::from_iter([2, 3])); + } + + #[test] + fn abandonment_and_settlement_touch_only_the_requested_live_population() { + let mut plan = plan(vec![ + mutant(0, "a", "sentinel"), + mutant(3, "a", "one"), + mutant(1, "b", "two"), + mutant(2, "a", "three"), + ]); + let mut converger = Converger::default(); + let _ = converger.withdrawn.insert(3); + let packages = vec!["a".to_owned()]; + let abandoned = converger.abandon(&mut plan, Some(&packages), &error!("reason")); + + assert_eq!(abandoned.reason, "reason"); + assert_eq!(abandoned.ordinals, [2]); + assert_eq!(plan.mutants[2].outcome, Outcome::Pending); + assert_eq!(plan.mutants[3].outcome, Outcome::NotBuilt); + assert!( + plan.mutants[3] + .note + .as_deref() + .is_some_and(|note| note.contains("could not be made to compile")) + ); + + converger.settle(&mut plan); + assert_eq!(plan.mutants[1].outcome, Outcome::CompileError); + assert_eq!(plan.mutants[3].outcome, Outcome::NotBuilt); + assert!( + plan.mutants[3] + .note + .as_deref() + .is_some_and(|note| note.contains("could not compile together")) + ); + } + + #[test] + fn isolation_bisects_left_right_and_interacting_items() { + let directory = crate::testing::workdir("build-isolation-outcomes-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 root"); + let work = Workspace::adopt(root.clone(), root.join("target")); + let plan = plan(vec![ + mutant(3, "a", "second"), + mutant(1, "a", "first"), + mutant(4, "a", "third"), + mutant(2, "a", "first"), + ]); + + for (oracle, expected) in [ + ( + (|active: &HashSet| Some(active.contains(&1))) as SubsetOracle, + Isolation::Blamed(vec![1]), + ), + ( + (|active: &HashSet| Some(active.contains(&4))) as SubsetOracle, + Isolation::Blamed(vec![4]), + ), + ( + (|active: &HashSet| Some(active.contains(&1) && active.contains(&3))) as SubsetOracle, + Isolation::Item(vec![1, 2]), + ), + ] { + let mut converger = Converger { + subset_oracle: Some(oracle), + ..Converger::default() + }; + let isolated = converger + .isolate( + &work, + &plan, + None, + &["build"], + BuildLimits::default(), + &mut crate::testing::Recorder::default(), + ) + .expect("the pure oracle cannot fail") + .expect("the population has a failing subset"); + + assert_eq!(format!("{isolated:?}"), format!("{expected:?}")); + } + } + + #[test] + fn isolation_refuses_empty_pristine_and_indeterminate_populations() { + let directory = crate::testing::workdir("build-isolation-negative-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 root"); + let work = Workspace::adopt(root.clone(), root.join("target")); + + for (population, oracle) in [ + (Vec::new(), (|_active: &HashSet| Some(true)) as SubsetOracle), + (vec![mutant(1, "a", "one")], (|_active: &HashSet| Some(true)) as SubsetOracle), + (vec![mutant(1, "a", "one")], (|_active: &HashSet| None) as SubsetOracle), + ] { + let mut converger = Converger { + subset_oracle: Some(oracle), + ..Converger::default() + }; + let isolated = converger + .isolate( + &work, + &plan(population), + None, + &["build"], + BuildLimits::default(), + &mut crate::testing::Recorder::default(), + ) + .expect("the oracle cannot fail"); + assert_eq!(isolated.map(|value| format!("{value:?}")), None); + } + } + + #[test] + fn tally_groups_distinct_ordinals_and_orders_dense_groups_first() { + let plan = plan(vec![ + mutant(1, "a", "one"), + Mutant { + ordinal: 2, + mutator: Arc::from("arith.add_to_sub"), + ..mutant(2, "a", "two") + }, + Mutant { + ordinal: 3, + mutator: Arc::from("arith.add_to_sub"), + ..mutant(3, "a", "three") + }, + ]); + let converger = Converger { + census: HashMap::from_iter([ + (1, "E0308".to_owned()), + (2, "E0277".to_owned()), + (3, "E0277".to_owned()), + (99, "E9999".to_owned()), + ]), + ..Converger::default() + }; + + let tally = converger.tally(&plan); + assert_eq!(tally[0].mutants, 2); + assert_eq!(tally[0].code, "E0277"); + assert_eq!(tally[0].mutator, "arith.add_to_sub"); + assert_eq!(tally[1].mutants, 1); + assert_eq!(tally[1].code, "E0308"); + assert_eq!(tally[2].mutator, ""); + } + + #[test] + fn rollback_diagnostic_keeps_only_the_five_most_recent_rounds() { + let directory = crate::testing::workdir("build-rollback-diagnostic-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 root"); + let work = Workspace::adopt(root.clone(), root.join("target")); + let error = Converger::rollback_limit_error(7, 7, &[9, 8, 7, 6, 5, 4, 3], &work, ""); + let text = error.to_string(); + + assert!(text.contains("42 blamed during this build"), "{text}"); + assert!(text.contains("7, 6, 5, 4, 3"), "{text}"); + assert!(!text.contains("9, 8, 7, 6, 5"), "{text}"); + } +} diff --git a/crates/cargo-gamma-lib/src/exec/build/invoke.rs b/crates/cargo-gamma-lib/src/exec/build/invoke.rs index bdef8df72..1862678f5 100644 --- a/crates/cargo-gamma-lib/src/exec/build/invoke.rs +++ b/crates/cargo-gamma-lib/src/exec/build/invoke.rs @@ -23,6 +23,8 @@ use crate::discover::Plan; use crate::error::{Error, error}; use crate::report::encode_controls; +const CARGO_PROGRESS_WHEN: &str = "always"; + /// Explains a failed cargo spawn. /// /// Platforms do not agree on which error a missing working directory produces, so the directory @@ -58,7 +60,8 @@ pub(super) fn compile(work: &Workspace, args: &[String], budget: Option subtree, Err(reason) => { - events.build_finished(); + finish_build(events); let raw_reason = reason.to_string(); let reason = encode_controls(&raw_reason); - return Err(error!("the cargo build in `{root}` could not be contained: {reason}")); + return Err(containment_error(&root, &reason)); } }; + // #[gamma::skip(all, reason = "changing the bounded queue by one slot changes reader backpressure timing only; retained bytes and narrated lines are unchanged")] let (sender, lines) = mpsc::sync_channel(limits.backlog); let stdout = subtree @@ -135,7 +139,8 @@ pub(super) fn supervise_with_limits( // The senders the reader threads hold are the only ones that matter; this one would keep the // channel open forever after they finish. - drop(sender); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + close_narration_channel(sender); let deadline = budget.map(|budget| Instant::now() + budget); @@ -148,12 +153,14 @@ pub(super) fn supervise_with_limits( } Ok(None) => { + // #[gamma::skip(relational.ge_to_gt, reason = "Instant equality cannot be held across clock reads; expiration occurs on this poll or the immediately following poll")] if deadline.is_some_and(|deadline| Instant::now() >= deadline) { break collect(&mut subtree).map(|()| None).map_err(|cause| { error!("cargo in `{root}` could not be terminated after its build budget expired").caused_by(cause) }); } + // #[gamma::skip(stmt.delete_call, reason = "the sleep only yields CPU between identical observe calls and cannot change the build result or deadline")] thread::sleep(BUILD_POLL_INTERVAL); } @@ -161,10 +168,8 @@ pub(super) fn supervise_with_limits( // Nothing more can be asked of this child, and dropping it would leave the whole // build tree running with no handle on it at all. break match collect(&mut subtree) { - Ok(()) => Err(error!("could not wait for cargo in `{root}`").caused_by(cause)), - Err(cleanup) => { - Err(error!("cargo in `{root}` could not be terminated after it stopped being observable").caused_by(cleanup)) - } + Ok(()) => Err(wait_error(&root, cause)), + Err(cleanup) => Err(cleanup_error(&root, cleanup)), }; } } @@ -182,7 +187,7 @@ pub(super) fn supervise_with_limits( let grace = Instant::now() + DRAIN_GRACE; let (said, printed) = finish_readers(stdout, stderr, &lines, events, grace); - events.build_finished(); + finish_build(events); let Some(status) = outcome? else { return Ok(None); @@ -193,23 +198,10 @@ pub(super) fn supervise_with_limits( // artifacts of a build reports the tests it could not find as ones that do not exist. Both ways // of losing it are refused here — a reader still blocked on a pipe something else holds open, // and one that stopped on a read that failed — because the difference is invisible in the bytes. - let (Some(stdout), Some(stderr)) = (said, printed) else { - return Err(error!( - "cargo in `{root}` finished, but its output could not be read to the end, so what it built could not be read" - )); - }; - - if !stdout.complete || !stderr.complete { - return Err(error!( - "cargo in `{root}` finished, but its output could not be read to the end, so what it built could not be read" - )); - } + let (stdout, stderr) = complete_pipes(&root, said, printed)?; if !stdout.within_limits || !stderr.within_limits { - return Err(error!( - "cargo in `{root}` exceeded the configured {}-byte retained or {}-byte per-line build-output limit, so its truncated output could not be trusted", - limits.retained, limits.line - )); + return Err(output_limit_error(&root, limits)); } Ok(Some(Output { @@ -269,6 +261,7 @@ pub(super) fn narrate(lines: &Receiver<(Stream, String)>, events: &mut dyn Event let wanted = events.wants_build_output(); let mut narrated = 0; + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] while narrated < NARRATION_BATCH { let Ok((stream, line)) = lines.try_recv() else { break; @@ -282,6 +275,7 @@ pub(super) fn narrate(lines: &Receiver<(Stream, String)>, events: &mut dyn Event Stream::Json => { if !wanted { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] continue; } @@ -405,8 +399,12 @@ pub(super) fn read_pipe_with_limits( return Err(io::Error::other("the reader thread a test asked to fail")); } - thread::Builder::new().name("cargo-gamma-build-output".to_owned()).spawn(move || { + thread::Builder::new() + // #[gamma::skip(all, reason = "the private reader thread name is never read and cannot affect scheduling or output")] + .name("cargo-gamma-build-output".to_owned()) + .spawn(move || { let mut text = Vec::new(); + // #[gamma::skip(literal.int_increment, reason = "read buffer capacity changes chunk boundaries only; retained bytes and line splitting are explicitly chunk-independent")] let mut buffer = [0_u8; 8192]; let mut line = Vec::new(); let mut complete = true; @@ -424,6 +422,7 @@ pub(super) fn read_pipe_with_limits( continue; } + // #[gamma::skip(assign_value.default, reason = "`complete` is bool, whose `Default::default()` is exactly false")] complete = false; break; @@ -436,6 +435,7 @@ pub(super) fn read_pipe_with_limits( text.extend_from_slice(&buffer[..kept]); if kept < read { + // #[gamma::skip(assign_value.default, reason = "`within_limits` is bool, whose `Default::default()` is exactly false")] within_limits = false; } @@ -451,6 +451,7 @@ pub(super) fn read_pipe_with_limits( } line.clear(); + // #[gamma::skip(all, reason = "this resource mutant prevents the bounded supervision loop from terminating and is suppressed rather than weakening production synchronization or limits")] line_limited = false; continue; @@ -462,11 +463,13 @@ pub(super) fn read_pipe_with_limits( // A line's owned copy is part of the queue bound. Refuse a result built from // output that cannot be held within that bound, while continuing to drain. line_limited = true; + // #[gamma::skip(assign_value.default, reason = "`within_limits` is bool, whose `Default::default()` is exactly false")] within_limits = false; } } } + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if !line_limited && !line.is_empty() && let Ok(line) = str::from_utf8(&line) @@ -510,10 +513,12 @@ pub(super) fn drained(handle: Option>, deadline: Instant) -> Op }; while !handle.is_finished() { + // #[gamma::skip(relational.ge_to_gt, reason = "Instant equality cannot be held across clock reads; expiration occurs on this poll or the immediately following poll")] if Instant::now() >= deadline { return None; } + // #[gamma::skip(stmt.delete_call, reason = "the sleep only yields CPU while waiting for the same completion state and deadline")] thread::sleep(BUILD_POLL_INTERVAL); } @@ -544,6 +549,7 @@ pub(super) fn finish_readers( .is_none_or(|reader| reader.as_ref().is_err() || reader.as_ref().is_ok_and(JoinHandle::is_finished)) }; + // #[gamma::skip(all, reason = "this resource mutant prevents the bounded supervision loop from terminating and is suppressed rather than weakening production synchronization or limits")] while !finished(&stdout) || !finished(&stderr) { let _narrated = narrate(lines, events); @@ -554,6 +560,7 @@ pub(super) fn finish_readers( thread::sleep(BUILD_POLL_INTERVAL); } + // #[gamma::skip(all, reason = "this resource mutant prevents the bounded supervision loop from terminating and is suppressed rather than weakening production synchronization or limits")] while narrate(lines, events) == NARRATION_BATCH {} let stdout = stdout.map(|handle| { @@ -631,7 +638,8 @@ pub(super) fn run_cargo( None => args.push("--workspace".to_owned()), } - work.cargo.extend_build_args(&mut args); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + extend_build_arguments(work, &mut args); let Some(output) = compile(work, &args, limits.budget(first_round), events)? else { return Ok(Compiled { @@ -656,3 +664,318 @@ pub(super) fn run_cargo( stderr, }) } + +fn finish_build(events: &mut dyn Events) { + events.build_finished(); +} + +// #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +fn close_narration_channel(sender: SyncSender<(Stream, String)>) { + drop(sender); +} + +fn containment_error(root: &str, reason: &str) -> Error { + error!("the cargo build in `{root}` could not be contained: {reason}") +} + +fn wait_error(root: &str, cause: io::Error) -> Error { + error!("could not wait for cargo in `{root}`").caused_by(cause) +} + +fn cleanup_error(root: &str, cause: io::Error) -> Error { + error!("cargo in `{root}` could not be terminated after it stopped being observable").caused_by(cause) +} + +fn incomplete_output_error(root: &str) -> Error { + error!("cargo in `{root}` finished, but its output could not be read to the end, so what it built could not be read") +} + +fn output_limit_error(root: &str, limits: OutputLimits) -> Error { + error!( + "cargo in `{root}` exceeded the configured {}-byte retained or {}-byte per-line build-output limit, so its truncated output could not be trusted", + limits.retained, limits.line + ) +} + +fn complete_pipes(root: &str, stdout: Option, stderr: Option) -> Result<(Pipe, Pipe)> { + let (Some(stdout), Some(stderr)) = (stdout, stderr) else { + return Err(incomplete_output_error(root)); + }; + if !(stdout.complete && stderr.complete) { + return Err(incomplete_output_error(root)); + } + Ok((stdout, stderr)) +} + +// #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +fn extend_build_arguments(work: &Workspace, args: &mut Vec) { + work.cargo.extend_build_args(args); +} + +#[cfg(test)] +mod mutation_tests { + use std::collections::VecDeque; + use std::io::Cursor; + + use super::*; + use crate::model::Mutant; + + #[derive(Default)] + struct Recorded { + wanted: bool, + progress: Vec, + output: Vec, + finished: usize, + } + + impl Events for Recorded { + fn phase(&mut self, _verb: &str, _detail: &str) {} + fn build_progress(&mut self, line: &str) { + self.progress.push(line.to_owned()); + } + fn build_output(&mut self, line: &str) { + self.output.push(line.to_owned()); + } + fn wants_build_output(&self) -> bool { + self.wanted + } + fn build_finished(&mut self) { + self.finished += 1; + } + fn mutant(&mut self, _mutant: &Mutant) {} + } + + #[test] + fn narration_counts_routes_trims_and_honors_the_output_switch() { + let (sender, receiver) = mpsc::sync_channel(8); + for item in [ + (Stream::Prose, " Compiling [=> ] 1/2\r\n".to_owned()), + (Stream::Prose, "ordinary prose \n".to_owned()), + ( + Stream::Json, + r#"{"reason":"compiler-message","message":{"rendered":"diagnostic \n"}}"#.to_owned(), + ), + (Stream::Json, r#"{"reason":"compiler-artifact"}"#.to_owned()), + ] { + sender.send(item).unwrap(); + } + let mut events = Recorded { + wanted: true, + ..Recorded::default() + }; + + assert_eq!(narrate(&receiver, &mut events), 4); + assert_eq!(events.progress, [" Compiling [=> ] 1/2"]); + assert_eq!(events.output, ["ordinary prose", "diagnostic"]); + assert_eq!(narrate(&receiver, &mut events), 0); + + sender + .send(( + Stream::Json, + r#"{"reason":"compiler-message","message":{"rendered":"hidden"}}"#.to_owned(), + )) + .unwrap(); + events.wanted = false; + assert_eq!(narrate(&receiver, &mut events), 1); + assert_eq!(events.output, ["ordinary prose", "diagnostic"]); + } + + struct Scheduled { + chunks: VecDeque>>, + } + + impl Read for Scheduled { + fn read(&mut self, buf: &mut [u8]) -> io::Result { + let Some(chunk) = self.chunks.pop_front() else { + return Ok(0); + }; + let chunk = chunk?; + buf[..chunk.len()].copy_from_slice(&chunk); + Ok(chunk.len()) + } + } + + #[test] + fn pipe_reading_retries_interruptions_stops_on_errors_and_enforces_both_limits() { + let (sender, receiver) = mpsc::sync_channel(8); + let input = Scheduled { + chunks: VecDeque::from([Err(io::Error::from(io::ErrorKind::Interrupted)), Ok(b"12345\nok\n".to_vec())]), + }; + let pipe = read_pipe_with_limits( + input, + Stream::Prose, + &sender, + OutputLimits { + retained: 7, + line: 4, + backlog: 8, + }, + ) + .unwrap() + .join() + .unwrap(); + assert_eq!(pipe.text, b"12345\no"); + assert!(pipe.complete); + assert!(!pipe.within_limits); + assert_eq!(receiver.recv().unwrap().1, "ok"); + + let failed = Scheduled { + chunks: VecDeque::from([Ok(b"prefix".to_vec()), Err(io::Error::other("stop")), Ok(b"unreachable".to_vec())]), + }; + let failed = read_pipe_with_limits( + failed, + Stream::Json, + &sender, + OutputLimits { + retained: 64, + line: 64, + backlog: 8, + }, + ) + .unwrap() + .join() + .unwrap(); + assert_eq!(failed.text, b"prefix"); + assert!(!failed.complete); + assert!(failed.within_limits); + + let exact = read_pipe_with_limits( + Cursor::new(b"1234\n".as_slice()), + Stream::Prose, + &sender, + OutputLimits { + retained: 5, + line: 4, + backlog: 8, + }, + ) + .unwrap() + .join() + .unwrap(); + assert!(exact.complete); + assert!(exact.within_limits); + } + + #[test] + fn absent_readers_are_complete_empty_streams_and_artifacts_are_not_diagnostics() { + let (_sender, receiver) = mpsc::sync_channel(1); + let mut events = Recorded::default(); + let (stdout, stderr) = finish_readers(None, None, &receiver, &mut events, Instant::now() + Duration::from_secs(1)); + + for pipe in <[_; 2]>::from((stdout, stderr)) { + let pipe = pipe.expect("an absent OS pipe is a complete empty stream"); + assert!(pipe.text.is_empty()); + assert!(pipe.complete); + assert!(pipe.within_limits); + } + + assert!( + rendered_diagnostic(r#"{"reason":"compiler-artifact","message":{"rendered":"must stay hidden","level":"error"}}"#).is_none() + ); + } + + #[test] + fn successful_and_budgeted_supervision_each_finish_the_build_exactly_once() { + let directory = crate::testing::workdir("invoke-finished-event-"); + let root = camino::Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 test path"); + let work = Workspace::adopt(root.clone(), root.join("target")); + + let mut success = Command::new(crate::testing::helper_binary_path().as_std_path()); + let _ = success + .arg(crate::testing::directive("print:done")) + .stdout(Stdio::piped()) + .stderr(Stdio::piped()); + let mut events = Recorded::default(); + let output = supervise(success, &work, Some(Duration::from_secs(30)), &mut events) + .expect("supervision succeeds") + .expect("the command finishes"); + assert!(output.status.success()); + assert_eq!(events.finished, 1); + + let mut slow = Command::new(crate::testing::helper_binary_path().as_std_path()); + let _ = slow + .arg(crate::testing::directive("sleep:30000")) + .stdout(Stdio::piped()) + .stderr(Stdio::piped()); + let mut events = Recorded::default(); + assert!( + supervise(slow, &work, Some(Duration::from_millis(20)), &mut events) + .unwrap() + .is_none() + ); + assert_eq!(events.finished, 1); + } + + #[test] + fn supervision_helpers_preserve_every_error_and_completion_contract() { + assert_eq!(CARGO_PROGRESS_WHEN, "always"); + + let mut events = Recorded::default(); + finish_build(&mut events); + assert_eq!(events.finished, 1); + + let complete = || Pipe { + text: b"complete".to_vec(), + complete: true, + within_limits: true, + }; + let (stdout, stderr) = complete_pipes("root", Some(complete()), Some(complete())).expect("both complete"); + assert_eq!(stdout.text, b"complete"); + assert_eq!(stderr.text, b"complete"); + + for result in [ + complete_pipes("root", None, Some(complete())), + complete_pipes("root", Some(complete()), None), + complete_pipes( + "root", + Some(Pipe { + complete: false, + ..complete() + }), + Some(complete()), + ), + complete_pipes( + "root", + Some(complete()), + Some(Pipe { + complete: false, + ..complete() + }), + ), + ] { + assert!(result.unwrap_err().to_string().contains("output could not be read to the end")); + } + + assert!( + containment_error("root", "reason") + .to_string() + .contains("could not be contained: reason") + ); + assert!( + wait_error("root", io::Error::other("wait")) + .to_string() + .contains("could not wait for cargo") + ); + assert!( + cleanup_error("root", io::Error::other("cleanup")) + .to_string() + .contains("could not be terminated after it stopped being observable") + ); + assert!( + output_limit_error( + "root", + OutputLimits { + retained: 12, + line: 34, + backlog: 1, + } + ) + .to_string() + .contains("configured 12-byte retained or 34-byte per-line") + ); + + let (sender, receiver) = mpsc::sync_channel(1); + close_narration_channel(sender); + receiver.recv().unwrap_err(); + } +} diff --git a/crates/cargo-gamma-lib/src/exec/build/messages.rs b/crates/cargo-gamma-lib/src/exec/build/messages.rs index 84179249f..5aa8b2e0e 100644 --- a/crates/cargo-gamma-lib/src/exec/build/messages.rs +++ b/crates/cargo-gamma-lib/src/exec/build/messages.rs @@ -174,7 +174,7 @@ pub(super) fn compiled_sources(stdout: &str, root: &Utf8Path) -> Option Vec { +pub(crate) fn dependencies(list: &str) -> Vec { let mut paths = Vec::new(); let mut path = String::new(); let mut characters = list.chars().peekable(); @@ -222,7 +222,9 @@ pub(super) fn dep_files(stdout: &str) -> Vec { continue; }; + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if message.reason != "compiler-artifact" { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] continue; } @@ -253,7 +255,9 @@ pub(super) fn dep_files(stdout: &str) -> Vec { continue; }; + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if path.extension() != Some("d") { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] continue; } @@ -272,6 +276,6 @@ pub(super) fn dep_files(stdout: &str) -> Vec { } /// Rewrites `\` to `/` so that a dep-info path compares equal to a discovered one on Windows. -pub(super) fn normalize_separators(path: &str) -> String { +pub(crate) fn normalize_separators(path: &str) -> String { path.replace('\\', "/") } diff --git a/crates/cargo-gamma-lib/src/exec/build/splices.rs b/crates/cargo-gamma-lib/src/exec/build/splices.rs index 81895b35f..8375b127b 100644 --- a/crates/cargo-gamma-lib/src/exec/build/splices.rs +++ b/crates/cargo-gamma-lib/src/exec/build/splices.rs @@ -15,6 +15,12 @@ use crate::parse::{BOM, strip_bom}; use crate::schema::{self, Guard}; use crate::{HashMap, HashSet, Result}; +#[derive(Debug)] +pub(super) struct Instrumented { + pub(super) guards: Guards, + pub(super) unavailable: Vec, +} + /// What each file of the copied tree was last instrumented with, so a round can skip the rest. /// /// The rollback loop instruments the whole tree once per round, but between two rounds only the @@ -60,11 +66,13 @@ pub(super) struct Splices { pub(super) struct Original { parsed: String, serialized: String, + digest: String, } impl Original { fn instrumented(&self, parsed: String) -> String { if self.serialized.starts_with(BOM) { + // #[gamma::skip(arith.add_to_mul, reason = "String capacity is only a reservation and cannot change the bytes appended to the returned string")] let mut serialized = String::with_capacity(BOM.len_utf8() + parsed.len()); serialized.push(BOM); serialized.push_str(&parsed); @@ -84,8 +92,11 @@ impl Splices { self.file_index.clear(); self.mutants_by_file.clear(); self.file_by_ordinal.clear(); + // #[gamma::skip(all, reason = "the replacement is exactly the type default already written here, so it is semantically identical")] self.indexed_files = 0; + // #[gamma::skip(all, reason = "the replacement is exactly the type default already written here, so it is semantically identical")] self.indexed_mutants = 0; + // #[gamma::skip(all, reason = "the replacement is exactly the type default already written here, so it is semantically identical")] self.plan_identity = None; self.withdrawn.clear(); } @@ -98,22 +109,30 @@ impl Splices { /// The implementation visits only files whose live ordinals actually changed since the prior /// round ("dirty" files). Every other file's cached guards are returned from `self.placed` /// without re-reading, re-splicing or re-writing the file. - pub(super) fn instrument(&mut self, work: &Workspace, plan: &Plan, withdrawn: &HashSet) -> Result { + pub(super) fn instrument(&mut self, work: &Workspace, plan: &Plan, withdrawn: &HashSet) -> Result { if self.root != work.root { self.root = work.root.clone(); self.sources.clear(); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] self.placed.clear(); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] self.file_index.clear(); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] self.mutants_by_file.clear(); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] self.file_by_ordinal.clear(); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] self.indexed_files = 0; + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] self.indexed_mutants = 0; + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] self.withdrawn.clear(); } self.restore_removed_files(work, plan)?; let dirty = self.refresh_index(plan, withdrawn); let mut guards = Guards::default(); + let mut unavailable = Vec::new(); for (path, (_ordinals, found)) in &self.placed { if !dirty.contains(path) { @@ -124,11 +143,12 @@ impl Splices { } let mut dirty: Vec = dirty.iter().filter_map(|path| self.file_index.get(path).copied()).collect(); + // #[gamma::skip(iter.remove_sort, reason = "dirty files are independent and guards are keyed by ordinal, so visitation order cannot affect text, guards, or errors")] dirty.sort_unstable(); - for position in dirty { + 'dirty_files: for position in dirty { let Some(file) = plan.files.get(position) else { - continue; + continue 'dirty_files; }; let live: Vec<_> = self .mutants_by_file @@ -136,6 +156,7 @@ impl Splices { .into_iter() .flatten() .filter_map(|position| plan.mutants.get(*position)) + // #[gamma::skip(relational.gt_to_ge, reason = "ordinal is u32 and zero is absent from mutants_by_file because refresh_index excludes the sentinel before indexing")] .filter(|mutant| mutant.ordinal > 0 && !withdrawn.contains(&mutant.ordinal)) .collect(); let ordinals: Vec = live.iter().map(|mutant| mutant.ordinal).collect(); @@ -147,15 +168,21 @@ impl Splices { let _ = guards.insert(*ordinal, (file.path.clone(), guard.clone())); } - continue; + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + continue 'dirty_files; } - let original = self.original(file)?; + let original = self.original(work, file)?; + let generation_matches = plan.digests.get(&file.path).is_none_or(|expected| original.digest == *expected); // A file whose every mutant has been withdrawn still has to be rewritten, back to the // original, or the previous round's instrumented copy would survive its own withdrawal // and the rollback loop could never converge. - let (instrumented, found) = if live.is_empty() { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + let (instrumented, found) = if live.as_slice().is_empty() || !generation_matches { + if !generation_matches { + unavailable.extend(live.iter().map(|mutant| mutant.ordinal)); + } (original.serialized.clone(), HashMap::default()) } else { let (parsed, found) = schema::instrument_with_guards(&original.parsed, &live)?; @@ -170,7 +197,7 @@ impl Splices { // behave differently — and its verdict recorded as a survivor. That is a wrong answer // rather than a missing one, and nothing downstream could tell the difference, so the // invariant is checked rather than assumed. - if let Some(missing) = live.iter().find(|mutant| !guards.contains_key(&mutant.ordinal)) { + if generation_matches && let Some(missing) = live.iter().find(|mutant| !guards.contains_key(&mutant.ordinal)) { return Err(Converger::missing_guard_error(missing)); } @@ -183,17 +210,19 @@ impl Splices { // A file back at its original text will not be spliced again unless its mutants come // back, which they cannot: withdrawal is permanent for the rest of the run. - if live.is_empty() { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if live.as_slice().is_empty() { let _dropped = self.sources.remove(&file.path); } } - Ok(guards) + Ok(Instrumented { guards, unavailable }) } fn restore_removed_files(&mut self, work: &Workspace, plan: &Plan) -> Result<()> { let identity = core::ptr::from_ref(plan) as usize; - if self.plan_identity.is_none_or(|previous| previous == identity) { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if same_plan(self.plan_identity, identity) { return Ok(()); } @@ -201,7 +230,7 @@ impl Splices { let removed: Vec = self .placed .keys() - .filter(|path| !current.contains(path.as_path())) + .filter(|path| absent_from_plan(path, ¤t)) .cloned() .collect(); @@ -221,6 +250,7 @@ impl Splices { let mut dirty = HashSet::default(); let plan_identity = core::ptr::from_ref(plan) as usize; + // #[gamma::skip(all, reason = "perturbing the cached pointer identity can only force a conservative rebuild of indexes from the same plan")] if self.plan_identity != Some(plan_identity) || self.indexed_files > plan.files.len() || self.indexed_mutants > plan.mutants.len() { dirty.extend(self.file_index.keys().cloned()); self.file_index.clear(); @@ -230,6 +260,7 @@ impl Splices { self.indexed_mutants = 0; dirty.extend(plan.files.iter().map(|file| file.path.clone())); } + // #[gamma::skip(all, reason = "perturbing the stored pointer identity only makes the next call conservatively rebuild equivalent indexes")] self.plan_identity = Some(plan_identity); for (position, file) in plan.files.iter().enumerate().skip(self.indexed_files) { @@ -239,6 +270,7 @@ impl Splices { self.indexed_files = plan.files.len(); for (position, mutant) in plan.mutants.iter().enumerate().skip(self.indexed_mutants) { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if mutant.ordinal > 0 { self.mutants_by_file.entry(mutant.file.to_path_buf()).or_default().push(position); let _previous = self.file_by_ordinal.insert(mutant.ordinal, mutant.file.to_path_buf()); @@ -261,23 +293,46 @@ impl Splices { dirty } - /// The file's original text, read from disk the first time a round needs it and kept after. + /// The copied file's original text, read the first time a round needs it and kept after. + /// + /// The scratch tree is the immutable snapshot this run builds. Reading `file.absolute` would + /// consult the live checkout again after discovery and synchronization; if an editor, + /// generator, or another process changed that file meanwhile, the discovered spans would be + /// applied to a different generation. A span that moved beyond the new text then lost its + /// guard, while spans that remained in bounds could mutate the wrong construct. /// /// Read here rather than taken from the survey's `SourceFile`, so the byte-order mark has to be /// dropped here too: mutant spans index the text `syn` saw, which is the text after the mark. - pub(super) fn original(&mut self, file: &TargetFile) -> Result<&Original> { + pub(super) fn original(&mut self, work: &Workspace, file: &TargetFile) -> Result<&Original> { if !self.sources.contains_key(&file.path) { - let serialized = fs::read_to_string(file.absolute.as_std_path()) - .map_err(|cause| error!("could not read `{}`", file.absolute).caused_by(cause))?; + let source = work.root.join(&file.path); + let serialized = + fs::read_to_string(source.as_std_path()).map_err(|cause| error!("could not read `{source}`").caused_by(cause))?; let parsed = strip_bom(&serialized).to_owned(); - - let _stored = self.sources.insert(file.path.clone(), Original { parsed, serialized }); + let digest = crate::discover::digest(parsed.as_bytes()); + + let _stored = self.sources.insert( + file.path.clone(), + Original { + parsed, + serialized, + digest, + }, + ); } Ok(self.sources.get(&file.path).unwrap_or_else(|| unreachable!("just inserted"))) } } +fn same_plan(previous: Option, identity: usize) -> bool { + previous.is_none_or(|previous| previous == identity) +} + +fn absent_from_plan(path: &Utf8PathBuf, current: &HashSet<&camino::Utf8Path>) -> bool { + !current.contains(path.as_path()) +} + #[cfg(test)] mod tests { use super::*; @@ -288,6 +343,7 @@ mod tests { let original = Original { parsed: parsed.to_owned(), serialized: format!("{BOM}{parsed}"), + digest: crate::discover::digest(parsed.as_bytes()), }; assert_eq!( @@ -295,4 +351,193 @@ mod tests { format!("{BOM}fn f() {{ gamma(); }}\n") ); } + + #[test] + fn instrumented_text_without_a_byte_order_mark_is_returned_verbatim() { + let original = Original { + parsed: "original".to_owned(), + serialized: "original".to_owned(), + digest: crate::discover::digest(b"original"), + }; + + assert_eq!(original.instrumented("replacement".to_owned()), "replacement"); + } + + #[test] + fn plan_reordering_clears_every_positional_cache_and_withdrawal_delta() { + let path = Utf8PathBuf::from("src/lib.rs"); + let mut splices = Splices { + file_index: HashMap::from_iter([(path.clone(), 2)]), + mutants_by_file: HashMap::from_iter([(path.clone(), vec![3])]), + file_by_ordinal: HashMap::from_iter([(5, path)]), + indexed_files: 7, + indexed_mutants: 11, + plan_identity: Some(13), + withdrawn: HashSet::from_iter([17]), + ..Splices::default() + }; + + splices.plan_reordered(); + + assert!(splices.file_index.is_empty()); + assert!(splices.mutants_by_file.is_empty()); + assert!(splices.file_by_ordinal.is_empty()); + assert_eq!(splices.indexed_files, 0); + assert_eq!(splices.indexed_mutants, 0); + assert_eq!(splices.plan_identity, None); + assert!(splices.withdrawn.is_empty()); + } + + fn empty_plan(root: &camino::Utf8Path) -> Plan { + Plan { + root: root.to_owned(), + files: Vec::new(), + mutants: Vec::new(), + suppressed: 0, + idle: Vec::new(), + sharded_out: 0, + settled_out: 0, + digests: HashMap::default(), + skipped: Vec::new(), + reach: HashMap::default(), + specs: HashMap::default(), + } + } + + #[test] + fn changing_workspace_roots_discards_every_cached_value() { + let directory = crate::testing::workdir("splices-root-change-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 test path"); + let work = Workspace::adopt(root.clone(), root.join("target")); + let mut splices = Splices { + root: root.join("old"), + sources: HashMap::from_iter([( + Utf8PathBuf::from("src/lib.rs"), + Original { + parsed: "old".to_owned(), + serialized: "old".to_owned(), + digest: crate::discover::digest(b"old"), + }, + )]), + placed: HashMap::from_iter([(Utf8PathBuf::from("src/lib.rs"), (vec![1], HashMap::default()))]), + file_index: HashMap::from_iter([(Utf8PathBuf::from("src/lib.rs"), 1)]), + mutants_by_file: HashMap::from_iter([(Utf8PathBuf::from("src/lib.rs"), vec![1])]), + file_by_ordinal: HashMap::from_iter([(1, Utf8PathBuf::from("src/lib.rs"))]), + indexed_files: 1, + indexed_mutants: 1, + plan_identity: Some(1), + withdrawn: HashSet::from_iter([1]), + }; + + let guards = splices + .instrument(&work, &empty_plan(&root), &HashSet::default()) + .expect("an empty plan resets stale caches"); + + assert!(guards.guards.is_empty()); + assert!(guards.unavailable.is_empty()); + assert_eq!(splices.root, root); + assert!(splices.sources.is_empty()); + assert!(splices.placed.is_empty()); + assert!(splices.file_index.is_empty()); + assert!(splices.mutants_by_file.is_empty()); + assert!(splices.file_by_ordinal.is_empty()); + assert_eq!(splices.indexed_files, 0); + assert_eq!(splices.indexed_mutants, 0); + assert!(splices.withdrawn.is_empty()); + } + + #[test] + fn refresh_index_tracks_growth_withdrawal_reversal_and_shrinkage() { + let root = Utf8PathBuf::from("workspace"); + let target = |path: &str| TargetFile { + path: Utf8PathBuf::from(path), + absolute: root.join(path), + package: "subject".to_owned(), + }; + let mut first = crate::fixtures::mutant(); + first.ordinal = 1; + first.file = Utf8PathBuf::from("src/a.rs").into(); + let mut second = crate::fixtures::mutant(); + second.ordinal = 2; + second.file = Utf8PathBuf::from("src/b.rs").into(); + let mut plan = empty_plan(&root); + plan.files.push(target("src/a.rs")); + plan.mutants.push(first); + let mut splices = Splices::default(); + + assert_eq!( + splices.refresh_index(&plan, &HashSet::default()), + HashSet::from_iter([Utf8PathBuf::from("src/a.rs")]) + ); + assert!(splices.refresh_index(&plan, &HashSet::default()).is_empty()); + + plan.files.push(target("src/b.rs")); + plan.mutants.push(second); + assert_eq!( + splices.refresh_index(&plan, &HashSet::default()), + HashSet::from_iter([Utf8PathBuf::from("src/b.rs")]) + ); + assert_eq!( + splices.refresh_index(&plan, &HashSet::from_iter([2])), + HashSet::from_iter([Utf8PathBuf::from("src/b.rs")]) + ); + assert_eq!( + splices.refresh_index(&plan, &HashSet::default()), + HashSet::from_iter([Utf8PathBuf::from("src/a.rs"), Utf8PathBuf::from("src/b.rs")]) + ); + + plan.files.truncate(1); + plan.mutants.truncate(1); + let dirty = splices.refresh_index(&plan, &HashSet::default()); + assert!(dirty.contains(camino::Utf8Path::new("src/a.rs"))); + assert!(dirty.contains(camino::Utf8Path::new("src/b.rs"))); + assert_eq!(splices.indexed_files, 1); + assert_eq!(splices.indexed_mutants, 1); + assert_eq!(splices.file_by_ordinal.len(), 1); + assert!(splices.file_by_ordinal.contains_key(&1)); + } + + #[test] + fn plan_identity_and_removed_path_predicates_cover_both_sides() { + assert!(same_plan(None, 7)); + assert!(same_plan(Some(7), 7)); + assert!(!same_plan(Some(8), 7)); + + let present = Utf8PathBuf::from("src/lib.rs"); + let absent = Utf8PathBuf::from("src/other.rs"); + let current = HashSet::from_iter([present.as_path()]); + assert!(!absent_from_plan(&present, ¤t)); + assert!(absent_from_plan(&absent, ¤t)); + } + + #[test] + fn removed_files_are_restored_and_original_reads_are_cached() { + let directory = crate::testing::workdir("splices-restore-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 test path"); + let work = Workspace::adopt(root.clone(), root.join("target")); + let path = Utf8PathBuf::from("src/lib.rs"); + fs::create_dir_all(root.join("src")).expect("source directory"); + fs::write(root.join(&path), "first").expect("source"); + let file = TargetFile { + path: path.clone(), + absolute: root.join(&path), + package: "subject".to_owned(), + }; + let mut splices = Splices::default(); + assert_eq!(splices.original(&work, &file).unwrap().parsed, "first"); + fs::write(root.join(&path), "second").expect("changed source"); + assert_eq!(splices.original(&work, &file).unwrap().parsed, "first"); + + splices.root = root.clone(); + splices.plan_identity = Some(usize::MAX); + let _ = splices.placed.insert(path.clone(), (vec![1], HashMap::default())); + fs::write(root.join(&path), "instrumented").expect("instrumented source"); + splices + .restore_removed_files(&work, &empty_plan(&root)) + .expect("removed file restoration succeeds"); + + assert_eq!(fs::read_to_string(root.join(&path)).unwrap(), "first"); + assert!(!splices.sources.contains_key(&path)); + assert!(!splices.placed.contains_key(&path)); + } } diff --git a/crates/cargo-gamma-lib/src/exec/build/tests.rs b/crates/cargo-gamma-lib/src/exec/build/tests.rs index cd32339ee..6ca88bd68 100644 --- a/crates/cargo-gamma-lib/src/exec/build/tests.rs +++ b/crates/cargo-gamma-lib/src/exec/build/tests.rs @@ -268,7 +268,9 @@ fn finishing_readers_drains_a_backpressured_narration_channel() { assert!(stderr.is_some(), "an absent stderr pipe is an empty complete stream"); } -use crate::ops::collect::Shape; +use crate::ops::collect::{Shape, collect, into_mutants}; +use crate::ops::registry::Selection; +use crate::parse::SourceFile; /// The diagnostic from a build that could not be made to compile, or a panic if it did. fn stuck_reason(convergence: Convergence) -> String { @@ -1266,6 +1268,43 @@ fn a_live_mutant_whose_span_no_longer_fits_the_file_is_an_internal_error_rather_ assert!(error.to_string().contains("no guard was emitted"), "{error}"); } +/// A real plan carries the generation digest discovery computed. When the synchronized tree does +/// not contain that generation, an out-of-range span is environmental evidence rather than an +/// engine invariant failure: the mutant explicitly becomes `notbuilt`. +#[test] +fn a_mutant_from_another_source_generation_receives_a_non_internal_outcome() { + let (_dir, work) = trivial_workspace("build-changed-generation-"); + let text = fs::read_to_string(work.root.join("src/lib.rs").as_std_path()).expect("lib"); + let mutant = Mutant { + ordinal: 1, + span: text.len() + 10..text.len() + 11, + ..mutant() + }; + let mut plan = empty_plan(&work); + plan.files.push(target_file(&work.root, "src/lib.rs")); + plan.mutants.push(mutant); + let _digest = plan + .digests + .insert(Utf8PathBuf::from("src/lib.rs"), crate::discover::digest(b"a different generation")); + let mut converger = Converger::default(); + + let guards = converger + .instrument_schema(&work, &plan, &HashSet::default()) + .expect("a generation mismatch is a recorded outcome, not an instrumentation error"); + + assert!(guards.is_empty()); + + converger.settle(&mut plan); + + assert_eq!(plan.mutants[0].outcome, Outcome::NotBuilt); + assert!( + plan.mutants[0] + .note + .as_deref() + .is_some_and(|note| note.contains("source changed between synchronization and discovery")) + ); +} + /// Every file the survey found is read while instrumenting, whether or not it has a live /// mutant of its own, because a withdrawn file still has to be rewritten back to its original /// text. A file that has since become unreadable — moved, deleted, permissions revoked between @@ -1364,22 +1403,21 @@ fn sorting_a_staged_plan_reindexes_mutants_before_the_baseline_splice() { .instrument(&work, &plan, &HashSet::from_iter([1])) .expect("the baseline withdrawal reindexes the sorted plan"); - assert_eq!(guards.get(&2).map(|(path, _guard)| path.as_str()), Some("src/a.rs")); - assert!(!guards.contains_key(&1), "the withdrawn b mutant has no guard"); + assert_eq!(guards.guards.get(&2).map(|(path, _guard)| path.as_str()), Some("src/a.rs")); + assert!(!guards.guards.contains_key(&1), "the withdrawn b mutant has no guard"); + assert!(guards.unavailable.is_empty()); } -/// A mutant's file has to already exist in the scratch tree for its instrumented text to be -/// written back over it: the copy step is what puts it there, so a `TargetFile` naming a path -/// the copy never created is a bug in the survey rather than something worth silently creating -/// a brand new file for, which is why the write is refused with the same error `overwrite` -/// reports for that case anywhere else it is called from. +/// Instrumentation reads the synchronized scratch generation rather than falling back to the live +/// checkout, so a `TargetFile` naming a path the copy never created fails before any source can be +/// rewritten from a different generation. #[test] -fn a_mutants_file_the_copy_never_created_reports_the_write_failure() { +fn a_mutants_file_the_copy_never_created_reports_the_read_failure() { let (_dir, work) = trivial_workspace("build-uncopied-destination-"); let mut plan = empty_plan(&work); - // The source is genuinely readable, so the read at the top of the loop succeeds; only the - // later write, against a destination the copy never produced, is meant to fail here. + // The live source is genuinely readable, but it must not substitute for the missing scratch + // source because its contents may belong to a newer generation. plan.files.push(TargetFile { path: Utf8PathBuf::from("src/never_copied.rs"), absolute: work.root.join("src/lib.rs"), @@ -1390,7 +1428,9 @@ fn a_mutants_file_the_copy_never_created_reports_the_write_failure() { .instrument(&work, &plan, &HashSet::default()) .expect_err("the destination was never copied"); - assert!(error.to_string().contains("which the copy did not create"), "{error}"); + let message = error.to_string(); + assert!(message.contains("could not read"), "{message}"); + assert!(message.contains("never_copied.rs"), "{message}"); } /// A plan with no mutants and no files, rooted in the given workspace. @@ -1919,6 +1959,93 @@ fn a_region_with_no_deletion_falls_back_to_every_guard_in_it() { assert_eq!(ordinals_blamed(&stdout, Utf8Path::new(""), &guards), HashSet::from_iter([3])); } +#[test] +fn flow_sensitive_regions_match_guards_by_path_suffix() { + let mut guards = Guards::default(); + let _ = guards.insert( + 3, + (Utf8PathBuf::from("crates/pkg/src/codegen.rs"), guard(at(400, 5)..at(400, 9), None)), + ); + let stdout = coded_message( + "E0499", + &[span("/other/crates/pkg/src/codegen.rs", 432, 9, 432, 13, true)], + &[span("/other/crates/pkg/src/codegen.rs", 383, 9, 383, 13, false)], + ); + + assert_eq!( + ordinals_blamed(&stdout, Utf8Path::new("/scratch/tree"), &guards), + HashSet::from_iter([3]) + ); +} + +#[test] +fn blame_and_region_collection_ignore_messages_without_usable_spans() { + let mut guards = Guards::default(); + let _ = guards.insert(1, (Utf8PathBuf::from("src/lib.rs"), guard(at(1, 1)..at(2, 1), None))); + + let artifact = serde_json::json!({ + "reason": "compiler-artifact", + "message": { + "level": "error", + "rendered": "error: not a compiler diagnostic\n", + "spans": [span("src/lib.rs", 1, 1, 1, 2, true)], + }, + }) + .to_string(); + assert!(ordinals_blamed(&artifact, Utf8Path::new(""), &guards).is_empty()); + + let malformed = serde_json::json!({ + "reason": "compiler-message", + "message": { + "level": "error", + "rendered": "error: incomplete span\n", + "spans": [{"file_name": "src/lib.rs", "line_start": 1}], + }, + }) + .to_string(); + let message = super::messages::cargo_message(&malformed).expect("the message is valid JSON"); + let diagnostic = message.message.expect("the message has a diagnostic"); + assert!(super::blame::regions(&diagnostic).is_empty()); +} + +#[test] +fn diagnostic_regions_widen_inclusively_across_children_and_clamp_hostile_numbers() { + let line = serde_json::json!({ + "reason": "compiler-message", + "message": { + "level": "error", + "spans": [ + {"file_name": "src/lib.rs", "line_start": 20, "line_end": 25}, + {"file_name": "src/other.rs", "line_start": 7, "line_end": 7} + ], + "children": [{ + "spans": [ + {"file_name": "src/lib.rs", "line_start": 10, "line_end": 30}, + {"file_name": "src/max.rs", "line_start": u64::MAX, "line_end": u64::MAX} + ] + }] + } + }) + .to_string(); + let message = super::messages::cargo_message(&line).expect("valid cargo message"); + let diagnostic = message.message.expect("the message has a diagnostic"); + let regions = super::blame::regions(&diagnostic); + + assert_eq!(regions["src/lib.rs"], 10..=30); + assert_eq!(regions["src/other.rs"], 7..=7); + assert_eq!(regions["src/max.rs"], u32::MAX..=u32::MAX); + assert_eq!(super::blame::clamped(u64::MAX), u32::MAX); +} + +#[test] +fn source_range_boundaries_are_half_open() { + let outer = at(1, 1)..at(1, 5); + + assert!(super::blame::covers(&outer, &(at(1, 1)..at(1, 5)))); + assert!(super::blame::covers(&outer, &(at(1, 2)..at(1, 4)))); + assert!(!super::blame::covers(&outer, &(at(1, 1)..at(1, 6)))); +} + /// The positional tiers are still the better answer when they have one, since they name a /// single mutant rather than a region's worth of them. #[test] @@ -1969,6 +2096,35 @@ fn diagnostics_are_read_from_the_json_stream() { assert!(!rendered.contains("unused manifest key")); } +#[test] +fn diagnostics_skip_every_non_error_shape_before_accepting_a_later_error() { + let stdout = [ + "not json", + r#"{"reason":"compiler-artifact","message":{"level":"error","rendered":"artifact"}}"#, + r#"{"reason":"compiler-message","message":{"level":"warning","rendered":"warning"}}"#, + r#"{"reason":"compiler-message"}"#, + r#"{"reason":"compiler-message","message":{"level":"error"}}"#, + r#"{"reason":"compiler-message","manifest_path":"C:\\w\\Cargo.toml","message":{"level":"error","rendered":"kept"}}"#, + ] + .join("\n"); + + let found = diagnostics(&stdout); + + assert_eq!(found.len(), 1); + assert_eq!(found[0].rendered, "kept"); + assert_eq!(found[0].manifest.as_deref(), Some("C:/w/Cargo.toml")); +} + +#[test] +fn dependency_tokenization_ignores_empty_separators_and_flushes_the_final_path() { + assert_eq!( + super::messages::dependencies(" src/one.rs\t src/my\\ file.rs C:\\src\\two.rs"), + ["src/one.rs", "src/my file.rs", "C:\\src\\two.rs"] + ); + assert!(super::messages::dependencies(" \t ").is_empty()); + assert_eq!(super::messages::dependencies("last.rs"), ["last.rs"]); +} + /// An error-level compiler message with no `rendered` field is not something real `rustc` /// emits, but a future cargo could add an error kind that omits it, and treating a missing /// field as an empty string rather than skipping it silently would make the caller's report @@ -2027,6 +2183,21 @@ fn errors_in_the_mutated_packages_are_quoted_before_anyone_elses() { ); } +#[test] +fn mutated_package_manifests_include_root_and_nested_members() { + let work = Workspace::adopt(Utf8PathBuf::from("C:/workspace"), Utf8PathBuf::from("C:/target")); + let mut plan = empty_plan(&work); + let _ = plan.specs.insert("root".to_owned(), (Utf8PathBuf::new(), "1.0.0".to_owned())); + let _ = plan + .specs + .insert("nested".to_owned(), (Utf8PathBuf::from("crates/nested"), "1.0.0".to_owned())); + + let manifests = manifests_of(&plan, &work.root, &["root".to_owned(), "nested".to_owned()]); + + assert!(manifests.contains("C:/workspace/Cargo.toml"), "{manifests:?}"); + assert!(manifests.contains("C:/workspace/crates/nested/Cargo.toml"), "{manifests:?}"); +} + fn reported(manifest: Option<&str>, rendered: &str) -> Diagnostic { Diagnostic { manifest: manifest.map(ToOwned::to_owned), @@ -2690,7 +2861,8 @@ fn a_second_round_rewrites_only_the_files_it_withdrew_from() { .instrument(&work, &plan, &HashSet::default()) .expect("the first round splices"); - assert_eq!(first.len(), 2, "both mutants were guarded"); + assert_eq!(first.guards.len(), 2, "both mutants were guarded"); + assert!(first.unavailable.is_empty()); let sentinel = "// this round never touched me\n"; @@ -2715,8 +2887,9 @@ fn a_second_round_rewrites_only_the_files_it_withdrew_from() { // The guard for the file that did not change is still reported, since the text holding it // is still in the tree and a diagnostic can still land in it. - assert!(second.contains_key(&2), "{second:?}"); - assert!(!second.contains_key(&1), "{second:?}"); + assert!(second.guards.contains_key(&2)); + assert!(!second.guards.contains_key(&1)); + assert!(second.unavailable.is_empty()); } /// A workspace linked against the real guard runtime, so a spliced guard can actually compile. @@ -2766,6 +2939,99 @@ fn guarded_workspace(prefix: &str) -> (tempfile::TempDir, Workspace) { (dir, work) } +#[test] +fn boolean_function_schema_uses_the_synchronized_snapshot_through_the_final_build() { + let (_dir, work) = guarded_workspace("build-boolean-function-schema-"); + let source = r#" +pub struct AzureEgressTarget { + pub host: String, +} + +pub fn is_azure_egress_clear_request(input: &[AzureEgressTarget]) -> bool { + input.len() == 1 && input[0].host.trim().is_empty() +} + +#[test] +fn baseline_reaches_the_function() { + assert!(is_azure_egress_clear_request(&[AzureEgressTarget { host: " ".to_owned() }])); +} +"#; + let copied = work.root.join("src/lib.rs"); + + fs::write(copied.as_std_path(), source).expect("copied source"); + + let discovered = work.root.parent().expect("the work tree has a parent").join("discovered"); + fs::create_dir_all(discovered.as_std_path()).expect("discovery directory"); + let absolute = discovered.join("lib.rs"); + fs::write(absolute.as_std_path(), source).expect("discovered source"); + + let parsed = SourceFile::parse("src/lib.rs", source.to_owned()).expect("the fixture parses"); + let selection = Selection::parse("fn_value,logical,relational").expect("the selectors resolve"); + let mut mutants = into_mutants(&parsed, "trivial", collect(&parsed, &selection)); + + for (index, mutant) in mutants.iter_mut().enumerate() { + mutant.ordinal = u32::try_from(index + 1).expect("the fixture has few mutants"); + } + + let whole = mutants + .iter() + .find(|mutant| mutant.mutator.as_ref() == "fn_value.bool_false") + .expect("the whole-function false mutant is discovered"); + let whole_ordinal = whole.ordinal; + let whole_span = whole.span.clone(); + + assert!( + mutants + .iter() + .any(|mutant| mutant.span.start > whole_span.start && mutant.span.end < whole_span.end), + "the whole-function mutant must coexist with nested sites" + ); + + let mut plan = empty_plan(&work); + plan.files.push(TargetFile { + path: Utf8PathBuf::from("src/lib.rs"), + absolute: absolute.clone(), + package: "trivial".to_owned(), + }); + plan.mutants = mutants; + let _digest = plan + .digests + .insert(Utf8PathBuf::from("src/lib.rs"), crate::discover::digest(source.as_bytes())); + + // Discovery paths point into the live checkout. The synchronized work tree above is the + // snapshot the run owns; changing the checkout afterwards must not move its mutation spans. + fs::write(absolute.as_std_path(), "pub fn changed() -> bool { false }\n").expect("changed live source"); + + let build = Converger::default() + .finish( + &work, + &mut plan, + Some(&["trivial".to_owned()]), + BuildLimits::default(), + &mut crate::testing::Recorder::default(), + ) + .expect("the synchronized schema reaches the final test-binary build"); + + assert!(build.stuck.is_none()); + assert_eq!(build.withdrawn, 0); + assert!( + !build.binaries.is_empty(), + "the schema must reach the binaries consumed by baseline and sweep" + ); + assert_eq!( + plan.mutants + .iter() + .find(|mutant| mutant.ordinal == whole_ordinal) + .map(|mutant| mutant.outcome), + Some(Outcome::Pending), + "the whole-function mutant must remain live for baseline and sweep" + ); + assert!( + plan.mutants.iter().filter(|mutant| mutant.outcome == Outcome::Pending).count() > 1, + "nested boolean mutants must remain live beside the whole-function mutant" + ); +} + /// A workspace whose library holds `unviable` const items and `viable` function bodies. /// /// The split matters: a guard is a call into the runtime, so splicing one into a `const` diff --git a/crates/cargo-gamma-lib/src/exec/census.rs b/crates/cargo-gamma-lib/src/exec/census.rs index aec5dd1fc..97b441fba 100644 --- a/crates/cargo-gamma-lib/src/exec/census.rs +++ b/crates/cargo-gamma-lib/src/exec/census.rs @@ -42,15 +42,20 @@ //! file that is absent, unsealed, or sealed and then appended to is discarded rather than read, //! which is what stops a dropped record ever being mistaken for an unreached site. +#[cfg(test)] use core::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; use core::time::Duration; use std::io::Read as _; use std::process::{Command, Stdio}; -use std::sync::{Arc, Mutex, mpsc}; +#[cfg(test)] +use std::sync::Mutex; +use std::sync::{Arc, mpsc}; use std::time::Instant; use std::{fs, io, thread}; use camino::{Utf8Path, Utf8PathBuf}; +#[cfg(test)] +use cargo_gamma_process::faults::{self as process_faults, Fault as ProcessFault}; use cargo_gamma_process::{MemoryRequest, ProcessTree, prepare}; use gamma_rt::{OVERFLOW, SEAL}; @@ -62,9 +67,12 @@ use super::harness_filters::HarnessFilters; use super::loader::LOADER_VAR; use super::loader::configure_loader; use super::stall::Stall; +use super::sweep::MIN_SCOUT_WAIT; use super::test_binary::TestBinary; use super::verdict::{Attempt, Only, Verdict, observe}; use super::workspace::Workspace; +use crate::discover::{GENERALIZED_HINTS_VERSION, GeneralizedHints, Killer, ReachCluster, SiteIdentity}; +use crate::model::Mutant; use crate::{HashMap, HashSet}; /// How much longer than the binary's whole baseline a single censused test may take. @@ -83,16 +91,18 @@ pub(super) struct Census { /// How many sample subprocesses the census actually launched. /// - /// One per test that was run in census mode — which is *not* the number of tests listed, because - /// a binary spoiled partway through skips the rest of its tests, so those are never launched and - /// never counted here. The per-binary listing subprocess is excluded too; only the sample runs - /// that probe reachability are counted. + /// One per scope run in census mode. The per-binary listing subprocess is excluded; only sample + /// launches that probe reachability are counted. /// /// Carried so the diagnostics can weigh the census's cost against its sweep dividend: the count /// is exactly the number of sample subprocesses the census spent, and a run cannot say whether /// the census paid for itself without it. Zero on a [`Census::default`], which is what an /// unasked-for census is. walked: usize, + listing_launches: usize, + listed_binaries: usize, + estimated_cost: Duration, + walk_admitted: bool, } /// One binary's census. @@ -115,13 +125,29 @@ struct Reach { /// Reverse lookup from sorted reach set to its index in `intern`. intern_index: HashMap, u32>, - /// How long each test took when run alone, parallel to `names`. + /// Sample cost assigned to every test run by each retained scope, parallel to `names`. times: Vec, /// Whether every listed test completed and therefore absence proves a site is uncovered. complete: bool, } +#[derive(Clone, Debug, PartialEq, Eq)] +struct Scope { + tests: Vec, +} + +impl Scope { + fn names<'a>(&self, names: &'a [Box]) -> Vec<&'a str> { + self.tests + .iter() + .filter_map(|index| usize::try_from(*index).ok()) + .filter_map(|index| names.get(index)) + .map(Box::as_ref) + .collect() + } +} + impl Reach { /// Resolves a site to its interned reach set, or `None` if it was never recorded. fn tests_for(&self, ordinal: u32) -> Option<&[u32]> { @@ -140,6 +166,7 @@ impl Reach { return existing; } + // #[gamma::skip(expr.decrement, reason = "the fallback differs only after allocating more than u32::MAX distinct reach sets, which cannot be observed within the process memory budget")] let index = u32::try_from(self.intern.len()).unwrap_or(u32::MAX); let _previous = self.intern_index.insert(Arc::clone(&key), index); self.intern.push(key); @@ -147,6 +174,7 @@ impl Reach { } fn finish(&mut self) { + // #[gamma::skip(assign_value.default, reason = "HashMap::default() and Default::default() construct the same empty index")] self.intern_index = HashMap::default(); } } @@ -267,6 +295,47 @@ impl Census { self.binaries.len() } + /// Whether at least one binary produced a usable census result. + pub(super) fn has_evidence(&self) -> bool { + !self.binaries.is_empty() + } + + /// Whether every candidate binary produced complete reachability evidence. + pub(super) fn is_complete_for(&self, candidates: usize) -> bool { + self.binaries.len() == candidates && self.binaries.values().all(|reach| reach.complete) + } + + /// Candidate binaries that produced complete evidence. + pub(super) fn complete_binaries(&self) -> usize { + self.binaries.values().filter(|reach| reach.complete).count() + } + + /// Candidate binaries that produced only positive checked hints. + pub(super) fn incomplete_binaries(&self) -> usize { + self.binaries.values().filter(|reach| !reach.complete).count() + } + + pub(super) const fn listing_launches(&self) -> usize { + self.listing_launches + } + + pub(super) const fn listed_binaries(&self) -> usize { + self.listed_binaries + } + + pub(super) const fn estimated_cost(&self) -> Duration { + self.estimated_cost + } + + pub(super) const fn walk_admitted(&self) -> bool { + self.walk_admitted + } + + /// Whether enumeration succeeded but the projected walk could not repay its own cost. + pub(super) const fn walk_declined(&self) -> bool { + !self.walk_admitted && self.listed_binaries != 0 + } + /// How many sample subprocesses the census actually launched. /// /// The count of sample runs that were really spawned, which excludes the tests of a binary that @@ -278,6 +347,105 @@ impl Census { self.walked } + /// Adds positive census reach clusters to the shared durable hint schema. + pub(super) fn persist_clusters(&self, mutants: &[Mutant], binaries: &[TestBinary], hints: &mut GeneralizedHints) { + hints.version = GENERALIZED_HINTS_VERSION; + let by_ordinal: HashMap = mutants.iter().map(|mutant| (mutant.ordinal, mutant)).collect(); + let mut sites: HashMap> = hints + .reach + .iter() + .filter_map(|cluster| { + let tests = hints.test_sets.get(cluster.test_set as usize)?.clone(); + + Some((cluster.site.clone(), tests)) + }) + .collect(); + let mut replaced = HashSet::default(); + + for binary in binaries { + let Some(reach) = self.binaries.get(&binary.path) else { + continue; + }; + for (mutant, indices) in reach.reached.iter().filter_map(|(&ordinal, &set_index)| { + let mutant = *by_ordinal.get(&ordinal)?; + let indices = reach.intern.get(set_index as usize)?; + Some((mutant, indices)) + }) { + if indices.len().saturating_mul(2) > reach.names.len() { + continue; + } + let measured: Duration = indices + .iter() + .filter_map(|index| usize::try_from(*index).ok()) + .filter_map(|index| reach.times.get(index)) + .copied() + .sum(); + if !can_repay(measured, binary.baseline) { + continue; + } + let site = SiteIdentity::from_mutant(mutant); + if replaced.insert(site.clone()) { + sites.remove(&site); + } + let tests = sites.entry(site).or_default(); + tests.extend( + indices + .iter() + .filter_map(|index| usize::try_from(*index).ok()) + .filter_map(|index| reach.names.get(index)) + .map(|name| Killer { + package: binary.package.clone(), + target: binary.target.clone(), + test: name.to_string(), + }), + ); + } + } + + let mut entries: Vec<(SiteIdentity, Vec)> = sites + .into_iter() + .filter_map(|(site, mut tests)| { + tests.sort_by(|left, right| { + left.package + .cmp(&right.package) + .then_with(|| left.target.cmp(&right.target)) + .then_with(|| left.test.cmp(&right.test)) + }); + tests.dedup(); + + (!tests.is_empty()).then_some((site, tests)) + }) + .collect(); + entries.sort_by(|(left, _), (right, _)| { + left.file + .cmp(&right.file) + .then_with(|| left.item.cmp(&right.item)) + .then_with(|| left.mutator.cmp(&right.mutator)) + .then_with(|| left.normalized_text.cmp(&right.normalized_text)) + .then_with(|| left.occurrence.cmp(&right.occurrence)) + }); + + let mut test_sets: Vec> = entries.iter().map(|(_, tests)| tests.clone()).collect(); + test_sets.sort_by(|left, right| { + left.iter() + .map(|killer| (&killer.package, &killer.target, &killer.test)) + .cmp(right.iter().map(|killer| (&killer.package, &killer.target, &killer.test))) + }); + test_sets.dedup(); + + hints.reach = entries + .into_iter() + .filter_map(|(site, tests)| { + let test_set = test_sets.iter().position(|known| *known == tests)?; + Some(ReachCluster { + site, + test_set: u32::try_from(test_set).ok()?, + }) + }) + .collect(); + hints.test_sets = test_sets; + } + /// A census recording `binary` as examined with `total` tests, `reached` of which reach `site`. /// /// For tests in sibling modules, whose own `#[cfg(test)]` code cannot reach the private [`Reach`] @@ -287,7 +455,7 @@ impl Census { /// reaches it". /// /// [`reaching`]: Census::reaching - #[cfg(all(test, unix))] + #[cfg(test)] pub(super) fn examined(binary: &Utf8Path, site: u32, reached: usize, total: usize) -> Self { Self::fixture(binary, site, reached, total, true) } @@ -298,6 +466,25 @@ impl Census { Self::fixture(binary, site, reached, total, false) } + /// A deliberately complete census for orchestration tests. + #[cfg(test)] + pub(super) fn complete(binary: &Utf8Path) -> Self { + Self::fixture(binary, 7, 1, 1, true) + } + + /// A census whose listing succeeded but whose walk could not repay itself. + #[cfg(test)] + pub(super) fn declined() -> Self { + Self { + binaries: HashMap::default(), + walked: 0, + listing_launches: 1, + listed_binaries: 1, + estimated_cost: Duration::ZERO, + walk_admitted: false, + } + } + #[cfg(test)] fn fixture(binary: &Utf8Path, site: u32, reached: usize, total: usize, complete: bool) -> Self { let names: Vec> = (0..total).map(|index| format!("tests::t{index}").into()).collect(); @@ -311,8 +498,10 @@ impl Census { times: vec![Duration::from_millis(1); total], complete, }; - let set_index = reach.intern_set(indices); - let _previous2 = reach.reached.insert(site, set_index); + if !indices.is_empty() { + let set_index = reach.intern_set(indices); + let _previous = reach.reached.insert(site, set_index); + } reach.finish(); let mut census = Self::default(); @@ -338,6 +527,7 @@ pub(super) fn take( ) -> Census { let mut census = Census::default(); let binaries: Vec<&TestBinary> = binaries.iter().filter(|binary| targets.contains_key(&binary.path)).collect(); + census.listing_launches = binaries.len(); events.begin( "Optimizing", @@ -351,7 +541,7 @@ pub(super) fn take( events.phase_progress(completed, total, &unit); - let mut listed: Vec<(&TestBinary, Vec>)> = Vec::with_capacity(binaries.len()); + let mut listed: Vec<(&TestBinary, Vec>, Duration)> = Vec::with_capacity(binaries.len()); // A proxy for the walk's cost, not a measurement of it: `--list` pays only process startup and // enumeration, while the walk below pays that once per binary and then, per listed test, the // loader setup, containment, output supervision, and execution that `walk` (below) actually @@ -363,23 +553,29 @@ pub(super) fn take( for binary in &binaries { let started = Instant::now(); - let Some(names) = list(work, binary) else { + let Some(mut names) = list(work, binary) else { completed += 1; events.phase_progress(completed, total, &unit); continue; }; let listing_cost = started.elapsed(); + names.sort_unstable(); + let scopes = initial_scopes(&names); + let launch_cost = listing_cost.max(MIN_SCOUT_WAIT); - estimated_cost = estimated_cost.saturating_add(listing_cost.saturating_mul(u32::try_from(names.len()).unwrap_or(u32::MAX))); - listed.push((binary, names)); + estimated_cost = add_listing_cost(estimated_cost, launch_cost, scopes.len()); + listed.push((binary, names, launch_cost)); } + census.listed_binaries = listed.len(); + census.estimated_cost = estimated_cost; if !can_repay(estimated_cost, maximum_savings) { events.end(""); return census; } + census.walk_admitted = !listed.is_empty(); // The count comes back from the walk rather than being summed from the lists above, because a // binary spoiled partway through skips the rest of its tests: those are listed but never @@ -401,7 +597,7 @@ pub(super) fn take( census.len(), binaries.len(), plural(binaries.len()), - if walked == 1 { "test" } else { "tests" } + if walked == 1 { "sample" } else { "samples" } )); census @@ -415,6 +611,10 @@ fn can_repay(estimated_cost: Duration, maximum_savings: Duration) -> bool { !maximum_savings.is_zero() && estimated_cost < maximum_savings } +fn add_listing_cost(estimated: Duration, launch: Duration, scopes: usize) -> Duration { + estimated.saturating_add(launch.saturating_mul(u32::try_from(scopes).unwrap_or(u32::MAX))) +} + /// "binary" or "binaries", so the line above reads as English either way. const fn plural(count: usize) -> &'static str { if count == 1 { "binary" } else { "binaries" } @@ -475,10 +675,46 @@ fn listing_command(work: &Workspace, binary: &TestBinary) -> Command { .stderr(Stdio::null()); configure_loader(&mut command, work.launch()); + work.configure_test_environment(&mut command, binary); + work.inherit_test_cache_home(&mut command); command } +fn read_listing(pipe: &mut impl io::Read) -> (Vec, bool) { + let mut text = Vec::new(); + // #[gamma::skip(literal.int_increment, reason = "the buffer length changes only read chunking; the bounded accumulator and whole-stream flag expose identical bytes")] + let mut buffer = [0_u8; 8192]; + let mut whole = true; + + loop { + match pipe.read(&mut buffer) { + Ok(0) => break, + + Ok(read) => { + // Reading continues past the cap so the child never blocks on a full pipe; only the + // keeping stops. + let room = LIST_CAP.saturating_sub(text.len()); + + text.extend_from_slice(&buffer[..read.min(room)]); + whole &= read <= room; + } + + Err(cause) if cause.kind() == std::io::ErrorKind::Interrupted => {} + + Err(_truncated) => { + // #[gamma::skip(assign_value.default, reason = "false is the default bool value, so the replacement is identical")] + whole = false; + + // #[gamma::skip(all, reason = "retrying a terminal pipe error spins forever because the same broken reader cannot recover")] + break; + } + } + } + + (text, whole) +} + /// Runs a listing command under the same containment and bound every other spawn here gets. /// /// Separate from [`list`] because the command is the only thing a test needs to vary, and a binary @@ -496,15 +732,18 @@ fn listing_command(work: &Workspace, binary: &TestBinary) -> Command { /// believes some tests do not exist, and a test believed not to exist is one no mutant is ever run /// against. fn listed(mut command: Command, budget: Duration) -> Option>> { + enum ListingStatus { + Observed(std::process::ExitStatus), + Missing, + } + // Nothing is metered — the question is what the binary is, not what it costs — so the request // asks for no measurement and no ceiling. Containment does not follow that request: `prepare` // seals every launch it can, and the listing of a `harness = false` target is exactly the kind // of repository-controlled code that spawns things and leaves the process group behind it. - let request = MemoryRequest { meter: false, limit: None }; - let _ = command.stdin(Stdio::null()).stdout(Stdio::piped()).stderr(Stdio::null()); - let prepared = prepare(command, request).ok()?; + let prepared = prepare(command, MemoryRequest::default()).ok()?; let spawned = prepared.spawn().ok()?; let mut subtree = match ProcessTree::adopt(spawned) { @@ -521,6 +760,8 @@ fn listed(mut command: Command, budget: Duration) -> Option>> { // Whether the stream really ended travels with the bytes for the same reason it does on the // verdict path: a prefix of a listing is a set of tests that appear not to exist, and a test // that appears not to exist is one no mutant is ever run against. + // #[gamma::skip(literal.int_decrement, reason = "a zero-capacity output channel deadlocks the child wait and reader rendezvous until the mutation budget expires")] + // #[gamma::skip(literal.int_increment, reason = "one reader sends exactly one terminal message, so capacities one and two have identical ordering and backpressure")] let (sender, receiver) = mpsc::sync_channel(1); let reading = subtree.take_stdout().map(|mut pipe| { let sender = sender.clone(); @@ -535,36 +776,12 @@ fn listed(mut command: Command, budget: Duration) -> Option>> { let refused = false; let spawned = if refused { + // #[gamma::skip(all, reason = "the synthetic reader-thread error is deliberately discarded and all variants produce the same conservative missing-census result")] Err(io::Error::other("the reader thread a test asked to fail")) } else { + // #[gamma::skip(all, reason = "the detached thread name is diagnostic metadata and does not affect listing bytes or admission")] thread::Builder::new().name("cargo-gamma-census-output".to_owned()).spawn(move || { - let mut text = Vec::new(); - let mut buffer = [0_u8; 8192]; - let mut whole = true; - - loop { - match pipe.read(&mut buffer) { - Ok(0) => break, - - Ok(read) => { - // Reading continues past the cap so the child never blocks on a full pipe; - // only the keeping stops. - let room = LIST_CAP.saturating_sub(text.len()); - - text.extend_from_slice(&buffer[..read.min(room)]); - whole &= read <= room; - } - - Err(cause) if cause.kind() == std::io::ErrorKind::Interrupted => {} - - Err(_truncated) => { - whole = false; - - break; - } - } - } - + let (text, whole) = read_listing(&mut pipe); let _sent = sender.send((text, whole)); }) }; @@ -573,20 +790,23 @@ fn listed(mut command: Command, budget: Duration) -> Option>> { let _sent = failed.send((Vec::new(), false)); } }); + // #[gamma::skip(stmt.delete_call, reason = "retaining the coordinator sender prevents channel disconnection and holds a completed listing until its deadline")] drop(sender); let deadline = Instant::now() + budget; let status = loop { match subtree.observe() { - Ok(Some(status)) => break Some(status), + Ok(Some(status)) => break ListingStatus::Observed(status), - Ok(None) if Instant::now() >= deadline => break None, + // #[gamma::skip(match_guard.always_false, reason = "disabling the deadline arm leaves the zero-duration polling loop non-terminating after the budget expires")] + Ok(None) if Instant::now() >= deadline => break ListingStatus::Missing, + // #[gamma::skip(iter.min_to_max, reason = "using the remaining budget instead of the polling interval changes only wake-up latency; the same child status and deadline decide the result")] Ok(None) => thread::sleep(LIST_POLL.min(deadline.saturating_duration_since(Instant::now()))), // The handle is gone, so the one question that would settle this cannot be asked again. - Err(_unaskable) => break None, + Err(_unaskable) => break ListingStatus::Missing, } }; @@ -595,13 +815,16 @@ fn listed(mut command: Command, budget: Duration) -> Option>> { // wait out the whole run for an end of file that never comes. Cleanup failure stays fail-open: // census is an optimization, and the bounded drain below turns an unclosed pipe into a missing // census rather than failing mutation testing before the ordinary discovery path can run. - if status.is_none() { - let _reaped = subtree.terminate(); - } else { - debug_assert!( - subtree.released(), - "the observed listing released containment before its output was read" - ); + match &status { + ListingStatus::Missing => { + let _reaped = subtree.terminate(); + } + ListingStatus::Observed(_) => { + debug_assert!( + subtree.released(), + "the observed listing released containment before its output was read" + ); + } } // A group cleanup normally closes every inherited descriptor, but a descendant that called @@ -612,7 +835,10 @@ fn listed(mut command: Command, budget: Duration) -> Option>> { .and_then(|()| receiver.recv_timeout(deadline.saturating_duration_since(Instant::now())).ok()) .unwrap_or_default(); - if !whole || !status?.success() { + let ListingStatus::Observed(status) = status else { + return None; + }; + if !whole || !status.success() { return None; } @@ -635,33 +861,13 @@ fn working_directory<'work>(work: &'work Workspace, binary: &'work TestBinary) - } } -/// Runs each of a binary's tests alone and collects the sites it reached. -/// -/// One process per test is what makes the attribution possible at all: the runtime records into a -/// process-wide table, so a process running two tests cannot say which of them reached what. It is -/// also the only harness-independent way to ask, which is why it is done the same way whether or -/// not the run is under nextest. +/// Samples deterministic test scopes and refines only scopes whose measured work can repay it. /// -/// A binary is left out of the result when any of its tests did not simply pass, because a run cut -/// short by a budget or a ceiling recorded only the sites it got to, and the sites it missed would -/// then be read as sites no test reaches. -/// -/// The queue is one flat list of `(binary, test)` pairs rather than one pool per binary. A test -/// binary usually holds fewer tests than there are workers — the common shape is one binary per -/// integration-test file — so a pool scoped to a single binary drains to nothing at every boundary -/// and refills, idling cores in the gaps for what is fixed cost paid before any mutant is judged. -/// One queue lets a worker that has finished a small binary start the next one immediately, exactly -/// as the sweep's cursor already does. -/// -/// The pool is still `jobs` workers wide, so this costs no extra concurrent subprocesses, no extra -/// memory and no extra file descriptors over walking the binaries one at a time; and the census -/// file stays per worker, because a worker still runs one test at a time. -/// Returns the reach of each binary that was not spoiled, and how many sample subprocesses were -/// actually launched — which is fewer than the number of tests listed whenever a binary spoils -/// partway through and its remaining tests are skipped. +/// A complete hierarchy proves group-level absence. Any failed, expired, or inconsistent sample +/// makes the binary incomplete, retaining positive observations only as checked hints. fn walk( work: &Workspace, - listed: Vec<(&TestBinary, Vec>)>, + listed: Vec<(&TestBinary, Vec>, Duration)>, targets: &HashMap>, deadline: Option, jobs: usize, @@ -672,256 +878,311 @@ fn walk( work, listed, targets, + // #[gamma::skip(all, reason = "walk_with currently executes the deterministic planner serially and intentionally ignores this compatibility parameter")] jobs, stall, sample, - || deadline.is_some_and(|limit| Instant::now() >= limit), + || deadline.is_some_and(|limit| deadline_reached(Instant::now(), limit)), completed, ) } -#[expect( - clippy::too_many_arguments, - clippy::too_many_lines, - reason = "the streaming walk shares its inputs and borrowed state across scoped workers" -)] -fn walk_with( - work: &Workspace, - listed: Vec<(&TestBinary, Vec>)>, - targets: &HashMap>, - jobs: usize, +fn deadline_reached(now: Instant, limit: Instant) -> bool { + now >= limit +} + +#[derive(Debug)] +struct ScopeEvidence { + scope: Scope, + sites: Vec, + elapsed: Duration, +} + +struct Planner<'a, S, E> { + work: &'a Workspace, + binary: &'a TestBinary, + names: &'a [Box], + wanted: &'a HashSet, + path: &'a Utf8Path, stall: Stall, - sampler: S, - expired: E, - mut completed: impl FnMut(), -) -> (Vec<(Utf8PathBuf, Reach)>, usize) + launch_cost: Duration, + sampler: &'a S, + expired: &'a E, + launches: usize, + complete: bool, +} + +impl Planner<'_, S, E> where - S: Fn(&Workspace, &TestBinary, &str, &Utf8Path, Stall) -> Option<(Vec, Duration)> + Sync, - E: Fn() -> bool + Sync, + S: Fn(&Workspace, &TestBinary, &[&str], &Utf8Path, Stall) -> Option<(Vec, Duration)>, + E: Fn() -> bool, { - let directory = work.base().join("census"); + fn explore(&mut self, scope: Scope) -> Vec { + if (self.expired)() { + // #[gamma::skip(assign_value.default, reason = "false is the default bool value, so the replacement is identical")] + self.complete = false; + return Vec::new(); + } - if fs::create_dir_all(directory.as_std_path()).is_err() { - return (Vec::new(), 0); + self.launches = self.launches.saturating_add(1); + let selected = scope.names(self.names); + let Some((mut sites, elapsed)) = (self.sampler)(self.work, self.binary, &selected, self.path, self.stall) else { + // #[gamma::skip(assign_value.default, reason = "false is the default bool value, so the replacement is identical")] + self.complete = false; + return Vec::new(); + }; + + sites.retain(|site| self.wanted.contains(site)); + sites.sort_unstable(); + sites.dedup(); + + let Some(children) = subdivision(&scope, self.names).filter(|children| { + should_subdivide( + children, + &scope, + self.names, + &sites, + self.wanted, + self.launch_cost, + self.binary.baseline, + ) + }) else { + return vec![ScopeEvidence { scope, sites, elapsed }]; + }; + + let mut finer = Vec::new(); + let mut child_sites = HashSet::default(); + let complete_before = self.complete; + + for child in children { + for evidence in self.explore(child) { + child_sites.extend(evidence.sites.iter().copied()); + finer.push(evidence); + } + } + + let consistent = consistent_subdivision(complete_before, self.complete, &sites, &child_sites); + + if consistent { + finer + } else { + // #[gamma::skip(assign_value.default, reason = "false is the default bool value, so the replacement is identical")] + self.complete = false; + vec![ScopeEvidence { scope, sites, elapsed }] + } } +} - // Cumulative offsets for streaming task resolution: instead of materializing all - // `(binary, test)` pairs, workers compute the pair from a flat index and these offsets. - let offsets: Vec = listed - .iter() - .scan(0_usize, |acc, (_binary, names)| { - let start = *acc; - *acc += names.len(); - Some(start) - }) - .collect(); - let total_tasks: usize = listed.iter().map(|(_binary, names)| names.len()).sum(); +fn should_subdivide( + children: &[Scope], + scope: &Scope, + names: &[Box], + sites: &[u32], + wanted: &HashSet, + launch_cost: Duration, + baseline: Duration, +) -> bool { + mixed(sites, wanted) && subdivision_repays(children.len(), launch_cost, baseline, scope.tests.len(), names.len(), sites.len()) +} - let next = AtomicUsize::new(0); +fn consistent_subdivision(complete_before: bool, complete_after: bool, parent_sites: &[u32], child_sites: &HashSet) -> bool { + complete_after == complete_before + && child_sites.len() == parent_sites.len() + && parent_sites.iter().all(|site| child_sites.contains(site)) +} - let launches = AtomicUsize::new(0); +fn initial_scopes(names: &[Box]) -> Vec { + let whole = Scope { + tests: (0..names.len()).filter_map(|index| u32::try_from(index).ok()).collect(), + }; - // One entry per wanted site of each binary, position-indexed rather than keyed, so the - // saturation check below can be a plain atomic load instead of a lock acquisition. Built once, - // before any worker starts, from `targets` — the same read-only map every worker already - // consults for `wanted` — so no worker ever writes to it. - let site_positions: Vec> = listed - .iter() - .map(|(binary, _names)| match targets.get(&binary.path) { - Some(wanted) => { - let mut sorted: Vec = wanted.iter().copied().collect(); - sorted.sort_unstable(); - sorted.into_iter().enumerate().map(|(position, site)| (site, position)).collect() - } - None => HashMap::default(), - }) - .collect(); - let site_counts: Vec> = site_positions - .iter() - .map(|positions| (0..positions.len()).map(|_position| AtomicUsize::new(0)).collect()) - .collect(); + module_children(&whole, names).unwrap_or_else(|| contiguous_children(&whole, true)) +} + +fn subdivision(scope: &Scope, names: &[Box]) -> Option> { + if scope.tests.len() <= 1 { + return None; + } - let times: Vec>> = listed + module_children(scope, names) + .or_else(|| Some(contiguous_children(scope, false))) + .filter(|children| children.len() > 1) +} + +fn module_children(scope: &Scope, names: &[Box]) -> Option> { + let split: Vec> = scope + .tests .iter() - .map(|(_binary, names)| names.iter().map(|_name| Mutex::new(Duration::ZERO)).collect()) + .filter_map(|index| usize::try_from(*index).ok()) + .filter_map(|index| names.get(index)) + .map(|name| name.split("::").collect()) .collect(); - let spoiled: Vec = listed.iter().map(|_entry| AtomicBool::new(false)).collect(); - let saturated: Vec = listed.iter().map(|_entry| AtomicBool::new(false)).collect(); - let sample_counts: Vec = listed.iter().map(|_entry| AtomicUsize::new(0)).collect(); - let remaining: Vec = listed.iter().map(|(_binary, names)| AtomicUsize::new(names.len())).collect(); - let (completion, completions) = mpsc::channel(); - let notes = crate::notes::current(); - - // Each worker accumulates the sites it personally observed into a map it alone owns, rather - // than contending for one shared, binary-wide lock on every sample it completes. Two workers - // never race over the same entry: the flat task index `at` is claimed by exactly one worker via - // `next.fetch_add`, so no `(binary, test)` pair — and so no `(site, test)` observation — is ever - // produced by more than one worker. Merging every worker's map together after `thread::scope` - // has joined every one of them is therefore just a union of disjoint data, needing no lock of - // its own either. - let locals: Vec>>> = thread::scope(|scope| { - let mut handles = Vec::with_capacity(jobs.max(1)); - - for worker in 0..jobs.max(1) { - let (next, listed, offsets, site_positions, site_counts, times, spoiled, saturated, sample_counts, remaining, launches) = ( - &next, - &listed, - &offsets, - &site_positions, - &site_counts, - ×, - &spoiled, - &saturated, - &sample_counts, - &remaining, - &launches, - ); - let completion = completion.clone(); - let notes = notes.clone(); - let sampler = &sampler; - let expired = &expired; - let path = directory.join(format!("{worker}.bin")); + let first = split.first()?; + let common = (0..first.len()) + .take_while(|&part| split.iter().all(|name| name.get(part) == first.get(part))) + .count(); + + if split.iter().any(|name| name.len() <= common + 1) { + return None; + } - let handle = scope.spawn(move || { - let _notes = crate::notes::enter(notes.as_ref()); + let mut groups: Vec = Vec::new(); + let mut previous: Option<&str> = None; + + for (&index, parts) in scope.tests.iter().zip(&split) { + let key = parts[common]; + if previous != Some(key) { + groups.push(Scope { tests: Vec::new() }); + previous = Some(key); + } + groups + .last_mut() + .expect("a group is inserted before its first test") + .tests + .push(index); + } - // Indexed by `binary_at`, exactly like the shared per-binary arrays above, but - // owned outright by this worker: nothing outside this closure ever reads or writes - // it, so it needs neither a lock nor an atomic. - let mut local: Vec>> = listed.iter().map(|_entry| HashMap::default()).collect(); + (groups.len() > 1).then_some(groups) +} - loop { - let at = next.fetch_add(1, Ordering::Relaxed); +fn contiguous_children(scope: &Scope, initial: bool) -> Vec { + let chunk = if initial && scope.tests.len() == 2 { + 1 + } else if initial { + ceil_sqrt(scope.tests.len()).max(1) + } else { + scope.tests.len().div_ceil(2) + }; - if at >= total_tasks { - break; - } + scope.tests.chunks(chunk).map(|tests| Scope { tests: tests.to_vec() }).collect() +} - // Resolve flat index to (binary_at, test_at) using cumulative offsets. - let binary_at = match offsets.binary_search(&at) { - Ok(exact) => exact, - Err(after) => after.saturating_sub(1), - }; - let test_at = at - offsets[binary_at]; - - let (binary, names) = &listed[binary_at]; - let spoiled = &spoiled[binary_at]; - let saturated = &saturated[binary_at]; - let sample_count = &sample_counts[binary_at]; - let positions = &site_positions[binary_at]; - let counts = &site_counts[binary_at]; - let times = ×[binary_at]; - let remaining = &remaining[binary_at]; - let name = &names[test_at]; - - if !spoiled.load(Ordering::Relaxed) && !saturated.load(Ordering::Relaxed) && !expired() { - let _previous = launches.fetch_add(1, Ordering::Relaxed); - - match (sampler(work, binary, name, &path, stall), u32::try_from(test_at)) { - (Some((sites, elapsed)), Ok(test_index)) => { - let _previous = sample_count.fetch_add(1, Ordering::Relaxed); - - #[expect(clippy::unwrap_used, reason = "the lock only poisons if a worker panicked, and none can")] - { - let mut time = times[test_at].lock().unwrap(); - *time = elapsed; - } - - let wanted = targets.get(&binary.path); - let reached = &mut local[binary_at]; - - // The runtime normally writes every set bit once. Deduplicate here - // as a protocol boundary too, so malformed input cannot inflate a - // relevant site's saturation count and prematurely stop the walk. - // Irrelevant records are discarded first so an untrusted census - // cannot force the coordinator to sort the complete protocol-sized - // population when only a small target set can affect this binary. - let mut sites = sites; - sites.retain(|site| wanted.is_some_and(|wanted| wanted.contains(site))); - sites.sort_unstable(); - sites.dedup(); - - for site in sites { - let tests = reached.entry(site).or_default(); - - tests.push(test_index); - - if let Some(&position) = positions.get(&site) { - let _previous = counts[position].fetch_add(1, Ordering::Relaxed); - } - } - - if wanted.is_some_and(|wanted| { - wanted.iter().all(|site| { - positions.get(site).is_some_and(|&position| { - counts[position].load(Ordering::Relaxed).saturating_mul(2) > names.len() - }) - }) - }) { - saturated.store(true, Ordering::Relaxed); - } - } - - _spoiled => spoiled.store(true, Ordering::Relaxed), - } - } - - if remaining.fetch_sub(1, Ordering::Relaxed) == 1 { - let _sent = completion.send(()); - } - } +fn ceil_sqrt(value: usize) -> usize { + let mut root = 0_usize; + while root.saturating_mul(root) < value { + // #[gamma::skip(all, reason = "not advancing the integer square-root candidate makes this loop non-terminating")] + root = root.saturating_add(1); + } + root +} - local - }); +fn mixed(sites: &[u32], wanted: &HashSet) -> bool { + sites.len() > 1 && sites.len() < wanted.len() +} - handles.push(handle); - } +fn subdivision_repays( + launches: usize, + launch_cost: Duration, + baseline: Duration, + scope_tests: usize, + total_tests: usize, + reached_sites: usize, +) -> bool { + if total_tests == 0 || reached_sites == 0 { + return false; + } - drop(completion); + let sampling = launch_cost.saturating_mul(u32::try_from(launches).unwrap_or(u32::MAX)); + let remaining = scale_duration(baseline, scope_tests, total_tests).saturating_mul(u32::try_from(reached_sites).unwrap_or(u32::MAX)); - for () in completions { - completed(); - } + sampling.saturating_mul(2) < remaining +} - // `thread::scope` already blocks until every spawned thread finishes before it returns, so - // these joins add no additional wait; they only recover the value each worker computed - // instead of letting it drop unread. - handles - .into_iter() - .map(|handle| handle.join().expect("a census worker exits normally; nothing in its loop panics")) - .collect() - }); +fn scale_duration(duration: Duration, numerator: usize, denominator: usize) -> Duration { + // #[gamma::skip(expr.decrement, reason = "usize converts exactly to u128 on every supported target, so this fallback cannot be observed")] + let denominator = u128::try_from(denominator).unwrap_or(u128::MAX).max(1); + // #[gamma::skip(expr.decrement, reason = "usize converts exactly to u128 on every supported target, so this fallback cannot be observed")] + let numerator = u128::try_from(numerator).unwrap_or(u128::MAX); + let nanos = duration.as_nanos().saturating_mul(numerator) / denominator; + Duration::from_nanos(u64::try_from(nanos).unwrap_or(u64::MAX)) +} - // A plain union: every `(binary, site)` entry a worker produced is disjoint from every other - // worker's, so combining them keeps every observation and drops none, in whichever order the - // workers happen to be visited. - let mut reached: Vec>> = (0..listed.len()).map(|_entry| HashMap::default()).collect(); - for worker_local in locals { - for (binary_at, site_map) in worker_local.into_iter().enumerate() { - let target = &mut reached[binary_at]; - for (site, mut tests) in site_map { - target.entry(site).or_default().append(&mut tests); - } - } +#[expect( + clippy::too_many_arguments, + reason = "the planner's execution seam is injected for deterministic tests" +)] +fn walk_with( + work: &Workspace, + listed: Vec<(&TestBinary, Vec>, Duration)>, + targets: &HashMap>, + _jobs: usize, + stall: Stall, + sampler: S, + expired: E, + mut completed: impl FnMut(), +) -> (Vec<(Utf8PathBuf, Reach)>, usize) +where + S: Fn(&Workspace, &TestBinary, &[&str], &Utf8Path, Stall) -> Option<(Vec, Duration)>, + E: Fn() -> bool, +{ + let directory = work.base().join("census"); + + if fs::create_dir_all(directory.as_std_path()).is_err() { + return (Vec::new(), 0); } let mut mapped = Vec::with_capacity(listed.len()); + let mut launches = 0_usize; - for ((binary, names), (raw_reached, (times, (spoiled, sample_count)))) in listed.into_iter().zip( - reached - .into_iter() - .zip(times.into_iter().zip(spoiled.into_iter().zip(sample_counts))), - ) { - if spoiled.into_inner() { + for (binary_at, (binary, names, launch_cost)) in listed.into_iter().enumerate() { + let Some(wanted) = targets.get(&binary.path) else { + completed(); continue; + }; + let path = directory.join(format!("{binary_at}.bin")); + let (evidence, binary_launches, complete) = { + let mut planner = Planner { + work, + binary, + names: &names, + wanted, + path: &path, + stall, + launch_cost, + sampler: &sampler, + expired: &expired, + launches: 0, + complete: true, + }; + let mut evidence = Vec::new(); + + for scope in initial_scopes(&names) { + evidence.extend(planner.explore(scope)); + } + + (evidence, planner.launches, planner.complete) + }; + launches = launches.saturating_add(binary_launches); + let mut raw_reached: HashMap> = HashMap::default(); + let mut times = vec![Duration::ZERO; names.len()]; + + for observed in evidence { + let divisor = u32::try_from(observed.scope.tests.len()).unwrap_or(u32::MAX).max(1); + let per_test = observed.elapsed / divisor; + let remainder = observed.elapsed.saturating_sub(per_test * divisor); + for (position, index) in observed.scope.tests.iter().enumerate() { + if let Ok(index) = usize::try_from(*index) + && let Some(time) = times.get_mut(index) + { + let share = if position == 0 { + per_test.saturating_add(remainder) + } else { + per_test + }; + *time = time.saturating_add(share); + } + } + for site in observed.sites { + raw_reached.entry(site).or_default().extend(observed.scope.tests.iter().copied()); + } } - #[expect(clippy::unwrap_used, reason = "the lock only poisons if a worker panicked, and none can")] - let times: Vec = times.into_iter().map(|time| time.into_inner().unwrap()).collect(); - let complete = sample_count.into_inner() == times.len(); + if !complete && raw_reached.is_empty() { + completed(); + continue; + } - // Intern identical reach sets to reduce memory for suites where many sites share tests. let mut reach = Reach { names, reached: HashMap::default(), @@ -931,23 +1192,26 @@ where complete, }; - for (site, indices) in raw_reached { + for (site, mut indices) in raw_reached { + indices.sort_unstable(); + indices.dedup(); let set_index = reach.intern_set(indices); let _previous = reach.reached.insert(site, set_index); } reach.finish(); mapped.push((binary.path.clone(), reach)); + completed(); } - (mapped, launches.into_inner()) + (mapped, launches) } -/// Runs one test in census mode and returns the site ordinals it reached. +/// Runs one test scope in census mode and returns the site ordinals it reached. /// /// `None` means the sample cannot be trusted, which is the whole binary's problem rather than this /// test's: see [`walk`]. -fn sample(work: &Workspace, binary: &TestBinary, name: &str, path: &Utf8Path, stall: Stall) -> Option<(Vec, Duration)> { +fn sample(work: &Workspace, binary: &TestBinary, names: &[&str], path: &Utf8Path, stall: Stall) -> Option<(Vec, Duration)> { // Appended to by the runtime, so a leftover from the previous test on this worker would be read // as part of this one. let _removed = fs::remove_file(path.as_std_path()); @@ -961,7 +1225,7 @@ fn sample(work: &Workspace, binary: &TestBinary, name: &str, path: &Utf8Path, st .map(|budget| binary.baseline.saturating_mul(CENSUS_FACTOR).max(budget)), stall, request: MemoryRequest { meter: false, limit: None }, - only: Only::One(name), + only: Only::These(names), census: Some(path), }; @@ -1080,6 +1344,7 @@ fn decode(bytes: &BoundedCensus) -> Option> { return None; } + // #[gamma::skip(all, reason = "this expression is only an allocation-capacity hint; decoding pushes the same records and exposes the same result for every capacity")] let mut sites = Vec::with_capacity(bytes.len() / 4); let mut sealed = false; @@ -1104,10 +1369,60 @@ fn decode(bytes: &BoundedCensus) -> Option> { #[cfg(test)] #[cfg(not(miri))] mod tests { - use std::io::Write as _; + use std::io::{Read, Write as _}; use super::*; + struct InterruptedThenData { + interrupted: bool, + data: std::io::Cursor>, + } + + impl Read for InterruptedThenData { + fn read(&mut self, buf: &mut [u8]) -> io::Result { + if !self.interrupted { + self.interrupted = true; + return Err(io::Error::from(io::ErrorKind::Interrupted)); + } + + self.data.read(buf) + } + } + + struct DataThenError { + data: Option>, + } + + impl Read for DataThenError { + fn read(&mut self, buf: &mut [u8]) -> io::Result { + if let Some(data) = self.data.take() { + buf[..data.len()].copy_from_slice(&data); + return Ok(data.len()); + } + + Err(io::Error::other("truncated")) + } + } + + #[test] + fn listing_reader_retries_interrupts_and_rejects_terminal_errors() { + let mut interrupted = InterruptedThenData { + interrupted: false, + data: std::io::Cursor::new(b"whole".to_vec()), + }; + assert_eq!(read_listing(&mut interrupted), (b"whole".to_vec(), true)); + + let mut truncated = DataThenError { + data: Some(b"prefix".to_vec()), + }; + assert_eq!(read_listing(&mut truncated), (b"prefix".to_vec(), false)); + + let mut exact = std::io::Cursor::new(vec![b'x'; LIST_CAP]); + assert!(read_listing(&mut exact).1); + let mut excessive = std::io::Cursor::new(vec![b'x'; LIST_CAP + 1]); + assert!(!read_listing(&mut excessive).1); + } + #[test] fn listing_output_beyond_the_cap_is_not_authoritative() { let (_directory, work) = @@ -1117,6 +1432,18 @@ mod tests { assert!(listed(command, Duration::from_secs(30)).is_none()); } + #[test] + fn listing_output_exactly_at_the_cap_is_still_a_whole_stream() { + let (_directory, work) = crate::testing::helper_workspace("census-list-cap-exact", &["flood:4194304", "exit:0"]); + let command = listing_command(&work, &crate::testing::helper()); + + assert_eq!( + listed(command, Duration::from_secs(30)), + Some(Vec::new()), + "the byte cap is inclusive; only the first byte beyond it makes a listing partial" + ); + } + #[test] fn listing_reader_thread_failure_degrades_to_no_census() { let (_directory, work) = crate::testing::helper_workspace("census-list-thread", &["print:a::test: test", "exit:0"]); @@ -1126,6 +1453,15 @@ mod tests { assert!(listed(command, Duration::from_secs(30)).is_none()); } + #[test] + fn a_listing_child_that_cannot_be_adopted_degrades_to_no_census() { + let (_directory, work) = crate::testing::helper_workspace("census-list-adopt", &["print:a::test: test", "exit:0"]); + let command = listing_command(&work, &crate::testing::helper()); + let _refused = process_faults::arm(ProcessFault::Adopt); + + assert!(listed(command, Duration::from_secs(30)).is_none()); + } + /// Production workspaces hold an exclusive scratch lock; adopted test workspaces do not. static WALK_TEST: Mutex<()> = Mutex::new(()); @@ -1133,18 +1469,35 @@ mod tests { #[test] fn listing_a_binary_uses_the_runs_loader_path() { let (_scratch, work) = crate::testing::helper_workspace("list-loader", &["exit:0"]); - let binary = crate::testing::helper(); + let mut binary = crate::testing::helper(); + binary.manifest_dir = work.root().join("crate"); let command = listing_command(&work, &binary); + let arguments: Vec<_> = command.get_args().collect(); let configured = command .get_envs() .find(|(name, _value)| *name == std::ffi::OsStr::new(LOADER_VAR)) .and_then(|(_name, value)| value); + let cache_home = command + .get_envs() + .find(|(name, _value)| *name == std::ffi::OsStr::new(crate::testing::CACHE_HOME_VAR)) + .and_then(|(_name, value)| value); + let expected_cache_home = crate::testing::cache_home(work.root()); + assert_eq!( + arguments.get(..2), + Some([std::ffi::OsStr::new("--list"), std::ffi::OsStr::new("--format=terse")].as_slice()) + ); + assert_eq!(command.get_current_dir(), Some(binary.manifest_dir.as_std_path())); assert_eq!( configured, work.launch().loader.as_deref(), "the listing launch omitted the libraries used to build its executable" ); + assert_eq!( + cache_home, + expected_cache_home.as_deref().map(|path| path.as_std_path().as_os_str()), + "the listing launch omitted the isolated cache home inherited by test processes" + ); } /// A binary that ignores the listing flags and never returns is abandoned, not waited out. @@ -1284,6 +1637,7 @@ mod tests { package_id: String::new(), target: "t".to_owned(), manifest_dir: Utf8PathBuf::new(), + linked_sources: None, baseline: Duration::from_secs(1), tests: None, budget: Some(Duration::from_secs(1)), @@ -1299,6 +1653,7 @@ mod tests { let mut census = Census::default(); assert_eq!(census.reaching(&binary("/t/a"), 7), None); + assert!(!census.is_complete_for(1)); let _previous = census.binaries.insert( Utf8PathBuf::from("/t/a"), @@ -1307,6 +1662,7 @@ mod tests { ..Reach::default() }, ); + assert!(census.is_complete_for(1)); assert_eq!(census.reaching(&binary("/t/a"), 7), Some(Vec::new())); } @@ -1346,7 +1702,12 @@ mod tests { assert_eq!(census.reaching(&binary("/t/a"), 9), Some(vec!["second"])); assert_eq!(census.reaching(&binary("/t/a"), 11), Some(Vec::new())); - + assert_eq!(census.len(), 1); + assert!( + census.binaries[&Utf8PathBuf::from("/t/a")].intern_index.is_empty(), + "the construction-only interning index is discarded once reach is finalized" + ); + // Two of three is past half, so the binary runs whole rather than being asked for most of // itself by name. assert_eq!(census.reaching(&binary("/t/a"), 7), None); @@ -1426,6 +1787,369 @@ mod tests { assert!(!can_repay(Duration::from_secs(2), Duration::from_secs(2))); assert!(!can_repay(Duration::from_secs(3), Duration::from_secs(2))); assert!(!can_repay(Duration::ZERO, Duration::ZERO)); + assert_eq!( + add_listing_cost(Duration::from_millis(3), Duration::from_millis(5), 4), + Duration::from_millis(23) + ); + assert_eq!(add_listing_cost(Duration::MAX, Duration::from_millis(5), 4), Duration::MAX); + } + + #[test] + fn scope_planning_prefers_module_hierarchy_and_falls_back_to_contiguous_chunks() { + let hierarchical: Vec> = ["alpha::one", "alpha::two", "beta::nested::one", "beta::nested::two"] + .into_iter() + .map(Into::into) + .collect(); + let shared_module_leaves: Vec> = ["tests::one", "tests::two"].into_iter().map(Into::into).collect(); + let flat: Vec> = (0..10).map(|index| format!("case{index:02}").into()).collect(); + + assert_eq!( + initial_scopes(&hierarchical), + vec![Scope { tests: vec![0, 1] }, Scope { tests: vec![2, 3] }] + ); + assert_eq!( + initial_scopes(&shared_module_leaves), + vec![Scope { tests: vec![0] }, Scope { tests: vec![1] }] + ); + assert_eq!( + initial_scopes(&flat), + vec![ + Scope { tests: vec![0, 1, 2, 3] }, + Scope { tests: vec![4, 5, 6, 7] }, + Scope { tests: vec![8, 9] }, + ] + ); + assert!(initial_scopes(&[]).is_empty()); + assert_eq!(initial_scopes(&["only".into()]), vec![Scope { tests: vec![0] }]); + assert_eq!( + initial_scopes(&["one".into(), "two".into()]), + vec![Scope { tests: vec![0] }, Scope { tests: vec![1] }] + ); + + let nested: Vec> = ["root::alpha::one", "root::alpha::two", "root::beta::one"] + .into_iter() + .map(Into::into) + .collect(); + let scope = Scope { tests: vec![0, 1, 2] }; + assert_eq!( + module_children(&scope, &nested), + Some(vec![Scope { tests: vec![0, 1] }, Scope { tests: vec![2] }]) + ); + assert_eq!(subdivision(&Scope { tests: vec![0] }, &nested), None); + } + + #[test] + fn subdivision_requires_a_clear_conservative_profit() { + assert!(subdivision_repays(2, Duration::from_millis(5), Duration::from_secs(1), 50, 100, 2,)); + assert!(!subdivision_repays(2, Duration::from_millis(5), Duration::from_secs(1), 50, 0, 2,)); + assert!(!subdivision_repays(2, Duration::from_millis(5), Duration::from_secs(1), 50, 100, 0,)); + assert!(!subdivision_repays( + 2, + Duration::from_millis(5), + Duration::from_millis(20), + 50, + 100, + 2, + )); + assert!(!subdivision_repays( + 2, + Duration::from_millis(5), + Duration::from_millis(10), + 100, + 100, + 2, + )); + assert!( + !subdivision_repays(2, Duration::from_millis(5), Duration::from_millis(20), 50, 100, 1), + "an exact tie is not enough to pay for speculative subdivision" + ); + + assert_eq!(scale_duration(Duration::from_nanos(11), 3, 2), Duration::from_nanos(16)); + assert_eq!(scale_duration(Duration::from_nanos(11), 0, 2), Duration::ZERO); + assert_eq!( + scale_duration(Duration::from_nanos(11), 3, 0), + Duration::from_nanos(33), + "a zero denominator is conservatively clamped to one" + ); + assert_eq!( + scale_duration(Duration::MAX, usize::MAX, 1), + Duration::from_nanos(u64::MAX), + "an unrepresentable scaled duration saturates" + ); + + assert_eq!([0, 1, 2, 3, 4, 5, 15, 16, 17].map(ceil_sqrt), [0, 1, 2, 2, 2, 3, 4, 4, 5]); + let wanted = HashSet::from_iter([1, 2, 3]); + assert!(!mixed(&[], &wanted)); + assert!(!mixed(&[1], &wanted)); + assert!(mixed(&[1, 2], &wanted)); + assert!(!mixed(&[1, 2, 3], &wanted)); + + let now = Instant::now(); + assert!(!deadline_reached(now, now + Duration::from_nanos(1))); + assert!(deadline_reached(now, now)); + assert!(deadline_reached(now + Duration::from_nanos(1), now)); + + let children = [Scope { tests: vec![0] }, Scope { tests: vec![1] }]; + let scope = Scope { tests: (0..50).collect() }; + let names: Vec> = (0..100).map(|index| format!("test{index}").into()).collect(); + assert!(should_subdivide( + &children, + &scope, + &names, + &[1, 2], + &HashSet::from_iter([1, 2, 3]), + Duration::from_millis(5), + Duration::from_secs(1), + )); + assert!(!should_subdivide( + &children, + &scope, + &names, + &[1], + &HashSet::from_iter([1, 2, 3]), + Duration::from_millis(5), + Duration::from_secs(1), + )); + + let all = HashSet::from_iter([1, 2]); + assert!(consistent_subdivision(true, true, &[1, 2], &all)); + assert!(!consistent_subdivision(true, false, &[1, 2], &all)); + assert!(!consistent_subdivision(true, true, &[1], &all)); + assert!(!consistent_subdivision(true, true, &[1, 3], &all)); + } + + #[test] + fn census_read_errors_expose_io_causes_but_not_protocol_limits() { + let io = CensusReadError::Io(io::Error::other("read refused")); + assert_eq!(io.to_string(), "read refused"); + assert_eq!( + std::error::Error::source(&io).map(ToString::to_string).as_deref(), + Some("read refused") + ); + + let oversized = CensusReadError::Oversized { + actual: MAX_CENSUS_BYTES + 1, + maximum: MAX_CENSUS_BYTES, + }; + assert!(oversized.to_string().contains("more than"), "{oversized}"); + assert!(std::error::Error::source(&oversized).is_none()); + } + + #[test] + fn localized_modules_use_fewer_total_launches_than_whole_binary_and_per_case_plans() { + let _serial = WALK_TEST.lock().expect("the census walk test lock is not poisoned"); + let (_directory, work) = crate::testing::helper_workspace("census-localized-", &[]); + let binary = TestBinary { + package: "subject".to_owned(), + baseline: Duration::from_secs(1), + ..crate::testing::helper() + }; + let names: Vec> = (0..8) + .flat_map(|module| (0..8).map(move |case| format!("module{module}::case{case}").into())) + .collect(); + let targets = HashMap::from_iter([(binary.path.clone(), (0..100).collect::>())]); + + let (mapped, walked) = walk_with( + &work, + vec![(&binary, names, MIN_SCOUT_WAIT)], + &targets, + 1, + Stall::NONE, + |_work, _binary, selected, _path, _stall| { + let module = selected[0] + .strip_prefix("module") + .and_then(|name| name.split_once("::")) + .and_then(|(number, _case)| number.parse::().ok()) + .expect("the fixture names a numbered module"); + Some((vec![module], Duration::from_millis(1))) + }, + || false, + || {}, + ); + let census = Census { + binaries: HashMap::from_iter(mapped), + walked, + ..Census::default() + }; + let sweep_launches = (0..100) + .filter(|ordinal| !matches!(census.selection(&binary, *ordinal), CensusSelection::Uncovered)) + .count(); + let scoped = walked + sweep_launches; + let whole_binary = 100; + let per_case = 64 + sweep_launches; + + assert_eq!(walked, 8, "one launch per deterministic module group"); + assert_eq!(sweep_launches, 8, "only the localized sites still need a sweep launch"); + assert!( + scoped < whole_binary, + "{scoped} scoped launches did not beat {whole_binary} whole-binary launches" + ); + assert!( + scoped < per_case, + "{scoped} scoped launches did not beat {per_case} per-case launches" + ); + } + + #[test] + fn a_malformed_group_keeps_other_positive_observations_as_hints_only() { + let _serial = WALK_TEST.lock().expect("the census walk test lock is not poisoned"); + let (_directory, work) = crate::testing::helper_workspace("census-malformed-group-", &[]); + let binary = binary("/t/a"); + let names: Vec> = (0..4).map(|index| format!("case{index}").into()).collect(); + let targets = HashMap::from_iter([(binary.path.clone(), HashSet::from_iter([1, 2]))]); + + let (mapped, walked) = walk_with( + &work, + vec![(&binary, names, MIN_SCOUT_WAIT)], + &targets, + 1, + Stall::NONE, + |_work, _binary, selected, _path, _stall| { + selected + .first() + .is_some_and(|name| *name == "case0") + .then_some((vec![1], Duration::from_millis(7))) + }, + || false, + || {}, + ); + let census = Census { + binaries: HashMap::from_iter(mapped), + walked, + ..Census::default() + }; + + assert_eq!(walked, 2); + assert_eq!(census.selection(&binary, 1), CensusSelection::Hinted(vec!["case0", "case1"])); + assert_eq!(census.selection(&binary, 2), CensusSelection::Whole); + let reach = &census.binaries[&binary.path]; + assert_eq!( + reach.times, + vec![ + Duration::from_micros(3500), + Duration::from_micros(3500), + Duration::ZERO, + Duration::ZERO + ] + ); + assert!(reach.intern_index.is_empty()); + } + + #[test] + fn inconsistent_subdivision_cannot_prove_absence() { + let _serial = WALK_TEST.lock().expect("the census walk test lock is not poisoned"); + let (_directory, work) = crate::testing::helper_workspace("census-nondeterministic-group-", &[]); + let mut binary = binary("/t/a"); + binary.baseline = Duration::from_secs(10); + let names: Vec> = (0..4).map(|index| format!("case{index}").into()).collect(); + let targets = HashMap::from_iter([(binary.path.clone(), HashSet::from_iter([1, 2, 3]))]); + + let (mapped, walked) = walk_with( + &work, + vec![(&binary, names, MIN_SCOUT_WAIT)], + &targets, + 1, + Stall::NONE, + |_work, _binary, selected, _path, _stall| { + if selected.len() == 2 && selected[0] == "case0" { + Some((vec![1, 2], Duration::ZERO)) + } else if selected.len() == 1 && selected[0] == "case0" { + Some((vec![1], Duration::ZERO)) + } else { + Some((Vec::new(), Duration::ZERO)) + } + }, + || false, + || {}, + ); + let census = Census { + binaries: HashMap::from_iter(mapped), + walked, + ..Census::default() + }; + + assert_eq!(walked, 4, "two root chunks and two attempted child samples"); + assert_eq!(census.selection(&binary, 1), CensusSelection::Hinted(vec!["case0", "case1"])); + assert_eq!(census.selection(&binary, 2), CensusSelection::Hinted(vec!["case0", "case1"])); + assert_eq!(census.selection(&binary, 3), CensusSelection::Whole); + } + + #[test] + fn planner_filters_sorts_and_deduplicates_one_terminal_scope() { + let (_directory, work) = crate::testing::helper_workspace("census-planner-terminal-", &[]); + let binary = binary("/t/a"); + let names: Vec> = vec!["tests::one".into()]; + let wanted = HashSet::from_iter([2, 7]); + let sampler = |_work: &Workspace, _binary: &TestBinary, selected: &[&str], _path: &Utf8Path, _stall: Stall| { + assert_eq!(selected, ["tests::one"]); + Some((vec![9, 7, 2, 7, 9], Duration::from_millis(13))) + }; + let expired = || false; + let mut planner = Planner { + work: &work, + binary: &binary, + names: &names, + wanted: &wanted, + path: Utf8Path::new("/unused"), + stall: Stall::NONE, + launch_cost: MIN_SCOUT_WAIT, + sampler: &sampler, + expired: &expired, + launches: 0, + complete: true, + }; + + let evidence = planner.explore(Scope { tests: vec![0] }); + + assert_eq!(planner.launches, 1); + assert!(planner.complete); + assert_eq!(evidence.len(), 1); + assert_eq!(evidence[0].scope.tests, vec![0]); + assert_eq!(evidence[0].sites, vec![2, 7]); + assert_eq!(evidence[0].elapsed, Duration::from_millis(13)); + } + + #[test] + fn planner_keeps_consistent_child_evidence_instead_of_the_parent() { + let (_directory, work) = crate::testing::helper_workspace("census-planner-children-", &[]); + let mut binary = binary("/t/a"); + binary.baseline = Duration::from_secs(10); + let names: Vec> = (0..4).map(|index| format!("case{index}").into()).collect(); + let wanted = HashSet::from_iter([1, 2, 3]); + let sampler = |_work: &Workspace, _binary: &TestBinary, selected: &[&str], _path: &Utf8Path, _stall: Stall| { + let sites = if selected.len() == 4 { + vec![1, 2] + } else if selected[0] == "case0" { + vec![1] + } else { + vec![2] + }; + Some((sites, Duration::from_millis(u64::try_from(selected.len()).expect("small fixture")))) + }; + let expired = || false; + let mut planner = Planner { + work: &work, + binary: &binary, + names: &names, + wanted: &wanted, + path: Utf8Path::new("/unused"), + stall: Stall::NONE, + launch_cost: MIN_SCOUT_WAIT, + sampler: &sampler, + expired: &expired, + launches: 0, + complete: true, + }; + + let evidence = planner.explore(Scope { tests: vec![0, 1, 2, 3] }); + + assert!(planner.complete); + assert_eq!(planner.launches, 3); + assert_eq!(evidence.len(), 2); + assert_eq!(evidence[0].scope.tests, vec![0, 1]); + assert_eq!(evidence[0].sites, vec![1]); + assert_eq!(evidence[1].scope.tests, vec![2, 3]); + assert_eq!(evidence[1].sites, vec![2]); } #[test] @@ -1480,6 +2204,13 @@ mod tests { assert!(matches!(census.work(&binary("/t/a"), 8), CensusWork::Uncovered)); assert!(matches!(census.work(&binary("/t/a"), 9), CensusWork::Whole)); assert!(matches!(census.work(&binary("/t/b"), 7), CensusWork::Whole)); + + let partial = Census::partial(Utf8Path::new("/t/partial"), 7, 2, 5); + assert!(matches!( + partial.work(&binary("/t/partial"), 7), + CensusWork::Hinted(duration) if duration == Duration::from_millis(2) + )); + assert!(matches!(partial.work(&binary("/t/partial"), 8), CensusWork::Whole)); } fn decode_fixture(bytes: &[u8]) -> Option> { @@ -1524,6 +2255,14 @@ mod tests { // are missing — and a missing site is exactly what would be misread as an unreached one. assert_eq!(decode_fixture(&[1, 0, 0]), None); assert_eq!(decode_fixture(&[1, 0, 0, 0, 2]), None); + + let mut sealed_with_partial_record = sealed(&[]); + sealed_with_partial_record.push(1); + assert_eq!( + decode_fixture(&sealed_with_partial_record), + None, + "a seal before a partial trailing record does not make the prefix trustworthy" + ); } #[test] @@ -1565,10 +2304,18 @@ mod tests { .append(true) .open(path.as_std_path()) .expect("the boundary fixture remains writable") - .write_all(&[0]) - .expect("the excess byte is appended"); + .write_all(&[0, 0]) + .expect("excess bytes are appended"); let error = read_bounded(&path).expect_err("a file past the protocol maximum must be refused"); assert!(error.to_string().contains("protocol"), "{error}"); + assert!(matches!( + error, + CensusReadError::Oversized { + actual, + maximum + } if actual == u64::try_from(protocol_maximum + 1).expect("the protocol fixture fits u64") + && maximum == u64::try_from(protocol_maximum).expect("the protocol fixture fits u64") + )); } /// A sparse file can have a large logical length while consuming little physical storage. @@ -1577,11 +2324,14 @@ mod tests { /// reader consumes only its bounded prefix rather than allocating for the file's logical size. #[test] fn read_bounded_refuses_a_sparse_file_with_a_large_logical_length() { - const SPARSE_LOGICAL_LENGTH: u64 = 1 << 34; + const SPARSE_LOGICAL_LENGTH: u64 = 64 * 1024 * 1024; let scratch = crate::testing::workdir("sec2-sparse"); let path = Utf8PathBuf::from_path_buf(scratch.path().join("census.bin")).expect("a temp path is valid UTF-8"); + const { + assert!(SPARSE_LOGICAL_LENGTH > MAX_CENSUS_BYTES); + } let file = fs::File::create(path.as_std_path()).expect("the sparse fixture file is creatable"); file.set_len(SPARSE_LOGICAL_LENGTH) .expect("the filesystem under the test work directory supports sparse files"); @@ -1592,24 +2342,24 @@ mod tests { assert!(error.to_string().contains("protocol"), "{error}"); } - /// `walked` counts subprocesses that actually launched, not tests that were listed. + /// `walked` counts sample subprocesses that actually launched, not tests that were listed. /// - /// A binary spoils the moment one of its tests cannot be trusted, and its remaining tests are - /// then skipped rather than run. Summing the list lengths up front would bill those skipped - /// tests as launches that never happened, overstating the census's cost. This drives one binary - /// whose second test spoils it and asserts the count is the two that ran, not the three listed. + /// Grouped sampling can cover several listed tests with one launch. Summing the list lengths up + /// front would therefore overstate the census's cost. This drives three listed tests through + /// two initial scopes, one of which spoils the binary, and asserts that the two launches are + /// counted even though the incomplete binary contributes no exact reach. #[test] fn walked_counts_launches_that_happened_not_tests_that_were_listed() { - // The launcher passes the test name as an argument, and the second test exits non-zero, - // which spoils the binary. The others write a lone seal — a valid, empty census — and pass, - // but the third never runs. + // The first scope includes `spoiler` and exits non-zero. The second writes a lone seal — a + // valid, empty census — and passes, but the incomplete binary is still discarded. const SCRIPT: &[&str] = &["when-arg:spoiler|exit:1", "write-le:GAMMA_CENSUS|4294967293"]; let _serial = WALK_TEST.lock().expect("the census walk test lock is not poisoned"); // A tree of its own, so the census scratch directory `walk` derives from `base()` cannot // collide with another test's. - let (_directory, work) = crate::testing::helper_workspace("cor13-walked", SCRIPT); + let (_directory, mut work) = crate::testing::helper_workspace("cor13-walked", SCRIPT); + isolate_census_base(&mut work); let binary = TestBinary { package: "subject".to_owned(), @@ -1621,20 +2371,24 @@ mod tests { let names: Vec> = vec!["reaches".into(), "spoiler".into(), "after".into()]; let targets = HashMap::from_iter([(binary.path.clone(), HashSet::from_iter([7]))]); - // One worker, so the queue order is deterministic: reaches, then spoiler, then after. let mut completed = 0; - let (mapped, walked) = walk(&work, vec![(&binary, names)], &targets, None, 1, Stall::NONE, || completed += 1); - - assert_eq!( - walked, 2, - "reaches launched, spoiler launched and spoiled the binary, after was skipped" + let (mapped, walked) = walk( + &work, + vec![(&binary, names, MIN_SCOUT_WAIT)], + &targets, + None, + 1, + Stall::NONE, + || completed += 1, ); + + assert_eq!(walked, 2, "three listed tests were covered by two launched sample scopes"); assert_eq!(completed, 1, "the spoiled binary completed exactly once"); assert!(mapped.is_empty(), "a spoiled binary contributes no reach at all"); } #[test] - fn walking_stops_when_every_target_site_already_requires_the_whole_binary() { + fn grouped_sampling_stops_at_coarse_scopes_when_every_site_is_common() { let _serial = WALK_TEST.lock().expect("the census walk test lock is not poisoned"); let (_directory, work) = crate::testing::helper_workspace("census-saturation-", &[]); let binary = TestBinary { @@ -1647,7 +2401,7 @@ mod tests { let (mapped, walked) = walk_with( &work, - vec![(&binary, names)], + vec![(&binary, names, MIN_SCOUT_WAIT)], &targets, 1, Stall::NONE, @@ -1662,13 +2416,56 @@ mod tests { let census = Census { binaries: HashMap::from_iter(mapped), walked, + ..Census::default() }; - assert_eq!(sampled.load(Ordering::Relaxed), 3); - assert_eq!(walked, 3); + assert_eq!(sampled.load(Ordering::Relaxed), 2); + assert_eq!(walked, 2); assert_eq!(census.selection(&binary, 7), CensusSelection::Whole); } + #[test] + fn grouped_scope_cost_is_distributed_across_tests_without_multiplying_it() { + let _serial = WALK_TEST.lock().expect("the census walk test lock is not poisoned"); + let (_directory, work) = crate::testing::helper_workspace("census-group-cost-", &[]); + let mut binary = TestBinary { + package: "subject".to_owned(), + ..crate::testing::helper() + }; + binary.baseline = Duration::from_secs(10); + let names: Vec> = (0..4).map(|index| format!("tests::t{index}").into()).collect(); + let targets = HashMap::from_iter([(binary.path.clone(), HashSet::from_iter([7]))]); + + let (mapped, walked) = walk_with( + &work, + vec![(&binary, names, MIN_SCOUT_WAIT)], + &targets, + 1, + Stall::NONE, + |_work, _binary, selected, _path, _stall| { + let sites = selected + .first() + .is_some_and(|name| *name == "tests::t0") + .then_some(7) + .into_iter() + .collect(); + Some((sites, Duration::from_millis(10))) + }, + || false, + || {}, + ); + let census = Census { + binaries: HashMap::from_iter(mapped), + walked, + ..Census::default() + }; + + assert!(matches!( + census.work(&binary, 7), + CensusWork::Selected(duration) if duration == Duration::from_millis(10) + )); + } + /// A sampler that reports the same site several times for one test must count as a single /// reach toward saturation, not several: `intern_set` removes duplicates from the final list /// either way, so a miscount here can only be caught by the saturation threshold itself, not @@ -1690,7 +2487,7 @@ mod tests { let (mapped, walked) = walk_with( &work, - vec![(&binary, names)], + vec![(&binary, names, MIN_SCOUT_WAIT)], &targets, 1, Stall::NONE, @@ -1706,13 +2503,11 @@ mod tests { let census = Census { binaries: HashMap::from_iter(mapped), walked, + ..Census::default() }; - // Genuine saturation (3 distinct tests out of 5) is unaffected by how many times any one - // of them repeats the same site: the walk still stops after exactly 3 samples, exactly as - // it does when each sample reports the site only once (the test above). - assert_eq!(sampled.load(Ordering::Relaxed), 3); - assert_eq!(walked, 3); + assert_eq!(sampled.load(Ordering::Relaxed), 2); + assert_eq!(walked, 2); assert_eq!(census.selection(&binary, 42), CensusSelection::Whole); } @@ -1734,7 +2529,7 @@ mod tests { let (mapped, walked) = walk_with( &work, - vec![(&binary, names)], + vec![(&binary, names, MIN_SCOUT_WAIT)], &targets, 8, Stall::NONE, @@ -1746,15 +2541,10 @@ mod tests { let census = Census { binaries: HashMap::from_iter(mapped), walked, + ..Census::default() }; - // Bounded, not exact: concurrent workers may race a few extra samples past the check - // before the saturation flag becomes visible, but never fewer than the 3 distinct tests - // genuine saturation requires, and never more than the 5 tests that exist. - assert!( - (3..=5).contains(&walked), - "walked {walked} samples, expected saturation between 3 and 5 tests" - ); + assert_eq!(walked, 2); assert_eq!(census.selection(&binary, 42), CensusSelection::Whole); } @@ -1784,8 +2574,8 @@ mod tests { // Each test deterministically reaches a handful of sites, purely as a function of its own // index — never of which worker happens to run it or when — so any disagreement between the // one-worker and many-worker runs can only come from the merge itself. - let sampler = |_work: &Workspace, _binary: &TestBinary, name: &str, _path: &Utf8Path, _stall: Stall| { - let index: u32 = name + let sampler = |_work: &Workspace, _binary: &TestBinary, names: &[&str], _path: &Utf8Path, _stall: Stall| { + let index: u32 = names[0] .strip_prefix("tests::t") .and_then(|digits| digits.parse().ok()) .expect("these test names are always `tests::t`"); @@ -1797,7 +2587,7 @@ mod tests { let run = |jobs: usize| { let (mapped, walked) = walk_with( &work, - vec![(&binary, names.clone())], + vec![(&binary, names.clone(), MIN_SCOUT_WAIT)], &targets, jobs, Stall::NONE, @@ -1810,6 +2600,7 @@ mod tests { Census { binaries: HashMap::from_iter(mapped), walked, + ..Census::default() }, walked, ) @@ -1818,7 +2609,7 @@ mod tests { let (single, single_walked) = run(1); let (many, many_walked) = run(8); - assert_eq!(single_walked, TESTS); + assert_eq!(single_walked, 6); assert_eq!( single_walked, many_walked, "the same fixed suite launches the same number of samples regardless of worker count" @@ -1836,18 +2627,19 @@ mod tests { #[test] fn the_budget_keeps_completed_samples_as_hints_without_trusting_missing_ones() { let _serial = WALK_TEST.lock().expect("the census walk test lock is not poisoned"); - let (_directory, work) = crate::testing::helper_workspace("census-budget-", &[]); + let (_directory, mut work) = crate::testing::helper_workspace("census-budget-", &[]); + isolate_census_base(&mut work); let binary = TestBinary { package: "subject".to_owned(), ..crate::testing::helper() }; - let names: Vec> = (0..5).map(|index| format!("tests::t{index}").into()).collect(); + let names: Vec> = (0..8).map(|index| format!("tests::t{index}").into()).collect(); let targets = HashMap::from_iter([(binary.path.clone(), HashSet::from_iter([7, 8]))]); let spent = AtomicBool::new(false); let (mapped, walked) = walk_with( &work, - vec![(&binary, names)], + vec![(&binary, names, MIN_SCOUT_WAIT)], &targets, 1, Stall::NONE, @@ -1862,10 +2654,14 @@ mod tests { let census = Census { binaries: HashMap::from_iter(mapped), walked, + ..Census::default() }; assert_eq!(walked, 1); - assert_eq!(census.selection(&binary, 7), CensusSelection::Hinted(vec!["tests::t0"])); + assert_eq!( + census.selection(&binary, 7), + CensusSelection::Hinted(vec!["tests::t0", "tests::t1", "tests::t2"]) + ); assert_eq!(census.selection(&binary, 8), CensusSelection::Whole); } @@ -1882,7 +2678,7 @@ mod tests { let (_mapped, walked) = walk_with( &work, - vec![(&binary, vec!["partial".into()])], + vec![(&binary, vec!["partial".into()], MIN_SCOUT_WAIT)], &targets, 1, Stall::NONE, @@ -1922,9 +2718,17 @@ mod tests { let targets = HashMap::from_iter([(binary.path.clone(), HashSet::from_iter([7]))]); let mut completed = 0; - let (mapped, walked) = walk(&work, vec![(&binary, vec!["quiet".into()])], &targets, None, 1, Stall::NONE, || { - completed += 1; - }); + let (mapped, walked) = walk( + &work, + vec![(&binary, vec!["quiet".into()], MIN_SCOUT_WAIT)], + &targets, + None, + 1, + Stall::NONE, + || { + completed += 1; + }, + ); assert_eq!(walked, 1, "the one test was launched"); assert_eq!(completed, 1, "the spoiled binary completed exactly once"); @@ -1953,11 +2757,12 @@ mod tests { }; // Two sites with the same reaching tests share one intern slot. - let idx1 = reach.intern_set(vec![0, 2]); + let idx1 = reach.intern_set(vec![0, 2, 2, 0]); let idx2 = reach.intern_set(vec![2, 0]); // same set, different insertion order assert_eq!(idx1, idx2, "identical sets should map to the same intern index"); assert_eq!(reach.intern.len(), 1, "only one interned set should exist"); + assert_eq!(reach.intern[0].as_ref(), &[0, 2], "interned sets are sorted and deduplicated"); } /// Different reach sets get distinct intern slots. @@ -2001,6 +2806,521 @@ mod tests { assert_eq!(reach.intern.len(), 2, "sites 1 and 2 share one interned set"); } + #[test] + fn durable_reach_clusters_intern_identical_test_sets() { + let binary = binary("/t/a"); + let duplicate_binary = self::binary("/t/b"); + let mut census = Census::default(); + let _previous = census.binaries.insert( + binary.path.clone(), + reach_from( + vec!["tests::a".into(), "tests::b".into()], + vec![(1, vec![0]), (2, vec![0])], + vec![Duration::from_millis(1); 2], + ), + ); + let _previous = census.binaries.insert( + duplicate_binary.path.clone(), + reach_from( + vec!["tests::a".into(), "tests::b".into()], + vec![(1, vec![0]), (2, vec![0])], + vec![Duration::from_millis(1); 2], + ), + ); + let mut first = crate::fixtures::mutant(); + first.ordinal = 1; + first.occurrence = 1; + let mut second = first.clone(); + second.ordinal = 2; + second.occurrence = 2; + let mut hints = GeneralizedHints::empty_supported(); + hints.version = 0; + + census.persist_clusters(&[first, second], &[binary, duplicate_binary], &mut hints); + + assert_eq!(hints.version, GENERALIZED_HINTS_VERSION); + assert_eq!(hints.test_sets.len(), 1); + assert_eq!(hints.reach.len(), 2); + assert_eq!(hints.reach[0].test_set, hints.reach[1].test_set); + assert_eq!( + hints.test_sets[0].len(), + 1, + "the same durable killer from two binaries is deduplicated" + ); + } + + #[test] + fn durable_reach_clusters_sort_by_stable_site_digest_before_occurrence() { + let binary = binary("/t/a"); + let mut census = Census::default(); + let _previous = census.binaries.insert( + binary.path.clone(), + reach_from( + vec!["tests::a".into(), "tests::unused".into()], + vec![(1, vec![0]), (2, vec![0]), (3, vec![0])], + vec![Duration::from_millis(1); 2], + ), + ); + let mut later_text = crate::fixtures::mutant(); + later_text.ordinal = 1; + later_text.original = "z + 1".into(); + later_text.occurrence = 0; + let mut later_occurrence = later_text.clone(); + later_occurrence.ordinal = 2; + later_occurrence.original = "a /* formatting */ + 1".into(); + later_occurrence.occurrence = 1; + let mut earlier_occurrence = later_occurrence.clone(); + earlier_occurrence.ordinal = 3; + earlier_occurrence.occurrence = 0; + let mut expected: Vec<(String, u32)> = [&later_text, &later_occurrence, &earlier_occurrence] + .into_iter() + .map(|mutant| { + let site = SiteIdentity::from_mutant(mutant); + (site.normalized_text, site.occurrence) + }) + .collect(); + expected.sort(); + let mut hints = GeneralizedHints::empty_supported(); + + census.persist_clusters(&[later_text, later_occurrence, earlier_occurrence], &[binary], &mut hints); + + let order: Vec<(String, u32)> = hints + .reach + .iter() + .map(|cluster| (cluster.site.normalized_text.clone(), cluster.site.occurrence)) + .collect(); + assert_eq!(order, expected); + } + + #[test] + fn durable_reach_clusters_are_bounded_and_preserve_untouched_sites() { + let mut binary = binary("/t/a"); + binary.baseline = Duration::from_millis(10); + let mut census = Census::default(); + let _previous = census.binaries.insert( + binary.path.clone(), + reach_from( + vec!["tests::a".into(), "tests::b".into(), "tests::c".into(), "tests::d".into()], + vec![(1, vec![0, 1, 2]), (2, vec![0])], + vec![Duration::from_millis(1), Duration::ZERO, Duration::ZERO, Duration::ZERO], + ), + ); + let mut expensive = crate::fixtures::mutant(); + expensive.ordinal = 1; + expensive.item_path = "subject::expensive".into(); + let mut useful = expensive.clone(); + useful.ordinal = 2; + useful.item_path = "subject::useful".into(); + let untouched_site = SiteIdentity { + file: "src/untouched.rs".into(), + item: "untouched::item".to_owned(), + mutator: "lit.true_to_false".to_owned(), + normalized_text: "true".to_owned(), + occurrence: 0, + }; + let untouched = vec![ + Killer { + package: "z-package".to_owned(), + target: "z-tests".to_owned(), + test: "tests::z".to_owned(), + }, + Killer { + package: "a-package".to_owned(), + target: "a-tests".to_owned(), + test: "tests::a".to_owned(), + }, + ]; + let previous_expensive = vec![Killer { + package: "old-package".to_owned(), + target: "old-tests".to_owned(), + test: "tests::old".to_owned(), + }]; + let mut hints = GeneralizedHints { + version: GENERALIZED_HINTS_VERSION, + test_sets: vec![untouched, previous_expensive], + reach: vec![ + ReachCluster { + site: untouched_site.clone(), + test_set: 0, + }, + ReachCluster { + site: SiteIdentity { + file: "src/missing-set.rs".into(), + ..untouched_site.clone() + }, + test_set: 99, + }, + ReachCluster { + site: SiteIdentity::from_mutant(&expensive), + test_set: 1, + }, + ], + ..GeneralizedHints::empty_supported() + }; + + census.persist_clusters(&[expensive, useful.clone()], &[binary], &mut hints); + + assert!(hints.reach.iter().any(|cluster| cluster.site == untouched_site)); + let untouched_set = hints + .reach + .iter() + .find(|cluster| cluster.site == untouched_site) + .and_then(|cluster| hints.test_sets.get(cluster.test_set as usize)) + .expect("the untouched set remains interned"); + assert_eq!(untouched_set[0].package, "a-package"); + assert!(hints.reach.iter().any(|cluster| cluster.site == SiteIdentity::from_mutant(&useful))); + let previous = hints + .reach + .iter() + .find(|cluster| cluster.site.item == "subject::expensive") + .and_then(|cluster| hints.test_sets.get(cluster.test_set as usize)) + .expect("a site without usable replacement evidence keeps its prior hint"); + assert_eq!(previous[0].test, "tests::old"); + } + + #[test] + fn durable_reach_clusters_discard_stale_and_unprofitable_records() { + let mut binary = binary("/t/a"); + binary.baseline = Duration::from_millis(1); + let mut reach = reach_from( + vec!["tests::a".into(), "tests::b".into()], + vec![(1, vec![0]), (99, vec![0])], + vec![Duration::from_millis(1); 2], + ); + let _invalid = reach.reached.insert(2, u32::MAX); + let mut census = Census::default(); + let _previous = census.binaries.insert(binary.path.clone(), reach); + let mut first = crate::fixtures::mutant(); + first.ordinal = 1; + let mut invalid = first.clone(); + invalid.ordinal = 2; + let mut hints = GeneralizedHints::empty_supported(); + + census.persist_clusters(&[first, invalid], &[binary], &mut hints); + + assert!(hints.reach.is_empty(), "stale, malformed, and full-cost records are not persisted"); + assert!(hints.test_sets.is_empty()); + } + + #[test] + fn taking_a_census_skips_unlistable_binaries_and_work_that_cannot_repay() { + let directory = crate::testing::workdir("census-admission-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("utf-8 root"); + let work = Workspace::adopt(root.clone(), root.join("target")); + let missing = TestBinary { + path: root.join("missing-test-binary"), + ..binary("missing") + }; + let targets = std::iter::once((missing.path.clone(), HashSet::from_iter([1]))).collect(); + let mut events = crate::testing::Recorder::default(); + + let census = take(&work, &[missing], &targets, Duration::ZERO, 1, Stall::NONE, &mut events); + + assert_eq!(census.len(), 0); + assert_eq!(census.walked, 0); + assert_eq!(census.listing_launches(), 1); + assert_eq!(census.listed_binaries(), 0); + assert!(!census.walk_admitted()); + assert!( + !census.walk_declined(), + "failed enumeration is an incomplete census, not an economic decline" + ); + assert_eq!( + events.phases, + vec![ + ("Optimizing".to_owned(), "1 test binary".to_owned()), + (String::new(), String::new()), + ] + ); + + let (_directory, work) = + crate::testing::helper_workspace("census-declined-", &["when-arg:--list|print:tests::one: test", "exit:0"]); + let binary = crate::testing::helper(); + let targets = std::iter::once((binary.path.clone(), HashSet::from_iter([1]))).collect(); + let declined = take( + &work, + &[binary], + &targets, + Duration::ZERO, + 1, + Stall::NONE, + &mut crate::testing::Recorder::default(), + ); + + assert_eq!(declined.listed_binaries(), 1); + assert!(!declined.walk_admitted()); + assert!(declined.walk_declined()); + } + + #[test] + fn taking_a_census_reports_each_unlistable_binary_and_the_empty_result() { + #[derive(Default)] + struct CensusEvents { + phases: Vec<(String, String)>, + progress: Vec<(usize, usize, String)>, + } + + impl Events for CensusEvents { + fn phase(&mut self, verb: &str, detail: &str) { + self.phases.push((verb.to_owned(), detail.to_owned())); + } + + fn phase_progress(&mut self, completed: usize, total: usize, unit: &str) { + self.progress.push((completed, total, unit.to_owned())); + } + + fn mutant(&mut self, _mutant: &Mutant) {} + } + + let directory = crate::testing::workdir("census-progress-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("utf-8 root"); + let work = Workspace::adopt(root.clone(), root.join("target")); + let binaries = [ + TestBinary { + path: root.join("missing-a"), + ..binary("missing-a") + }, + TestBinary { + path: root.join("missing-b"), + ..binary("missing-b") + }, + ]; + let targets = binaries + .iter() + .map(|binary| (binary.path.clone(), HashSet::from_iter([1]))) + .collect(); + let mut events = CensusEvents::default(); + + let census = take(&work, &binaries, &targets, Duration::from_secs(1), 1, Stall::NONE, &mut events); + + assert_eq!(census.len(), 0); + assert_eq!(census.walked(), 0); + assert_eq!(census.listing_launches(), 2); + assert_eq!(census.listed_binaries(), 0); + assert!(!census.walk_admitted()); + assert_eq!( + events.progress, + vec![ + (0, 2, "test binaries".to_owned()), + (1, 2, "test binaries".to_owned()), + (2, 2, "test binaries".to_owned()), + ] + ); + assert_eq!( + events.phases, + vec![ + ("Optimizing".to_owned(), "2 test binaries".to_owned()), + (String::new(), ", 0 of 2 binaries mapped, over 0 samples".to_owned()), + ] + ); + } + + #[test] + fn taking_a_census_reports_and_persists_one_complete_sample() { + #[derive(Default)] + struct CensusEvents { + phases: Vec<(String, String)>, + progress: Vec<(usize, usize, String)>, + } + + impl Events for CensusEvents { + fn phase(&mut self, verb: &str, detail: &str) { + self.phases.push((verb.to_owned(), detail.to_owned())); + } + + fn phase_progress(&mut self, completed: usize, total: usize, unit: &str) { + self.progress.push((completed, total, unit.to_owned())); + } + + fn mutant(&mut self, _mutant: &Mutant) {} + } + + const SCRIPT: &[&str] = &[ + "when-arg:--list|print:tests::z: test", + "when-arg:--list|print:tests::a: test", + "when-arg:--list|print:tests::m: test", + "when-arg:--list|print:tests::n: test", + "when-arg:--list|print:tests::q: test", + "when-arg:tests::a|write-le:GAMMA_CENSUS|7|4294967293", + "when-arg:tests::z|write-le:GAMMA_CENSUS|7|4294967293", + "exit:0", + ]; + let _serial = WALK_TEST.lock().expect("the census walk test lock is not poisoned"); + let (_directory, mut work) = crate::testing::helper_workspace("census-take-complete-", SCRIPT); + isolate_census_base(&mut work); + let mut binary = crate::testing::helper(); + binary.baseline = Duration::from_secs(1); + binary.budget = Some(Duration::from_secs(1)); + let targets = HashMap::from_iter([(binary.path.clone(), HashSet::from_iter([7]))]); + let mut events = CensusEvents::default(); + + let census = take( + &work, + core::slice::from_ref(&binary), + &targets, + Duration::from_secs(2), + 1, + Stall::NONE, + &mut events, + ); + + assert_eq!(census.walked(), 2); + assert_eq!(census.len(), 1); + assert_eq!(census.listing_launches(), 1); + assert_eq!(census.listed_binaries(), 1); + assert!(!census.estimated_cost().is_zero()); + assert!(census.walk_admitted()); + assert_eq!(census.selection(&binary, 7), CensusSelection::Whole); + assert_eq!( + events.progress, + vec![(0, 1, "test binary".to_owned()), (1, 1, "test binary".to_owned())] + ); + assert_eq!(events.phases[0], ("Optimizing".to_owned(), "1 test binary".to_owned())); + assert_eq!( + events.phases[1], + (String::new(), ", 1 of 1 binary mapped, over 2 samples".to_owned()) + ); + } + + #[test] + fn walking_skips_a_listed_binary_without_requested_sites() { + let directory = crate::testing::workdir("census-unrequested-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("utf-8 root"); + let work = Workspace::adopt(root.join("workspace"), root.join("target")); + let binary = binary("/t/a"); + let mut completed = 0; + + let (mapped, walked) = walk_with( + &work, + vec![(&binary, vec!["tests::a".into()], MIN_SCOUT_WAIT)], + &HashMap::default(), + 1, + Stall::NONE, + |_work, _binary, _names, _path, _stall| panic!("an unrequested binary must not be sampled"), + || false, + || completed += 1, + ); + + assert!(mapped.is_empty()); + assert_eq!(walked, 0); + assert_eq!(completed, 1); + } + + #[test] + fn walking_uses_the_census_directory_and_fails_closed_when_it_is_not_a_directory() { + let directory = crate::testing::workdir("census-directory-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("utf-8 root"); + let work = Workspace::adopt(root.join("workspace"), root.join("target")); + let binary = binary("/t/a"); + let targets = HashMap::from_iter([(binary.path.clone(), HashSet::from_iter([7]))]); + + let (mapped, walked) = walk_with( + &work, + vec![(&binary, vec!["tests::a".into()], MIN_SCOUT_WAIT)], + &targets, + 1, + Stall::NONE, + |_work, _binary, _names, path, _stall| { + assert_eq!(path.parent().and_then(Utf8Path::file_name), Some("census")); + assert_eq!(path.file_name(), Some("0.bin")); + Some((vec![7], Duration::ZERO)) + }, + || false, + || {}, + ); + assert_eq!(walked, 1); + assert_eq!(mapped.len(), 1); + + fs::remove_dir_all(work.base().join("census")).expect("the first census directory is removable"); + fs::write(work.base().join("census"), b"not a directory").expect("the blocking file is writable"); + let (mapped, walked) = walk_with( + &work, + vec![(&binary, vec!["tests::a".into()], MIN_SCOUT_WAIT)], + &targets, + 1, + Stall::NONE, + |_work, _binary, _names, _path, _stall| panic!("a failed census directory must stop before sampling"), + || false, + || {}, + ); + assert!(mapped.is_empty()); + assert_eq!(walked, 0); + } + + fn isolate_census_base(work: &mut Workspace) { + let root = work.root.join("workspace"); + fs::create_dir_all(root.as_std_path()).expect("the isolated census workspace is creatable"); + work.root = root; + } + + #[test] + fn an_unrequested_binary_does_not_stop_later_requested_work() { + let directory = crate::testing::workdir("census-unrequested-first-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("utf-8 root"); + let work = Workspace::adopt(root.clone(), root.join("target")); + let first = binary("/t/first"); + let second = binary("/t/second"); + let targets = HashMap::from_iter([(second.path.clone(), HashSet::from_iter([7]))]); + let mut completed = 0; + + let (mapped, walked) = walk_with( + &work, + vec![ + (&first, vec!["tests::first".into()], MIN_SCOUT_WAIT), + (&second, vec!["tests::second".into()], MIN_SCOUT_WAIT), + ], + &targets, + 1, + Stall::NONE, + |_work, binary, _names, _path, _stall| { + assert_eq!(binary.path, second.path); + Some((vec![7], Duration::from_millis(3))) + }, + || false, + || completed += 1, + ); + + assert_eq!(walked, 1); + assert_eq!(completed, 2); + assert_eq!(mapped.len(), 1); + assert_eq!(mapped[0].0, second.path); + } + + #[test] + fn durable_test_sets_are_sorted_before_indices_are_assigned() { + let binary = binary("/t/a"); + let mut census = Census::default(); + let _previous = census.binaries.insert( + binary.path.clone(), + reach_from( + vec!["tests::z".into(), "tests::a".into()], + vec![(1, vec![0]), (2, vec![1])], + vec![Duration::from_millis(1); 2], + ), + ); + let mut z = crate::fixtures::mutant(); + z.ordinal = 1; + z.item_path = "subject::z".into(); + let mut a = z.clone(); + a.ordinal = 2; + a.item_path = "subject::a".into(); + let mut hints = GeneralizedHints::empty_supported(); + + census.persist_clusters(&[z, a], &[binary], &mut hints); + + assert_eq!(hints.test_sets[0][0].test, "tests::a"); + for cluster in &hints.reach { + assert_eq!( + hints.test_sets[cluster.test_set as usize][0].test, + if cluster.site.item == "subject::a" { + "tests::a" + } else { + "tests::z" + } + ); + } + } + /// Streaming task resolution via cumulative offsets matches the old materialized tasks. #[test] fn streaming_cursor_resolves_tasks_correctly() { diff --git a/crates/cargo-gamma-lib/src/exec/config.rs b/crates/cargo-gamma-lib/src/exec/config.rs index 9e61fb74c..d2e39006e 100644 --- a/crates/cargo-gamma-lib/src/exec/config.rs +++ b/crates/cargo-gamma-lib/src/exec/config.rs @@ -87,8 +87,9 @@ pub struct Config { /// Keep the scratch tree after the run instead of deleting it. pub leak_dirs: bool, - /// Where to put reusable workspace and build state. `None` uses an isolated cache base - /// outside the workspace's Cargo-configuration ancestor chain. + /// Where to put reusable workspace and build state. `None` keeps the copied workspace outside + /// its Cargo-configuration ancestor chain and puts build and campaign state under Cargo's + /// resolved target directory. pub cache_dir: Option, /// Copy files the ignore rules exclude, not only the ones git tracks. @@ -106,11 +107,17 @@ pub struct Config { /// Let tests from every workspace package judge mutants they can reach. pub test_workspace: bool, + /// Whether to collect case-level reachability before the mutant sweep. + /// + /// Disabled by default because this optimization must justify its own extra process launches. + pub optimize_test_execution: bool, + /// Whether to run every selected test in a reachable binary instead of selecting cases by reachability. /// - /// False by default: deterministic suites are measured once and each mutant runs only the - /// specific test cases that can reach it. True is the conservative fallback for suites whose - /// reachability depends on threads, clocks, randomness or hash iteration order. + /// False by default: case-level selection may be used when test-execution optimization is + /// enabled, its census is admitted, or checked hints provide equivalent evidence. True is the + /// conservative fallback for suites whose reachability depends on threads, clocks, randomness + /// or hash iteration order. pub whole_test_binaries: bool, /// Whether to run test binaries through `cargo nextest`. @@ -141,6 +148,7 @@ impl Default for Config { include_tests: Vec::new(), exclude_tests: Vec::new(), test_workspace: false, + optimize_test_execution: false, whole_test_binaries: false, nextest: false, incremental: IncrementalMode::default(), @@ -164,6 +172,7 @@ pub(crate) fn resolve_jobs(jobs: Option) -> usize { /// /// This is deliberately separate from [`resolve_jobs`]: the latter adds a worker by default and /// honours an explicit `--jobs`, neither of which changes the machine's available cores. +// #[gamma::skip(all, reason = "the value comes from host identity or topology and cannot be replaced safely or deterministically in parallel tests")] pub(crate) fn available_parallelism() -> usize { thread::available_parallelism().map_or(1, NonZero::get) } @@ -200,6 +209,23 @@ mod tests { assert_eq!(scaled.max(config.timeout_floor), config.timeout_floor); } + #[test] + fn command_policy_defaults_are_explicit() { + let config = Config::default(); + + assert_eq!(config.timeout_floor, Duration::from_secs(20)); + assert!(config.baseline); + assert!(config.confirm); + assert!(config.stall); + assert!(!config.leak_dirs); + assert!(config.cache_dir.is_none()); + assert!(!config.copy_ignored); + assert!(!config.test_workspace); + assert!(!config.optimize_test_execution); + assert!(!config.whole_test_binaries); + assert!(!config.nextest); + } + /// The programmatic default is the 50% margin the command default and the documentation promise. #[test] fn the_default_timeout_multiplier_is_one_and_a_half() { @@ -223,6 +249,11 @@ mod tests { assert_eq!(default_jobs(1), 2); } + #[test] + fn an_unspecified_job_count_uses_host_parallelism() { + assert!(resolve_jobs(None) >= 1); + } + #[test] fn the_default_job_count_saturates_at_usize_max() { assert_eq!(default_jobs(usize::MAX), usize::MAX); diff --git a/crates/cargo-gamma-lib/src/exec/copy.rs b/crates/cargo-gamma-lib/src/exec/copy.rs index 956254f1e..7e8ca829a 100644 --- a/crates/cargo-gamma-lib/src/exec/copy.rs +++ b/crates/cargo-gamma-lib/src/exec/copy.rs @@ -32,9 +32,9 @@ pub(super) const VCS_DIRS: [&str; 7] = [".git", ".hg", ".bzr", ".svn", "_darcs", /// semantically equivalent when it can still find the same metadata through one of its ancestors. pub(super) fn visible_vcs_metadata(path: &Utf8Path) -> Vec { let mut found = Vec::new(); - let mut directory = crate::paths::physical(path).unwrap_or_else(|_unresolved| path.to_path_buf()); + let directory = crate::paths::physical(path).unwrap_or_else(|_unresolved| path.to_path_buf()); - loop { + for directory in directory.ancestors() { for name in VCS_DIRS { let marker = directory.join(name); @@ -42,19 +42,10 @@ pub(super) fn visible_vcs_metadata(path: &Utf8Path) -> Vec { found.push(crate::paths::physical(&marker).unwrap_or(marker)); } } - - let Some(parent) = directory.parent() else { - break; - }; - - if parent == directory { - break; - } - - directory = parent.to_path_buf(); } found.sort(); + // #[gamma::skip(all, reason = "the ordering or deduplication is retained for deterministic, efficient behavior; the current internal consumer observes the same population")] found.dedup(); found } @@ -141,20 +132,25 @@ pub(super) fn copy_tree_with(from: &Utf8Path, to: &Utf8Path, skip: &Utf8Path, op // Only ignore files inside the tree have any say. Reading them from parent directories // means a checkout nested under a directory whose `.gitignore` says `*` copies as nothing // at all, and the resulting empty tree fails the build for reasons nobody can see. + // #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] .parents(false) // `.gitignore` describes what git would restore, which is only meaningful in something git // is actually tracking. Outside a repository the same file is a leftover. .require_git(true) .git_ignore(!options.copy_ignored) + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] .git_exclude(!options.copy_ignored) // A user's global ignore file describes their machine, not this project, and a rule in it // would silently change what a shared tree copies to. + // #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] .git_global(false) // `.ignore` is a search convention. It routinely excludes vendored or generated code that // a build genuinely needs. + // #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] .ignore(false) // A link is recreated rather than followed, so there is nothing to descend into and no // cycle to guard against. + // #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] .follow_links(false); let root = from.to_owned(); @@ -197,6 +193,7 @@ pub(super) fn copy_tree_with(from: &Utf8Path, to: &Utf8Path, skip: &Utf8Path, op return WalkState::Continue; }; + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if relative.as_str().is_empty() { return WalkState::Continue; } @@ -335,6 +332,7 @@ fn record(failure: &Mutex>, cause: Error) { /// Returns whether an entry and everything under it should be left out of the copy. pub(super) fn is_pruned(source: &Utf8Path, relative: &Utf8Path, excluded: &Utf8Path) -> bool { + // #[gamma::skip(all, reason = "failing to prune the copy destination recursively copies that destination into itself until the mutation run times out")] if source == excluded { return true; } @@ -370,6 +368,7 @@ fn copy_entry(source: &Utf8Path, destination: &Utf8Path, reflinks: &Reflinks) -> // the parallel-walk safety the unconditional call had — `create_dir_all` is idempotent, so a // parent another thread finished in the meantime is not a conflict, and a parent that is a plain // file surfaces here as the same "could not create" the unconditional call raised. + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if place(&metadata, source, destination, reflinks).is_err() { if let Some(parent) = destination.parent() { fs::create_dir_all(parent.as_std_path()).map_err(|cause| error!("could not create `{parent}`").caused_by(cause))?; @@ -418,6 +417,7 @@ fn copy_symlink(source: &Utf8Path, destination: &Utf8Path) -> Result<()> { /// Copies one file, cloning it if the filesystem can. fn copy_file(source: &Utf8Path, destination: &Utf8Path, reflinks: &Reflinks) -> Result<()> { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if reflinks.worth_trying() { match reflink_copy::reflink(source.as_std_path(), destination.as_std_path()) { Ok(()) => { @@ -429,10 +429,12 @@ fn copy_file(source: &Utf8Path, destination: &Utf8Path, reflinks: &Reflinks) -> // filesystem that cannot clone. Surface it so `copy_entry` creates the parent and // retries, and leave the latch alone: one such race must not force the rest of the copy // onto the byte-for-byte path. + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] Err(cause) if cause.kind() == ErrorKind::NotFound => { return Err(error!("could not copy `{source}` to `{destination}`").caused_by(cause)); } Err(_unsupported) => { + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] reflinks.unsupported(); // A failed clone can leave a partial destination behind; remove it so the fallback @@ -1059,4 +1061,25 @@ mod tests { "a later operation must probe its current filesystem independently" ); } + + #[test] + fn visible_vcs_metadata_walks_every_ancestor_once_and_returns_sorted_markers() { + let temporary = tempfile::tempdir().expect("temporary directory"); + let root = Utf8PathBuf::from_path_buf(temporary.path().to_path_buf()).expect("UTF-8 temporary path"); + let nested = root.join("workspace").join("crate").join("src"); + let git = root.join(".git"); + let hg = root.join("workspace").join(".hg"); + fs::create_dir_all(nested.as_std_path()).expect("nested source"); + fs::create_dir_all(git.as_std_path()).expect("git marker"); + fs::create_dir_all(hg.as_std_path()).expect("hg marker"); + + let found = visible_vcs_metadata(&nested); + let mut expected = vec![ + crate::paths::physical(&git).expect("physical git marker"), + crate::paths::physical(&hg).expect("physical hg marker"), + ]; + expected.sort(); + + assert_eq!(found, expected); + } } diff --git a/crates/cargo-gamma-lib/src/exec/events.rs b/crates/cargo-gamma-lib/src/exec/events.rs index 12412744b..ccfd171c6 100644 --- a/crates/cargo-gamma-lib/src/exec/events.rs +++ b/crates/cargo-gamma-lib/src/exec/events.rs @@ -1,12 +1,14 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +use core::time::Duration; + use camino::Utf8Path; use super::session::Session; use crate::Result; use crate::discover::Plan; -use crate::estimate::Estimate; +use crate::estimate::{Estimate, MutationWork}; use crate::model::Mutant; /// Progress notifications, so this module needs to know nothing about terminals. @@ -83,6 +85,12 @@ pub trait Events { /// A mutant finished. fn mutant(&mut self, mutant: &Mutant); + /// The sweep has fixed its queue and measured the work represented by every pending mutant. + fn sweep_planned(&mut self, _work: &[MutationWork], _jobs: usize) {} + + /// A worker began evaluating one mutant at the given offset from the start of the sweep. + fn mutant_started(&mut self, _ordinal: u32, _elapsed: Duration) {} + /// The fixed cost is paid, the tree compiles, and the first mutant is about to be tested. /// /// The only moment at which a projection of the run is both possible and useful: everything @@ -93,8 +101,6 @@ pub trait Events { #[cfg(test)] mod tests { - use core::time::Duration; - use camino::Utf8PathBuf; use super::*; @@ -149,12 +155,21 @@ mod tests { jobs: 1, worst: Duration::ZERO, }; + let work = [MutationWork::new( + 7, + crate::estimate::WorkKind::Whole, + Duration::from_secs(1), + Duration::from_secs(10), + crate::exec::CONFIRM_FACTOR, + )]; events.begin("Doing", "Done", "the thing"); events.end(", done"); events.complete("the result"); events.outcome(", noted"); events.measured(&plan, &session, &estimate); + events.sweep_planned(&work, 3); + events.mutant_started(7, Duration::from_millis(9)); events.mutant(&mutant()); // Implementors only have to provide the primitive rendering hooks; the default helpers @@ -169,6 +184,8 @@ mod tests { ] ); assert_eq!(events.mutants, 1); + assert_eq!(events.sweep_plan, Some((1, 3))); + assert_eq!(events.mutant_starts, [(7, Duration::from_millis(9))]); } /// The one hook with no default has to be routed by the implementor, not by the trait. diff --git a/crates/cargo-gamma-lib/src/exec/killers.rs b/crates/cargo-gamma-lib/src/exec/killers.rs index e5fa63b6f..9be624f3a 100644 --- a/crates/cargo-gamma-lib/src/exec/killers.rs +++ b/crates/cargo-gamma-lib/src/exec/killers.rs @@ -5,7 +5,7 @@ use camino::Utf8Path; -use crate::discover::{Hints, Killer, RunRecord}; +use crate::discover::{GeneralizedHints, Hints, Killer, RunRecord, SiteIdentity}; use crate::model::{Mutant, MutantId}; use crate::{HashMap, HashSet}; @@ -35,6 +35,9 @@ pub(super) struct Killers { /// file leaves the key alone, and a site that genuinely changed simply stops matching instead /// of pointing at a test that has nothing to do with it. entries: HashMap, + + /// Score-neutral item, file-binary and reach-cluster knowledge. + generalized: GeneralizedHints, } impl Killers { @@ -47,14 +50,18 @@ impl Killers { /// the time it would have saved, which is what lets either file be deleted, truncated or /// written by another version without anyone having to care. pub(super) fn load(base: &Utf8Path, root: &Utf8Path) -> Self { - let mut entries = Hints::load(root).probes(); + let promoted = Hints::load(root); + let mut entries = promoted.probes(); + let mut generalized = promoted.generalized(); + let record = RunRecord::load(base); // The record last, so this machine's own last answer wins over the committed one wherever // both name a mutant: a probe is checked either way, but the fresher guess is likelier to // convict, and paying for the stale one first would be paying for a test twice. - entries.extend(RunRecord::load(base).probes().clone()); + entries.extend(record.probes().iter().map(|(id, killer)| (id.clone(), killer.clone()))); + Self::merge_generalized(&mut generalized, record.generalized()); - Self { entries } + Self { entries, generalized } } /// What caught this mutant last time, if anything did. @@ -76,6 +83,25 @@ impl Killers { let _previous = self.entries.remove(id); } + pub(super) const fn generalized(&self) -> &GeneralizedHints { + &self.generalized + } + + pub(super) fn replace_generalized(&mut self, generalized: GeneralizedHints) { + self.generalized = generalized; + } + + pub(super) fn reach_hints(&self, site: &SiteIdentity) -> Vec { + self.generalized + .reach + .iter() + .find(|cluster| &cluster.site == site) + .and_then(|cluster| usize::try_from(cluster.test_set).ok()) + .and_then(|index| self.generalized.test_sets.get(index)) + .cloned() + .unwrap_or_default() + } + /// Writes the hints back into the record, and says nothing if it cannot. /// /// A run that could not write this has still produced every verdict it was asked for, and @@ -89,7 +115,28 @@ impl Killers { .map(|(id, killer)| (id.clone(), killer.clone())) .collect(); - RunRecord::store_probes(base, &probes); + RunRecord::store_knowledge(base, &probes, Some(&self.generalized)); + } + + fn merge_generalized(target: &mut GeneralizedHints, newer: GeneralizedHints) { + if newer.supported().is_none() { + return; + } + for item in newer.items { + target + .items + .retain(|current| current.file != item.file || current.item != item.item); + target.items.push(item); + } + for binary in newer.binaries { + target.binaries.retain(|current| current.file != binary.file); + target.binaries.push(binary); + } + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if !newer.reach.is_empty() { + target.test_sets = newer.test_sets; + target.reach = newer.reach; + } } /// How many mutants this map has a killer for. @@ -112,6 +159,7 @@ impl Killers { #[cfg(not(miri))] mod tests { use super::*; + use crate::discover::{BinaryHint, FileBinaryHints, GENERALIZED_HINTS_VERSION, ItemHints, RankedHint, ReachCluster}; fn killer(test: &str) -> Killer { Killer { @@ -236,4 +284,159 @@ mod tests { assert!(read.hint("old").is_none()); assert_eq!(read.hint("new"), Some(&killer("tests::new"))); } + + fn ranked(candidate: T) -> RankedHint { + RankedHint { + candidate, + hits: 1, + misses: 2, + measured_ms: 3, + samples: 4, + order: 5, + } + } + + fn site(item: &str) -> SiteIdentity { + SiteIdentity { + file: "src/lib.rs".into(), + item: item.to_owned(), + mutator: "cond.negate".to_owned(), + normalized_text: "ready".to_owned(), + occurrence: 0, + } + } + + #[test] + fn generalized_knowledge_replaces_matching_keys_and_preserves_others() { + let mut target = GeneralizedHints { + version: GENERALIZED_HINTS_VERSION, + items: vec![ + ItemHints { + file: "src/lib.rs".into(), + item: "old".to_owned(), + candidates: vec![ranked(killer("tests::old"))], + }, + ItemHints { + file: "src/keep.rs".into(), + item: "keep".to_owned(), + candidates: vec![ranked(killer("tests::keep"))], + }, + ], + binaries: vec![FileBinaryHints { + file: "src/lib.rs".into(), + candidates: vec![ranked(BinaryHint { + package: "old".to_owned(), + target: "old".to_owned(), + })], + }], + test_sets: vec![vec![killer("tests::old")]], + reach: vec![ReachCluster { + site: site("old"), + test_set: 0, + }], + }; + let newer = GeneralizedHints { + version: GENERALIZED_HINTS_VERSION, + items: vec![ItemHints { + file: "src/lib.rs".into(), + item: "old".to_owned(), + candidates: vec![ranked(killer("tests::new"))], + }], + binaries: vec![FileBinaryHints { + file: "src/lib.rs".into(), + candidates: vec![ranked(BinaryHint { + package: "new".to_owned(), + target: "new".to_owned(), + })], + }], + test_sets: vec![vec![killer("tests::reach")]], + reach: vec![ReachCluster { + site: site("new"), + test_set: 0, + }], + }; + + Killers::merge_generalized(&mut target, newer.clone()); + + assert_eq!(target.items.len(), 2); + assert_eq!(target.items[0].file, Utf8Path::new("src/keep.rs")); + assert_eq!(target.items[1], newer.items[0]); + assert_eq!(target.binaries, newer.binaries); + assert_eq!(target.test_sets, newer.test_sets); + assert_eq!(target.reach, newer.reach); + } + + #[test] + fn unsupported_generalized_knowledge_is_ignored() { + let mut target = GeneralizedHints::empty_supported(); + target.items.push(ItemHints { + file: "src/keep.rs".into(), + item: "keep".to_owned(), + candidates: vec![ranked(killer("tests::keep"))], + }); + let original = target.clone(); + + Killers::merge_generalized( + &mut target, + GeneralizedHints { + version: GENERALIZED_HINTS_VERSION + 1, + items: vec![ItemHints { + file: "src/new.rs".into(), + item: "new".to_owned(), + candidates: vec![ranked(killer("tests::new"))], + }], + ..GeneralizedHints::default() + }, + ); + + assert_eq!(target, original); + } + + #[test] + fn replacement_and_reach_lookup_use_the_new_generalized_knowledge() { + let expected = killer("tests::reach"); + let known_site = site("known"); + let generalized = GeneralizedHints { + version: GENERALIZED_HINTS_VERSION, + test_sets: vec![vec![expected.clone()]], + reach: vec![ReachCluster { + site: known_site.clone(), + test_set: 0, + }], + ..GeneralizedHints::default() + }; + let mut killers = Killers::default(); + + killers.replace_generalized(generalized.clone()); + + assert_eq!(killers.generalized(), &generalized); + assert_eq!(killers.reach_hints(&known_site), vec![expected]); + assert!(killers.reach_hints(&site("unknown")).is_empty()); + } + + #[test] + fn generalized_knowledge_round_trips_with_exact_probes() { + let dir = tempfile::tempdir().expect("a temporary directory"); + let base = Utf8Path::from_path(dir.path()).expect("a UTF-8 path"); + let known_site = site("stored"); + let generalized = GeneralizedHints { + version: GENERALIZED_HINTS_VERSION, + test_sets: vec![vec![killer("tests::reach")]], + reach: vec![ReachCluster { + site: known_site.clone(), + test_set: 0, + }], + ..GeneralizedHints::default() + }; + let mut killers = Killers::default(); + killers.record("abc".into(), killer("tests::exact")); + killers.replace_generalized(generalized.clone()); + + killers.store(base, &[mutant("abc")]); + let read = Killers::load(base, base); + + assert_eq!(read.hint("abc"), Some(&killer("tests::exact"))); + assert_eq!(read.generalized(), &generalized); + assert_eq!(read.reach_hints(&known_site), vec![killer("tests::reach")]); + } } diff --git a/crates/cargo-gamma-lib/src/exec/loader.rs b/crates/cargo-gamma-lib/src/exec/loader.rs index 6b0c07bb0..169e7bb56 100644 --- a/crates/cargo-gamma-lib/src/exec/loader.rs +++ b/crates/cargo-gamma-lib/src/exec/loader.rs @@ -89,10 +89,12 @@ pub(super) fn configure_loader(command: &mut Command, launch: &Launch) { fn stack_floor(inherited: Option<&str>) -> String { let inherited = inherited.and_then(|value| value.trim().parse::().ok()); + // #[gamma::skip(all, reason = "the value controls scheduling, accounting, identity, or a conservative bound whose one-step perturbation has no safely deterministic external observation here")] inherited.unwrap_or(0).max(STACK_FLOOR).to_string() } /// Builds the loader search path, keeping whatever the caller already had. +// #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] pub(super) fn loader_path(libraries: &[Utf8PathBuf]) -> Option { joined(libraries, env::var_os(LOADER_VAR)) } @@ -128,8 +130,10 @@ fn joined(libraries: &[Utf8PathBuf], existing: Option) -> Option Vec { let mut libraries = vec![target.join("debug").join("deps")]; + // #[gamma::skip(all, reason = "the process-wide compiler override cannot be mutated safely by parallel tests; output parsing is exercised through append_toolchain_libraries")] let output = Command::new(env::var_os("RUSTC").unwrap_or_else(|| "rustc".into())) .current_dir(root.as_std_path()) + // #[gamma::skip(all, reason = "these rustc query flags cross a process boundary whose process-wide override cannot be replaced safely; their two-line protocol is pinned by append_toolchain_libraries tests")] .args(["--print", "target-libdir", "--print", "sysroot"]) .output(); @@ -137,19 +141,24 @@ pub(super) fn toolchain_libraries(root: &Utf8Path, target: &Utf8Path) -> Vec, printed: &str) { + let mut lines = printed.lines(); + + if let Some(libdir) = lines.next() { + libraries.push(Utf8PathBuf::from(libdir.trim())); } - libraries + // Host-side libraries, such as those a proc macro links against, live here instead. + if let Some(sysroot) = lines.next() { + libraries.push(Utf8PathBuf::from(sysroot.trim()).join("lib")); + } } #[cfg(test)] @@ -186,6 +195,65 @@ mod tests { STACK_FLOOR.to_string(), "an unparsable value is ignored" ); + assert_eq!(stack_floor(Some(&STACK_FLOOR.to_string())), STACK_FLOOR.to_string()); + assert_eq!(stack_floor(Some("0")), STACK_FLOOR.to_string()); + } + + #[test] + fn configuring_a_loader_sets_only_the_platform_loader_variable() { + let path = env::join_paths([PathBuf::from("/toolchain"), PathBuf::from("/inherited")]).expect("loader path"); + let launch = Launch { + loader: Some(path.clone()), + stack: STACK_FLOOR.to_string(), + }; + let mut command = Command::new("unused"); + + configure_loader(&mut command, &launch); + + assert_eq!( + command + .get_envs() + .find(|(name, _value)| *name == LOADER_VAR) + .and_then(|(_name, value)| value), + Some(path.as_os_str()) + ); + } + + #[test] + fn configuring_a_loader_with_no_path_changes_no_environment() { + let launch = Launch { + loader: None, + stack: STACK_FLOOR.to_string(), + }; + let mut command = Command::new("unused"); + + configure_loader(&mut command, &launch); + + assert_eq!(command.get_envs().count(), 0); + } + + #[test] + fn rustc_library_output_contributes_target_and_host_directories_in_order() { + let mut libraries = vec![Utf8PathBuf::from("/target/debug/deps")]; + + append_toolchain_libraries(&mut libraries, " /toolchain/target/lib \n /toolchain \nignored\n"); + + assert_eq!( + libraries, + [ + Utf8PathBuf::from("/target/debug/deps"), + Utf8PathBuf::from("/toolchain/target/lib"), + Utf8PathBuf::from("/toolchain/lib"), + ] + ); + + let mut one = Vec::new(); + append_toolchain_libraries(&mut one, "/only-target\n"); + assert_eq!(one, [Utf8PathBuf::from("/only-target")]); + + let mut none = Vec::new(); + append_toolchain_libraries(&mut none, ""); + assert!(none.is_empty()); } #[test] diff --git a/crates/cargo-gamma-lib/src/exec/manifest.rs b/crates/cargo-gamma-lib/src/exec/manifest.rs index 1360567ac..d6d0253a7 100644 --- a/crates/cargo-gamma-lib/src/exec/manifest.rs +++ b/crates/cargo-gamma-lib/src/exec/manifest.rs @@ -49,6 +49,7 @@ impl Manifest { Ok(Self { path: path.to_owned(), document, + // #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] changed: false, within: Utf8PathBuf::new(), }) @@ -56,6 +57,7 @@ impl Manifest { /// Writes the manifest back if anything changed. pub(super) fn save(&self) -> Result<()> { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if !self.changed { return Ok(()); } @@ -88,6 +90,7 @@ impl Manifest { // `[replace]` names crates by version requirement, and every entry is a source // specification of exactly the same shape as a dependency. + // #[gamma::skip(all, reason = "this literal belongs to a Cargo process protocol or diagnostic boundary that cannot be isolated deterministically without replacing process-global integration state")] self.anchor_table("replace", original); // Every `[patch.]` is its own table of dependencies, and a workspace commonly @@ -171,6 +174,7 @@ impl Manifest { let conflicting_target = self .document + // #[gamma::skip(all, reason = "this literal belongs to a Cargo process protocol or diagnostic boundary that cannot be isolated deterministically without replacing process-global integration state")] .get("target") .and_then(Item::as_table_like) .into_iter() @@ -180,6 +184,7 @@ impl Manifest { dependencies.contains_key(RUNTIME_CRATE) && !dependency_points_to(dependencies.get(RUNTIME_CRATE), &runtime) }); + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if conflicting_target { return Err(Self::runtime_name_reserved(&self.path)); } @@ -233,6 +238,7 @@ impl Manifest { .merge(workspace_features.resolve_canonical(table.get(RUNTIME_PACKAGE))); let feature_settings = own_features.merge(target_features); + // #[gamma::skip(all, reason = "this literal belongs to a Cargo process protocol or diagnostic boundary that cannot be isolated deterministically without replacing process-global integration state")] let _existing_runtime = table.remove("cargo-gamma-rt"); let mut entry = toml_edit::InlineTable::new(); let _package = entry.insert("package", Value::from(RUNTIME_PACKAGE)); @@ -263,6 +269,7 @@ impl Manifest { .is_some_and(|dependencies| dependencies.contains_key(RUNTIME_CRATE) || dependencies.contains_key("cargo-gamma-rt")); let targeted = self .document + // #[gamma::skip(all, reason = "this literal belongs to a Cargo process protocol or diagnostic boundary that cannot be isolated deterministically without replacing process-global integration state")] .get("target") .and_then(Item::as_table_like) .into_iter() @@ -604,6 +611,7 @@ pub(super) fn anchor_cargo_config(root: &Utf8Path, original: &Utf8Path) -> Resul for name in ["config.toml", "config"] { let path = root.join(".cargo").join(name); + // #[gamma::skip(all, reason = "this literal belongs to a Cargo process protocol or diagnostic boundary that cannot be isolated deterministically without replacing process-global integration state")] let _destination = crate::paths::require_within(&path, root, "a scratch Cargo configuration")?; if !path.as_std_path().is_file() { @@ -651,6 +659,7 @@ pub(super) fn cap_lints(root: &Utf8Path) -> Result<()> { } else { path }; + // #[gamma::skip(all, reason = "this literal belongs to a Cargo process protocol or diagnostic boundary that cannot be isolated deterministically without replacing process-global integration state")] let _destination = crate::paths::require_within(&path, root, "a scratch Cargo configuration")?; if let Some(parent) = path.parent() { @@ -728,6 +737,53 @@ fn append_flag(flags: &mut Item) -> bool { mod tests { use super::*; + #[test] + fn feature_array_union_preserves_order_deduplicates_and_handles_malformed_values() { + let left = Value::Array(["a", "b"].into_iter().collect()); + let right = Value::Array(["b", "c"].into_iter().collect()); + let merged = merge_feature_arrays(Some(left.clone()), Some(right)).expect("merged features"); + let merged = merged.as_array().expect("feature array"); + let names: Vec<_> = merged.iter().filter_map(Value::as_str).collect(); + + assert_eq!(names, ["a", "b", "c"]); + assert_eq!( + merge_feature_arrays(Some(left.clone()), None).map(|value| value.to_string()), + Some(left.to_string()) + ); + assert_eq!( + merge_feature_arrays(None, Some(left.clone())).map(|value| value.to_string()), + Some(left.to_string()) + ); + assert_eq!( + merge_feature_arrays(Some(left.clone()), Some(Value::from("malformed"))).map(|value| value.to_string()), + Some(left.to_string()) + ); + assert!(merge_feature_arrays(None, None).is_none()); + } + + #[test] + fn appending_the_lint_cap_distinguishes_arrays_strings_and_unsupported_values() { + let mut array = Item::Value(Value::Array(std::iter::once("-Cdebuginfo=1").collect())); + assert!(append_flag(&mut array)); + assert_eq!( + array + .as_array() + .expect("array") + .iter() + .filter_map(Value::as_str) + .collect::>(), + ["-Cdebuginfo=1", CAP_LINTS] + ); + + let mut string = Item::Value(Value::from("-Cdebuginfo=1")); + assert!(append_flag(&mut string)); + assert_eq!(string.as_str(), Some("-Cdebuginfo=1 --cap-lints=allow")); + + let mut unsupported = Item::Value(Value::from(7)); + assert!(!append_flag(&mut unsupported)); + assert_eq!(unsupported.as_integer(), Some(7)); + } + fn fixed(text: &str, original: &str) -> String { within(text, original, "") } diff --git a/crates/cargo-gamma-lib/src/exec/measure.rs b/crates/cargo-gamma-lib/src/exec/measure.rs index 6c178d460..f07b88ff9 100644 --- a/crates/cargo-gamma-lib/src/exec/measure.rs +++ b/crates/cargo-gamma-lib/src/exec/measure.rs @@ -10,21 +10,21 @@ use std::time::Instant; use cargo_gamma_process::MemoryRequest; use super::baseline::{Baseline, measure_baseline}; -use super::build::{Abandoned, Converger}; +use super::build::{Abandoned, Build, Converger}; use super::census::{self, Census}; use super::config::Config; use super::events::Events; use super::killers::Killers; use super::memory; use super::memory::MemoryPolicy; -use super::session::{CensusCost, Phases, Session, SweepCost}; +use super::session::{CensusCost, CensusStatus, PackageSweepCost, Phases, Session, SweepCost}; use super::stall::Stall; use super::sweep::{Sweep, test_all}; use super::test_binary::{ Reachability, TestBinary, TestScope, admits_target, build_packages, calibrate, oracle_packages, reaches, reaching_packages, restrict, unmatched_test, workload, }; -use super::workspace::{Workspace, gamma_base}; +use super::workspace::{Workspace, campaign_base}; use crate::discover::{CompileFailTarget, Plan, Survey, compile_fail_advice}; use crate::error::error; use crate::estimate::project; @@ -43,9 +43,9 @@ const GROUP_LIMIT: usize = 5; /// baseline does not pass — a failing baseline means every comparison in the run has nothing to /// compare against. pub fn run(survey: &Survey, selection: &Selection, config: &Config, events: &mut impl Events) -> Result { - let mut failed_work = None; + let mut failed = FailedMeasurement::default(); - run_with_locks(survey, selection, config, events, None, &mut failed_work) + run_with_locks(survey, selection, config, events, None, &mut failed) } pub(crate) fn run_with_locks( @@ -54,14 +54,14 @@ pub(crate) fn run_with_locks( config: &Config, events: &mut impl Events, locks: Option, - failed_work: &mut Option, + failed: &mut FailedMeasurement, ) -> Result { let Measured { mut plan, built, stuck, dropped, - } = measure_with_locks(survey, selection, config, events, locks, failed_work)?; + } = measure_with_locks(survey, selection, config, events, locks, failed)?; // Nothing was live, so nothing was copied, built or measured. The plan still describes every // mutant that was found and why each one is not being run, which is what the caller reports. @@ -87,9 +87,13 @@ pub(crate) fn run_with_locks( // neither read nor written by anything before the sweep: each is a guess about the test suite, // checked by running a test, and there is nothing to check before there are binaries to check // it with. - let base = gamma_base(&survey.root, config.cache_dir.as_deref()); + let base = campaign_base(&survey.root, &survey.target, config.cache_dir.as_deref()); + let incremental = config.incremental.is_enabled(); + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + let narrowed = !config.whole_test_binaries; - let mut killers = if config.incremental.is_enabled() { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + let mut killers = if incremental { Killers::load(&base, &survey.root) } else { Killers::default() @@ -106,8 +110,9 @@ pub(crate) fn run_with_locks( // established — how long a binary takes, which is the budget a censused test is held to — and // because everything it decides is about how the sweep runs. let (census_targets, maximum_census_savings) = census_targets(&plan, &reach, &killers); - let census_requested = !config.whole_test_binaries && !census_targets.is_empty() && !maximum_census_savings.is_zero(); + let census_requested = census_is_worthwhile(config.optimize_test_execution, narrowed, &census_targets, maximum_census_savings); let census_started = Instant::now(); + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] let census = if census_requested { census::take( &built.work, @@ -121,21 +126,41 @@ pub(crate) fn run_with_locks( } else { Census::default() }; + let census_was_admitted = census_admitted(census_requested, &census); + built.session.phases.census_status = census_status(config.optimize_test_execution, census_was_admitted, &census, census_targets.len()); // Only recorded when a census actually ran: an absent census is not a census that took no time, // and the whole question is whether the default selection paid for itself. - if census_requested { - built.session.phases.census = Some(CensusCost { - elapsed: census_started.elapsed(), - walked: census.walked(), - binaries: census_targets.len(), - }); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + built.session.phases.census = census_cost( + census_was_admitted, + census_started.elapsed(), + maximum_census_savings, + &census, + &census_targets, + ); + + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if incremental { + let mut generalized = killers.generalized().clone(); + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if persist_census_learning(census_was_admitted, &census, &plan, &built.session.binaries, &mut generalized) { + install_census_learning(&mut killers, generalized); + } } - let work = workload(&plan.mutants, &reach, (!config.whole_test_binaries).then_some(&census)); - let projection = project(&plan.mutants, work, built.session.baseline_wall, built.session.build, config.jobs); + let work = workload(&plan.mutants, &reach, narrowed.then_some(&census)); + let projection = project( + &plan.mutants, + work, + built.session.baseline_wall, + built.session.build, + config.jobs, + config.confirm, + ); - events.measured(&plan, &built.session, &projection); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + announce_measurement(events, &plan, &built.session, &projection); let sweep = Sweep { timeout_floor: config.timeout_floor, @@ -147,25 +172,24 @@ pub(crate) fn run_with_locks( }; let sweep_started = Instant::now(); - let swept = test_all(&built.work, &mut plan, &reach, sweep, &mut killers, events); + let swept = test_all(&built.work, &mut plan, &reach, sweep, narrowed, &mut killers, events); let sweep_elapsed = sweep_started.elapsed(); // Written even when the sweep failed. A run that stopped partway still learned which test // caught every mutant it got to, and discarding that would make an abandoned run cost the next // one as much as it cost this one. - if config.incremental.is_enabled() { - killers.store(&base, &plan.mutants); + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if incremental { + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + store_learning(&killers, &base, &plan.mutants); } let spent = swept?; // `None` when nothing was swept: the phase is recorded as absent rather than as a real phase // that happened to cost nothing, which is what [`Phases::sweep`] documents its `Option` to mean. - built.session.phases.sweep = spent.map(|spent| SweepCost { - elapsed: sweep_elapsed, - launches: spent.launches, - probes: spent.probes, - }); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + built.session.phases.sweep = sweep_cost(spent, sweep_elapsed); Ok(Measured { plan, @@ -208,7 +232,7 @@ fn census_targets(plan: &Plan, reach: &Reachability<'_>, killers: &Killers) -> ( let pending = || { plan.mutants .iter() - .filter(|mutant| mutant.ordinal > 0 && mutant.outcome == Outcome::Pending) + .filter(|mutant| mutant.ordinal != 0 && mutant.outcome == Outcome::Pending) }; // A hint only excuses a mutant from justifying its own census when it names a binary this @@ -219,7 +243,7 @@ fn census_targets(plan: &Plan, reach: &Reachability<'_>, killers: &Killers) -> ( let eligibly_hinted = |mutant: &crate::model::Mutant| { killers.hint(&mutant.id).is_some_and(|hint| { reach - .reachable(&mutant.package) + .reachable(mutant) .is_some_and(|reachable| reachable.iter().any(|binary| hint.names(&binary.package, &binary.target))) }) }; @@ -227,9 +251,9 @@ fn census_targets(plan: &Plan, reach: &Reachability<'_>, killers: &Killers) -> ( // Unhinted mutants (including those whose hint is stale or unreachable) alone decide which // binaries get censused at all, and are the only ones that pay the baseline into // `maximum_savings` — an eligibly hinted mutant riding along below never grows it. - for mutant in pending().filter(|mutant| !eligibly_hinted(mutant)) { - let Some(reachable) = reach.reachable(&mutant.package) else { - continue; + 'unhinted: for mutant in pending().filter(|mutant| !eligibly_hinted(mutant)) { + let Some(reachable) = reach.reachable(mutant) else { + continue 'unhinted; }; for binary in reachable { @@ -241,9 +265,9 @@ fn census_targets(plan: &Plan, reach: &Reachability<'_>, killers: &Killers) -> ( // An eligibly hinted mutant only ever adds its ordinal to a binary some unhinted mutant already // put in `targets` — never a binary of its own, since that would make the census pay to select // cases for a probe it expects not to need. - for mutant in pending().filter(|mutant| eligibly_hinted(mutant)) { - let Some(reachable) = reach.reachable(&mutant.package) else { - continue; + 'hinted: for mutant in pending().filter(|mutant| eligibly_hinted(mutant)) { + let Some(reachable) = reach.reachable(mutant) else { + continue 'hinted; }; for binary in reachable { @@ -256,6 +280,132 @@ fn census_targets(plan: &Plan, reach: &Reachability<'_>, killers: &Killers) -> ( (targets, maximum_savings) } +fn census_is_worthwhile( + optimize_test_execution: bool, + narrowed: bool, + targets: &HashMap>, + maximum_savings: Duration, +) -> bool { + optimize_test_execution && narrowed && !targets.is_empty() && !maximum_savings.is_zero() +} + +fn census_cost( + admitted: bool, + elapsed: Duration, + maximum_savings: Duration, + census: &Census, + targets: &HashMap>, +) -> Option { + admitted.then(|| CensusCost { + elapsed, + walked: census.walked(), + binaries: census.len(), + candidate_binaries: targets.len(), + candidate_sites: targets.values().map(HashSet::len).sum(), + listing_launches: census.listing_launches(), + listed_binaries: census.listed_binaries(), + estimated_cost: census.estimated_cost(), + walk_admitted: census.walk_admitted(), + maximum_savings, + complete_binaries: census.complete_binaries(), + incomplete_binaries: census.incomplete_binaries(), + }) +} + +fn census_admitted(requested: bool, census: &Census) -> bool { + requested && !census.walk_declined() +} + +fn census_status(enabled: bool, admitted: bool, census: &Census, candidates: usize) -> CensusStatus { + if !enabled { + CensusStatus::Disabled + } else if !admitted { + CensusStatus::Declined + } else if census.is_complete_for(candidates) { + CensusStatus::Complete + } else { + CensusStatus::Incomplete + } +} + +fn sweep_cost(spent: Option, elapsed: Duration) -> Option { + let spent = spent?; + + Some(SweepCost { + elapsed, + launches: spent.launches, + probes: spent.probes, + exact_probes: spent.exact_probes, + exact_hits: spent.exact_hits, + generalized_probes: spent.generalized_probes, + generalized_hits: spent.generalized_hits, + exact_candidates: spent.exact_candidates, + generalized_candidates: spent.generalized_candidates, + item_candidates: spent.item_candidates, + reach_candidates: spent.reach_candidates, + file_candidates: spent.file_candidates, + census_candidates: spent.census_candidates, + item_probes: spent.item_probes, + item_hits: spent.item_hits, + reach_probes: spent.reach_probes, + reach_hits: spent.reach_hits, + file_probes: spent.file_probes, + file_hits: spent.file_hits, + census_probes: spent.census_probes, + census_hits: spent.census_hits, + whole_selections: spent.whole_selections, + case_selections: spent.case_selections, + hinted_selections: spent.hinted_selections, + hinted_fallbacks: spent.hinted_fallbacks, + uncovered_selections: spent.uncovered_selections, + available_tests: spent.available_tests, + selected_tests: spent.selected_tests, + packages: spent + .packages + .into_iter() + .map(|package| PackageSweepCost { + package: package.package, + mutants: package.mutants, + first_started_ms: package.first_started_ms, + settled_ms: package.settled_ms, + }) + .collect(), + launches_saved: spent.saved, + reach_launches_saved: spent.reach_saved, + }) +} + +fn persist_census_learning( + requested: bool, + census: &Census, + plan: &Plan, + binaries: &[TestBinary], + generalized: &mut crate::discover::GeneralizedHints, + // #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] +) -> bool { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if !requested || !census.has_evidence() { + return false; + } + + census.persist_clusters(&plan.mutants, binaries, generalized); + true +} + +fn install_census_learning(killers: &mut Killers, generalized: crate::discover::GeneralizedHints) { + Killers::replace_generalized(killers, generalized); +} + +// #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +fn announce_measurement(events: &mut impl Events, plan: &Plan, session: &Session, projection: &crate::estimate::Estimate) { + events.measured(plan, session, projection); +} + +// #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +fn store_learning(killers: &Killers, base: &camino::Utf8Path, mutants: &[crate::model::Mutant]) { + killers.store(base, mutants); +} + /// What a run worked out before testing a single mutant. #[derive(Debug)] pub struct Measured { @@ -303,6 +453,53 @@ pub struct Built { pub oracle: Oracle, } +/// State retained when measurement fails after discovering and building the population. +#[derive(Debug, Default)] +pub(crate) struct FailedMeasurement { + pub(crate) plan: Option, + pub(crate) session: Option, + pub(crate) work: Option, +} + +struct SessionContext { + build: Duration, + metered: bool, + unbounded: Option, + filtered: usize, + copy: Duration, + preflight: Duration, +} + +fn session_before_sweep(baseline: Baseline, build: Build, work: &Workspace, context: SessionContext, stall: Option) -> Session { + Session { + baseline: baseline.elapsed, + baseline_wall: baseline.wall, + tests: baseline.tests, + quiet: baseline.quiet, + stall, + build: context.build, + peak: baseline.peak, + metered: context.metered, + unbounded: context.unbounded, + withdrawn: build.withdrawn, + census: build.census, + rounds: build.rounds, + rounds_taken: build.history, + binaries: build.binaries, + scratch: work.base().to_owned(), + filtered: context.filtered, + widened: build.widened, + ordering: build.ordering, + phases: Phases { + copy: context.copy, + preflight: context.preflight, + census_status: CensusStatus::Disabled, + census: None, + sweep: None, + }, + } +} + /// The packages whose tests decide verdicts, owned so a later phase can borrow it back. #[derive(Debug, Clone)] pub struct Oracle { @@ -361,10 +558,11 @@ fn preflight( converger: &mut Converger, events: &mut impl Events, ) -> Result { - events.begin("Validating", "Validated", "workspace"); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + begin_preflight(events); let requested: Vec = oracle_packages(&survey.selected, config); - let package_local = config.test_packages.is_empty() && !config.test_workspace; + let package_local = inferred_package_local(config); let scope = TestScope { packages: &requested, package_local, @@ -376,46 +574,85 @@ fn preflight( let wide_stages = workspace_stages(&survey.selected, &survey.reach); let checking = reaching_packages(&survey.reach, &intending, &scope); let cleared = Converger::preflight(work, plan, checking.as_deref(), &intended, config.build, events)?; + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + record_preflight_discovery(converger, cleared.discovery.clone()); // A narrow-first check still matters: when only Cargo's whole-workspace feature unification // makes it pass, the final test-target build must stay wide rather than rediscovering that // failure. If the narrow check passed (or retreated), validate the wider roots separately // because every staged check will compile them. - if wide_stages && !cleared.whole_workspace { - let _wide = Converger::preflight(work, plan, None, &intended, config.build, events)?; + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if needs_wide_preflight(wide_stages, cleared.whole_workspace) { + // #[gamma::skip(all, reason = "the optional state is observed only through higher-level process orchestration that cannot be isolated safely here")] + let unrestricted: Option<&[String]> = None; + let _wide = Converger::preflight(work, plan, unrestricted, &intended, config.build, events)?; } - events.end(""); - let dropped = cleared.dropped; + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + end_preflight(events); // Staged checks retain a whole-workspace feature scope whenever Cargo's original selection // covers every member, even when packages with no mutable files made preflight narrower. A // check that only passed after widening requires the final build to stay wide too; narrowing // there would reproduce a failure already shown to belong to the scope rather than to any // mutant. - if wide_stages { - converger.require_workspace_stages(); - } - - if cleared.whole_workspace { - converger.require_whole_workspace(); - } + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + settle_preflight_scope(converger, wide_stages, cleared.whole_workspace); // The check only passed because it stopped asking about those packages, so the rest of the run // stops asking too. Building test targets this run has decided cannot convict anything would be // paying again for the compile that just failed, and running them would mean running binaries // the preflight never cleared — the one thing the preflight exists to prevent. - if dropped.is_empty() { - return Ok(Cleared { - packages: requested, - whole_workspace: config.test_workspace, - dropped, - }); + finish_preflight(requested, intended, config.test_workspace, cleared.dropped) +} + +fn begin_preflight(events: &mut impl Events) { + const ACTIVE: &str = "Validating"; + const COMPLETE: &str = "Validated"; + const DETAIL: &str = "workspace"; + events.begin(ACTIVE, COMPLETE, DETAIL); +} + +fn end_preflight(events: &mut impl Events) { + events.end(Default::default()); +} + +fn inferred_package_local(config: &Config) -> bool { + config.test_packages.is_empty() && !config.test_workspace +} + +fn needs_wide_preflight(wide_stages: bool, already_wide: bool) -> bool { + wide_stages && !already_wide +} + +// #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +fn record_preflight_discovery(converger: &mut Converger, discovery: String) { + converger.target_discovery(discovery); +} + +// #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +fn settle_preflight_scope(converger: &mut Converger, wide_stages: bool, whole_workspace: bool) { + match (wide_stages, whole_workspace) { + (false, false) => {} + (true, false) => Converger::require_workspace_stages(converger), + (false, true) => Converger::require_whole_workspace(converger), + (true, true) => { + Converger::require_workspace_stages(converger); + Converger::require_whole_workspace(converger); + } } +} +fn finish_preflight(requested: Vec, intended: Vec, whole_workspace: bool, dropped: Vec) -> Result { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + let packages = if dropped.is_empty() { + requested + } else { + narrowed_oracle(requested, intended, &dropped)? + }; Ok(Cleared { - packages: narrowed_oracle(requested, intended, &dropped)?, - whole_workspace: config.test_workspace, + packages, + whole_workspace, dropped, }) } @@ -426,7 +663,10 @@ fn preflight( /// identify a whole-workspace invocation. The resolved Cargo selection can: [`Survey::selected`] /// contains every package Cargo would act on, while `reach` is keyed by every workspace member. fn workspace_stages(selected: &[String], reach: &HashMap>) -> bool { - selected.len() == reach.len() && selected.iter().all(|package| reach.contains_key(package.as_str())) + let distinct: HashSet<&str> = selected.iter().map(String::as_str).collect(); + + // #[gamma::skip(all, reason = "the alternative changes only internal candidate ordering or tie selection, not the accepted population exposed by this layer")] + distinct.len() == reach.len() && distinct.iter().all(|package| reach.contains_key(*package)) } /// The oracle a preflight retreat leaves behind: what was asked for, less what would not compile. @@ -493,9 +733,9 @@ struct Cleared { /// made to succeed, or the baseline does not pass — a failing baseline means every comparison in /// the run has nothing to compare against. pub fn measure(survey: &Survey, selection: &Selection, config: &Config, events: &mut impl Events) -> Result { - let mut failed_work = None; + let mut failed = FailedMeasurement::default(); - measure_with_locks(survey, selection, config, events, None, &mut failed_work) + measure_with_locks(survey, selection, config, events, None, &mut failed) } fn measure_with_locks( @@ -504,11 +744,11 @@ fn measure_with_locks( config: &Config, events: &mut impl Events, locks: Option, - failed_work: &mut Option, + failed: &mut FailedMeasurement, ) -> Result { let started = Instant::now(); - let (memory, unbounded) = admit_memory_control(config)?; + let (memory, unbounded) = settle_memory_control(config, memory::support().map_err(|reason| reason.to_string()))?; // Checked against what the workspace declares, before anything is copied or compiled. A typo // here changes which tests get to convict a mutant, so it should cost a second rather than a @@ -522,21 +762,26 @@ fn measure_with_locks( // has already committed hours to it — and what it looks like from outside is a run that hung. // Checked against the oracle and its filters so that unrelated workspace packages and targets // the caller has already excluded are not presented as costs of this run. - warn_about_compile_fail_targets(&survey.compile_fail, &survey.selected, config, events); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + announce_compile_fail_costs(survey, config, events); let mut plan = survey.skeleton(); - let mut converger = Converger::guided(ordering_hints(survey, config)); + let mut converger = Converger::guided(load_ordering_hints(survey, config)); // The scratch-tree copy, timed on its own: it is a component of the build's total, but a large // workspace can spend as much duplicating itself as compiling, and the aggregate cannot say // which. let copy_started = Instant::now(); - let mut work = Workspace::prepare_with_locks(&plan.root, config, events, locks)?; + let mut work = Workspace::prepare_with_locks(&plan.root, &survey.target, config, events, locks)?; let copy = copy_started.elapsed(); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + work.begin_build_sequence(); + // Settled once, before anything is spawned, so the baseline and the sweep cannot disagree about // how wide the workload they measure and judge is. - work.calibrate_harness(config.jobs); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + calibrate_harness(&work, config.jobs); let preflight_started = Instant::now(); let Cleared { @@ -545,17 +790,18 @@ fn measure_with_locks( dropped, } = preflight(survey, &plan, &work, config, &mut converger, events)?; let preflight_elapsed = preflight_started.elapsed(); - let oracle = Oracle::new(packages, config.test_packages.is_empty() && !config.test_workspace, whole_workspace); + let oracle = Oracle::new(packages, inferred_package_local(config), whole_workspace); let scope = oracle.scope(); let Staged { anything_live, mut stuck } = converge_stages(survey, selection, &mut plan, &mut converger, &work, config, events)?; - plan.sort(); - converger.plan_reordered(); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + reorder_plan(&mut plan, &mut converger); // Nothing was live anywhere, or everything live was in a build that could not be made to // compile. Either way there is nothing left to build, measure or run, and the verdicts the // abandoned population carries are already written onto the plan. + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if !anything_live { converger.settle(&mut plan); @@ -571,7 +817,8 @@ fn measure_with_locks( // immediately run with no mutant active, and neither half means anything without the other: // the build is what makes a baseline possible, and the baseline is what says the build was // worth having. - events.begin("Baselining", "Baseline", "building the test binaries and running the suite"); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + begin_baseline(events); // The staged builds compiled libraries only. This is the build that compiles the test targets // and settles the run, and it withdraws whatever only a test target could have revealed. Only @@ -590,10 +837,11 @@ fn measure_with_locks( let count = abandoned.ordinals.len(); stuck.push(describe_stuck(&plan, select.as_deref().unwrap_or_default(), &abandoned)); - events.complete(&format!( + let detail = format!( "the build could not be made to compile, {} not run", crate::report::quantity(count, "mutant") - )); + ); + events.complete(&detail); return Ok(Measured { plan, @@ -607,15 +855,7 @@ fn measure_with_locks( // run. A run with nothing left to run it cannot decide anything: every mutant would survive // unopposed and the report would read as a total failure of the test suite rather than as the // filter having eaten it. - let present = build.binaries.len(); - - restrict(&mut build.binaries, &config.include_tests, &config.exclude_tests); - - let filtered = present.saturating_sub(build.binaries.len()); - - if build.binaries.is_empty() && present > 0 { - return Err(error!("`--include-test` and `--exclude-test` left no test target to decide a verdict").usage()); - } + let filtered = restrict_binaries(&mut build.binaries, config)?; let build_time = started.elapsed(); @@ -623,49 +863,43 @@ fn measure_with_locks( // binaries that do not exist until the build has run, and the baseline has to be measured // through the same runner that will judge every mutant — a baseline taken one way and compared // against verdicts reached the other measures nothing. - if config.nextest { - work.arm_nextest(&build.binaries)?; - } - - let baseline = take_baseline(&work, &mut build.binaries, config, &memory, events); - let (baseline, work) = retain_workspace_on_failure(baseline, work, failed_work)?; - - warn_about_an_empty_oracle(&plan, &build.binaries, &scope, config.test_packages.is_empty(), &dropped, events); - - let stall = calibrate_stall(&baseline, config); + arm_selected_runner(&mut work, &build.binaries, &build.artifacts, config.nextest)?; - calibrate(&mut build.binaries, config, &memory); - - let session = Session { - baseline: baseline.elapsed, - baseline_wall: baseline.wall, - tests: baseline.tests, - quiet: baseline.quiet, - stall: stall.budget, + let session_context = SessionContext { build: build_time, - peak: baseline.peak, metered: memory.measuring(), unbounded, - withdrawn: build.withdrawn, - census: build.census, - rounds: build.rounds, - rounds_taken: build.history, - binaries: build.binaries, - scratch: work.base().to_owned(), filtered, - widened: build.widened, - ordering: build.ordering, - phases: Phases { - copy, - preflight: preflight_elapsed, - census: None, - sweep: None, - }, + copy, + preflight: preflight_elapsed, + }; + let mut failed_baseline = None; + let baseline = match take_baseline_retaining(&work, &mut build.binaries, config, &memory, Some(&mut failed_baseline), events) { + Ok(baseline) => baseline, + Err(error) => { + let baseline = failed_baseline.expect("baseline aggregation retains its completed measurements before returning a failure"); + failed.session = Some(session_before_sweep(baseline, build, &work, session_context, None)); + failed.plan = Some(plan); + failed.work = Some(work); + + return Err(error); + } }; + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + warn_if_oracle_is_empty(&plan, &build.binaries, &scope, config, &dropped, events); + + let stall = calibrate_stall(&baseline, config); + + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + calibrate_binaries(&mut build.binaries, config, &memory); + + let session = session_before_sweep(baseline, build, &work, session_context, stall.budget); + // Everything that could have failed has. What was built is now worth keeping, so that the next // run in this workspace is incremental rather than starting cold. - work.settle(); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + settle_workspace(&work); Ok(Measured { plan, @@ -675,18 +909,76 @@ fn measure_with_locks( }) } -/// Keeps a failed run's workspace alive until the command layer has persisted its diagnostics. -fn retain_workspace_on_failure(outcome: Result, work: Workspace, failed_work: &mut Option) -> Result<(T, Workspace)> { - match outcome { - Ok(value) => Ok((value, work)), - Err(failure) => { - *failed_work = Some(work); +// #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +fn announce_compile_fail_costs(survey: &Survey, config: &Config, events: &mut dyn Events) { + let targets = survey.compile_fail.as_slice(); + warn_about_compile_fail_targets(targets, &survey.selected, config, events); +} - Err(failure) - } +// #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +fn calibrate_harness(work: &Workspace, jobs: usize) { + work.calibrate_harness(jobs); +} + +// #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +fn reorder_plan(plan: &mut Plan, converger: &mut Converger) { + plan.sort(); + converger.plan_reordered(); +} + +fn begin_baseline(events: &mut impl Events) { + const ACTIVE: &str = "Baselining"; + const COMPLETE: &str = "Baseline"; + const DETAIL: &str = "building the test binaries and running the suite"; + events.begin(ACTIVE, COMPLETE, DETAIL); +} + +fn restrict_binaries(binaries: &mut Vec, config: &Config) -> Result { + let present = binaries.len(); + restrict(binaries, &config.include_tests, &config.exclude_tests); + let filtered = present.saturating_sub(binaries.len()); + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if binaries.is_empty() && present > 0 { + return Err(error!("`--include-test` and `--exclude-test` left no test target to decide a verdict").usage()); + } + Ok(filtered) +} + +// #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] +fn arm_selected_runner(work: &mut Workspace, binaries: &[TestBinary], artifacts: &str, nextest: bool) -> Result<()> { + work.arm_test_environment(binaries, artifacts)?; + + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if nextest { + work.arm_nextest(binaries)?; } + Ok(()) +} + +fn warn_if_oracle_is_empty( + plan: &Plan, + binaries: &[TestBinary], + scope: &TestScope<'_>, + config: &Config, + dropped: &[String], + events: &mut dyn Events, + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +) { + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + warn_about_an_empty_oracle(plan, binaries, scope, config.test_packages.is_empty(), dropped, events); } +// #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +fn calibrate_binaries(binaries: &mut [TestBinary], config: &Config, memory: &MemoryPolicy) { + calibrate(binaries, config, memory); +} + +// #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +fn settle_workspace(work: &Workspace) { + Workspace::settle(work); +} + +/// Keeps a failed run's workspace alive until the command layer has persisted its diagnostics. /// Renders what a build that could not be made to compile cost, and where it got stuck. /// /// The reason is repeated verbatim: the rollback-limit failure's withdrawal series and its @@ -758,6 +1050,7 @@ fn tally(mutants: &[&crate::model::Mutant], key: impl Fn(&crate::model::Mutant) } /// What the staged builds settled before the run reaches the build that decides it. +#[derive(Default)] struct Staged { /// Whether any stage got as far as compiling live mutants. anything_live: bool, @@ -778,12 +1071,14 @@ struct Staged { /// Empty when incremental mode is off. `--incremental no` is what a caller reaches for when they suspect the /// tool is remembering something it should not, so it turns off remembering — including the tiers /// that could not have affected the answer. -fn ordering_hints(survey: &Survey, config: &Config) -> crate::HashSet { +// #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] +fn load_ordering_hints(survey: &Survey, config: &Config) -> crate::HashSet { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if !config.incremental.is_enabled() { return crate::HashSet::default(); } - let base = gamma_base(&survey.root, config.cache_dir.as_deref()); + let base = campaign_base(&survey.root, &survey.target, config.cache_dir.as_deref()); let record = crate::discover::RunRecord::load(&base); let checked_in = crate::discover::Hints::load(&survey.root); @@ -812,65 +1107,92 @@ fn converge_stages( config: &Config, events: &mut impl Events, ) -> Result { - let mut ordinals = 0_u32; - let mut staged = Staged { - anything_live: false, - stuck: Vec::new(), - }; + let mut ordinals = u32::default(); + let mut staged = Staged::default(); for stage in &crate::discover::stages(&survey.packages(), &survey.reach) { - let name = stage.join(", "); + let name = stage_name(stage); // Named on the way in, before its files have even been read. Scanning and then compiling a // large crate is the longest a run goes without saying anything, and what makes that wait // legible is knowing whose wait it is. - events.begin("Mutating", "Mutated", &name); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + begin_stage(events, &name); - let mut live = 0_usize; + let mut live = usize::default(); for package in stage { let scanned = survey.scan(Some(package), selection, &mut ordinals)?; - live = live.saturating_add(scanned.mutants.iter().filter(|mutant| mutant.ordinal > 0).count()); + live = live.saturating_add(live_mutants(&scanned.mutants)); plan.absorb(scanned); } // A package with nothing to run is still named. A crate that quietly takes no part in a run // is worth noticing, and leaving it out of the sequence would make it look like it had // simply not been looked at. - if live == 0 { - events.end(", no mutants"); - continue; - } + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if live == usize::default() { + finish_empty_stage(events); + } else { + for package in stage { + work.link_runtime(package, &plan.files)?; + } - for package in stage { - work.link_runtime(package, &plan.files)?; + let before = converger.withdrawn(); + if let Some(abandoned) = converger.stage(work, plan, stage, config.build, events)? { + record_stuck_stage(&mut staged, plan, stage, &abandoned, events); + } else { + staged.anything_live = true; + + // The count that closes the line is what survived compilation, which is why it + // waits for the build. A mutant that could not compile is a fact about the tool + // rather than about the code, and the summary accounts for all of them once. + // #[gamma::skip(all, reason = "the value controls scheduling, accounting, identity, or a conservative bound whose one-step perturbation has no safely deterministic external observation here")] + let viable = viable_mutants(live, before, converger.withdrawn()); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + finish_viable_stage(events, viable); + } } + } - let before = converger.withdrawn(); - if let Some(abandoned) = converger.stage(work, plan, stage, config.build, events)? { - let count = abandoned.ordinals.len(); + Ok(staged) +} - staged.stuck.push(describe_stuck(plan, stage, &abandoned)); - events.end(&format!( - ", the build could not be made to compile, {} not run", - crate::report::quantity(count, "mutant") - )); +fn stage_name(stage: &[String]) -> String { + stage.join(", ") +} - continue; - } +fn begin_stage(events: &mut impl Events, name: &str) { + // #[gamma::skip(all, reason = "this literal belongs to a Cargo process protocol or diagnostic boundary that cannot be isolated deterministically without replacing process-global integration state")] + events.begin("Mutating", "Mutated", name); +} - staged.anything_live = true; +fn live_mutants(mutants: &[crate::model::Mutant]) -> usize { + mutants.iter().filter(|mutant| mutant.ordinal > 0).count() +} - // The count that closes the line is what survived compilation, which is why it waits for - // the build. A mutant that could not compile is a fact about the tool rather than about the - // code, and the summary accounts for all of them once. - let viable = live.saturating_sub(converger.withdrawn().saturating_sub(before)); +fn finish_empty_stage(events: &mut impl Events) { + const DETAIL: &str = ", no mutants"; + events.end(DETAIL); +} - events.end(&format!(", {}", crate::report::quantity(viable, "viable mutant"))); - } +fn record_stuck_stage(staged: &mut Staged, plan: &Plan, stage: &[String], abandoned: &Abandoned, events: &mut impl Events) { + staged.stuck.push(describe_stuck(plan, stage, abandoned)); + let detail = format!( + ", the build could not be made to compile, {} not run", + crate::report::quantity(abandoned.ordinals.len(), "mutant") + ); + events.end(&detail); +} - Ok(staged) +fn viable_mutants(live: usize, withdrawn_before: usize, withdrawn_after: usize) -> usize { + live.saturating_sub(withdrawn_after.saturating_sub(withdrawn_before)) +} + +fn finish_viable_stage(events: &mut impl Events, viable: usize) { + let detail = format!(", {}", crate::report::quantity(viable, "viable mutant")); + events.end(&detail); } /// Says so when a test target is going to run the compiler once per mutant. @@ -898,7 +1220,7 @@ fn warn_about_compile_fail_targets(targets: &[CompileFailTarget], selected: &[St } /// How many packages a warning names before it starts counting them instead. -const NAMED_HELPERS: usize = 3; +const NAMED_HELPERS: usize = 5; /// Says so when the oracle cap has left the mutated code with no tests at all. /// @@ -937,22 +1259,19 @@ fn warn_about_an_empty_oracle( let mutated: crate::HashSet<&str> = plan .mutants .iter() - .filter(|mutant| mutant.ordinal > 0 && mutant.outcome == Outcome::Pending) + .filter(|mutant| mutant.ordinal != 0) + .filter(|mutant| mutant.outcome == Outcome::Pending) .map(|mutant| &*mutant.package) .collect(); - if mutated.is_empty() { + let Some(_first_mutated) = mutated.iter().next() else { return; - } + }; // A binary that announced tests it never counted is not evidence of an empty suite, so `None` // is read as "there may well be tests here" and stops the warning. Saying this over a suite // that does convict things would be worse than saying nothing. - let judged = mutated.iter().any(|package| { - binaries - .iter() - .any(|binary| binary.tests != Some(0) && reaches(binary, package, plan, scope)) - }); + let judged = mutated.iter().any(|package| package_is_judged(binaries, package, plan, scope)); if judged { return; @@ -998,17 +1317,37 @@ fn warn_about_an_empty_oracle( )); } +fn package_is_judged(binaries: &[TestBinary], package: &str, plan: &Plan, scope: &TestScope<'_>) -> bool { + let available = binaries; + available + .iter() + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + .any(|binary| (binary.tests != Some(0)) && reaches(binary, package, plan, scope)) +} + /// Runs the suite once with no mutant active, or reports that nothing was measured. /// /// The measurement is taken at the sweep's own concurrency, because calibrating on an idle machine /// and spending on a loaded one makes every budget derived from it too tight — and a mutant that /// loses that race is recorded as a timeout, which lowers the score and can fail the run. +#[cfg(test)] fn take_baseline( work: &Workspace, binaries: &mut [TestBinary], config: &Config, memory: &MemoryPolicy, events: &mut impl Events, +) -> Result { + take_baseline_retaining(work, binaries, config, memory, None, events) +} + +fn take_baseline_retaining( + work: &Workspace, + binaries: &mut [TestBinary], + config: &Config, + memory: &MemoryPolicy, + failed: Option<&mut Option>, + events: &mut impl Events, ) -> Result { if !config.baseline { events.complete("no baseline was measured"); @@ -1033,7 +1372,7 @@ fn take_baseline( events.phase_progress(completed, total, unit); - let measured = measure_baseline(work, binaries, request, config.jobs, || { + let measured = measure_baseline(work, binaries, request, config.jobs, failed, || { completed += 1; events.phase_progress(completed, total, unit); })?; @@ -1060,13 +1399,6 @@ fn take_baseline( /// It is said out loud rather than silently because the protection is the kind whose absence is /// invisible until it matters. A user who believes their machine is protected and finds out /// otherwise mid-run is worse off than one who was told plainly at the start. -fn admit_memory_control(config: &Config) -> Result<(MemoryPolicy, Option)> { - // Converted to display text here because downstream logic only reports the platform error, and - // accepting text lets the policy decision be tested independently of host capabilities. - settle_memory_control(config, memory::support().map_err(|reason| reason.to_string())) -} - -/// Decides what memory control a run gets, given what the host can deliver. /// /// Host support is passed in rather than probed here so that every branch is decided by its /// arguments alone: whether a machine happens to have a delegated cgroup then has no bearing on @@ -1092,7 +1424,10 @@ fn settle_memory_control(config: &Config, support: Result<(), String>) -> Result // A ceiling is calibrated from the baseline. Without one there is no measurement to calibrate // from, and a number invented here would be presented with exactly the confidence of a // measured one. - if policy.enforcing() && !config.baseline && policy.limit.is_none() { + if policy.enforcing() { + if config.baseline || policy.limit.is_some() { + return Ok((policy, None)); + } if policy.insisted() { return Err(error!( "`--memory enforce` derives each test binary's ceiling from what it used during the \ @@ -1152,7 +1487,7 @@ mod tests { use camino::{Utf8Path, Utf8PathBuf}; use super::*; - use crate::discover::Killer; + use crate::discover::{Killer, ReachCluster, SiteIdentity}; use crate::exec::memory::{Demand, MemoryControl}; use crate::fixtures; use crate::model::Mutant; @@ -1184,6 +1519,78 @@ mod tests { let wide_stages = workspace_stages(&selected, &reach); assert!(!wide_stages); + assert!( + !workspace_stages(&[], &reach), + "an empty selection is not a whole-workspace selection" + ); + assert!( + !workspace_stages(&["mutable".to_owned(), "mutable".to_owned()], &reach), + "duplicate selections cannot stand in for every distinct workspace member" + ); + + let mut events = Recorder::default(); + begin_preflight(&mut events); + end_preflight(&mut events); + begin_baseline(&mut events); + assert_eq!( + events.phases, + vec![ + ("Validating".to_owned(), "workspace".to_owned()), + (String::new(), String::new()), + ( + "Baselining".to_owned(), + "building the test binaries and running the suite".to_owned() + ), + ] + ); + + assert!(inferred_package_local(&Config::default())); + assert!(!inferred_package_local(&Config { + test_workspace: true, + ..Config::default() + })); + assert!(!inferred_package_local(&Config { + test_packages: vec!["tests".to_owned()], + ..Config::default() + })); + assert!(!needs_wide_preflight(false, false)); + assert!(!needs_wide_preflight(true, true)); + assert!(needs_wide_preflight(true, false)); + + let ordinary = finish_preflight(vec!["a".to_owned()], vec!["a".to_owned()], false, Vec::new()) + .expect("an ordinary preflight keeps its request"); + assert_eq!(ordinary.packages, ["a"]); + assert!(!ordinary.whole_workspace); + assert!(ordinary.dropped.is_empty()); + let retreated = finish_preflight( + vec!["a".to_owned(), "b".to_owned()], + vec!["a".to_owned(), "b".to_owned()], + true, + vec!["a".to_owned()], + ) + .expect("a partial retreat keeps the compiling package"); + assert_eq!(retreated.packages, ["b"]); + assert!(retreated.whole_workspace); + assert_eq!(retreated.dropped, ["a"]); + + let mut none = Vec::new(); + assert_eq!(restrict_binaries(&mut none, &Config::default()).expect("empty stays empty"), 0); + let mut binaries = [oracle_binary("core", Some(1)), oracle_binary("core", Some(1))].to_vec(); + binaries[0].target = "keep".to_owned(); + binaries[1].target = "drop".to_owned(); + assert_eq!( + restrict_binaries( + &mut binaries, + &Config { + exclude_tests: vec!["drop".to_owned()], + ..Config::default() + }, + ) + .expect("one target remains"), + 1 + ); + assert_eq!(binaries.len(), 1); + assert_eq!(binaries[0].target, "keep"); } /// A baseline with the given elapsed time and quiet period, and nothing else measured. @@ -1340,6 +1747,10 @@ mod tests { assert!(described.contains("the build for the workspace"), "{described}"); assert!(described.contains("1 mutant never ran"), "{described}"); + assert!( + described.ends_with("\nthe instrumented tree does not compile"), + "the diagnostic is separated by exactly one newline: {described:?}" + ); } /// Only the mutants the build actually gave up on are counted, not every mutant in the plan. @@ -1358,6 +1769,43 @@ mod tests { assert!(described.contains("Not run, by mutator: arith.add_to_sub (1)."), "{described}"); assert!(!described.contains("relational.lt_to_le"), "{described}"); + + let mut staged = Staged::default(); + let mut events = Recorder::default(); + record_stuck_stage(&mut staged, &plan, &["subject".to_owned()], &abandoned, &mut events); + assert!(!staged.anything_live); + assert_eq!(staged.stuck, [described]); + assert_eq!( + events.phases, + [( + String::new(), + ", the build could not be made to compile, 1 mutant not run".to_owned() + )] + ); + } + + #[test] + fn stage_policy_names_counts_and_closes_each_outcome() { + assert_eq!(stage_name(&["a".to_owned(), "b".to_owned()]), "a, b"); + assert_eq!(stage_name(&[]), ""); + + let mutants = [stuck_mutant(0, "a", "f"), stuck_mutant(1, "b", "f"), stuck_mutant(2, "c", "f")]; + assert_eq!(live_mutants(&mutants), 2); + assert_eq!(viable_mutants(5, 2, 4), 3); + assert_eq!(viable_mutants(1, 4, 2), 1); + + let mut events = Recorder::default(); + begin_stage(&mut events, "a, b"); + finish_empty_stage(&mut events); + finish_viable_stage(&mut events, 2); + assert_eq!( + events.phases, + [ + ("Mutating".to_owned(), "a, b".to_owned()), + (String::new(), ", no mutants".to_owned()), + (String::new(), ", 2 viable mutants".to_owned()), + ] + ); } /// A long tail is counted rather than printed, so one line stays one line. @@ -1375,6 +1823,24 @@ mod tests { let described = describe_stuck(&plan, &["subject".to_owned()], &abandoned); assert!(described.contains("and 3 more"), "{described}"); + assert!(!described.contains("op.6"), "{described}"); + assert!(!described.contains("op.8"), "{described}"); + + let six: Vec = (1..=6) + .map(|ordinal| stuck_mutant(ordinal, &format!("boundary.{ordinal}"), "subject::f")) + .collect(); + let references: Vec<&Mutant> = six.iter().collect(); + assert_eq!( + tally(&references, |mutant| mutant.mutator.to_string()), + vec![ + "boundary.1 (1)", + "boundary.2 (1)", + "boundary.3 (1)", + "boundary.4 (1)", + "boundary.5 (1)", + "and 1 more", + ] + ); } #[test] @@ -1411,6 +1877,96 @@ mod tests { assert_eq!(describe(&baseline), "4 tests ran in 500.0ms with a peak of 1.0 MB"); } + #[test] + fn baseline_progress_distinguishes_disabled_and_empty_suites() { + #[derive(Default)] + struct BaselineEvents { + phases: Vec<(String, String)>, + progress: Vec<(usize, usize, String)>, + } + + impl Events for BaselineEvents { + fn phase(&mut self, verb: &str, detail: &str) { + self.phases.push((verb.to_owned(), detail.to_owned())); + } + + fn phase_progress(&mut self, completed: usize, total: usize, unit: &str) { + self.progress.push((completed, total, unit.to_owned())); + } + + fn mutant(&mut self, _mutant: &Mutant) {} + } + + let directory = crate::testing::workdir("measure-empty-baseline-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("utf-8 root"); + let work = Workspace::adopt(root.clone(), root.join("target")); + let mut disabled = BaselineEvents::default(); + let without = take_baseline( + &work, + &mut [], + &Config { + baseline: false, + ..Config::default() + }, + &MemoryPolicy::default(), + &mut disabled, + ) + .expect("a disabled baseline is an empty measurement"); + + assert_eq!(without.elapsed, Duration::ZERO); + assert_eq!(without.wall, Duration::ZERO); + assert_eq!(without.quiet, Duration::ZERO); + assert_eq!(without.tests, None); + assert_eq!(without.peak, None); + assert_eq!(disabled.phases, vec![(String::new(), "no baseline was measured".to_owned())]); + assert!(disabled.progress.is_empty()); + + let mut empty = BaselineEvents::default(); + let measured = take_baseline( + &work, + &mut [], + &Config { + jobs: 1, + ..Config::default() + }, + &MemoryPolicy::default(), + &mut empty, + ) + .expect("an empty suite still completes its baseline"); + + assert_eq!(measured.tests, None); + assert_eq!(empty.progress, vec![(0, 0, "test binaries".to_owned())]); + assert_eq!(empty.phases.len(), 1); + assert!(empty.phases[0].1.contains("the suite passed"), "{:?}", empty.phases); + + let (_directory, work) = crate::testing::helper_workspace("measure-one-baseline-", &["exit:0"]); + let mut binaries = [crate::testing::helper()]; + binaries[0].budget = Some(Duration::from_secs(1)); + let mut one = BaselineEvents::default(); + let measured = take_baseline( + &work, + &mut binaries, + &Config { + jobs: 1, + ..Config::default() + }, + &MemoryPolicy { + control: MemoryControl::Off, + ..MemoryPolicy::default() + }, + &mut one, + ) + .expect("one passing binary is measured"); + + assert_eq!(measured.tests, None); + assert_eq!( + one.progress, + vec![(0, 1, "test binary".to_owned()), (1, 1, "test binary".to_owned())] + ); + assert_eq!(one.phases.len(), 1); + assert!(one.phases[0].1.contains("the suite passed"), "{:?}", one.phases); + } + /// Memory control that was never asked for needs nothing from the host, and is returned /// exactly as configured. /// @@ -1539,6 +2095,27 @@ mod tests { assert_eq!(note, None); } + #[test] + fn baseline_derivation_guard_requires_all_three_missing_inputs() { + let (settled, note) = settle_memory_control(&Config::default(), Ok(())).expect("the default baseline supports enforcement"); + assert!(settled.enforcing()); + assert_eq!(note, None); + + let config = Config { + memory: MemoryPolicy { + control: MemoryControl::Measure, + demand: Demand::Stated, + ..MemoryPolicy::default() + }, + baseline: false, + ..Config::default() + }; + let (settled, note) = settle_memory_control(&config, Ok(())).expect("measurement needs no baseline-derived ceiling"); + assert!(settled.measuring()); + assert!(!settled.enforcing()); + assert_eq!(note, None); + } + fn target_in(package: &str, name: &str) -> CompileFailTarget { CompileFailTarget { package: package.to_owned(), @@ -1689,6 +2266,9 @@ mod tests { #[test] fn census_targets_only_selected_pending_sites_and_relevant_binaries() { let mut plan = oracle_plan("core"); + let mut inactive = plan.mutants[0].clone(); + inactive.ordinal = 0; + plan.mutants.push(inactive); let mut settled = plan.mutants[0].clone(); settled.ordinal = 2; settled.outcome = Outcome::Killed; @@ -1718,6 +2298,132 @@ mod tests { assert_eq!(savings, Duration::from_secs(3)); } + #[test] + fn phase_costs_preserve_census_admission_and_sweep_funnel_measurements() { + let targets = HashMap::from_iter([(Utf8PathBuf::from("/tmp/app"), HashSet::from_iter([1]))]); + for (optimize, narrowed, targets, savings, expected) in [ + (false, true, targets.clone(), Duration::from_secs(1), false), + (true, false, targets.clone(), Duration::from_secs(1), false), + (true, true, HashMap::default(), Duration::from_secs(1), false), + (true, true, targets.clone(), Duration::ZERO, false), + (true, true, targets, Duration::from_secs(1), true), + ] { + assert_eq!(census_is_worthwhile(optimize, narrowed, &targets, savings), expected); + } + + let absent = Census::default(); + let targets = HashMap::from_iter([ + (Utf8PathBuf::from("/tmp/app"), HashSet::from_iter([1, 2])), + (Utf8PathBuf::from("/tmp/other"), HashSet::from_iter([3])), + ]); + assert!(census_cost(false, Duration::from_secs(1), Duration::from_secs(9), &absent, &targets).is_none()); + let cost = + census_cost(true, Duration::from_secs(1), Duration::from_secs(9), &absent, &targets).expect("requested census has a phase"); + assert_eq!( + ( + cost.elapsed, + cost.walked, + cost.binaries, + cost.candidate_binaries, + cost.candidate_sites, + cost.listing_launches, + cost.listed_binaries, + cost.estimated_cost, + cost.walk_admitted, + cost.maximum_savings, + cost.complete_binaries, + cost.incomplete_binaries, + ), + ( + Duration::from_secs(1), + 0, + 0, + 2, + 3, + 0, + 0, + Duration::ZERO, + false, + Duration::from_secs(9), + 0, + 0, + ) + ); + + assert_eq!(census_status(false, false, &absent, 1), CensusStatus::Disabled); + assert_eq!(census_status(true, false, &absent, 1), CensusStatus::Declined); + assert_eq!(census_status(true, true, &absent, 1), CensusStatus::Incomplete); + let declined = Census::declined(); + assert!(declined.walk_declined()); + assert!(!census_admitted(true, &declined)); + assert!( + census_admitted(true, &absent), + "failed listings were attempted rather than economically declined" + ); + assert!(!census_admitted(false, &absent)); + assert!( + census_cost(false, Duration::from_secs(1), Duration::from_secs(9), &declined, &targets).is_none(), + "an economically declined census has no phase" + ); + assert_eq!(census_status(true, false, &declined, 1), CensusStatus::Declined); + let complete = Census::complete(Utf8Path::new("/tmp/app")); + assert_eq!(census_status(true, true, &complete, 1), CensusStatus::Complete); + + assert!(sweep_cost(None, Duration::from_secs(1)).is_none()); + let cost = sweep_cost( + Some(super::super::sweep::Spent { + launches: 1, + probes: 2, + exact_probes: 3, + exact_hits: 4, + generalized_probes: 5, + generalized_hits: 6, + saved: 7, + reach_saved: 8, + ..super::super::sweep::Spent::default() + }), + Duration::from_secs(9), + ) + .expect("completed sweep has a phase"); + assert_eq!( + ( + cost.elapsed, + cost.launches, + cost.probes, + cost.exact_probes, + cost.exact_hits, + cost.generalized_probes, + cost.generalized_hits, + cost.launches_saved, + cost.reach_launches_saved, + ), + (Duration::from_secs(9), 1, 2, 3, 4, 5, 6, 7, 8) + ); + } + + #[test] + fn absent_or_empty_census_preserves_durable_reach_clusters() { + let plan = oracle_plan("core"); + let killer = Killer { + package: "tests".to_owned(), + target: "tests".to_owned(), + test: "tests::kills_it".to_owned(), + }; + let mut generalized = crate::discover::GeneralizedHints::empty_supported(); + generalized.test_sets.push(vec![killer]); + generalized.reach.push(ReachCluster { + site: SiteIdentity::from_mutant(&plan.mutants[0]), + test_set: 0, + }); + let original = generalized.clone(); + let census = Census::default(); + + assert!(!persist_census_learning(false, &census, &plan, &[], &mut generalized)); + assert_eq!(generalized, original); + assert!(!persist_census_learning(true, &census, &plan, &[], &mut generalized)); + assert_eq!(generalized, original); + } + /// A hinted mutant sharing a binary with an unhinted one still gets censused there — for free — /// but contributes nothing of its own to the census's economics. /// @@ -1794,7 +2500,10 @@ mod tests { core.path = "/tmp/core".into(); core.baseline = Duration::from_secs(2); - let binaries = [core]; + let mut other = core.clone(); + other.path = "/tmp/core-other".into(); + other.target = "other".to_owned(); + let binaries = [core, other]; let scope = TestScope { packages: &[], package_local: false, @@ -1941,6 +2650,29 @@ mod tests { assert!(warning.contains("--test-workspace"), "the wider remedy is not named: {warning}"); } + #[test] + fn empty_oracle_advice_sorts_caps_and_counts_helper_packages() { + let mut events = Recorder::default(); + let mut plan = oracle_plan("core"); + let _app = plan.reach.remove("app"); + for helper in ["zeta", "beta", "eta", "delta", "alpha", "gamma"] { + let _previous = plan + .reach + .insert(helper.to_owned(), ["core".to_owned(), helper.to_owned()].into_iter().collect()); + } + let named = [String::from("core")]; + let scope = capped(&named); + + warn_about_an_empty_oracle(&plan, &[oracle_binary("core", Some(0))], &scope, true, &[], &mut events); + + let [warning] = events.warnings.as_slice() else { + panic!("one empty oracle produces one warning, got {:?}", events.warnings); + }; + assert!(warning.contains("`alpha`, `beta`, `delta`, `eta`, `gamma` and 1 more"), "{warning}"); + assert!(warning.contains("--test-package alpha"), "{warning}"); + assert!(!warning.contains("`zeta` also links"), "{warning}"); + } + /// A retreat narrows the oracle the caller named; it never replaces it with a different one. /// /// `--test-package p` with mutants in `q` is a caller who chose `p`'s tests as the oracle and @@ -2026,6 +2758,42 @@ mod tests { assert!(events.warnings.is_empty(), "{:?}", events.warnings); } + #[test] + fn one_judged_mutant_or_binary_is_enough_to_suppress_empty_oracle_advice() { + let named = [String::from("core")]; + let scope = capped(&named); + + let mut two_packages = oracle_plan("core"); + let mut app_mutant = two_packages.mutants[0].clone(); + app_mutant.id = "app-mutant".into(); + app_mutant.ordinal = 2; + app_mutant.package = "app".to_owned().into(); + two_packages.mutants.push(app_mutant); + let mut events = Recorder::default(); + warn_about_an_empty_oracle(&two_packages, &[oracle_binary("core", Some(1))], &scope, true, &[], &mut events); + assert!(events.warnings.is_empty(), "{:?}", events.warnings); + + let plan = oracle_plan("core"); + let mut unreachable = oracle_binary("unrelated", Some(0)); + unreachable.package = "unrelated".to_owned(); + let mut events = Recorder::default(); + warn_about_an_empty_oracle( + &plan, + &[oracle_binary("core", Some(1)), unreachable], + &scope, + true, + &[], + &mut events, + ); + assert!(events.warnings.is_empty(), "{:?}", events.warnings); + + let mut no_pending = oracle_plan("core"); + no_pending.mutants[0].outcome = Outcome::Killed; + let mut events = Recorder::default(); + warn_about_an_empty_oracle(&no_pending, &[oracle_binary("core", Some(0))], &scope, true, &[], &mut events); + assert!(events.warnings.is_empty(), "{:?}", events.warnings); + } + /// `None` is a suite nobody counted, not a suite with nothing in it. /// /// `--no-baseline` and a `harness = false` target both produce it, and reading it as empty would diff --git a/crates/cargo-gamma-lib/src/exec/memory.rs b/crates/cargo-gamma-lib/src/exec/memory.rs index 494aa1a85..f4d6d7584 100644 --- a/crates/cargo-gamma-lib/src/exec/memory.rs +++ b/crates/cargo-gamma-lib/src/exec/memory.rs @@ -217,6 +217,7 @@ fn scale(peak: u64, multiplier: f64) -> u64 { #[expect(clippy::cast_precision_loss, reason = "the comparison only needs to be right near the boundary")] let most = u64::MAX as f64; + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] if !scaled.is_finite() || scaled >= most { return u64::MAX; } diff --git a/crates/cargo-gamma-lib/src/exec/mod.rs b/crates/cargo-gamma-lib/src/exec/mod.rs index 7d94601d7..52b940e1c 100644 --- a/crates/cargo-gamma-lib/src/exec/mod.rs +++ b/crates/cargo-gamma-lib/src/exec/mod.rs @@ -37,16 +37,18 @@ mod nextest; mod progress; #[cfg(target_os = "linux")] pub(crate) mod relaunch; +mod rustc_wrapper; mod session; mod stall; mod sweep; mod sync; mod test_binary; +mod test_environment; mod verdict; mod workspace; #[doc(inline)] -pub use build::{OrderingHints, Round, Withdrawal}; +pub use build::{OrderingHints, PackageWithdrawal, Round, Withdrawal}; #[doc(inline)] pub use cargo_options::{BuildLimits, CargoOptions, DEFAULT_ROLLBACK_ROUNDS}; #[doc(inline)] @@ -59,16 +61,18 @@ pub use incremental_mode::IncrementalMode; #[doc(inline)] pub use loader::UNDER_GAMMA_VAR; pub(crate) use manifest::RUNTIME_CRATE; -pub(crate) use measure::run_with_locks; #[doc(inline)] pub use measure::{Built, Measured, Oracle, measure, run}; +pub(crate) use measure::{FailedMeasurement, run_with_locks}; #[doc(inline)] pub use memory::{DEFAULT_HEADROOM, DEFAULT_MULTIPLIER, Demand, MemoryControl, MemoryPolicy}; // Named for its subject at this level, where `support` alone would say nothing about what is // supported. The module itself is private unless the `internals` feature exposes it. pub(crate) use memory::{implied_memory_control, support as memory_support}; +#[doc(hidden)] +pub use rustc_wrapper::run_if_requested as run_rustc_wrapper_if_requested; #[doc(inline)] -pub use session::{CensusCost, Phases, Session, SweepCost}; +pub use session::{CensusCost, CensusStatus, PackageSweepCost, Phases, Session, SweepCost}; #[doc(inline)] pub use test_binary::TestBinary; pub(crate) use verdict::CONFIRM_FACTOR; @@ -77,7 +81,9 @@ pub use verdict::READERS; #[cfg(loom)] pub(crate) use verdict::run_loom_models; #[cfg(any(test, feature = "internals"))] -pub(crate) use workspace::cache_lock_identity; +pub(crate) use workspace::production_campaign_base; #[doc(inline)] -pub use workspace::{Workspace, clean_cache, footprint, gamma_base, scratch_tree}; +pub use workspace::{Workspace, campaign_base, clean_cache, footprint, gamma_base, scratch_tree}; +#[cfg(any(test, feature = "internals"))] +pub(crate) use workspace::{absolute as absolute_test_path, cache_lock_identity}; pub(crate) use workspace::{claim_cache, claim_workspace}; diff --git a/crates/cargo-gamma-lib/src/exec/nextest.rs b/crates/cargo-gamma-lib/src/exec/nextest.rs index 525615351..d35d61025 100644 --- a/crates/cargo-gamma-lib/src/exec/nextest.rs +++ b/crates/cargo-gamma-lib/src/exec/nextest.rs @@ -25,6 +25,8 @@ use crate::{HashMap, Result}; /// Keep Windows' command line below its practical limit, with room for metadata paths and test args. const MAX_FILTERSET_BYTES: usize = 8 * 1024; +const BINARIES_METADATA_FILE: &str = "nextest-binaries.json"; +const CARGO_METADATA_FILE: &str = "nextest-metadata.json"; /// The metadata that lets nextest run a tree it did not build, and the ids it knows the binaries by. #[derive(Debug, Clone)] @@ -49,12 +51,12 @@ impl Harness { /// # Errors /// /// Returns an error if nextest is not installed or cannot enumerate the built tree. - pub(super) fn prepare(work: &Workspace, binaries: &[TestBinary]) -> Result { + pub(super) fn prepare(work: &Workspace, binaries: &[TestBinary], metadata: &str) -> Result { let listing = work.capture_nextest_list(binaries)?; let ids = binary_ids(&listing); - let paths = work.write_scratch("nextest-binaries.json", &listing)?; - let metadata = work.write_scratch("nextest-metadata.json", &work.capture_cargo_metadata()?)?; + let paths = work.write_scratch(BINARIES_METADATA_FILE, &listing)?; + let metadata = work.write_scratch(CARGO_METADATA_FILE, metadata)?; let harness = Self { binaries: paths, @@ -94,6 +96,8 @@ impl Harness { // directory to its own package root, and pointing it at one package's directory would make // it resolve the whole workspace relative to that. let _ = command.current_dir(work.root().as_std_path()); + work.inherit_test_cache_home(&mut command); + work.configure_test_environment(&mut command, binary); // Only this binary's tests. The run visits the reachable binaries one at a time and stops // at the first that convicts, and letting nextest run all of them would discard both that @@ -359,6 +363,22 @@ mod tests { assert_eq!(filtersets("nxspike", &[&long]), ["binary_id(=nxspike)"]); } + #[test] + fn a_filterset_exactly_at_the_command_line_cap_is_kept() { + let exact = (1..MAX_FILTERSET_BYTES) + .map(|length| "x".repeat(length)) + .find(|name| { + let narrowed = format!("{} and (test({}))", filtersets("bin", &[])[0], matcher(name)); + narrowed.len() == MAX_FILTERSET_BYTES + }) + .expect("one plain test-name length reaches the byte cap exactly"); + + let filters = filtersets("bin", &[exact.as_str()]); + + assert_eq!(filters.len(), 1); + assert!(filters[0].contains("test(="), "an exactly capped selection is not widened"); + } + #[test] fn selected_tests_form_one_parenthesized_union() { assert_eq!( @@ -381,6 +401,12 @@ mod tests { assert_eq!(first_failure(""), None); } + #[test] + fn failure_names_are_trimmed_after_the_timing_prefix_and_empty_names_are_ignored() { + assert_eq!(first_failure("FAIL [ 0.123s] binary tests::fails \n"), Some("tests::fails")); + assert_eq!(first_failure("FAIL [ 0.123s] \n"), None); + } + /// The scan must not stop at the first line that is not a failure, or a suite that reports /// anything at all before its failure would convict a mutant without naming what caught it. #[test] @@ -472,6 +498,69 @@ mod tests { assert!(!args.iter().any(|arg| arg == "--"), "{args:?}"); } + #[test] + fn command_construction_is_pinned_on_every_platform() { + let (_scratch, mut work) = crate::testing::helper_workspace("nextest-command-portable", &[]); + work.set_test_args(vec!["--nocapture".to_owned()]); + let binary = crate::testing::test_binary("/t/deps/nxspike-abc"); + work.set_test_environment(&binary.package_id, "CARGO_PKG_NAME", "nextest-package"); + let harness = Harness::fake(&[("/t/deps/nxspike-abc", "nxspike")]); + + let command = harness.command(&work, &binary, &[]).expect("a known binary yields a command"); + let args: Vec<_> = command.get_args().map(|arg| arg.to_string_lossy().into_owned()).collect(); + + assert_eq!(command.get_program(), "cargo-nextest"); + assert_eq!(command.get_current_dir(), Some(work.root().as_std_path())); + assert!( + command + .get_envs() + .any(|(name, value)| name == "CARGO_GAMMA_TEST_CACHE_HOME" && value.is_some()), + "the private test cache follows nested helper launches" + ); + assert!( + command + .get_envs() + .any(|(name, value)| name == "CARGO_PKG_NAME" && value == Some(std::ffi::OsStr::new("nextest-package"))), + "nextest receives the reconstructed Cargo test environment" + ); + assert_eq!( + args, + vec![ + "nextest", + "run", + "--binaries-metadata", + "/t/binaries.json", + "--cargo-metadata", + "/t/metadata.json", + "-E", + "binary_id(=nxspike)", + "--failure-output", + "immediate-final", + "--no-tests", + "pass", + "--", + "--nocapture", + ] + ); + } + + #[test] + fn nextest_metadata_files_are_distinct_nonempty_json_names() { + assert!(!BINARIES_METADATA_FILE.is_empty()); + assert!(!CARGO_METADATA_FILE.is_empty()); + assert_ne!(BINARIES_METADATA_FILE, CARGO_METADATA_FILE); + assert!( + std::path::Path::new(BINARIES_METADATA_FILE) + .extension() + .is_some_and(|extension| extension.eq_ignore_ascii_case("json")) + ); + assert!( + std::path::Path::new(CARGO_METADATA_FILE) + .extension() + .is_some_and(|extension| extension.eq_ignore_ascii_case("json")) + ); + } + /// A binary nextest never listed must be refused before a command is built for it, rather than /// producing a filterset that matches nothing and a run that convicts nobody. #[test] diff --git a/crates/cargo-gamma-lib/src/exec/progress.rs b/crates/cargo-gamma-lib/src/exec/progress.rs index 01b190148..f62e2c908 100644 --- a/crates/cargo-gamma-lib/src/exec/progress.rs +++ b/crates/cargo-gamma-lib/src/exec/progress.rs @@ -38,6 +38,12 @@ pub(super) struct Progress { /// it is what the run would have reported had it read the output to exhaustion. pub(super) failed: Option, + /// Every test the harness announced as failed, in announcement order. + /// + /// Mutant attempts still stop at the first entry. Baselines run the harness to completion and + /// retain the complete list so one pass can publish every known failure. + pub(super) failures: Vec, + /// Whether the guard runtime reported that process startup could not establish a selection. pub(super) environment_error: bool, @@ -67,6 +73,7 @@ impl Progress { Self { watch, failed: None, + failures: Vec::new(), environment_error: false, heard: Instant::now(), quiet: Duration::ZERO, @@ -137,11 +144,17 @@ impl Progress { self.environment_error |= runtime_startup_failure(line.as_bytes()); } - /// Remembers the first failure announced, leaving any later one alone. + /// Remembers every failure announcement while keeping the first directly accessible. fn note(&mut self, name: &str) { - if self.failed.is_none() && !name.is_empty() { + if name.is_empty() { + return; + } + + if self.failed.is_none() { self.failed = Some(name.to_owned()); } + + self.failures.push(name.to_owned()); } } @@ -304,8 +317,8 @@ mod tests { assert_eq!(progress.failed.as_deref(), Some("tests::second")); } - /// The first failure is the one that convicted the mutant, and is what reading the output to - /// exhaustion would have reported. + /// The first failure remains the mutant verdict while the complete list is retained for a + /// baseline diagnostic. #[test] fn a_later_failure_does_not_replace_the_first() { let mut progress = Progress::new(Watch::Libtest); @@ -315,6 +328,7 @@ mod tests { progress.heard("test tests::second ... FAILED\n"); assert_eq!(progress.failed.as_deref(), Some("tests::first")); + assert_eq!(progress.failures, ["tests::first", "tests::second"]); } /// A target built with `harness = false` announces no suite and prints whatever it likes, so diff --git a/crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs b/crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs new file mode 100644 index 000000000..915a8c0c8 --- /dev/null +++ b/crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs @@ -0,0 +1,624 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +use std::ffi::{OsStr, OsString}; +use std::fs::{self, OpenOptions}; +use std::io::Write as _; +use std::process::{Command, ExitCode}; +use std::sync::atomic::{AtomicU64, Ordering}; + +use camino::Utf8PathBuf; +use serde::{Deserialize, Serialize}; + +pub(crate) const CAPTURE_DIR_VAR: &str = "CARGO_GAMMA_RUSTC_CAPTURE_DIR"; +pub(crate) const ORIGINAL_WRAPPER_VAR: &str = "CARGO_GAMMA_ORIGINAL_RUSTC_WRAPPER"; + +static NEXT_CAPTURE: AtomicU64 = AtomicU64::new(0); + +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] +pub(crate) struct RustcInvocation { + pub(crate) crate_name: String, + pub(crate) crate_types: Vec, + pub(crate) test: bool, + pub(crate) source: Utf8PathBuf, + pub(crate) out_dir: Utf8PathBuf, + pub(crate) extra_filename: String, + pub(crate) externs: Vec, + pub(crate) opaque_extern: bool, +} + +/// Runs cargo-gamma as Cargo's rustc wrapper when the private capture marker is present. +/// +/// Returns `None` for an ordinary cargo-gamma invocation. +pub fn run_if_requested(args: impl IntoIterator) -> Option { + let directory = std::env::var_os(CAPTURE_DIR_VAR).filter(|directory| !directory.is_empty())?; + let mut args = args.into_iter(); + let _self = args.next(); + let forwarded: Vec = args.collect(); + let compiler = forwarded.first()?; + + let mut command = if let Some(wrapper) = std::env::var_os(ORIGINAL_WRAPPER_VAR).filter(|path| !path.is_empty()) { + let mut command = Command::new(wrapper); + let _ = command.args(&forwarded); + command + } else { + let mut command = Command::new(compiler); + let _ = command.args(&forwarded[1..]); + command + }; + + let Ok(status) = command.status() else { + return Some(ExitCode::FAILURE); + }; + + if status.success() + && let Some(mut invocation) = parse_invocation(&forwarded[1..]) + { + invocation.opaque_extern |= std::env::vars_os().any(|(name, _value)| name.to_string_lossy().starts_with("CARGO_BIN_EXE_")); + + if let Ok(bytes) = serde_json::to_vec(&invocation) { + let directory = Utf8PathBuf::from(directory.to_string_lossy().into_owned()); + let _published = publish_capture(&directory, &bytes); + } + } + + Some( + status + .code() + .and_then(|code| u8::try_from(code).ok()) + .map_or(ExitCode::FAILURE, ExitCode::from), + ) +} + +/// Starts one compiler-capture generation with no entries from an earlier build. +/// +/// Capture data is an optimization: failure to clear or create the directory must not stop Cargo. +#[must_use] +pub(crate) fn reset_capture_directory(directory: &camino::Utf8Path) -> bool { + match fs::remove_dir_all(directory.as_std_path()) { + Ok(()) => {} + Err(cause) if cause.kind() == std::io::ErrorKind::NotFound => {} + Err(_cause) => return false, + } + + fs::create_dir_all(directory.as_std_path()).is_ok() +} + +/// Publishes a complete capture without replacing an entry from another wrapper process. +/// +/// The reader never observes a partially written JSON entry: bytes are written and flushed under a +/// temporary name, then hard-linked into the capture set with exclusive destination semantics. A +/// wrapper interrupted before the link can +/// leave only the temporary entry, which the next build removes with [`reset_capture_directory`]. +fn publish_capture(directory: &camino::Utf8Path, bytes: &[u8]) -> std::io::Result<()> { + publish_capture_with(directory, bytes, next_capture_stem) +} + +fn publish_capture_with(directory: &camino::Utf8Path, bytes: &[u8], mut next_stem: impl FnMut() -> String) -> std::io::Result<()> { + fs::create_dir_all(directory.as_std_path())?; + + let (mut stem, temporary, mut file) = loop { + let stem = next_stem(); + let temporary = directory.join(format!("{stem}.tmp")); + match OpenOptions::new().create_new(true).write(true).open(temporary.as_std_path()) { + Ok(file) => break (stem, temporary, file), + Err(cause) if cause.kind() == std::io::ErrorKind::AlreadyExists => {} + Err(cause) => return Err(cause), + } + }; + + file.write_all(bytes)?; + file.sync_data()?; + drop(file); + + loop { + let published = directory.join(format!("{stem}.json")); + match fs::hard_link(temporary.as_std_path(), published.as_std_path()) { + Ok(()) => break, + Err(cause) if cause.kind() == std::io::ErrorKind::AlreadyExists => stem = next_stem(), + Err(cause) => return Err(cause), + } + } + + fs::remove_file(temporary.as_std_path()) +} + +fn next_capture_stem() -> String { + // #[gamma::skip(literal.int_increment, reason = "the counter is used only to propose filenames; stepping by one or two preserves progress and no ordering is consumed")] + let sequence = NEXT_CAPTURE.fetch_add(1, Ordering::Relaxed); + format!("{}-{sequence}", std::process::id()) +} + +pub(crate) fn parse_invocation(args: &[OsString]) -> Option { + let mut crate_name = None; + let mut crate_types = Vec::new(); + let mut test = false; + let mut source = None; + let mut out_dir = None; + let mut extra_filename = String::new(); + let mut externs = Vec::new(); + let mut opaque_extern = false; + let mut index = 0; + + while index < args.len() { + let argument = args[index].to_string_lossy(); + let separate = |name: &str| argument == name && index + 1 < args.len(); + + if separate("--crate-name") { + crate_name = Some(args[index + 1].to_string_lossy().into_owned()); + // #[gamma::skip(all, reason = "not consuming the split option and its value retries the same argument forever and is observed only as a timeout")] + index += 2; + } else if let Some(value) = argument.strip_prefix("--crate-name=") { + crate_name = Some(value.to_owned()); + // #[gamma::skip(all, reason = "not consuming the joined option retries the same argument forever and is observed only as a timeout")] + index += 1; + } else if separate("--crate-type") { + crate_types.extend(args[index + 1].to_string_lossy().split(',').map(str::to_owned)); + // #[gamma::skip(all, reason = "moving backward or not consuming the split option makes the parser intrinsically nonterminating and is observed only as a timeout")] + index += 2; + } else if let Some(value) = argument.strip_prefix("--crate-type=") { + crate_types.extend(value.split(',').map(str::to_owned)); + // #[gamma::skip(all, reason = "moving backward or not consuming the joined option makes the parser intrinsically nonterminating and is observed only as a timeout")] + index += 1; + } else if argument == "--test" { + test = true; + index += 1; + } else if separate("--out-dir") { + out_dir = utf8(&args[index + 1]); + // #[gamma::skip(all, reason = "moving backward or not consuming the split option makes the parser intrinsically nonterminating and is observed only as a timeout")] + index += 2; + } else if let Some(value) = argument.strip_prefix("--out-dir=") { + out_dir = Some(Utf8PathBuf::from(value)); + // #[gamma::skip(all, reason = "moving backward or not consuming the joined option makes the parser intrinsically nonterminating and is observed only as a timeout")] + index += 1; + } else if separate("-C") { + if let Some(value) = args[index + 1].to_str().and_then(|value| value.strip_prefix("extra-filename=")) { + value.clone_into(&mut extra_filename); + } + // #[gamma::skip(all, reason = "moving backward or not consuming the split option makes the parser intrinsically nonterminating and is observed only as a timeout")] + index += 2; + } else if let Some(value) = argument.strip_prefix("-Cextra-filename=") { + value.clone_into(&mut extra_filename); + // #[gamma::skip(all, reason = "not consuming the joined option retries the same argument forever and is observed only as a timeout")] + index += 1; + } else if separate("--extern") { + parse_extern(&args[index + 1], &mut externs, &mut opaque_extern); + // #[gamma::skip(all, reason = "moving backward or not consuming the split option makes the parser intrinsically nonterminating and is observed only as a timeout")] + index += 2; + } else if let Some(value) = argument.strip_prefix("--extern=") { + parse_extern(OsStr::new(value), &mut externs, &mut opaque_extern); + // #[gamma::skip(all, reason = "moving backward or not consuming the joined option makes the parser intrinsically nonterminating and is observed only as a timeout")] + index += 1; + } else { + if !argument.starts_with('-') && argument.ends_with(".rs") && source.is_none() { + source = utf8(&args[index]); + } + // #[gamma::skip(all, reason = "not advancing past an unrecognized argument retries it forever and is observed only as a timeout")] + index += 1; + } + } + + Some(RustcInvocation { + crate_name: crate_name?, + crate_types, + test, + source: source?, + out_dir: out_dir?, + extra_filename, + externs, + opaque_extern, + }) +} + +fn parse_extern(value: &OsStr, externs: &mut Vec, opaque: &mut bool) { + let Some(value) = value.to_str() else { + *opaque = true; + return; + }; + let Some((_name, path)) = value.split_once('=') else { + *opaque = true; + return; + }; + + externs.push(Utf8PathBuf::from(path)); +} + +fn utf8(value: &OsStr) -> Option { + value.to_str().map(Utf8PathBuf::from) +} + +// #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] +pub(crate) fn wrapper_path() -> Option { + let path = Utf8PathBuf::from_path_buf(std::env::current_exe().ok()?).ok()?; + let stem = path.file_stem()?; + + // #[gamma::skip(all, reason = "this literal belongs to a Cargo process protocol or diagnostic boundary that cannot be isolated deterministically without replacing process-global integration state")] + (stem == "cargo-gamma").then_some(path) +} + +#[cfg(test)] +mod tests { + use std::env; + + use camino::Utf8Path; + + use super::*; + + const CHILD_SCENARIO: &str = "CARGO_GAMMA_RUSTC_WRAPPER_TEST"; + const TEST_COMPILER: &str = "CARGO_GAMMA_RUSTC_WRAPPER_COMPILER"; + + fn args(values: &[&str]) -> Vec { + values.iter().map(OsString::from).collect() + } + + fn successful_compiler(directory: &Utf8Path, name: &str) -> Utf8PathBuf { + #[cfg(windows)] + let (path, body) = (directory.join(format!("{name}.cmd")), "@exit /b 0\r\n"); + #[cfg(unix)] + let (path, body) = (directory.join(name), "#!/bin/sh\nexit 0\n"); + + fs::write(&path, body).expect("compiler script"); + #[cfg(unix)] + { + use std::os::unix::fs::PermissionsExt; + + let mut permissions = fs::metadata(&path).expect("compiler script metadata").permissions(); + permissions.set_mode(0o755); + fs::set_permissions(&path, permissions).expect("executable compiler script"); + } + path + } + + #[test] + fn parses_split_and_joined_rustc_options_without_mistaking_option_values_for_source() { + let parsed = parse_invocation(&args(&[ + "--crate-name", + "linked", + "--cfg", + "feature=\"a.rs\"", + "--crate-type=lib,rlib", + "src/lib.rs", + "--test", + "--out-dir", + "target/debug/deps", + "-Cextra-filename=-abc", + "--extern", + "dep=target/debug/deps/libdep-def.rlib", + ])) + .expect("complete invocation"); + + assert_eq!(parsed.crate_name, "linked"); + assert_eq!(parsed.crate_types, ["lib", "rlib"]); + assert_eq!(parsed.source, Utf8PathBuf::from("src/lib.rs")); + assert_eq!(parsed.out_dir, Utf8PathBuf::from("target/debug/deps")); + assert_eq!(parsed.extra_filename, "-abc"); + assert_eq!(parsed.externs, [Utf8PathBuf::from("target/debug/deps/libdep-def.rlib")]); + assert!(parsed.test); + assert!(!parsed.opaque_extern); + } + + #[test] + fn incomplete_invocations_and_pathless_externs_fail_open() { + assert!(parse_invocation(&args(&["--crate-name", "x", "src/lib.rs"])).is_none()); + assert!(parse_invocation(&args(&["--crate-name"])).is_none()); + assert!(parse_invocation(&args(&["--out-dir"])).is_none()); + assert!(parse_invocation(&args(&["--extern"])).is_none()); + + let parsed = parse_invocation(&args(&["--crate-name=x", "src/lib.rs", "--out-dir=target", "--extern=opaque"])) + .expect("identity is otherwise complete"); + + assert!(parsed.opaque_extern); + assert!(parsed.externs.is_empty()); + } + + #[cfg(any(unix, windows))] + #[test] + fn non_utf8_extern_paths_fail_open_without_recording_a_lossy_path() { + let mut externs = Vec::new(); + let mut opaque = false; + + parse_extern(&non_utf8_extern(), &mut externs, &mut opaque); + + assert!(opaque); + assert!(externs.is_empty()); + } + + #[cfg(unix)] + fn non_utf8_extern() -> OsString { + use std::os::unix::ffi::OsStringExt as _; + + OsString::from_vec(b"dep=/tmp/libdep-\xff.rlib".to_vec()) + } + + #[cfg(windows)] + fn non_utf8_extern() -> OsString { + use std::os::windows::ffi::OsStringExt as _; + + let mut value: Vec = "dep=C:\\cache\\libdep-".encode_utf16().collect(); + value.push(0xd800); + value.extend(".rlib".encode_utf16()); + OsString::from_wide(&value) + } + + #[test] + fn parses_split_codegen_options() { + let parsed = parse_invocation(&args(&[ + "--crate-name", + "split", + "--crate-type", + "lib,cdylib", + "src/lib.rs", + "--out-dir", + "target", + "-C", + "extra-filename=-split", + ])) + .expect("complete invocation"); + + assert_eq!(parsed.crate_types, ["lib", "cdylib"]); + assert_eq!(parsed.extra_filename, "-split"); + } + + #[test] + fn every_joined_option_and_source_guard_is_exercised_independently() { + let parsed = parse_invocation(&args(&[ + "-not-source.rs", + "--crate-name=joined", + "--crate-type=lib,proc-macro", + "--out-dir=target/joined", + "-Cextra-filename=-joined", + "--extern=dep=target/joined/libdep.rlib", + "src/first.rs", + "src/ignored.rs", + ])) + .expect("complete joined invocation"); + + assert_eq!(parsed.crate_name, "joined"); + assert_eq!(parsed.crate_types, ["lib", "proc-macro"]); + assert_eq!(parsed.out_dir, Utf8Path::new("target/joined")); + assert_eq!(parsed.extra_filename, "-joined"); + assert_eq!(parsed.externs, [Utf8PathBuf::from("target/joined/libdep.rlib")]); + assert_eq!(parsed.source, Utf8Path::new("src/first.rs")); + assert!(!parsed.test); + assert!(!parsed.opaque_extern); + } + + #[test] + fn reset_accepts_a_capture_directory_that_does_not_exist() { + let directory = tempfile::tempdir().expect("test directory"); + let captures = Utf8PathBuf::from_path_buf(directory.path().join("missing")).expect("UTF-8 capture path"); + + assert!(reset_capture_directory(&captures)); + + assert!(captures.is_dir()); + assert_eq!(fs::read_dir(&captures).expect("capture directory").count(), 0); + } + + #[test] + fn a_test_executable_is_not_the_production_wrapper() { + assert_eq!(wrapper_path(), None); + } + + #[test] + fn ordinary_invocations_do_not_enter_wrapper_mode() { + if env::var_os(CAPTURE_DIR_VAR).is_none() { + assert_eq!(run_if_requested(args(&["cargo-gamma"])), None); + } + } + + #[test] + fn an_empty_capture_marker_does_not_enter_wrapper_mode() { + let output = run_wrapper_child("missing-compiler", Utf8Path::new(""), None, None, false); + + assert!(output.contains("wrapper-present=false"), "{output}"); + } + + #[test] + fn wrapper_child_helper() { + let Ok(scenario) = env::var(CHILD_SCENARIO) else { + return; + }; + + let invocation = match scenario.as_str() { + "direct" => { + let compiler = env::var(TEST_COMPILER).expect("test compiler"); + vec![ + OsString::from("cargo-gamma"), + OsString::from(compiler), + OsString::from("--crate-name=wrapped"), + OsString::from("--crate-type=lib"), + OsString::from("src/lib.rs"), + OsString::from("--out-dir=target"), + OsString::from("--extern=opaque"), + ] + } + "original" => args(&[ + "cargo-gamma", + "ignored-rustc", + "--crate-name=chained", + "src/lib.rs", + "--out-dir=target", + ]), + "missing-compiler" => args(&["cargo-gamma"]), + "spawn-failure" => args(&["cargo-gamma", "definitely-not-a-real-rustc-wrapper-command"]), + other => panic!("unknown wrapper child scenario `{other}`"), + }; + + let outcome = run_if_requested(invocation); + println!("wrapper-present={}", outcome.is_some()); + println!("wrapper-success={}", outcome == Some(ExitCode::SUCCESS)); + } + + #[test] + #[cfg_attr(miri, ignore = "spawns compiler subprocesses")] + fn wrapper_mode_forwards_records_and_reports_failures() { + let directory = tempfile::tempdir().expect("capture directory"); + let captures = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 capture path"); + let compiler = successful_compiler(&captures, "compiler"); + + let direct = run_wrapper_child("direct", &captures, Some(compiler.as_str()), None, true); + assert!(direct.contains("wrapper-success=true"), "{direct}"); + let recorded = read_only_capture(&captures); + assert_eq!(recorded.crate_name, "wrapped"); + assert_eq!(recorded.source, Utf8PathBuf::from("src/lib.rs")); + assert!(recorded.opaque_extern, "a pathless extern makes dependency reach opaque"); + + fs::remove_file(capture_path(&captures)).expect("remove first capture"); + let script = successful_compiler(&captures, "original"); + let chained = run_wrapper_child("original", &captures, None, Some(script.as_str()), false); + assert!(chained.contains("wrapper-success=true"), "{chained}"); + assert_eq!(read_only_capture(&captures).crate_name, "chained"); + + let missing = run_wrapper_child("missing-compiler", &captures, None, None, false); + assert!(missing.contains("wrapper-present=false"), "{missing}"); + + let failed = run_wrapper_child("spawn-failure", &captures, None, None, false); + assert!(failed.contains("wrapper-present=true"), "{failed}"); + assert!(failed.contains("wrapper-success=false"), "{failed}"); + } + + #[test] + fn a_new_build_recovers_from_interrupted_and_truncated_capture_entries() { + let directory = tempfile::tempdir().expect("capture directory"); + let captures = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 capture path"); + fs::write(captures.join("interrupted.tmp"), br#"{"crate_name":"partial""#).expect("interrupted temporary entry"); + fs::write(captures.join("reused-pid.json"), br#"{"crate_name":"truncated""#).expect("truncated published entry"); + + assert!(reset_capture_directory(&captures)); + + assert_eq!(fs::read_dir(&captures).expect("reset capture directory").count(), 0); + let invocation = RustcInvocation { + crate_name: "recovered".to_owned(), + crate_types: vec!["lib".to_owned()], + test: false, + source: Utf8PathBuf::from("src/lib.rs"), + out_dir: Utf8PathBuf::from("target"), + extra_filename: "-recovered".to_owned(), + externs: Vec::new(), + opaque_extern: false, + }; + let bytes = serde_json::to_vec(&invocation).expect("capture JSON"); + + publish_capture(&captures, &bytes).expect("complete capture publication"); + + assert_eq!(read_only_capture(&captures), invocation); + assert!( + fs::read_dir(&captures) + .expect("capture directory") + .filter_map(core::result::Result::ok) + .all(|entry| entry.path().extension().is_some_and(|extension| extension == "json")), + "no temporary entry is published after a successful write" + ); + } + + #[test] + fn a_capture_generation_is_unavailable_when_its_directory_cannot_be_reset() { + let directory = tempfile::tempdir().expect("test directory"); + let captures = Utf8PathBuf::from_path_buf(directory.path().join("not-a-directory")).expect("UTF-8 capture path"); + fs::write(&captures, b"occupied").expect("capture path file"); + + assert!(!reset_capture_directory(&captures)); + assert_eq!(fs::read(&captures).expect("occupied path remains"), b"occupied"); + } + + #[test] + fn repeated_wrapper_publications_do_not_collide_on_the_process_id() { + let directory = tempfile::tempdir().expect("capture directory"); + let captures = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 capture path"); + let first = br#"{"crate_name":"first"}"#; + let second = br#"{"crate_name":"second"}"#; + + publish_capture(&captures, first).expect("first publication"); + publish_capture(&captures, second).expect("second publication"); + + let mut contents: Vec> = fs::read_dir(&captures) + .expect("capture directory") + .map(|entry| fs::read(entry.expect("capture entry").path()).expect("capture bytes")) + .collect(); + contents.sort(); + assert_eq!(contents, [first.to_vec(), second.to_vec()]); + } + + #[test] + fn wrapper_publication_retries_temporary_and_published_name_collisions() { + let directory = tempfile::tempdir().expect("capture directory"); + let captures = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 capture path"); + fs::write(captures.join("occupied-temporary.tmp"), b"temporary").expect("temporary collision"); + fs::write(captures.join("occupied-published.json"), b"published").expect("published collision"); + let mut stems = ["occupied-temporary", "occupied-published", "fresh"].into_iter(); + + publish_capture_with(&captures, b"capture", || { + stems.next().expect("the collision fixture provides enough names").to_owned() + }) + .expect("collisions are retried"); + + assert_eq!( + fs::read(captures.join("occupied-published.json")).expect("old capture"), + b"published" + ); + assert_eq!(fs::read(captures.join("fresh.json")).expect("new capture"), b"capture"); + assert!(!captures.join("occupied-published.tmp").exists()); + } + + #[test] + #[cfg_attr(miri, ignore = "spawns a compiler subprocess")] + fn capture_storage_failures_do_not_change_the_compiler_result() { + let directory = tempfile::tempdir().expect("test directory"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 test path"); + let captures = root.join("not-a-directory"); + fs::write(&captures, "keep").expect("capture blocker"); + let compiler = successful_compiler(&root, "compiler"); + + let output = run_wrapper_child("direct", &captures, Some(compiler.as_str()), None, false); + + assert!(output.contains("wrapper-success=true"), "{output}"); + assert_eq!(fs::read_to_string(&captures).expect("blocker remains"), "keep"); + } + + fn run_wrapper_child( + scenario: &str, + captures: &Utf8Path, + compiler: Option<&str>, + original: Option<&str>, + opaque_binary: bool, + ) -> String { + let executable = env::current_exe().expect("test executable"); + let module = module_path!(); + let relative = module.split_once("::").map_or(module, |(_crate_name, rest)| rest); + let test = format!("{relative}::wrapper_child_helper"); + let mut command = Command::new(executable); + let _ = command + .args([test.as_str(), "--exact", "--nocapture"]) + .env(CHILD_SCENARIO, scenario) + .env(CAPTURE_DIR_VAR, captures); + + if let Some(compiler) = compiler { + let _ = command.env(TEST_COMPILER, compiler); + } + if let Some(original) = original { + let _ = command.env(ORIGINAL_WRAPPER_VAR, original); + } else { + let _ = command.env_remove(ORIGINAL_WRAPPER_VAR); + } + if opaque_binary { + let _ = command.env("CARGO_BIN_EXE_fixture", "fixture"); + } + + let output = command.output().expect("wrapper child runs"); + assert!(output.status.success(), "{}", String::from_utf8_lossy(&output.stderr)); + String::from_utf8(output.stdout).expect("child output is UTF-8") + } + + fn capture_path(captures: &Utf8Path) -> Utf8PathBuf { + fs::read_dir(captures) + .expect("capture directory") + .filter_map(core::result::Result::ok) + .map(|entry| Utf8PathBuf::from_path_buf(entry.path()).expect("UTF-8 capture path")) + .find(|path| path.extension() == Some("json")) + .expect("recorded invocation") + } + + fn read_only_capture(captures: &Utf8Path) -> RustcInvocation { + serde_json::from_slice(&fs::read(capture_path(captures)).expect("capture bytes")).expect("recorded invocation") + } +} diff --git a/crates/cargo-gamma-lib/src/exec/session.rs b/crates/cargo-gamma-lib/src/exec/session.rs index c685ef9c2..e1a0609be 100644 --- a/crates/cargo-gamma-lib/src/exec/session.rs +++ b/crates/cargo-gamma-lib/src/exec/session.rs @@ -2,6 +2,7 @@ // Licensed under the MIT License. use core::time::Duration; +use std::sync::Arc; use super::build::Round; use super::test_binary::TestBinary; @@ -82,7 +83,7 @@ pub struct Session { /// The test binaries that were run. pub binaries: Vec, - /// Where the run put everything it kept on disk. + /// Where the run put its Cargo artifacts and reusable campaign state. /// /// The path rather than the size, because the size is a walk of a directory holding every build /// artifact of every round, and only the diagnostics dump ever prints it. See @@ -147,7 +148,10 @@ pub struct Phases { /// of [`Session::build`]. pub preflight: Duration, - /// What the census cost and covered, or `None` when `--whole-test-binaries` disabled it. + /// Why census work was absent or how far an attempted census got. + pub census_status: CensusStatus, + + /// What the census cost and covered, or `None` when it was disabled or declined. /// /// Absent rather than zero: a run with no census did not spend zero time censusing, it did not /// census, and the difference is the whole question of whether turning the census on was worth @@ -158,13 +162,43 @@ pub struct Phases { pub sweep: Option, } +/// Whether case-level reachability optimization ran and produced complete evidence. +#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)] +pub enum CensusStatus { + /// The user did not request the experimental optimization. + #[default] + Disabled, + + /// The economic gate determined that census work could not repay itself. + Declined, + + /// Census work ran but retained only checked positive hints. + Incomplete, + + /// Census work completed and may safely exclude tests. + Complete, +} + +impl CensusStatus { + /// Stable diagnostic spelling. + #[must_use] + pub const fn as_str(self) -> &'static str { + match self { + Self::Disabled => "disabled", + Self::Declined => "declined", + Self::Incomplete => "incomplete", + Self::Complete => "complete", + } + } +} + /// What the per-test census cost and covered. /// /// The census spends a subprocess per test to learn which tests can reach which sites, and is /// repaid during the sweep by running fewer tests per mutant. Whether that trade is positive /// depends on the workspace, and these are the figures that let anyone — including `--estimate` — /// see which way it went, rather than folding the cost invisibly into the build. -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Default)] pub struct CensusCost { /// How long the whole census took, across every binary and every test. pub elapsed: Duration, @@ -175,6 +209,25 @@ pub struct CensusCost { /// How many test binaries the census examined. pub binaries: usize, + + /// Candidate binaries and unique binary-local sites presented to the economic gate. + pub candidate_binaries: usize, + pub candidate_sites: usize, + + /// Test-listing subprocesses launched before sampling. + pub listing_launches: usize, + pub listed_binaries: usize, + + /// Listing-time proxy used by the economic gate and whether it admitted sampling. + pub estimated_cost: Duration, + pub walk_admitted: bool, + + /// Conservative upper bound on sweep time the census could avoid. + pub maximum_savings: Duration, + + /// Candidate binaries that yielded complete or partial evidence. + pub complete_binaries: usize, + pub incomplete_binaries: usize, } /// What the sweep cost and how it spent its subprocess launches. @@ -182,7 +235,7 @@ pub struct CensusCost { /// The launch count is what turns the cost model's `build + Σ(launch + prefix)` from a formula into /// a measurement; the probe count is what says whether the killer hints and the census are earning /// their keep, since a probe is a launch the run only made because a hint pointed at it. -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Default)] pub struct SweepCost { /// How long the sweep took, across every mutant and every binary it ran. pub elapsed: Duration, @@ -192,4 +245,54 @@ pub struct SweepCost { /// How many of those launches were hint-directed probes rather than ordinary binary runs. pub probes: usize, + + /// Exact mutant-id probes attempted and confirmed. + pub exact_probes: usize, + pub exact_hits: usize, + + /// Generalized item, binary, census and reach-cluster probes attempted and confirmed. + pub generalized_probes: usize, + pub generalized_hits: usize, + + /// Hint candidates available when mutants were assigned. + pub exact_candidates: usize, + pub generalized_candidates: usize, + pub item_candidates: usize, + pub reach_candidates: usize, + pub file_candidates: usize, + pub census_candidates: usize, + pub item_probes: usize, + pub item_hits: usize, + pub reach_probes: usize, + pub reach_hits: usize, + pub file_probes: usize, + pub file_hits: usize, + pub census_probes: usize, + pub census_hits: usize, + + /// Final reachability decisions made before canonical binary execution. + pub whole_selections: usize, + pub case_selections: usize, + pub hinted_selections: usize, + pub hinted_fallbacks: usize, + pub uncovered_selections: usize, + pub available_tests: usize, + pub selected_tests: usize, + + /// Package wall-clock spans measured from the beginning of the sweep. + pub packages: Vec, + + /// Canonical binary launches avoided by in-run reach and killer learning. + pub launches_saved: usize, + + /// Launches avoided specifically by reach observations harvested during this sweep. + pub reach_launches_saved: usize, +} + +#[derive(Debug, Clone)] +pub struct PackageSweepCost { + pub package: Arc, + pub mutants: usize, + pub first_started_ms: u64, + pub settled_ms: u64, } diff --git a/crates/cargo-gamma-lib/src/exec/stall.rs b/crates/cargo-gamma-lib/src/exec/stall.rs index da05f4ff8..a46c7f58d 100644 --- a/crates/cargo-gamma-lib/src/exec/stall.rs +++ b/crates/cargo-gamma-lib/src/exec/stall.rs @@ -8,7 +8,7 @@ use std::time::Instant; use super::progress::Progress; /// How long a binary may go silent before it is presumed hung. -#[derive(Debug, Clone, Copy, Default)] +#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)] pub(super) struct Stall { /// The budget, or `None` to wait out the full timeout. pub(super) budget: Option, diff --git a/crates/cargo-gamma-lib/src/exec/sweep.rs b/crates/cargo-gamma-lib/src/exec/sweep.rs index 62d31dd7a..156458665 100644 --- a/crates/cargo-gamma-lib/src/exec/sweep.rs +++ b/crates/cargo-gamma-lib/src/exec/sweep.rs @@ -5,6 +5,7 @@ use core::sync::atomic::{AtomicUsize, Ordering}; use core::time::Duration; +use std::collections::BTreeSet; use std::sync::{Arc, Condvar, Mutex, MutexGuard, OnceLock, PoisonError, mpsc}; use std::thread; use std::time::Instant; @@ -19,14 +20,23 @@ use super::stall::Stall; use super::test_binary::{Reachability, TestBinary}; #[cfg(test)] use super::test_binary::{TestScope, order_reachable, reaches}; -use super::verdict::{Attempt, DIAGNOSTIC_TAIL_LINES, Only, Verdict, run_binary, tail}; +use super::verdict::{ + Attempt, BinaryRun, DIAGNOSTIC_TAIL_LINES, Only, ReachObservation, Verdict, reach_hint_is_final, run_binary, run_binary_observed, tail, +}; use super::workspace::Workspace; -use crate::discover::{Killer, Plan}; +use crate::discover::{ + BinaryHint, FileBinaryHints, GENERALIZED_HINTS_VERSION, GeneralizedHints, ItemHints, Killer, Plan, RankedHint, SiteIdentity, +}; use crate::error::error; use crate::model::Outcome; use crate::report::{encode_controls, encode_preserving_color}; use crate::{Result, notes}; +/// The minimum launch-cost estimate used by census admission. +/// +/// Kept here for the existing shared cost model; sweep workers do not wait for this duration. +pub(super) const MIN_SCOUT_WAIT: Duration = Duration::from_millis(5); + /// Describes a mutant stopped by the memory ceiling installed for its test binary. /// /// Written to say what was measured and against what, because the reader's questions are whether @@ -111,9 +121,13 @@ fn flaky_note(binary: &Utf8Path, test: Option<&str>) -> String { /// instead. Delivery is best-effort because the command-wide note queue is bounded, but any /// retained diagnostic is printed locally and never written into a report. fn enumeration_note(binary: &Utf8Path, output: &str) -> String { + const fn diagnostic_tail_lines() -> usize { + DIAGNOSTIC_TAIL_LINES + } + if !output.trim().is_empty() { let binary = encode_controls(binary.as_str()); - let tail = tail(output, DIAGNOSTIC_TAIL_LINES); + let tail = tail(output, diagnostic_tail_lines()); let output = encode_preserving_color(tail.as_ref()); notes::note(format!( @@ -128,7 +142,12 @@ fn enumeration_note(binary: &Utf8Path, output: &str) -> String { } /// One mutant's result: its index in the plan, what happened, how long it took and any detail. -type Completed = (usize, Outcome, u64, Option, Option); +type Completed = (usize, Outcome, u64, Option, Option, u64, u64); + +enum SweepEvent { + Started(usize, u64), + Completed(Completed), +} /// Estimates a single mutant's cost from per-site census data when available, falling back to /// the sum of its reachable binary baselines. @@ -145,42 +164,102 @@ fn mutant_cost(position: usize, plan: &Plan, reach: &Reachability<'_>, census: & // A mutant with a persisted killer hint is expected to be killed by one probe. if let Some(hint) = killers.hint(&mutant.id) - && let Some(binaries) = reach.reachable(&mutant.package) + && let Some(binaries) = reach.reachable(mutant) && let Some(binary) = binaries.iter().find(|b| hint.names(&b.package, &b.target)) { return binary.baseline; } - let Some(binaries) = reach.reachable(&mutant.package) else { + let Some(binaries) = reach.reachable(mutant) else { return Duration::ZERO; }; let mut total = Duration::ZERO; - let mut used_census = false; for binary in binaries { - match census.work(binary, mutant.ordinal) { - CensusWork::Selected(duration) => { - total += duration; - used_census = true; - } + let ordinal = mutant.ordinal; + match census.work(binary, ordinal) { + CensusWork::Selected(duration) => total += duration, CensusWork::Whole => total += binary.baseline, CensusWork::Uncovered => {} CensusWork::Hinted(_duration) => total += binary.baseline, } } - // When census data was used, the estimate is site-specific and more accurate. - // When no census data, fall back to package-level baseline sum. - let _ = used_census; total } -/// Orders package queues longest-first, then interleaves them. +fn mutant_work( + position: usize, + plan: &Plan, + reach: &Reachability<'_>, + census: &Census, + killers: &Killers, + sweep: Sweep<'_>, +) -> crate::estimate::MutationWork { + let mutant = &plan.mutants[position]; + let confirmation_runs = if sweep.confirm { crate::exec::CONFIRM_FACTOR } else { 0 }; + + if let Some(hint) = killers.hint(&mutant.id) + && let Some(binaries) = reach.reachable(mutant) + && let Some(binary) = binaries.iter().find(|binary| hint.names(&binary.package, &binary.target)) + { + return crate::estimate::MutationWork::new( + mutant.ordinal, + crate::estimate::WorkKind::Exact, + binary.baseline, + binary + .budget_for(mutant.test_timeout_multiplier, sweep.timeout_floor) + .unwrap_or_default(), + confirmation_runs, + ); + } + + let mut kind = crate::estimate::WorkKind::Selected; + let mut suite = Duration::ZERO; + let mut budgets = Duration::ZERO; + let mut running = 0_u32; + + if let Some(binaries) = reach.reachable(mutant) { + for binary in binaries { + let selected = match census.work(binary, mutant.ordinal) { + CensusWork::Selected(duration) => duration, + CensusWork::Hinted(_duration) => { + if kind != crate::estimate::WorkKind::Whole { + kind = crate::estimate::WorkKind::Hinted; + } + binary.baseline + } + CensusWork::Whole => { + kind = crate::estimate::WorkKind::Whole; + binary.baseline + } + CensusWork::Uncovered => continue, + }; + + suite = suite.saturating_add(selected); + budgets = budgets.saturating_add( + binary + .budget_for(mutant.test_timeout_multiplier, sweep.timeout_floor) + .unwrap_or_default(), + ); + running = running.saturating_add(1); + } + } + + if running == 0 { + kind = crate::estimate::WorkKind::Uncovered; + } + let single_budget = budgets.checked_div(running).unwrap_or(budgets); + + crate::estimate::MutationWork::new(mutant.ordinal, kind, suite, single_budget, confirmation_runs) +} + +/// Builds the stable package-fair, longest-work-first priority used by the live scheduler. /// -/// Workers pull from a single queue, so package queues start in descending expected-cost order -/// rather than whatever order discovery happened to enumerate them. Pulling already balances -/// individual mutants across workers; this ordering decides which independent workloads overlap. +/// Package queues start in descending expected-cost order rather than whatever order discovery +/// happened to enumerate them. Assignment-time distance and learning value may move work ahead of +/// this order, which remains the deterministic secondary priority. /// /// When census data is available, each mutant's cost is estimated from the measured duration of /// its reaching tests. When a killer hint exists, the expected cost reflects a single probe. @@ -215,7 +294,8 @@ fn schedule(pending: &mut [usize], plan: &Plan, reach: &Reachability<'_>, census let mut next = vec![0_usize; queues.len()]; let mut out = 0_usize; - loop { + 'interleave: loop { + // #[gamma::skip(literal.bool_flip, reason = "starting each insertion as already moved prevents the insertion and leaves this fixed-point loop non-terminating")] let mut moved = false; for (queue, cursor) in queues.iter().zip(&mut next) { @@ -227,9 +307,355 @@ fn schedule(pending: &mut [usize], plan: &Plan, reach: &Reachability<'_>, census } } + // #[gamma::skip(cond.always_false, reason = "suppressing the fixed-point termination condition makes scheduling loop forever")] if !moved { - break; + // #[gamma::skip(all, reason = "removing the fixed-point exit makes scheduling loop forever")] + break 'interleave; + } + } +} + +#[derive(Debug)] +struct ScheduledWork { + file: usize, + item: Arc, + package: Arc, + cost: Duration, + sibling_benefit: usize, + hinted: bool, + stable_order: usize, +} + +#[derive(Debug)] +struct SchedulerState { + remaining: Vec, + remaining_count: usize, + active_files: Vec, + active_items: crate::HashMap<(usize, Arc), usize>, + learned_items: crate::HashSet<(usize, Arc)>, + package_turns: Vec, + package_queues: Vec>, + heads: BTreeSet, + priorities: Vec>, + #[cfg(test)] + priority_updates: usize, +} + +struct Scheduler { + work: Vec, + package_slots: Vec, + by_file: Vec>, + state: Mutex, + changed: Condvar, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +struct LocalPriority { + distance: (u8, usize), + benefit: usize, + cost: u128, + stable_order: usize, + index: usize, +} + +impl Ord for LocalPriority { + fn cmp(&self, other: &Self) -> core::cmp::Ordering { + self.distance + .cmp(&other.distance) + .then_with(|| learning_priority(self, other)) + .then_with(|| other.cost.cmp(&self.cost)) + .then_with(|| self.stable_order.cmp(&other.stable_order)) + .then_with(|| self.index.cmp(&other.index)) + } +} + +impl PartialOrd for LocalPriority { + fn partial_cmp(&self, other: &Self) -> Option { + Some(self.cmp(other)) + } +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +struct PackageHead { + package: usize, + turns: usize, + local: LocalPriority, +} + +impl Ord for PackageHead { + fn cmp(&self, other: &Self) -> core::cmp::Ordering { + self.local + .distance + .cmp(&other.local.distance) + .then_with(|| self.turns.cmp(&other.turns)) + .then_with(|| learning_priority(&self.local, &other.local)) + .then_with(|| other.local.cost.cmp(&self.local.cost)) + .then_with(|| self.local.stable_order.cmp(&other.local.stable_order)) + .then_with(|| self.local.index.cmp(&other.local.index)) + .then_with(|| self.package.cmp(&other.package)) + } +} + +impl PartialOrd for PackageHead { + fn partial_cmp(&self, other: &Self) -> Option { + Some(self.cmp(other)) + } +} + +struct Assignment<'a> { + scheduler: &'a Scheduler, + index: usize, + learned: bool, +} + +impl Assignment<'_> { + const fn index(&self) -> usize { + self.index + } + + fn complete(mut self) { + self.learned = true; + } +} + +impl Drop for Assignment<'_> { + fn drop(&mut self) { + self.scheduler.release(self.index, self.learned); + } +} + +impl Scheduler { + fn new(work: Vec, files: usize) -> Self { + let mut packages: crate::HashMap, usize> = crate::HashMap::default(); + let package_slots = work + .iter() + .map(|item| { + let next = packages.len(); + *packages.entry(Arc::clone(&item.package)).or_insert(next) + }) + .collect::>(); + let mut by_file = vec![Vec::new(); files]; + for (index, item) in work.iter().enumerate() { + by_file[item.file].push(index); + } + + let mut state = SchedulerState { + remaining: vec![true; work.len()], + remaining_count: work.len(), + active_files: vec![0; files], + active_items: crate::HashMap::default(), + learned_items: crate::HashSet::default(), + package_turns: vec![0; packages.len()], + package_queues: vec![BTreeSet::new(); packages.len()], + heads: BTreeSet::new(), + priorities: vec![None; work.len()], + #[cfg(test)] + priority_updates: 0, + }; + for index in 0..work.len() { + insert_priority(&work, &package_slots, &mut state, index); + } + for package in 0..packages.len() { + insert_head(&mut state, package); + } + + Self { + work, + package_slots, + by_file, + state: Mutex::new(state), + changed: Condvar::new(), + } + } + + fn claim(&self, abandoned: &OnceLock) -> Option { + let mut state = self.state.lock().unwrap_or_else(PoisonError::into_inner); + + loop { + if abandoned.get().is_some() { + return None; + } + + if let Some(index) = Self::select(&state) { + let work = &self.work[index]; + let packages = self.detach_file(&mut state, work.file); + state.remaining[index] = false; + state.remaining_count = state.remaining_count.saturating_sub(1); + state.active_files[work.file] = state.active_files[work.file].saturating_add(1); + let active_item = state.active_items.entry((work.file, Arc::clone(&work.item))).or_default(); + *active_item = active_item.saturating_add(1); + let package = self.package_slots[index]; + state.package_turns[package] = state.package_turns[package].saturating_add(1); + self.attach_file(&mut state, work.file, &packages); + return Some(index); + } + + if state.remaining_count == 0 { + return None; + } + + state = self.changed.wait(state).unwrap_or_else(PoisonError::into_inner); + } + } + + fn assignment<'a>(&'a self, abandoned: &OnceLock) -> Option> { + self.claim(abandoned).map(|index| Assignment { + scheduler: self, + index, + learned: false, + }) + } + + #[cfg(test)] + fn complete(&self, index: usize) { + self.release(index, true); + } + + fn release(&self, index: usize, learned: bool) { + let work = &self.work[index]; + let mut state = self.state.lock().unwrap_or_else(PoisonError::into_inner); + let packages = self.detach_file(&mut state, work.file); + let key = (work.file, Arc::clone(&work.item)); + if learned { + let _inserted = state.learned_items.insert(key.clone()); + } + state.active_files[work.file] = state.active_files[work.file].saturating_sub(1); + if let Some(active) = state.active_items.get_mut(&key) { + *active = active.saturating_sub(1); + if *active == 0 { + state.active_items.remove(&key); + } + } + self.attach_file(&mut state, work.file, &packages); + core::mem::drop(state); + self.changed.notify_all(); + } + + fn abandon(&self) { + self.changed.notify_all(); + } + + fn select(state: &SchedulerState) -> Option { + state.heads.first().map(|head| head.local.index) + } + + fn detach_file(&self, state: &mut SchedulerState, file: usize) -> crate::HashSet { + let packages = self.by_file[file] + .iter() + .filter(|index| state.remaining[**index]) + .map(|index| self.package_slots[*index]) + .collect::>(); + + for package in &packages { + remove_head(state, *package); + } + for index in &self.by_file[file] { + remove_priority(&self.package_slots, state, *index); + } + + packages + } + + fn attach_file(&self, state: &mut SchedulerState, file: usize, packages: &crate::HashSet) { + for index in &self.by_file[file] { + insert_priority(&self.work, &self.package_slots, state, *index); + } + for package in packages { + insert_head(state, *package); + } + } + + #[cfg(test)] + fn refresh_file(&self, state: &mut SchedulerState, file: usize) { + let packages = self.detach_file(state, file); + self.attach_file(state, file, &packages); + } + + #[cfg(test)] + fn withdraw(&self, state: &mut SchedulerState, index: usize) { + let file = self.work[index].file; + let packages = self.detach_file(state, file); + if state.remaining[index] { + state.remaining[index] = false; + state.remaining_count = state.remaining_count.saturating_sub(1); } + self.attach_file(state, file, &packages); + } +} + +fn priority(work: &[ScheduledWork], state: &SchedulerState, index: usize) -> Option { + if !state.remaining[index] { + return None; + } + + let item = &work[index]; + let file_contention = state.active_files[item.file]; + let key = (item.file, Arc::clone(&item.item)); + let learned = state.learned_items.contains(&key); + let item_contention = state.active_items.get(&key).copied().unwrap_or(0); + let distance = if file_contention == 0 { + (0, 0) + } else if item_contention == 0 { + (1, file_contention) + } else if item.hinted || learned { + (2, file_contention) + } else { + return None; + }; + + Some(LocalPriority { + distance, + benefit: usize::from(!learned && !item.hinted).saturating_mul(item.sibling_benefit), + cost: item.cost.as_nanos().max(1), + stable_order: item.stable_order, + index, + }) +} + +fn learning_priority(left: &LocalPriority, right: &LocalPriority) -> core::cmp::Ordering { + let left_value = (left.benefit as u128).saturating_mul(right.cost); + let right_value = (right.benefit as u128).saturating_mul(left.cost); + + right_value.cmp(&left_value) +} + +fn remove_head(state: &mut SchedulerState, package: usize) { + let Some(local) = state.package_queues[package].first().copied() else { + return; + }; + let _removed = state.heads.remove(&PackageHead { + package, + turns: state.package_turns[package], + local, + }); +} + +fn insert_head(state: &mut SchedulerState, package: usize) { + let Some(local) = state.package_queues[package].first().copied() else { + return; + }; + let _inserted = state.heads.insert(PackageHead { + package, + turns: state.package_turns[package], + local, + }); +} + +fn remove_priority(package_slots: &[usize], state: &mut SchedulerState, index: usize) { + let Some(priority) = state.priorities[index].take() else { + return; + }; + let _removed = state.package_queues[package_slots[index]].remove(&priority); +} + +fn insert_priority(work: &[ScheduledWork], package_slots: &[usize], state: &mut SchedulerState, index: usize) { + #[cfg(test)] + { + state.priority_updates = state.priority_updates.saturating_add(1); + } + if let Some(priority) = priority(work, state, index) { + let _inserted = state.package_queues[package_slots[index]].insert(priority); + state.priorities[index] = Some(priority); } } @@ -245,16 +671,113 @@ struct Tally { /// How many of those launches were hint-directed probes. probes: AtomicUsize, + exact_probes: AtomicUsize, + exact_hits: AtomicUsize, + generalized_probes: AtomicUsize, + generalized_hits: AtomicUsize, + exact_candidates: AtomicUsize, + generalized_candidates: AtomicUsize, + item_candidates: AtomicUsize, + reach_candidates: AtomicUsize, + file_candidates: AtomicUsize, + census_candidates: AtomicUsize, + item_probes: AtomicUsize, + item_hits: AtomicUsize, + reach_probes: AtomicUsize, + reach_hits: AtomicUsize, + file_probes: AtomicUsize, + file_hits: AtomicUsize, + census_probes: AtomicUsize, + census_hits: AtomicUsize, + + /// How canonical binary decisions used reachability information. + whole_selections: AtomicUsize, + case_selections: AtomicUsize, + hinted_selections: AtomicUsize, + hinted_fallbacks: AtomicUsize, + uncovered_selections: AtomicUsize, + available_tests: AtomicUsize, + selected_tests: AtomicUsize, + + /// How many canonical binary launches reach learning proved unnecessary. + saved: AtomicUsize, + + /// How many of those savings came specifically from sweep-derived reach evidence. + reach_saved: AtomicUsize, } /// What a finished sweep spent, read off its [`Tally`] once every worker has stopped. -#[derive(Debug, Clone, Copy, Default)] +#[derive(Debug, Clone, Default)] pub(super) struct Spent { /// How many test-binary subprocesses the sweep launched in total. pub(super) launches: usize, /// How many of those launches were hint-directed probes. pub(super) probes: usize, + pub(super) exact_probes: usize, + pub(super) exact_hits: usize, + pub(super) generalized_probes: usize, + pub(super) generalized_hits: usize, + pub(super) exact_candidates: usize, + pub(super) generalized_candidates: usize, + pub(super) item_candidates: usize, + pub(super) reach_candidates: usize, + pub(super) file_candidates: usize, + pub(super) census_candidates: usize, + pub(super) item_probes: usize, + pub(super) item_hits: usize, + pub(super) reach_probes: usize, + pub(super) reach_hits: usize, + pub(super) file_probes: usize, + pub(super) file_hits: usize, + pub(super) census_probes: usize, + pub(super) census_hits: usize, + pub(super) whole_selections: usize, + pub(super) case_selections: usize, + pub(super) hinted_selections: usize, + pub(super) hinted_fallbacks: usize, + pub(super) uncovered_selections: usize, + pub(super) available_tests: usize, + pub(super) selected_tests: usize, + + /// Package wall-clock spans measured from the start of the sweep. + pub(super) packages: Vec, + + /// How many canonical binary launches reach learning avoided. + pub(super) saved: usize, + + /// How many launches were saved specifically by sweep-derived reach evidence. + pub(super) reach_saved: usize, +} + +#[derive(Debug, Clone)] +pub(super) struct PackageSpent { + pub(super) package: Arc, + pub(super) mutants: usize, + pub(super) first_started_ms: u64, + pub(super) settled_ms: u64, +} + +#[derive(Default)] +struct NegativeLearning { + binaries: Mutex>, +} + +impl NegativeLearning { + fn contains(&self, site: &SiteIdentity, binary: &TestBinary) -> bool { + self.binaries + .lock() + .unwrap_or_else(PoisonError::into_inner) + .contains(&(site.clone(), binary.path.clone())) + } + + fn record(&self, site: &SiteIdentity, binary: &TestBinary) { + let _inserted = self + .binaries + .lock() + .unwrap_or_else(PoisonError::into_inner) + .insert((site.clone(), binary.path.clone())); + } } /// Tests every live mutant in parallel, writing verdicts back onto the plan. @@ -273,59 +796,98 @@ pub(super) fn test_all( plan: &mut Plan, reach: &Reachability<'_>, sweep: Sweep<'_>, + deterministic_reach: bool, killers: &mut Killers, events: &mut impl Events, ) -> Result> { let jobs = sweep.jobs; - let mut pending: Vec = plan - .mutants - .iter() - .enumerate() - .filter(|(_position, mutant)| mutant.ordinal > 0 && mutant.outcome == Outcome::Pending) - .map(|(position, _mutant)| position) - .collect(); + let mut pending = pending_positions(plan); if pending.is_empty() { return Ok(None); } - schedule(&mut pending, plan, reach, sweep.census, killers); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + schedule_pending(&mut pending, plan, reach, sweep.census, killers); - let next = AtomicUsize::new(0); let tally = Tally::default(); let abandoned: OnceLock = OnceLock::new(); + let negative = NegativeLearning::default(); // Indexed by *queue position*, not by plan position, and therefore built after the schedule is // fixed. Building either before it would silently pair one mutant's ordinal with another's // reachable binaries. let ordinals: Vec<(u32, Option)> = pending .iter() - .map(|position| (plan.mutants[*position].ordinal, plan.mutants[*position].test_timeout_multiplier)) + .map(|position| { + let mutant = &plan.mutants[*position]; + (mutant.ordinal, mutant.test_timeout_multiplier) + }) .collect(); let reachable: Vec<&[&TestBinary]> = pending .iter() .map(|position| { reach - .reachable(&plan.mutants[*position].package) + .reachable(&plan.mutants[*position]) .expect("the shared reachability index was built from these same pending mutants") }) .collect(); let mut files: crate::HashMap<_, usize> = crate::HashMap::default(); + let mut item_counts: crate::HashMap<_, usize> = crate::HashMap::default(); let file_slots: Vec = pending .iter() .map(|position| { let file = Arc::clone(&plan.mutants[*position].file); let next = files.len(); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + increment_item_count(&mut item_counts, Arc::clone(&file), Arc::clone(&plan.mutants[*position].item_path)); *files.entry(file).or_insert(next) }) .collect(); - let file_killers: Vec = (0..files.len()).map(|_file| FileLearning::new()).collect(); + let item_paths: Vec<_> = pending + .iter() + .map(|position| Arc::clone(&plan.mutants[*position].item_path)) + .collect(); + let site_identities: Vec<_> = pending + .iter() + .map(|position| SiteIdentity::from_mutant(&plan.mutants[*position])) + .collect(); + let sibling_benefits: Vec = pending + .iter() + .map(|position| { + item_counts + .get(&( + Arc::clone(&plan.mutants[*position].file), + Arc::clone(&plan.mutants[*position].item_path), + )) + .copied() + // #[gamma::skip(all, reason = "the value controls scheduling, accounting, identity, or a conservative bound whose one-step perturbation has no safely deterministic external observation here")] + .map_or(0, |count| count.saturating_sub(1)) + }) + .collect(); + let planned: Vec = pending + .iter() + .map(|position| mutant_work(*position, plan, reach, sweep.census, killers, sweep)) + .collect(); + let costs: Vec = planned.iter().map(|work| work.scheduling_cost()).collect(); + let mut file_paths = files.into_iter().collect::>(); + // #[gamma::skip(all, reason = "the ordering or deduplication is retained for deterministic, efficient behavior; the current internal consumer observes the same population")] + file_paths.sort_by_key(|(_file, slot)| *slot); + let file_paths = file_paths.into_iter().map(|(file, _slot)| file).collect::>(); + let file_killers: Vec = file_paths + .iter() + .map(|file| FileLearning::from_hints(file, killers.generalized())) + .collect(); - let (sender, receiver) = mpsc::channel::(); + let sweep_started = Instant::now(); + events.sweep_planned(&planned, jobs); + + let (sender, receiver) = mpsc::channel::(); + let mut package_spans: crate::HashMap, (usize, u64, u64)> = crate::HashMap::default(); // Resolved up front for the same reason reachability is: a worker must need nothing from the // plan, so the calling thread can borrow it mutably and record verdicts as they arrive. Cloned @@ -334,45 +896,89 @@ pub(super) fn test_all( .iter() .map(|position| killers.hint(&plan.mutants[*position].id).cloned()) .collect(); + let reach_hints: Vec> = pending + .iter() + .map(|position| { + bounded_reach_hints( + killers.reach_hints(&SiteIdentity::from_mutant(&plan.mutants[*position])), + reach + .reachable(&plan.mutants[*position]) + .expect("the reachability index contains every pending mutant"), + { + let mutant = &plan.mutants[*position]; + mutant.ordinal + }, + sweep.census, + ) + .into_iter() + .map(Candidate::Exact) + .collect() + }) + .collect(); + let scheduler = Scheduler::new( + pending + .iter() + .enumerate() + .map(|(index, position)| ScheduledWork { + file: file_slots[index], + item: Arc::clone(&item_paths[index]), + package: Arc::clone(&plan.mutants[*position].package), + cost: costs[index], + sibling_benefit: sibling_benefits[index], + hinted: hints[index].is_some(), + stable_order: index, + }) + .collect(), + file_paths.len(), + ); let notes = notes::current(); thread::scope(|scope| { - for _worker in 0..jobs.max(1) { + // #[gamma::skip(all, reason = "the value controls scheduling, accounting, identity, or a conservative bound whose one-step perturbation has no safely deterministic external observation here")] + for _worker in 0..worker_count(jobs) { let sender = sender.clone(); - let next = &next; + let scheduler = &scheduler; let ordinals = &ordinals; let reachable = &reachable; let hints = &hints; + let reach_hints = &reach_hints; let pending = &pending; let file_slots = &file_slots; + let item_paths = &item_paths; + let site_identities = &site_identities; let file_killers = &file_killers; let abandoned = &abandoned; let tally = &tally; + let negative = &negative; let notes = notes.clone(); let _handle = scope.spawn(move || { let _notes = notes::enter(notes.as_ref()); - loop { - if abandoned.get().is_some() { - break; - } - - let index = next.fetch_add(1, Ordering::Relaxed); - - let Some(position) = pending.get(index).copied() else { - break; + while abandoned.get().is_none() { + let Some(assignment) = scheduler.assignment(abandoned) else { + return; }; + let index = assignment.index(); + let position = pending[index]; let (ordinal, timeout_multiplier) = ordinals[index]; + let active = ordinal; + let first_started_ms = elapsed_millis(sweep_started.elapsed()); let started = Instant::now(); let reachable = &reachable[index]; + let _sent = sender.send(SweepEvent::Started(position, first_started_ms)); let judged = judge_learning( work, - ordinal, + active, reachable, hints[index].as_ref(), + &reach_hints[index], &file_killers[file_slots[index]], + &item_paths[index], + &site_identities[index], + negative, + deterministic_reach, timeout_multiplier, sweep, tally, @@ -382,48 +988,108 @@ pub(super) fn test_all( Judgement::Reached(outcome, killer, note) => (outcome, killer, note), Judgement::Abandoned(reason) => { let _first = abandoned.set(reason); + core::mem::drop(assignment); + scheduler.abandon(); - break; + return; } }; - let elapsed = u64::try_from(started.elapsed().as_millis()).unwrap_or(u64::MAX); + let elapsed = elapsed_millis(started.elapsed()); + let settled_ms = elapsed_millis(sweep_started.elapsed()); + assignment.complete(); // A closed receiver means the calling thread is gone, which cannot happen while // the scope is open; there is nothing useful to do about it either way. - let _sent = sender.send((position, outcome, elapsed, killer, note)); + let _sent = sender.send(SweepEvent::Completed(( + position, + outcome, + elapsed, + killer, + note, + first_started_ms, + settled_ms, + ))); } }); } // The workers hold the only remaining senders, so the drain ends when the last one finishes. - drop(sender); - - for (position, outcome, elapsed, killer, note) in receiver { - if let Some(mutant) = plan.mutants.get_mut(position) { - mutant.outcome = outcome; - mutant.elapsed_ms = elapsed; - mutant.killed_by = killer.as_ref().map(|killer| killer.test.clone()); - mutant.note = note; - - // Written both ways round. An entry that convicted is worth keeping; a mutant whose - // verdict named no test has to lose the one it had, or every run after this one - // pays for a probe already shown not to convict. - match killer { - Some(killer) => killers.record(mutant.id.clone(), killer), - None => killers.forget(&mutant.id), + // #[gamma::skip(stmt.delete_call, reason = "the receiver waits for channel closure, so retaining the coordinator sender blocks collection forever")] + core::mem::drop(sender); + + for event in receiver { + match event { + SweepEvent::Started(position, elapsed_ms) => { + if let Some(mutant) = plan.mutants.get(position) { + events.mutant_started(mutant.ordinal, Duration::from_millis(elapsed_ms)); + } + } + SweepEvent::Completed(completed) => { + if let Some(mutant) = plan.mutants.get(completed.0) { + let span = package_spans + .entry(Arc::clone(&mutant.package)) + .or_insert((0, completed.5, completed.6)); + span.0 = span.0.saturating_add(1); + span.1 = span.1.min(completed.5); + span.2 = span.2.max(completed.6); + } + publish_completed(plan, killers, events, completed); } - - events.mutant(mutant); } } }); + let mut packages = package_spans + .into_iter() + .map(|(package, (mutants, first_started_ms, settled_ms))| PackageSpent { + package, + mutants, + first_started_ms, + settled_ms, + }) + .collect::>(); + packages.sort_by(|left, right| left.package.cmp(&right.package)); + + let mut generalized = killers.generalized().clone(); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + persist_learning(&mut generalized, &file_paths, &file_killers); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + killers.replace_generalized(generalized); + abandoned.into_inner().map_or_else( || { Ok(Some(Spent { launches: tally.launches.into_inner(), probes: tally.probes.into_inner(), + exact_probes: tally.exact_probes.into_inner(), + exact_hits: tally.exact_hits.into_inner(), + generalized_probes: tally.generalized_probes.into_inner(), + generalized_hits: tally.generalized_hits.into_inner(), + exact_candidates: tally.exact_candidates.into_inner(), + generalized_candidates: tally.generalized_candidates.into_inner(), + item_candidates: tally.item_candidates.into_inner(), + reach_candidates: tally.reach_candidates.into_inner(), + file_candidates: tally.file_candidates.into_inner(), + census_candidates: tally.census_candidates.into_inner(), + item_probes: tally.item_probes.into_inner(), + item_hits: tally.item_hits.into_inner(), + reach_probes: tally.reach_probes.into_inner(), + reach_hits: tally.reach_hits.into_inner(), + file_probes: tally.file_probes.into_inner(), + file_hits: tally.file_hits.into_inner(), + census_probes: tally.census_probes.into_inner(), + census_hits: tally.census_hits.into_inner(), + whole_selections: tally.whole_selections.into_inner(), + case_selections: tally.case_selections.into_inner(), + hinted_selections: tally.hinted_selections.into_inner(), + hinted_fallbacks: tally.hinted_fallbacks.into_inner(), + uncovered_selections: tally.uncovered_selections.into_inner(), + available_tests: tally.available_tests.into_inner(), + selected_tests: tally.selected_tests.into_inner(), + packages, + saved: tally.saved.into_inner(), + reach_saved: tally.reach_saved.into_inner(), })) }, |reason| { @@ -435,6 +1101,73 @@ pub(super) fn test_all( ) } +fn pending_positions(plan: &Plan) -> Vec { + plan.mutants + .iter() + .enumerate() + .filter(|(_position, mutant)| mutant.ordinal != 0 && mutant.outcome == Outcome::Pending) + .map(|(position, _mutant)| position) + .collect() +} + +// #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +fn schedule_pending(pending: &mut [usize], plan: &Plan, reach: &Reachability<'_>, census: &Census, killers: &Killers) { + schedule(pending, plan, reach, census, killers); +} + +// #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] +fn increment_item_count(counts: &mut crate::HashMap<(Arc, Arc), usize>, file: Arc, item: Arc) { + let count = counts.entry((file, item)).or_default(); + *count = count.saturating_add(1); +} + +fn worker_count(jobs: usize) -> usize { + jobs.max(1) +} + +fn elapsed_millis(elapsed: Duration) -> u64 { + u64::try_from(elapsed.as_millis()).unwrap_or(u64::MAX) +} + +fn publish_completed( + plan: &mut Plan, + killers: &mut Killers, + events: &mut impl Events, + (position, outcome, elapsed, killer, note, _first_started_ms, _settled_ms): Completed, +) { + let Some(mutant) = plan.mutants.get_mut(position) else { + return; + }; + mutant.outcome = outcome; + mutant.elapsed_ms = elapsed; + mutant.killed_by = killer.as_ref().map(|killer| killer.test.clone()); + mutant.note = note; + + match killer { + Some(killer) => killers.record(mutant.id.clone(), killer), + None => killers.forget(&mutant.id), + } + + events.mutant(mutant); +} + +fn persist_learning(generalized: &mut GeneralizedHints, files: &[Arc], learning: &[FileLearning]) { + let state = generalized; + state.version = GENERALIZED_HINTS_VERSION; + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + state.items.retain(|entry| !files.iter().any(|file| entry.file == file.as_ref())); + state.binaries.retain(|entry| !files.iter().any(|file| entry.file == file.as_ref())); + for (file, learning) in files.iter().zip(learning) { + learning.persist(file, state); + } + // #[gamma::skip(all, reason = "the ordering or deduplication is retained for deterministic, efficient behavior; the current internal consumer observes the same population")] + state + .items + .sort_unstable_by(|left, right| left.file.cmp(&right.file).then_with(|| left.item.cmp(&right.item))); + // #[gamma::skip(all, reason = "the ordering or deduplication is retained for deterministic, efficient behavior; the current internal consumer observes the same population")] + state.binaries.sort_unstable_by(|left, right| left.file.cmp(&right.file)); +} + /// The settings every mutant in a sweep is run under. /// /// Carried together because they are decided once, before the first mutant, and read identically by @@ -470,6 +1203,45 @@ enum Judgement { Abandoned(String), } +#[derive(Clone, Copy)] +enum ProbeKind { + Exact, + Item, + Reach, + File, + Census, +} + +impl ProbeKind { + fn attempt(self, tally: &Tally) { + let counter = match self { + Self::Exact => &tally.exact_probes, + Self::Item => &tally.item_probes, + Self::Reach => &tally.reach_probes, + Self::File => &tally.file_probes, + Self::Census => &tally.census_probes, + }; + let _previous = counter.fetch_add(1, Ordering::Relaxed); + if !matches!(self, Self::Exact) { + let _previous = tally.generalized_probes.fetch_add(1, Ordering::Relaxed); + } + } + + fn hit(self, tally: &Tally) { + let counter = match self { + Self::Exact => &tally.exact_hits, + Self::Item => &tally.item_hits, + Self::Reach => &tally.reach_hits, + Self::File => &tally.file_hits, + Self::Census => &tally.census_hits, + }; + let _previous = counter.fetch_add(1, Ordering::Relaxed); + if !matches!(self, Self::Exact) { + let _previous = tally.generalized_hits.fetch_add(1, Ordering::Relaxed); + } + } +} + /// Runs the one test that caught this mutant last time, and says whether it caught it again. /// /// A re-killed mutant's cost falls from a partial binary — every test ahead of its killer, in @@ -478,6 +1250,10 @@ enum Judgement { /// Only a failure is believed. Every other verdict a probe can reach is discarded and the ordinary /// binary run proceeds unchanged. The caller reaches the probe in canonical binary order and only /// permits it when filtering cannot bypass another outcome from that same binary. +#[expect( + clippy::too_many_arguments, + reason = "probe accounting adds the candidate class to the execution inputs" +)] fn probe( work: &Workspace, ordinal: u32, @@ -486,6 +1262,7 @@ fn probe( timeout_multiplier: Option, sweep: Sweep<'_>, tally: &Tally, + kind: ProbeKind, ) -> Option { let request = MemoryRequest { meter: sweep.meter, @@ -502,19 +1279,23 @@ fn probe( }; // A probe is one subprocess launched because a hint pointed at it, so it counts as both. - let _launches = tally.launches.fetch_add(1, Ordering::Relaxed); + record_launch(tally); let _probes = tally.probes.fetch_add(1, Ordering::Relaxed); + kind.attempt(tally); let verdict = run_binary(work, binary, attempt, sweep.confirm); match verdict { // The harness names the test it ran, which under a filter can only be the one asked for; // the recorded name is used when it names nothing, so the map stays populated either way. - Verdict::Failed(named) => Some(Killer { - package: hint.package.clone(), - target: hint.target.clone(), - test: named.unwrap_or_else(|| hint.test.clone()), - }), + Verdict::Failed(named) => { + kind.hit(tally); + Some(Killer { + package: hint.package.clone(), + target: hint.target.clone(), + test: named.unwrap_or_else(|| hint.test.clone()), + }) + } _inconclusive => None, } } @@ -526,7 +1307,52 @@ fn probe( /// covered by the successful filtered launch itself. Earlier binaries are protected by trying the /// probe only when canonical iteration reaches this binary. fn filtered_kill_is_final(binary: &TestBinary, timeout_multiplier: Option, sweep: Sweep<'_>) -> bool { - binary.budget_for(timeout_multiplier, sweep.timeout_floor).is_none() && sweep.stall.budget.is_none() && !sweep.meter && !sweep.confirm + reach_hint_is_final(whole_probe_attempt(binary, timeout_multiplier, sweep), sweep.confirm) +} + +fn whole_probe_attempt(binary: &TestBinary, timeout_multiplier: Option, sweep: Sweep<'_>) -> Attempt<'static> { + let request = MemoryRequest { + meter: sweep.meter, + limit: binary.memory, + }; + + Attempt { + active: Some(1), + timeout: binary.budget_for(timeout_multiplier, sweep.timeout_floor), + stall: sweep.stall, + request, + only: Only::All, + census: None, + } +} + +fn bounded_reach_hints(hints: Vec, reachable: &[&TestBinary], ordinal: u32, census: &Census) -> Vec { + let all = hints; + + all.iter() + .filter(|hint| { + let Some(binary) = reachable.iter().copied().find(|binary| hint.names(&binary.package, &binary.target)) else { + return false; + }; + let Some(total) = binary.tests else { + return false; + }; + let measured = match census.work(binary, ordinal) { + CensusWork::Selected(duration) | CensusWork::Hinted(duration) => duration, + CensusWork::Whole | CensusWork::Uncovered => return false, + }; + if binary.baseline.is_zero() || measured.cmp(&binary.baseline).is_ge() { + return false; + } + let selected = all + .iter() + .filter(|candidate| candidate.names(&binary.package, &binary.target)) + .count(); + + selected <= total / 2 + }) + .cloned() + .collect() } /// Tries tests found by an incomplete census without trusting their absence of a failure. @@ -554,21 +1380,25 @@ fn probe_cases( census: None, }; - let _launches = tally.launches.fetch_add(1, Ordering::Relaxed); + record_launch(tally); let _probes = tally.probes.fetch_add(1, Ordering::Relaxed); + ProbeKind::Census.attempt(tally); match run_binary(work, binary, attempt, sweep.confirm) { - Verdict::Failed(name) => Some(Killer { - package: binary.package.clone(), - target: binary.target.clone(), - test: name.unwrap_or_else(|| { - names - .first() - .copied() - .expect("an incomplete census hint always names at least one test") - .to_owned() - }), - }), + Verdict::Failed(name) => { + ProbeKind::Census.hit(tally); + Some(Killer { + package: binary.package.clone(), + target: binary.target.clone(), + test: name.unwrap_or_else(|| { + names + .first() + .copied() + .expect("an incomplete census hint always names at least one test") + .to_owned() + }), + }) + } _inconclusive => None, } } @@ -595,6 +1425,7 @@ fn judge( } #[expect(clippy::too_many_arguments, reason = "the hot verdict path keeps execution state borrowed")] +#[cfg(test)] fn judge_ordered( work: &Workspace, ordinal: u32, @@ -605,40 +1436,259 @@ fn judge_ordered( sweep: Sweep<'_>, tally: &Tally, ) -> Judgement { - // Set by the first binary this mutant is actually run against. Left false, nothing that could - // convict this code was run — no test binary links it, none of them announced a test, or a - // census established that no test in any of them executes the site — and reporting that as a - // survivor would blame the tests that exist for the absence of ones that do not. - let mut ran = false; - - for binary in reachable.iter().copied() { - let selection = sweep.census.selection(binary, ordinal); + let candidates = file_hint.cloned().map(Candidate::Exact).into_iter().collect::>(); + let active = ordinal; + + judge_ranked( + work, + active, + reachable, + hint, + &candidates, + None, + None, + timeout_multiplier, + sweep, + tally, + ) +} - // A hint naming another binary is stale or outside the selected package set. Waiting until +#[expect( + clippy::too_many_arguments, + clippy::too_many_lines, + reason = "candidate preflight and canonical adjudication share cached verdict state" +)] +fn judge_ranked( + work: &Workspace, + ordinal: u32, + reachable: &[&TestBinary], + hint: Option<&Killer>, + candidates: &[Candidate], + learning: Option<(&FileLearning, &str)>, + negative: Option<(&NegativeLearning, &SiteIdentity, bool)>, + timeout_multiplier: Option, + sweep: Sweep<'_>, + tally: &Tally, +) -> Judgement { + if hint.is_some() { + let _previous = tally.exact_candidates.fetch_add(1, Ordering::Relaxed); + } + let _previous = tally.generalized_candidates.fetch_add(candidates.len(), Ordering::Relaxed); + for candidate in candidates { + let counter = match candidate { + Candidate::Exact(_) | Candidate::ItemBinary(_) => &tally.item_candidates, + Candidate::ReachFileBinary(_) => &tally.reach_candidates, + Candidate::FileBinary(_) => &tally.file_candidates, + }; + let _previous = counter.fetch_add(1, Ordering::Relaxed); + } + + let active = ordinal; + let mut exact_hits: Vec> = vec![None; reachable.len()]; + // #[gamma::skip(all, reason = "the value controls scheduling, accounting, identity, or a conservative bound whose one-step perturbation has no safely deterministic external observation here")] + let mut binary_runs: Vec> = core::iter::repeat_with(|| None).take(reachable.len()).collect(); + + // Learned candidates are tried in ranked order, but their verdict is held until canonical + // iteration reaches that binary. This gets the useful launch under way first without allowing + // a later kill to bypass an earlier timeout, resource result, or flake. Loss of containment is + // command-wide, so an unmetered candidate abandons immediately instead of entering the cache. + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if hint.is_none() { + 'candidate: for candidate in candidates { + match candidate { + Candidate::Exact(candidate_hint) => { + let Some((index, binary)) = reachable + .iter() + .copied() + .enumerate() + .find(|(_index, binary)| candidate_hint.names(&binary.package, &binary.target)) + else { + continue 'candidate; + }; + + if census_excludes(sweep.census, binary, active) { + continue 'candidate; + } + + if negative_excludes(negative, binary, timeout_multiplier, sweep) { + continue 'candidate; + } + + if !filtered_kill_is_final(binary, timeout_multiplier, sweep) { + continue 'candidate; + } + + let started = Instant::now(); + let found = probe( + work, + active, + binary, + candidate_hint, + timeout_multiplier, + sweep, + tally, + ProbeKind::Item, + ); + let elapsed = started.elapsed(); + + if let Some((observed, item_path)) = learning { + FileLearning::observe(observed, item_path, candidate, found.is_some(), elapsed); + } + + if let Some(killer) = found { + exact_hits[index] = Some(killer); + } + } + Candidate::ItemBinary(identity) | Candidate::ReachFileBinary(identity) | Candidate::FileBinary(identity) => { + let kind = match candidate { + Candidate::ItemBinary(_) => ProbeKind::Item, + Candidate::ReachFileBinary(_) => ProbeKind::Reach, + Candidate::FileBinary(_) => ProbeKind::File, + Candidate::Exact(_) => unreachable!("handled by the preceding match arm"), + }; + let Some((index, binary)) = reachable + .iter() + .copied() + .enumerate() + .find(|(_index, binary)| identity.names(binary)) + else { + continue 'candidate; + }; + + let selection = sweep.census.selection(binary, active); + let only = match &selection { + CensusSelection::Uncovered => continue 'candidate, + CensusSelection::Selected(names) => Only::These(names), + CensusSelection::Whole | CensusSelection::Hinted(_) => Only::All, + }; + + if negative_excludes(negative, binary, timeout_multiplier, sweep) { + continue 'candidate; + } + + if binary_runs[index].as_ref().is_some() { + continue 'candidate; + } + + let started = Instant::now(); + let request = MemoryRequest { + meter: sweep.meter, + limit: binary.memory, + }; + let attempt = Attempt { + active: Some(ordinal), + timeout: binary.budget_for(timeout_multiplier, sweep.timeout_floor), + stall: sweep.stall, + request, + only, + census: None, + }; + record_launch(tally); + let _probes = tally.probes.fetch_add(1, Ordering::Relaxed); + kind.attempt(tally); + let run = run_binary_observed(work, binary, attempt, sweep.confirm); + let convicted = matches!(run.verdict, Verdict::Failed(_)); + if convicted { + kind.hit(tally); + } + + if let Some((observed, item_path)) = learning { + FileLearning::observe(observed, item_path, candidate, convicted, started.elapsed()); + if matches!(run.reach, ReachObservation::Reached) { + FileLearning::reached(observed, item_path, binary, started.elapsed()); + } + } + if negative_reach_is_final(&run, only, negative.is_some_and(|(_, _, deterministic)| deterministic)) + && let Some((negative, site, _)) = negative + { + NegativeLearning::record(negative, site, binary); + } + + let terminal = !matches!(&run.verdict, Verdict::Passed); + let verdict = match defer_candidate_verdict(run.verdict) { + Ok(verdict) => verdict, + Err(judged) => return judged, + }; + binary_runs[index] = Some((verdict, matches!(only, Only::All))); + + if terminal { + break 'candidate; + } + } + } + } + } + + // Set by the first binary this mutant is actually run against. Left false, nothing that could + // convict this code was run — no test binary links it, none of them announced a test, or a + // census established that no test in any of them executes the site — and reporting that as a + // survivor would blame the tests that exist for the absence of ones that do not. + let mut ran = false; + + 'binary: for (binary_index, binary) in reachable.iter().copied().enumerate() { + let selection = sweep.census.selection(binary, active); + + if negative_excludes(negative, binary, timeout_multiplier, sweep) { + let _saved = tally.saved.fetch_add(1, Ordering::Relaxed); + let _reach_saved = tally.reach_saved.fetch_add(1, Ordering::Relaxed); + continue 'binary; + } + + // A hint naming another binary is stale or outside the selected package set. Waiting until // canonical iteration reaches the named binary prevents its kill from bypassing any // earlier Flaky, Pending, resource, or metering outcome. - let killer_hint = hint - .filter(|hint| hint.names(&binary.package, &binary.target)) - .or_else(|| file_hint.filter(|hint| hint.names(&binary.package, &binary.target))); + let killer_hint = hint.filter(|hint| hint.names(&binary.package, &binary.target)); if let Some(hint) = killer_hint && filtered_kill_is_final(binary, timeout_multiplier, sweep) - && let Some(killer) = probe(work, ordinal, binary, hint, timeout_multiplier, sweep, tally) + && let Some(killer) = probe(work, active, binary, hint, timeout_multiplier, sweep, tally, ProbeKind::Exact) { - return Judgement::Reached(Outcome::Killed, Some(killer), None); + return killed_by(killer); } - if let CensusSelection::Hinted(names) = &selection - && filtered_kill_is_final(binary, timeout_multiplier, sweep) - && let Some(killer) = probe_cases(work, ordinal, binary, names, timeout_multiplier, sweep, tally) - { - return Judgement::Reached(Outcome::Killed, Some(killer), None); + if let Some(killer) = exact_hits[binary_index].take() { + return killed_by(killer); + } + + if let CensusSelection::Hinted(names) = &selection { + let _previous = tally.hinted_selections.fetch_add(1, Ordering::Relaxed); + let _previous = tally.census_candidates.fetch_add(1, Ordering::Relaxed); + let _previous = tally.available_tests.fetch_add(binary.tests.unwrap_or(0), Ordering::Relaxed); + + if filtered_kill_is_final(binary, timeout_multiplier, sweep) + && let Some(killer) = probe_cases(work, active, binary, names, timeout_multiplier, sweep, tally) + { + let _previous = tally.selected_tests.fetch_add(names.len(), Ordering::Relaxed); + return killed_by(killer); + } } let only = match &selection { - CensusSelection::Whole | CensusSelection::Hinted(_) => Only::All, - CensusSelection::Uncovered => continue, - CensusSelection::Selected(names) => Only::These(names), + CensusSelection::Whole => { + let tests = binary.tests.unwrap_or(0); + let _previous = tally.whole_selections.fetch_add(1, Ordering::Relaxed); + let _previous = tally.available_tests.fetch_add(tests, Ordering::Relaxed); + let _previous = tally.selected_tests.fetch_add(tests, Ordering::Relaxed); + Only::All + } + CensusSelection::Hinted(_) => { + let tests = binary.tests.unwrap_or(0); + let _previous = tally.whole_selections.fetch_add(1, Ordering::Relaxed); + let _previous = tally.hinted_fallbacks.fetch_add(1, Ordering::Relaxed); + let _previous = tally.selected_tests.fetch_add(tests, Ordering::Relaxed); + Only::All + } + CensusSelection::Uncovered => { + let _previous = tally.uncovered_selections.fetch_add(1, Ordering::Relaxed); + let _previous = tally.available_tests.fetch_add(binary.tests.unwrap_or(0), Ordering::Relaxed); + continue 'binary; + } + CensusSelection::Selected(names) => { + let _previous = tally.case_selections.fetch_add(1, Ordering::Relaxed); + let _previous = tally.available_tests.fetch_add(binary.tests.unwrap_or(0), Ordering::Relaxed); + let _previous = tally.selected_tests.fetch_add(names.len(), Ordering::Relaxed); + Only::These(names) + } }; ran = true; @@ -649,7 +1699,7 @@ fn judge_ordered( }; let attempt = Attempt { - active: Some(ordinal), + active: Some(active), timeout: binary.budget_for(timeout_multiplier, sweep.timeout_floor), stall: sweep.stall, request, @@ -657,158 +1707,403 @@ fn judge_ordered( census: None, }; - let _launches = tally.launches.fetch_add(1, Ordering::Relaxed); - - let mut verdict = run_binary(work, binary, attempt, sweep.confirm); + let (mut verdict, already_whole) = if let Some((verdict, already_whole)) = binary_runs[binary_index].take() { + (verdict, already_whole) + } else { + record_launch(tally); + let started = Instant::now(); + let run = run_binary_observed(work, binary, attempt, sweep.confirm); + if matches!(run.reach, ReachObservation::Reached) + && let Some((observed, item_path)) = learning + { + FileLearning::reached(observed, item_path, binary, started.elapsed()); + } + if negative_reach_is_final(&run, attempt.only, negative.is_some_and(|(_, _, deterministic)| deterministic)) + && let Some((negative, site, _)) = negative + { + NegativeLearning::record(negative, site, binary); + } + (run.verdict, bool::default()) + }; // A complete census proves which tests can observe the mutant, but filtering also shrinks // runtime and peak memory and can change failure order. A non-passing filtered run is // therefore provisional: repeat the whole binary and use only its canonical outcome. - if matches!(selection, CensusSelection::Selected(_)) && !matches!(verdict, Verdict::Passed) { - let _launches = tally.launches.fetch_add(1, Ordering::Relaxed); - verdict = run_binary( - work, - binary, - Attempt { - only: Only::All, - ..attempt - }, - sweep.confirm, - ); - } - - match verdict { - Verdict::Passed => {} - Verdict::Failed(name) => { - let killer = name.map(|test| Killer { - package: binary.package.clone(), - target: binary.target.clone(), - test, - }); - - return Judgement::Reached(Outcome::Killed, killer, None); - } - Verdict::TestEnumerationFailed(output) => { - return Judgement::Reached(Outcome::Killed, None, Some(enumeration_note(&binary.path, &output))); - } - Verdict::TimedOut => return Judgement::Reached(Outcome::Timeout, None, None), - Verdict::Stalled(test) => { - return Judgement::Reached(Outcome::Timeout, None, Some(stall_note(test.as_deref()))); + if filtered_run_needs_confirmation(already_whole, &selection, &verdict) { + record_launch(tally); + let started = Instant::now(); + let run = run_binary_observed(work, binary, whole_attempt(attempt), sweep.confirm); + if matches!(run.reach, ReachObservation::Reached) + && let Some((observed, item_path)) = learning + { + FileLearning::reached(observed, item_path, binary, started.elapsed()); } - - // The suite's own harness did not fail, but the baseline established that this same - // workload fits under this same ceiling without the mutant, so the mutant is what - // changed. This is still undetected for scoring: no assertion exposed the change. - Verdict::MemoryLimit { peak, limit } => { - return Judgement::Reached(Outcome::OutOfMemory, None, Some(memory_note(&binary.path, peak, limit))); + if negative_reach_is_final(&run, Only::All, negative.is_some_and(|(_, _, deterministic)| deterministic)) + && let Some((negative, site, _)) = negative + { + NegativeLearning::record(negative, site, binary); } - // The suite failed with the mutant active and failed again without it, so this run - // established nothing about this mutant. Recorded as its own outcome so it lands in - // neither the score nor the survivor list, and carrying the test to fix. - Verdict::Flaky(test) => return Judgement::Reached(Outcome::Flaky, None, Some(flaky_note(&binary.path, test.as_deref()))), - Verdict::Unmetered(reason) => return Judgement::Abandoned(reason), + verdict = core::convert::identity(run.verdict); + } - // One run the machine would not perform, which is a fact about this mutant and not - // about the run: the shortage behind it — descriptors, process slots — is one the sweep - // creates for itself and clears as its other workers finish. Recorded as unjudged - // against this mutant, with the refusal as the note, so that the mutants around it keep - // their verdicts and the reader can see which one went without. - Verdict::Unjudged(reason) => return Judgement::Reached(Outcome::Pending, None, Some(reason)), + if let Some(judged) = terminal_judgement(binary, verdict) { + return judged; } } Judgement::Reached(if ran { Outcome::Survived } else { Outcome::NoCoverage }, None, None) } -/// Learns one file's first observed killer before letting its remaining mutants proceed in -/// parallel with that binary first. -/// -/// Workers that encounter `InProgress` wait on a condvar (bounded by a short timeout) rather -/// than immediately proceeding without the hint. This avoids redundantly launching the expensive -/// cold path for siblings when a killer is about to be published. The bounded wait ensures -/// workers are never idled indefinitely if no common killer exists. -/// -/// Both publishing sites go through [`FileLearning::publish`], which never forgets a killer: the -/// lock is not held across the test run, so a worker that started earlier and finished later can -/// arrive here with nothing to report long after a sibling has already found the file's killer. +fn terminal_judgement(binary: &TestBinary, verdict: Verdict) -> Option { + match verdict { + Verdict::Passed => None, + Verdict::Failed(name) => Some(Judgement::Reached( + Outcome::Killed, + name.map(|test| Killer { + package: binary.package.clone(), + target: binary.target.clone(), + test, + }), + None, + )), + Verdict::TestEnumerationFailed(output) => Some(Judgement::Reached( + Outcome::Killed, + None, + Some(enumeration_note(&binary.path, &output)), + )), + Verdict::TimedOut => Some(Judgement::Reached(Outcome::Timeout, None, None)), + Verdict::Stalled(test) => Some(Judgement::Reached(Outcome::Timeout, None, Some(stall_note(test.as_deref())))), + Verdict::MemoryLimit { peak, limit } => Some(Judgement::Reached( + Outcome::OutOfMemory, + None, + Some(memory_note(&binary.path, peak, limit)), + )), + Verdict::Flaky(test) => Some(Judgement::Reached( + Outcome::Flaky, + None, + Some(flaky_note(&binary.path, test.as_deref())), + )), + Verdict::Unmetered(reason) => Some(Judgement::Abandoned(reason)), + Verdict::Unjudged(reason) => Some(Judgement::Reached(Outcome::Pending, None, Some(reason))), + } +} + +fn defer_candidate_verdict(verdict: Verdict) -> core::result::Result { + match verdict { + Verdict::Unmetered(reason) => Err(Judgement::Abandoned(reason)), + verdict => Ok(verdict), + } +} + +fn negative_excludes( + negative: Option<(&NegativeLearning, &SiteIdentity, bool)>, + binary: &TestBinary, + timeout_multiplier: Option, + sweep: Sweep<'_>, +) -> bool { + let Some((negative, site, true)) = negative else { + return false; + }; + + negative.contains(site, binary) && filtered_kill_is_final(binary, timeout_multiplier, sweep) +} + +fn killed_by(killer: Killer) -> Judgement { + Judgement::Reached(Outcome::Killed, Some(killer), None) +} + +fn census_excludes(census: &Census, binary: &TestBinary, ordinal: u32) -> bool { + matches!(census.selection(binary, ordinal), CensusSelection::Uncovered) +} + +fn record_launch(tally: &Tally) { + let _previous = tally.launches.fetch_add(1, Ordering::Relaxed); +} + +fn whole_attempt(attempt: Attempt<'_>) -> Attempt<'_> { + let mut whole = attempt; + whole.only = Only::All; + whole +} + +fn filtered_run_needs_confirmation(already_whole: bool, selection: &CensusSelection<'_>, verdict: &Verdict) -> bool { + !already_whole && matches!(selection, CensusSelection::Selected(_)) && !matches!(verdict, Verdict::Passed) +} + +fn negative_reach_is_final(run: &BinaryRun, only: Only<'_>, deterministic: bool) -> bool { + deterministic && matches!(only, Only::All) && matches!(run.verdict, Verdict::Passed) && run.reach == ReachObservation::NotReached +} + +/// Applies ranked item-test and file-binary learning to one mutant. #[expect(clippy::too_many_arguments, reason = "adds one file-local state cell to the verdict path")] fn judge_learning( work: &Workspace, ordinal: u32, reachable: &[&TestBinary], hint: Option<&Killer>, + promoted: &[Candidate], observed: &FileLearning, + item_path: &str, + site: &SiteIdentity, + negative: &NegativeLearning, + deterministic_reach: bool, timeout_multiplier: Option, sweep: Sweep<'_>, tally: &Tally, ) -> Judgement { - if hint.is_some() { - let judged = judge_ordered(work, ordinal, reachable, hint, None, timeout_multiplier, sweep, tally); + let active = ordinal; + if deterministic_reach && let Some(hint) = hint { + let judged = judge_ranked( + work, + active, + reachable, + Some(hint), + &[], + Some((observed, item_path)), + Some((negative, site, deterministic_reach)), + timeout_multiplier, + sweep, + tally, + ); - observed.publish(&judged); + FileLearning::publish(observed, item_path, &judged); return judged; } - let state = { - let mut learned = observed.locked(); + let mut candidates = if deterministic_reach { promoted.to_vec() } else { Vec::new() }; + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + if deterministic_reach { + candidates.extend(FileLearning::candidates(observed, item_path)); + } + let judged = judge_ranked( + work, + active, + reachable, + None, + &candidates, + // #[gamma::skip(all, reason = "the optional state is observed only through higher-level process orchestration that cannot be isolated safely here")] + Some((observed, item_path)), + Some((negative, site, deterministic_reach)), + timeout_multiplier, + sweep, + tally, + ); + + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + FileLearning::publish(observed, item_path, &judged); + judged +} + +#[derive(Clone, Debug, PartialEq, Eq, Hash)] +struct BinaryIdentity { + package: String, + target: String, +} - match &*learned { - Learning::Learned(killer) => Some(Ok(killer.clone())), - Learning::Untried => { - *learned = Learning::InProgress; - None - } - Learning::InProgress => { - // Wait for the learner to finish, bounded so workers are never stuck. - let (guard, _timed_out) = observed - .notify - .wait_timeout_while(learned, LEARNING_WAIT, |state| matches!(state, Learning::InProgress)) - .unwrap_or_else(PoisonError::into_inner); - - learned = guard; - - match &*learned { - Learning::Learned(killer) => Some(Ok(killer.clone())), - // Timed out or exhausted: proceed without hint. - _unlearned => Some(Err(())), - } - } - Learning::Exhausted => Some(Err(())), +impl BinaryIdentity { + fn from_binary(binary: &TestBinary) -> Self { + Self { + package: binary.package.clone(), + target: binary.target.clone(), } - }; + } + + fn from_killer(killer: &Killer) -> Self { + Self { + package: killer.package.clone(), + target: killer.target.clone(), + } + } + + fn names(&self, binary: &TestBinary) -> bool { + self.package == binary.package && self.target == binary.target + } + + fn from_hint(hint: &BinaryHint) -> Self { + Self { + package: hint.package.clone(), + target: hint.target.clone(), + } + } + + fn hint(&self) -> BinaryHint { + BinaryHint { + package: self.package.clone(), + target: self.target.clone(), + } + } +} + +#[derive(Clone, Debug, PartialEq, Eq)] +enum Candidate { + Exact(Killer), + ItemBinary(BinaryIdentity), + ReachFileBinary(BinaryIdentity), + FileBinary(BinaryIdentity), +} - if let Some(state) = state { - return match state { - Ok(killer) => judge_ordered(work, ordinal, reachable, None, Some(&killer), timeout_multiplier, sweep, tally), - Err(()) => judge_ordered(work, ordinal, reachable, None, None, timeout_multiplier, sweep, tally), +#[cfg(test)] +impl Candidate { + fn estimated_cost(&self, reachable: &[&TestBinary]) -> Duration { + let identity = match self { + Self::Exact(killer) => BinaryIdentity::from_killer(killer), + Self::ItemBinary(identity) | Self::ReachFileBinary(identity) | Self::FileBinary(identity) => identity.clone(), }; + + reachable + .iter() + .find(|binary| identity.names(binary)) + .map_or(Duration::ZERO, |binary| binary.baseline) } +} - let judged = judge_ordered(work, ordinal, reachable, None, None, timeout_multiplier, sweep, tally); +#[derive(Clone, Debug)] +struct RankedCandidate { + identity: T, + hits: u32, + misses: u32, + measured: Duration, + samples: u32, + order: u64, +} - observed.complete(&judged); +impl RankedCandidate { + fn score(&self) -> (u32, core::cmp::Reverse, Duration, u64) { + ( + self.misses / 2, + core::cmp::Reverse(self.hits), + if self.samples == 0 { + Duration::MAX + } else { + self.measured / self.samples + }, + self.order, + ) + } - judged + fn observe(&mut self, hit: bool, elapsed: Duration) { + if hit { + self.hits = self.hits.saturating_add(1); + } else { + self.misses = self.misses.saturating_add(1); + } + self.measured = self.measured.saturating_add(elapsed); + self.samples = self.samples.saturating_add(1); + } } -/// How long a worker waits for a file's learner before proceeding without the hint. -/// -/// Short enough that workers do not idle when no common killer exists, long enough that a fast -/// learner (a killed mutant in single-digit milliseconds) publishes before siblings launch. -const LEARNING_WAIT: Duration = Duration::from_millis(50); +impl RankedCandidate { + fn from_hint(hint: &RankedHint, identity: impl FnOnce(&U) -> T) -> Self { + Self { + identity: identity(&hint.candidate), + hits: hint.hits, + misses: hint.misses, + measured: Duration::from_millis(hint.measured_ms), + samples: hint.samples, + order: hint.order, + } + } + + fn hint(&self, candidate: impl FnOnce(&T) -> U) -> RankedHint { + RankedHint { + candidate: candidate(&self.identity), + hits: self.hits, + misses: self.misses, + measured_ms: elapsed_millis(self.measured), + samples: self.samples, + order: self.order, + } + } +} + +#[derive(Debug, Default)] +struct ItemLearning { + exact: Vec>, + reached: Vec>, +} + +#[derive(Debug, Default)] +struct LearningState { + items: crate::HashMap, + reached_file: Vec>, + binaries: Vec>, + next_order: u64, +} -/// Per-file learning state with a condvar for wait/notify coordination. struct FileLearning { - state: Mutex, - notify: Condvar, + state: Mutex, } impl FileLearning { - const fn new() -> Self { + #[cfg(test)] + fn new() -> Self { Self { - state: Mutex::new(Learning::Untried), - notify: Condvar::new(), + state: Mutex::new(LearningState::default()), + } + } + + fn from_hints(file: &Utf8Path, hints: &GeneralizedHints) -> Self { + let mut state = LearningState::default(); + + for item in hints.items.iter().filter(|item| item.file == file) { + state.items.insert( + item.item.clone(), + ItemLearning { + exact: item + .candidates + .iter() + .map(|candidate| RankedCandidate::from_hint(candidate, Clone::clone)) + .collect(), + reached: Vec::new(), + }, + ); + } + if let Some(binaries) = hints.binaries.iter().find(|entry| entry.file == file) { + state.binaries = binaries + .candidates + .iter() + .map(|candidate| RankedCandidate::from_hint(candidate, BinaryIdentity::from_hint)) + .collect(); + } + // #[gamma::skip(all, reason = "the alternative changes only internal candidate ordering or tie selection, not the accepted population exposed by this layer")] + let item_order = state + .items + .values() + .flat_map(|item| item.exact.iter()) + .map(|candidate| candidate.order) + .max() + // #[gamma::skip(all, reason = "the value controls scheduling, accounting, identity, or a conservative bound whose one-step perturbation has no safely deterministic external observation here")] + .unwrap_or(0); + // #[gamma::skip(all, reason = "the alternative changes only internal candidate ordering or tie selection, not the accepted population exposed by this layer")] + let binary_order = state.binaries.iter().map(|candidate| candidate.order).max().unwrap_or(0); + state.next_order = item_order.max(binary_order).saturating_add(1); + + Self { state: Mutex::new(state) } + } + + fn persist(&self, file: &Utf8Path, output: &mut GeneralizedHints) { + let state = self.locked(); + for (item, learning) in &state.items { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if !learning.exact.is_empty() { + output.items.push(ItemHints { + file: file.to_path_buf(), + item: item.clone(), + candidates: learning.exact.iter().map(|candidate| candidate.hint(Clone::clone)).collect(), + }); + } + } + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if !state.binaries.is_empty() { + output.binaries.push(FileBinaryHints { + file: file.to_path_buf(), + candidates: state + .binaries + .iter() + .map(|candidate| candidate.hint(BinaryIdentity::hint)) + .collect(), + }); } } @@ -820,62 +2115,161 @@ impl FileLearning { /// of one file. Propagating the poison instead would turn an optimization into a way for one /// worker's panic to fail every remaining mutant in that file — and the panic that poisoned the /// lock is already on its way to the caller on its own thread. - fn locked(&self) -> MutexGuard<'_, Learning> { + fn locked(&self) -> MutexGuard<'_, LearningState> { self.state.lock().unwrap_or_else(PoisonError::into_inner) } - /// Publishes a killer learned by any worker without completing the designated learning attempt. - fn publish(&self, judged: &Judgement) { - self.record(judged, false); + fn candidates(&self, item_path: &str) -> Vec { + let (mut exact, mut reached, mut reached_file, mut binaries) = { + let state = self.locked(); + let (exact, reached) = state + .items + .get(item_path) + .map_or_else(|| (Vec::new(), Vec::new()), |item| (item.exact.clone(), item.reached.clone())); + + (exact, reached, state.reached_file.clone(), state.binaries.clone()) + }; + + exact.sort_by_key(RankedCandidate::score); + // #[gamma::skip(all, reason = "the ordering or deduplication is retained for deterministic, efficient behavior; the current internal consumer observes the same population")] + reached.sort_by_key(RankedCandidate::score); + // #[gamma::skip(all, reason = "the ordering or deduplication is retained for deterministic, efficient behavior; the current internal consumer observes the same population")] + reached_file.sort_by_key(RankedCandidate::score); + binaries.sort_by_key(RankedCandidate::score); + reached_file.retain(|candidate| !contains_ranked_identity(&reached, &candidate.identity)); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] + binaries.retain(|candidate| !contains_ranked_identity(&reached, &candidate.identity)); + + exact + .into_iter() + .map(|candidate| Candidate::Exact(candidate.identity)) + .chain(reached.into_iter().map(|candidate| Candidate::ItemBinary(candidate.identity))) + .chain( + reached_file + .into_iter() + .map(|candidate| Candidate::ReachFileBinary(candidate.identity)), + ) + .chain(binaries.into_iter().map(|candidate| Candidate::FileBinary(candidate.identity))) + .collect() } - /// Completes the designated learning attempt, publishing its killer or exhausting the search. - fn complete(&self, judged: &Judgement) { - self.record(judged, true); + fn observe(&self, item_path: &str, candidate: &Candidate, hit: bool, elapsed: Duration) { + let mut state = self.locked(); + match candidate { + Candidate::Exact(identity) => { + if let Some(found) = state + .items + .entry(item_path.to_owned()) + .or_default() + .exact + .iter_mut() + .find(|candidate| same_identity(&candidate.identity, identity)) + { + RankedCandidate::observe(found, hit, elapsed); + } + } + Candidate::ItemBinary(identity) => { + if let Some(found) = state + .items + .entry(item_path.to_owned()) + .or_default() + .reached + .iter_mut() + .find(|candidate| same_identity(&candidate.identity, identity)) + { + RankedCandidate::observe(found, hit, elapsed); + } + } + Candidate::ReachFileBinary(identity) => { + if let Some(found) = state + .reached_file + .iter_mut() + .find(|candidate| same_identity(&candidate.identity, identity)) + { + RankedCandidate::observe(found, hit, elapsed); + } + } + Candidate::FileBinary(identity) => { + if let Some(found) = state + .binaries + .iter_mut() + .find(|candidate| same_identity(&candidate.identity, identity)) + { + RankedCandidate::observe(found, hit, elapsed); + } + } + } } - /// Records what one judgement taught about this file, then releases anyone waiting on it. - /// - /// Both callers run with the lock *released* over the test run that produced the judgement, so - /// two workers can reach here having judged different mutants of the same file. - /// A killer is therefore only ever added, never replaced or cleared: a worker that finished a - /// slower mutant without one would otherwise overwrite a killer a faster worker had just found, - /// and every remaining mutant in that file would go down the cold full-order path for no reason. - /// Verdicts do not depend on this either way — a kill is always established by a test that - /// actually failed — so the only thing at stake is how much work the rest of the file costs. - /// - /// Waiters are notified after every publication. Refused transitions are harmless spurious - /// wake-ups because `wait_timeout_while` checks the state again before returning. - fn record(&self, judged: &Judgement, completes_learning: bool) { - let found = match judged { - Judgement::Reached(_outcome, Some(killer), _note) => Some(killer), - _nothing_learned => None, + fn reached(&self, item_path: &str, binary: &TestBinary, elapsed: Duration) { + let identity = BinaryIdentity::from_binary(binary); + let mut state = self.locked(); + let order = state.next_order; + advance_order(&mut state); + let candidate = || reached_candidate(identity.clone(), elapsed, order); + + let item = state.items.entry(item_path.to_owned()).or_default(); + if !contains_ranked_identity(&item.reached, &identity) { + item.reached.push(candidate()); + } + if !contains_ranked_identity(&state.reached_file, &identity) { + state.reached_file.push(candidate()); + } + } + + fn publish(&self, item_path: &str, judged: &Judgement) { + let Judgement::Reached(_outcome, Some(killer), _note) = judged else { + return; }; - { - let mut state = self.locked(); - - match (&*state, found) { - // The first killer observed for a file wins. A later one is just as valid a hint, - // so replacing it would buy nothing and would churn the value siblings are already - // running against. - (Learning::Learned(_known), _any) => {} - (_unknown, Some(killer)) => *state = Learning::Learned(killer.clone()), - (Learning::Untried | Learning::InProgress, None) if completes_learning => *state = Learning::Exhausted, - (Learning::Untried | Learning::InProgress | Learning::Exhausted, None) => {} - } + let mut state = self.locked(); + let order = state.next_order; + advance_order(&mut state); + let item = state.items.entry(item_path.to_owned()).or_default(); + + if !contains_ranked_identity(&item.exact, killer) { + item.exact.push(published_candidate(killer.clone(), order)); } - self.notify.notify_all(); + let binary = BinaryIdentity::from_killer(killer); + if !contains_ranked_identity(&state.binaries, &binary) { + state.binaries.push(published_candidate(binary, order)); + } } } -#[derive(Debug)] -enum Learning { - Untried, - InProgress, - Learned(Killer), - Exhausted, +fn same_identity(left: &T, right: &T) -> bool { + left == right +} + +fn contains_ranked_identity(candidates: &[RankedCandidate], identity: &T) -> bool { + candidates.iter().any(|candidate| same_identity(&candidate.identity, identity)) +} + +fn advance_order(state: &mut LearningState) { + state.next_order = state.next_order.saturating_add(1); +} + +fn reached_candidate(identity: BinaryIdentity, elapsed: Duration, order: u64) -> RankedCandidate { + RankedCandidate { + identity, + hits: u32::from(true), + misses: u32::from(false), + measured: elapsed, + samples: u32::from(true), + order, + } +} + +fn published_candidate(identity: T, order: u64) -> RankedCandidate { + RankedCandidate { + identity, + hits: u32::from(true), + misses: u32::from(false), + measured: Duration::ZERO, + samples: u32::from(false), + order, + } } #[cfg(test)] @@ -914,20 +2308,54 @@ mod tests { } #[test] - fn a_stall_does_not_claim_the_named_test_is_the_one_that_hung() { - // Regression, issue-004. libtest names a test only once it has finished, so the test that - // is spinning is precisely the one not named. Wording that presents the name as the culprit - // sends people to read a test that was fine, and invites a suppression on it. - let note = stall_note(Some("tests::round_trip")); - - assert!(note.contains("last test named was `tests::round_trip`"), "{note}"); - assert!(!note.contains("during"), "{note}"); - assert!(!note.contains(" in `"), "{note}"); - } - - #[test] - fn a_stall_before_any_test_was_named_says_so() { - let note = stall_note(None); + fn a_grouped_census_probe_attributes_an_unnamed_failure_to_its_first_selected_case() { + let (_directory, work) = crate::testing::helper_workspace("grouped-probe-", &["exit:1"]); + let binary = crate::testing::helper(); + let tally = Tally::default(); + let names = ["tests::first", "tests::second"]; + + let killer = probe_cases( + &work, + 7, + &binary, + &names, + None, + Sweep { + timeout_floor: Duration::ZERO, + stall: Stall::NONE, + jobs: 1, + meter: false, + confirm: false, + census: blind(), + }, + &tally, + ) + .expect("the grouped probe fails"); + + assert_eq!(killer.test, "tests::first"); + assert_eq!(tally.launches.load(Ordering::Relaxed), 1); + assert_eq!(tally.probes.load(Ordering::Relaxed), 1); + assert_eq!(tally.generalized_probes.load(Ordering::Relaxed), 1); + assert_eq!(tally.generalized_hits.load(Ordering::Relaxed), 1); + assert_eq!(tally.census_probes.load(Ordering::Relaxed), 1); + assert_eq!(tally.census_hits.load(Ordering::Relaxed), 1); + } + + #[test] + fn a_stall_does_not_claim_the_named_test_is_the_one_that_hung() { + // Regression, issue-004. libtest names a test only once it has finished, so the test that + // is spinning is precisely the one not named. Wording that presents the name as the culprit + // sends people to read a test that was fine, and invites a suppression on it. + let note = stall_note(Some("tests::round_trip")); + + assert!(note.contains("last test named was `tests::round_trip`"), "{note}"); + assert!(!note.contains("during"), "{note}"); + assert!(!note.contains(" in `"), "{note}"); + } + + #[test] + fn a_stall_before_any_test_was_named_says_so() { + let note = stall_note(None); assert_eq!(note, "stalled before the harness named a test"); } @@ -1060,6 +2488,7 @@ mod tests { confirm: false, census: blind(), }, + true, &mut Killers::default(), &mut crate::testing::Recorder::default(), ) @@ -1071,13 +2500,78 @@ mod tests { spent.launches, 5, "both mutants must run the earlier binary before the learned hint is checked" ); - assert_eq!(spent.probes, 1, "the learned killer is checked only after the earlier binary"); + assert_eq!( + spent.probes, 2, + "the learned killer is checked only after the earlier binary, then confirmed with the whole binary" + ); + } + + #[test] + #[cfg(unix)] + fn test_all_publishes_every_completed_field_and_refreshes_killer_history() { + let (_directory, work, mut plan, mut binaries) = harness("echo 'test tests::caught ... FAILED'; exit 1", Duration::from_secs(30)); + binaries[0].budget = None; + let scope = TestScope { + packages: &[], + package_local: false, + whole_workspace: true, + }; + let reach = Reachability::build(&plan, &binaries, &scope); + let mut killers = Killers::default(); + killers.record( + plan.mutants[0].id.clone(), + Killer { + package: "stale".to_owned(), + target: "stale".to_owned(), + test: "tests::stale".to_owned(), + }, + ); + let mut events = crate::testing::Recorder::default(); + + let spent = test_all( + &work, + &mut plan, + &reach, + Sweep { + timeout_floor: Duration::ZERO, + stall: Stall::NONE, + jobs: 1, + meter: false, + confirm: false, + census: blind(), + }, + false, + &mut killers, + &mut events, + ) + .expect("the sweep completes") + .expect("one pending mutant runs"); + + let mutant = &plan.mutants[0]; + assert_eq!(mutant.outcome, Outcome::Killed); + assert_eq!(mutant.killed_by.as_deref(), Some("tests::caught")); + assert_eq!(mutant.note, None); + assert_eq!(events.mutants, 1); + assert_eq!(events.sweep_plan, Some((1, 1))); + assert_eq!(events.mutant_starts.len(), 1); + assert_eq!(events.mutant_starts[0].0, mutant.ordinal); + assert_eq!(spent.launches, 1); + assert_eq!(spent.probes, 0); + assert_eq!(spent.packages.len(), 1); + assert_eq!(&*spent.packages[0].package, "subject"); + assert_eq!(spent.packages[0].mutants, 1); + assert!(spent.packages[0].settled_ms >= spent.packages[0].first_started_ms); + let refreshed = killers.hint(&mutant.id).expect("the newly observed killer is persisted"); + assert_eq!(refreshed.package, binaries[0].package); + assert_eq!(refreshed.target, binaries[0].target); + assert_eq!(refreshed.test, "tests::caught"); } #[test] #[cfg(unix)] - fn same_file_survivors_run_in_parallel_after_one_learning_attempt_starts() { + fn different_items_in_the_same_file_run_in_parallel() { let (_directory, work, mut plan, binaries) = harness_n("sleep 0.20; exit 0", Duration::from_secs(30), 2); + plan.mutants[1].item_path = "subject::other".to_owned().into(); let started = Instant::now(); let scope = TestScope { @@ -1099,6 +2593,7 @@ mod tests { confirm: false, census: blind(), }, + false, &mut Killers::default(), &mut crate::testing::Recorder::default(), ) @@ -1169,7 +2664,9 @@ mod tests { let binaries = vec![dependent_fast, own_slow]; let sets = Reachability::build(&plan, &binaries, &NARROW); - let ordered = sets.reachable("subject").expect("subject holds the plan's one pending mutant"); + let ordered = sets + .reachable(&plan.mutants[0]) + .expect("subject holds the plan's one pending mutant"); assert_eq!( ordered.iter().map(|binary| binary.package.as_str()).collect::>(), @@ -1302,11 +2799,12 @@ mod tests { assert_eq!(sets.len(), 2, "one entry per distinct package, not one per mutant"); for position in &pending { - let package = &*plan.mutants[*position].package; + let mutant = &plan.mutants[*position]; + let package = &*mutant.package; let found: Vec<&TestBinary> = binaries.iter().filter(|binary| reaches(binary, package, &plan, &NARROW)).collect(); assert_eq!( - sets.reachable(package).expect("every package in `pending` holds a pending mutant"), + sets.reachable(mutant).expect("every mutant in `pending` has a reachability entry"), found.as_slice(), "the memoized set must equal the one a per-mutant filter would give" ); @@ -1330,6 +2828,7 @@ mod tests { &mut plan, &reach, sweep(Stall::NONE), + false, &mut Killers::default(), &mut crate::testing::Recorder::default(), ) @@ -1361,6 +2860,7 @@ mod tests { &mut plan, &reach, sweep(stall), + false, &mut Killers::default(), &mut crate::testing::Recorder::default(), ) @@ -1392,6 +2892,7 @@ mod tests { &mut plan, &reach, sweep(Stall::NONE), + false, &mut Killers::default(), &mut crate::testing::Recorder::default(), ) @@ -1429,6 +2930,7 @@ mod tests { &mut plan, &reach, sweep(Stall::NONE), + false, &mut Killers::default(), &mut crate::testing::Recorder::default(), ) @@ -1475,6 +2977,7 @@ mod tests { &mut plan, &reach, sweep, + false, &mut Killers::default(), &mut crate::testing::Recorder::default(), ) @@ -1505,6 +3008,7 @@ mod tests { &mut plan, &reach, sweep(Stall::NONE), + false, &mut Killers::default(), &mut crate::testing::Recorder::default(), ) @@ -1529,6 +3033,18 @@ mod tests { assert!(note.contains("past the"), "{note}"); } + #[test] + fn memory_notes_preserve_byte_unit_boundaries_for_the_allowed_ceiling() { + assert_eq!( + memory_note(Utf8Path::new("/tmp/tests"), Some(0), 1023), + "`tests` reached 0 bytes, against the 1023 bytes this run allowed it" + ); + assert_eq!( + memory_note(Utf8Path::new("/tmp/tests"), Some(0), 1024), + "`tests` reached 0 bytes, against the 1.0 KB this run allowed it" + ); + } + /// A sentinel a test or nextest extension printed while enumeration failed must never reach the /// mutant note that becomes the report `statusReason`. That value is published verbatim into /// JSON, HTML, and SARIF artifacts, so anything it carries has left this run for good. It is @@ -1797,6 +3313,7 @@ mod tests { &mut plan, &reach, sweep, + false, &mut Killers::default(), &mut crate::testing::Recorder::default(), ) @@ -1975,6 +3492,8 @@ mod tests { assert!(matches!(judgement, Judgement::Reached(Outcome::Timeout, None, None))); assert_eq!(tally.probes.load(Ordering::Relaxed), 0); assert_eq!(tally.launches.load(Ordering::Relaxed), 1); + assert_eq!(tally.exact_candidates.load(Ordering::Relaxed), 1); + assert_eq!(tally.whole_selections.load(Ordering::Relaxed), 1); } #[test] @@ -2012,6 +3531,75 @@ mod tests { assert!(matches!(judgement, Judgement::Reached(Outcome::Timeout, None, None))); assert_eq!(tally.probes.load(Ordering::Relaxed), 0); assert_eq!(tally.launches.load(Ordering::Relaxed), 1); + assert_eq!(tally.hinted_fallbacks.load(Ordering::Relaxed), 1); + assert_eq!(tally.whole_selections.load(Ordering::Relaxed), 1); + } + + #[test] + fn a_group_census_hint_is_disabled_by_every_canonical_precedence_policy() { + let mut binary = crate::testing::helper(); + binary.budget = None; + let base = Sweep { + timeout_floor: Duration::ZERO, + stall: Stall::NONE, + jobs: 1, + meter: false, + confirm: false, + census: blind(), + }; + + assert!(filtered_kill_is_final(&binary, None, base)); + + binary.budget = Some(Duration::from_secs(1)); + assert!(!filtered_kill_is_final(&binary, None, base), "timeout policy must run canonically"); + binary.budget = None; + + assert!( + !filtered_kill_is_final( + &binary, + None, + Sweep { + stall: Stall { + budget: Some(Duration::from_secs(1)), + }, + ..base + } + ), + "stall policy must run canonically" + ); + assert!( + !filtered_kill_is_final(&binary, None, Sweep { meter: true, ..base }), + "memory limits and metering failures must run canonically" + ); + assert!( + !filtered_kill_is_final(&binary, None, Sweep { confirm: true, ..base }), + "confirmation flakes must run canonically" + ); + } + + #[test] + fn a_complete_census_records_an_uncovered_selection_without_launching_the_binary() { + let (_directory, work, plan, binaries) = helper_harness(&["exit:0"]); + let reachable: Vec<&TestBinary> = binaries.iter().collect(); + let census = Census::complete(&binaries[0].path); + let tally = Tally::default(); + + let judgement = judge( + &work, + plan.mutants[0].ordinal, + &reachable, + None, + None, + Sweep { + census: &census, + ..sweep(Stall::NONE) + }, + &tally, + ); + + assert!(matches!(judgement, Judgement::Reached(Outcome::NoCoverage, None, None))); + assert_eq!(tally.uncovered_selections.load(Ordering::Relaxed), 1); + assert_eq!(tally.launches.load(Ordering::Relaxed), 0); } #[test] @@ -2049,6 +3637,8 @@ mod tests { assert!(matches!(judgement, Judgement::Reached(Outcome::Timeout, None, None))); assert_eq!(tally.launches.load(Ordering::Relaxed), 2); + assert_eq!(tally.case_selections.load(Ordering::Relaxed), 1); + assert_eq!(tally.selected_tests.load(Ordering::Relaxed), 1); } #[test] @@ -2441,6 +4031,7 @@ mod tests { &mut plan, &reach, sweep, + false, &mut killers, &mut crate::testing::Recorder::default(), ) @@ -2458,6 +4049,7 @@ mod tests { &mut plan, &reach, sweep, + false, &mut killers, &mut crate::testing::Recorder::default(), ) @@ -2517,6 +4109,127 @@ mod tests { assert_eq!(cost_a, Duration::from_secs(10)); } + #[test] + fn scheduling_cost_handles_unreachable_and_partial_census_sites() { + use super::mutant_cost; + + let plan = plan_over(&["subject"]); + assert_eq!( + mutant_cost(0, &plan, &Reachability::default(), blind(), &Killers::default()), + Duration::ZERO + ); + + let mut binary = binary_of("subject", Duration::from_secs(10)); + binary.tests = Some(4); + let binaries = [binary]; + let reach = Reachability::build(&plan, &binaries, &NARROW); + let partial = Census::partial(&binaries[0].path, plan.mutants[0].ordinal, 1, 4); + + assert_eq!( + mutant_cost(0, &plan, &reach, &partial, &Killers::default()), + binaries[0].baseline, + "partial census evidence remains a whole-binary scheduling cost" + ); + + #[cfg(unix)] + { + let uncovered = Census::examined(&binaries[0].path, plan.mutants[0].ordinal, 0, 4); + assert_eq!( + mutant_cost(0, &plan, &reach, &uncovered, &Killers::default()), + Duration::ZERO, + "a complete census that reaches no test contributes no sweep work" + ); + } + } + + #[test] + fn scheduling_interleaves_packages_after_longest_first_ordering() { + let mut plan = plan_over(&["short", "long", "long", "short", "middle"]); + for (index, mutant) in plan.mutants.iter_mut().enumerate() { + mutant.ordinal = u32::try_from(index + 1).expect("the fixture has only five mutants"); + } + let binaries = [ + binary_of("short", Duration::from_secs(1)), + binary_of("long", Duration::from_secs(9)), + binary_of("middle", Duration::from_secs(4)), + ]; + let reach = Reachability::build( + &plan, + &binaries, + &TestScope { + packages: &[], + package_local: false, + whole_workspace: true, + }, + ); + let mut pending = vec![0, 1, 2, 3, 4]; + + schedule(&mut pending, &plan, &reach, blind(), &Killers::default()); + + assert_eq!( + pending, + vec![1, 4, 0, 2, 3], + "each round takes one mutant from each cost-ordered package queue" + ); + } + + #[test] + fn sweep_queue_and_completion_policy_preserve_boundaries_and_all_fields() { + let mut plan = one_mutant_plan(Utf8PathBuf::from("/nowhere")); + let mut inactive = plan.mutants[0].clone(); + inactive.id = "inactive".into(); + inactive.ordinal = 0; + let mut settled = plan.mutants[0].clone(); + settled.id = "settled".into(); + settled.ordinal = 2; + settled.outcome = Outcome::Killed; + plan.mutants.push(inactive); + plan.mutants.push(settled); + + assert_eq!(pending_positions(&plan), vec![0]); + assert_eq!(worker_count(0), 1); + assert_eq!(worker_count(1), 1); + assert_eq!(worker_count(8), 8); + assert_eq!(elapsed_millis(Duration::from_millis(17)), 17); + assert_eq!(elapsed_millis(Duration::MAX), u64::MAX); + + let killer = Killer { + package: "subject".to_owned(), + target: "lib".to_owned(), + test: "tests::caught".to_owned(), + }; + let mut killers = Killers::default(); + let mut events = crate::testing::Recorder::default(); + publish_completed( + &mut plan, + &mut killers, + &mut events, + (0, Outcome::Killed, 23, Some(killer.clone()), Some("detail".to_owned()), 0, 23), + ); + assert_eq!(plan.mutants[0].outcome, Outcome::Killed); + assert_eq!(plan.mutants[0].elapsed_ms, 23); + assert_eq!(plan.mutants[0].killed_by.as_deref(), Some("tests::caught")); + assert_eq!(plan.mutants[0].note.as_deref(), Some("detail")); + assert_eq!(killers.hint(&plan.mutants[0].id), Some(&killer)); + assert_eq!(events.mutants, 1); + + publish_completed(&mut plan, &mut killers, &mut events, (0, Outcome::Survived, 29, None, None, 0, 29)); + assert_eq!(plan.mutants[0].outcome, Outcome::Survived); + assert_eq!(plan.mutants[0].elapsed_ms, 29); + assert_eq!(plan.mutants[0].killed_by, None); + assert_eq!(plan.mutants[0].note, None); + assert!(killers.hint(&plan.mutants[0].id).is_none()); + assert_eq!(events.mutants, 2); + + publish_completed( + &mut plan, + &mut killers, + &mut events, + (usize::MAX, Outcome::Killed, 0, Some(killer), None, 0, 0), + ); + assert_eq!(events.mutants, 2, "an obsolete queue position publishes nothing"); + } + /// A mutant with a known killer hint has a lower estimated cost (one binary baseline). #[test] fn a_hinted_mutant_costs_less_than_an_unhinted_one() { @@ -2557,110 +4270,62 @@ mod tests { ); } - /// The condvar-based file learning correctly publishes a learned killer to waiting siblings. - #[test] - fn file_learning_publishes_killer_to_waiting_siblings() { - let learning = FileLearning::new(); - - // First worker becomes learner. - { - let mut state = learning.state.lock().unwrap(); - assert!(matches!(*state, Learning::Untried)); - *state = Learning::InProgress; - } - - // Simulate a second worker waiting and a learner publishing. - thread::scope(|scope| { - let _waiter = scope.spawn(|| { - let (guard_result, timed_out) = learning - .notify - .wait_timeout_while(learning.state.lock().unwrap(), Duration::from_millis(200), |s| { - matches!(s, Learning::InProgress) - }) - .unwrap(); - assert!(!timed_out.timed_out(), "should have been woken, not timed out"); - match &*guard_result { - Learning::Learned(killer) => assert_eq!(killer.test, "tests::found"), - other => panic!("expected Learned, got {other:?}"), - } - drop(guard_result); - }); - - // Give the waiter time to enter wait. - thread::sleep(Duration::from_millis(10)); - - // Learner finishes with a killer. - { - let mut s = learning.state.lock().unwrap(); - *s = Learning::Learned(Killer { - package: "pkg".to_owned(), - target: String::new(), - test: "tests::found".to_owned(), - }); - drop(s); - learning.notify.notify_all(); - } - }); - } - - /// The condvar-based file learning wakes waiters with `Exhausted` when no killer is found. - #[test] - fn file_learning_wakes_waiters_on_exhaustion() { - let learning = FileLearning::new(); - - { - let mut state = learning.state.lock().unwrap(); - *state = Learning::InProgress; - } - - thread::scope(|scope| { - let _waiter = scope.spawn(|| { - let (guard_result, _timed_out) = learning - .notify - .wait_timeout_while(learning.state.lock().unwrap(), Duration::from_millis(200), |s| { - matches!(s, Learning::InProgress) - }) - .unwrap(); - assert!(matches!(*guard_result, Learning::Exhausted)); - drop(guard_result); - }); - - thread::sleep(Duration::from_millis(10)); - - { - let mut s = learning.state.lock().unwrap(); - *s = Learning::Exhausted; - drop(s); - learning.notify.notify_all(); - } - }); - } - - /// The bounded wait times out and proceeds without a hint when the learner is slow. #[test] - fn file_learning_wait_times_out_for_slow_learner() { - let learning = FileLearning::new(); - - { - let mut state = learning.state.lock().unwrap(); - *state = Learning::InProgress; - } - - let started = Instant::now(); - - { - let (guard_result, timed_out) = learning - .notify - .wait_timeout_while(learning.state.lock().unwrap(), Duration::from_millis(20), |s| { - matches!(s, Learning::InProgress) - }) - .unwrap(); - drop(guard_result); - assert!(timed_out.timed_out(), "should have timed out"); + fn live_workload_preserves_exact_and_whole_execution_shapes() { + let plan = plan_over(&["subject", "subject"]); + let mut binaries = vec![ + binary_of("subject", Duration::from_secs(5)), + binary_of("subject", Duration::from_secs(20)), + ]; + for binary in &mut binaries { + binary.budget = Some(Duration::from_mins(1)); } + let reach = Reachability::build( + &plan, + &binaries, + &TestScope { + packages: &[], + package_local: false, + whole_workspace: true, + }, + ); + let mut killers = Killers::default(); + killers.record( + plan.mutants[0].id.clone(), + Killer { + package: "subject".to_owned(), + target: String::new(), + test: "tests::hint".to_owned(), + }, + ); + let settings = sweep(Stall::NONE); - // The timeout should be roughly 20ms, not blocking indefinitely. - assert!(started.elapsed() < Duration::from_millis(100)); + let exact = mutant_work(0, &plan, &reach, blind(), &killers, settings); + let whole = mutant_work(1, &plan, &reach, blind(), &Killers::default(), settings); + let census_binaries = [binary_of("subject", Duration::from_secs(20))]; + let census_reach = Reachability::build( + &plan, + &census_binaries, + &TestScope { + packages: &[], + package_local: false, + whole_workspace: true, + }, + ); + let selected_census = Census::examined(&census_binaries[0].path, plan.mutants[1].ordinal, 1, 4); + let selected = mutant_work(1, &plan, &census_reach, &selected_census, &Killers::default(), settings); + let hinted_census = Census::partial(&census_binaries[0].path, plan.mutants[1].ordinal, 1, 4); + let hinted = mutant_work(1, &plan, &census_reach, &hinted_census, &Killers::default(), settings); + let uncovered_census = Census::examined(&census_binaries[0].path, plan.mutants[1].ordinal, 0, 4); + let uncovered = mutant_work(1, &plan, &census_reach, &uncovered_census, &Killers::default(), settings); + + assert_eq!(exact.ordinal, plan.mutants[0].ordinal); + assert_eq!(exact.kind, crate::estimate::WorkKind::Exact); + assert_eq!(whole.ordinal, plan.mutants[1].ordinal); + assert_eq!(whole.kind, crate::estimate::WorkKind::Whole); + assert_eq!(selected.kind, crate::estimate::WorkKind::Selected); + assert_eq!(hinted.kind, crate::estimate::WorkKind::Hinted); + assert_eq!(uncovered.kind, crate::estimate::WorkKind::Uncovered); } fn killer(test: &str) -> Killer { @@ -2671,121 +4336,1303 @@ mod tests { } } - /// A killer another worker found must survive a slower worker publishing nothing. - /// - /// Neither publishing branch holds the lock across the test run that produced its judgement, so - /// publication order depends on run duration. A publication with no killer must not overwrite - /// a killer another worker established, or later mutants lose the useful test-order hint. #[test] - fn a_learned_killer_is_never_lost_to_a_later_worker_that_found_none() { + fn same_item_exact_candidates_always_rank_before_file_binaries() { let learning = FileLearning::new(); + learning.publish("subject::a", &Judgement::Reached(Outcome::Killed, Some(killer("tests::a")), None)); + learning.publish("subject::a", &Judgement::Reached(Outcome::Killed, Some(killer("tests::a")), None)); + + let same = learning.candidates("subject::a"); + assert!(matches!(&same[0], Candidate::Exact(found) if found.test == "tests::a")); + assert!(matches!(&same[1], Candidate::FileBinary(_))); + + let other = learning.candidates("subject::b"); + assert_eq!(other.len(), 1); + assert!(matches!(&other[0], Candidate::FileBinary(_))); + let state = learning.locked(); + assert_eq!(state.items["subject::a"].exact.len(), 1); + assert_eq!(state.binaries.len(), 1); + assert_eq!(state.next_order, 2, "each published observation reserves a stable order"); + } - // The plain ordering: the killer lands first and a survivor follows it. - learning.publish(&Judgement::Reached(Outcome::Killed, Some(killer("tests::found")), None)); - learning.publish(&Judgement::Reached(Outcome::Survived, None, None)); - - match &*learning.locked() { - Learning::Learned(known) => assert_eq!(known.test, "tests::found"), - other => panic!("a survivor erased the file's killer: {other:?}"), - } - - // And under real contention, whichever order the scheduler chooses. - let contended = FileLearning::new(); + #[test] + fn candidate_cost_and_ranking_account_for_identity_hits_misses_and_samples() { + let binary = TestBinary { + package: "subject".to_owned(), + target: "lib".to_owned(), + baseline: Duration::from_millis(17), + ..crate::testing::test_binary("unused") + }; + let reachable = [&binary]; + let exact = Candidate::Exact(killer("tests::a")); + let missing = Candidate::FileBinary(BinaryIdentity { + package: "elsewhere".to_owned(), + target: "lib".to_owned(), + }); - thread::scope(|scope| { - for worker in 0..8_u32 { - let contended = &contended; + assert_eq!(exact.estimated_cost(&reachable), Duration::from_millis(17)); + assert_eq!(missing.estimated_cost(&reachable), Duration::ZERO); - let _publisher = scope.spawn(move || { - let judged = if worker % 2 == 0 { - Judgement::Reached(Outcome::Killed, Some(killer("tests::found")), None) - } else { - Judgement::Reached(Outcome::Survived, None, None) - }; + let mut ranked = RankedCandidate { + identity: killer("tests::a"), + hits: 0, + misses: 0, + measured: Duration::ZERO, + samples: 0, + order: 9, + }; + assert_eq!( + ranked.score(), + (0, core::cmp::Reverse(0), Duration::MAX, 9), + "an unmeasured candidate sorts behind measured candidates with the same history" + ); + ranked.observe(true, Duration::from_millis(12)); + ranked.observe(false, Duration::from_millis(6)); + assert_eq!((ranked.hits, ranked.misses, ranked.samples), (1, 1, 2)); + assert_eq!(ranked.measured, Duration::from_millis(18)); + assert_eq!(ranked.score(), (0, core::cmp::Reverse(1), Duration::from_millis(9), 9)); + + let reached = reached_candidate(BinaryIdentity::from_binary(&binary), Duration::from_millis(4), 3); + assert_eq!((reached.hits, reached.misses, reached.samples, reached.order), (1, 0, 1, 3)); + let published = published_candidate(killer("tests::a"), 5); + assert_eq!((published.hits, published.misses, published.samples, published.order), (1, 0, 0, 5)); + + let mut state = LearningState { + next_order: u64::MAX, + ..LearningState::default() + }; + advance_order(&mut state); + assert_eq!(state.next_order, u64::MAX, "learning order saturates instead of wrapping"); + } - contended.publish(&judged); - }); - } + #[test] + fn persisted_file_binary_misses_demote_the_persisted_candidate() { + let hints = GeneralizedHints { + version: GENERALIZED_HINTS_VERSION, + binaries: vec![FileBinaryHints { + file: "src/lib.rs".into(), + candidates: vec![ + RankedHint { + candidate: BinaryHint { + package: "subject".to_owned(), + target: "first".to_owned(), + }, + hits: 1, + misses: 0, + measured_ms: 1, + samples: 1, + order: 0, + }, + RankedHint { + candidate: BinaryHint { + package: "subject".to_owned(), + target: "second".to_owned(), + }, + hits: 1, + misses: 0, + measured_ms: 1, + samples: 1, + order: 1, + }, + ], + }], + ..GeneralizedHints::empty_supported() + }; + let learning = FileLearning::from_hints(Utf8Path::new("src/lib.rs"), &hints); + let first = Candidate::FileBinary(BinaryIdentity { + package: "subject".to_owned(), + target: "first".to_owned(), }); - match &*contended.locked() { - Learning::Learned(known) => assert_eq!(known.test, "tests::found"), - other => panic!("a concurrent survivor erased the file's killer: {other:?}"), - } + learning.observe("subject::item", &first, false, Duration::from_millis(1)); + learning.observe("subject::item", &first, false, Duration::from_millis(1)); - // A file where nothing killed anything still settles on `Exhausted`, so its siblings stop - // waiting for a hint that is not coming. - let barren = FileLearning::new(); + let candidates = learning.candidates("subject::item"); + assert!(matches!(&candidates[0], Candidate::FileBinary(binary) if binary.target == "second")); + let state = learning.locked(); + let demoted = state + .binaries + .iter() + .find(|candidate| candidate.identity.target == "first") + .expect("the persisted candidate remains recorded"); + assert_eq!(demoted.misses, 2); + assert_eq!(demoted.hits, 1); + assert_eq!(demoted.measured, Duration::from_millis(3)); + assert_eq!(demoted.samples, 3); + assert_eq!(demoted.score(), (1, core::cmp::Reverse(1), Duration::from_millis(1), 0)); + } - barren.complete(&Judgement::Reached(Outcome::Survived, None, None)); + #[test] + fn scoped_learning_replaces_touched_files_and_preserves_untouched_files() { + let mut generalized = GeneralizedHints { + version: GENERALIZED_HINTS_VERSION, + items: vec![ItemHints { + file: "src/untouched.rs".into(), + item: "untouched::item".to_owned(), + candidates: vec![RankedHint { + candidate: killer("tests::old"), + hits: 1, + misses: 0, + measured_ms: 1, + samples: 1, + order: 0, + }], + }], + binaries: vec![FileBinaryHints { + file: "src/touched.rs".into(), + candidates: Vec::new(), + }], + ..GeneralizedHints::empty_supported() + }; + let touched = FileLearning::new(); + touched.publish( + "touched::item", + &Judgement::Reached(Outcome::Killed, Some(killer("tests::new")), None), + ); + + generalized.version = 0; + persist_learning(&mut generalized, &[Arc::from(Utf8Path::new("src/touched.rs"))], &[touched]); + + assert_eq!(generalized.version, GENERALIZED_HINTS_VERSION); + assert!( + generalized + .items + .iter() + .any(|entry| entry.file == Utf8Path::new("src/untouched.rs")), + "{generalized:?}" + ); + assert_eq!( + generalized + .binaries + .iter() + .filter(|entry| entry.file == Utf8Path::new("src/touched.rs")) + .count(), + 1, + "the touched file's old binary hints are replaced rather than retained alongside new learning" + ); + assert!( + generalized + .items + .iter() + .any(|entry| entry.file == Utf8Path::new("src/touched.rs") && entry.item == "touched::item"), + "{generalized:?}" + ); + } + + #[test] + fn persisted_reach_hints_are_bounded_by_half_the_binary_suite() { + let mut binary = crate::testing::helper(); + binary.package = "subject".to_owned(); + binary.target = "lib".to_owned(); + binary.tests = Some(4); + binary.baseline = Duration::from_millis(10); + let reachable = [&binary]; + let hints = ["a", "b", "c"].into_iter().map(killer).collect::>(); + let over_half = Census::partial(&binary.path, 7, 3, 4); + let bounded = Census::partial(&binary.path, 7, 2, 4); + + assert!(bounded_reach_hints(hints.clone(), &reachable, 7, &over_half).is_empty()); + assert_eq!(bounded_reach_hints(hints[..2].to_vec(), &reachable, 7, &bounded).len(), 2); + let mut expensive = binary.clone(); + expensive.baseline = Duration::from_millis(1); + assert!( + bounded_reach_hints(hints[..2].to_vec(), &[&expensive], 7, &bounded).is_empty(), + "persisted exact probes must cost less than the binary they replace" + ); + + let mut unknown_count = binary.clone(); + unknown_count.tests = None; + assert!(bounded_reach_hints(hints[..2].to_vec(), &[&unknown_count], 7, &bounded).is_empty()); + assert!( + bounded_reach_hints( + vec![Killer { + package: "elsewhere".to_owned(), + target: "other".to_owned(), + test: "tests::a".to_owned(), + }], + &reachable, + 7, + &bounded, + ) + .is_empty() + ); + } - let settled = barren.locked(); + #[test] + fn a_grouped_census_probe_that_passes_caches_no_killer() { + let (_directory, work) = crate::testing::helper_workspace("grouped-probe-pass-", &["exit:0"]); + let binary = crate::testing::helper(); + let tally = Tally::default(); - assert!(matches!(&*settled, Learning::Exhausted), "{settled:?}"); - drop(settled); + assert_eq!( + probe_cases( + &work, + 7, + &binary, + &["tests::first", "tests::second"], + None, + Sweep { + timeout_floor: Duration::ZERO, + stall: Stall::NONE, + jobs: 1, + meter: false, + confirm: false, + census: blind(), + }, + &tally, + ), + None + ); + assert_eq!(tally.generalized_hits.load(Ordering::Relaxed), 0); } - /// A stale per-mutant hint cannot complete the separate file-local learning attempt. #[test] - fn a_stale_persisted_hint_does_not_exhaust_file_learning() { + fn promoted_item_and_file_hints_seed_a_clean_checkout_without_mutant_ids() { + let hints = GeneralizedHints { + version: GENERALIZED_HINTS_VERSION, + items: vec![ItemHints { + file: "src/lib.rs".into(), + item: "subject::changed".to_owned(), + candidates: vec![RankedHint { + candidate: killer("tests::item"), + hits: 4, + misses: 0, + measured_ms: 8, + samples: 4, + order: 0, + }], + }], + binaries: vec![FileBinaryHints { + file: "src/lib.rs".into(), + candidates: vec![RankedHint { + candidate: BinaryHint { + package: "subject".to_owned(), + target: "integration".to_owned(), + }, + hits: 3, + misses: 1, + measured_ms: 20, + samples: 4, + order: 1, + }], + }], + ..GeneralizedHints::empty_supported() + }; + let learning = FileLearning::from_hints(Utf8Path::new("src/lib.rs"), &hints); + let candidates = learning.candidates("subject::changed"); + + assert!(matches!(&candidates[0], Candidate::Exact(found) if found.test == "tests::item")); + assert!(matches!( + &candidates[1], + Candidate::FileBinary(binary) if binary.target == "integration" + )); + assert_eq!( + learning.locked().next_order, + 2, + "new observations follow the greatest persisted order" + ); + } + + #[test] + fn stale_generalized_test_falls_back_without_changing_the_outcome_and_reports_a_miss() { + let (_directory, work, plan, mut binaries) = + helper_harness(&["when-arg:tests::stale|exit:0", "print:test tests::actual ... FAILED", "exit:1"]); + binaries[0].budget = None; + let reachable: Vec<&TestBinary> = binaries.iter().collect(); + let candidates = [Candidate::Exact(Killer { + package: binaries[0].package.clone(), + target: binaries[0].target.clone(), + test: "tests::stale".to_owned(), + })]; + let tally = Tally::default(); + + let judged = judge_ranked( + &work, + plan.mutants[0].ordinal, + &reachable, + None, + &candidates, + None, + None, + None, + Sweep { + confirm: false, + ..sweep(Stall::NONE) + }, + &tally, + ); + + assert!(matches!(judged, Judgement::Reached(Outcome::Killed, _, None))); + assert_eq!(tally.generalized_probes.load(Ordering::Relaxed), 1); + assert_eq!(tally.generalized_hits.load(Ordering::Relaxed), 0); + assert_eq!(tally.item_probes.load(Ordering::Relaxed), 1); + assert_eq!(tally.item_hits.load(Ordering::Relaxed), 0); + assert_eq!(tally.launches.load(Ordering::Relaxed), 2); + } + + #[test] + fn exact_and_generalized_probe_hit_rates_are_counted_separately() { + let (_directory, work, plan, mut binaries) = helper_harness(&["print:test tests::killer ... FAILED", "exit:1"]); + binaries[0].budget = None; + let reachable: Vec<&TestBinary> = binaries.iter().collect(); + let exact = Killer { + package: binaries[0].package.clone(), + target: binaries[0].target.clone(), + test: "tests::killer".to_owned(), + }; + let exact_tally = Tally::default(); + let generalized_tally = Tally::default(); + + let exact_judged = judge( + &work, + plan.mutants[0].ordinal, + &reachable, + Some(&exact), + None, + Sweep { + confirm: false, + ..sweep(Stall::NONE) + }, + &exact_tally, + ); + let generalized_judged = judge_ranked( + &work, + plan.mutants[0].ordinal, + &reachable, + None, + &[Candidate::Exact(exact)], + None, + None, + None, + Sweep { + confirm: false, + ..sweep(Stall::NONE) + }, + &generalized_tally, + ); + + assert!(matches!(exact_judged, Judgement::Reached(Outcome::Killed, _, _))); + assert!(matches!(generalized_judged, Judgement::Reached(Outcome::Killed, _, _))); + assert_eq!(exact_tally.exact_probes.load(Ordering::Relaxed), 1); + assert_eq!(exact_tally.exact_hits.load(Ordering::Relaxed), 1); + assert_eq!(exact_tally.generalized_probes.load(Ordering::Relaxed), 0); + assert_eq!(generalized_tally.exact_probes.load(Ordering::Relaxed), 0); + assert_eq!(generalized_tally.generalized_probes.load(Ordering::Relaxed), 1); + assert_eq!(generalized_tally.generalized_hits.load(Ordering::Relaxed), 1); + assert_eq!(generalized_tally.item_probes.load(Ordering::Relaxed), 1); + assert_eq!(generalized_tally.item_hits.load(Ordering::Relaxed), 1); + } + + #[test] + fn whole_binary_mode_suppresses_exact_and_generalized_case_probes() { + let (_directory, work, plan, mut binaries) = helper_harness(&["when-arg:tests::hinted|exit:97", "exit:0"]); + binaries[0].budget = None; + let reachable: Vec<&TestBinary> = binaries.iter().collect(); + let hint = Killer { + package: binaries[0].package.clone(), + target: binaries[0].target.clone(), + test: "tests::hinted".to_owned(), + }; + let candidate = Candidate::Exact(hint.clone()); + + for (exact, generalized) in [(Some(&hint), &[][..]), (None, core::slice::from_ref(&candidate))] { + let learning = FileLearning::new(); + let negative = NegativeLearning::default(); + let tally = Tally::default(); + let judged = judge_learning( + &work, + plan.mutants[0].ordinal, + &reachable, + exact, + generalized, + &learning, + "subject::f", + &SiteIdentity::from_mutant(&plan.mutants[0]), + &negative, + false, + None, + Sweep { + confirm: false, + ..sweep(Stall::NONE) + }, + &tally, + ); + + assert!(matches!(judged, Judgement::Reached(Outcome::Survived, None, None))); + assert_eq!(tally.launches.load(Ordering::Relaxed), 1); + assert_eq!(tally.probes.load(Ordering::Relaxed), 0); + } + } + + #[test] + fn terminal_verdict_policy_preserves_every_outcome_killer_and_note() { + let mut binary = crate::testing::helper(); + binary.package = "subject".to_owned(); + binary.target = "lib".to_owned(); + + assert!(terminal_judgement(&binary, Verdict::Passed).is_none()); + assert!(matches!( + terminal_judgement(&binary, Verdict::Failed(Some("tests::caught".to_owned()))), + Some(Judgement::Reached( + Outcome::Killed, + Some(Killer { + package, + target, + test + }), + None + )) if package == "subject" && target == "lib" && test == "tests::caught" + )); + assert!(matches!( + terminal_judgement(&binary, Verdict::Failed(None)), + Some(Judgement::Reached(Outcome::Killed, None, None)) + )); + assert!(matches!( + terminal_judgement(&binary, Verdict::TestEnumerationFailed(String::new())), + Some(Judgement::Reached(Outcome::Killed, None, Some(note))) if note.contains("could not enumerate") + )); + assert!(matches!( + terminal_judgement(&binary, Verdict::TimedOut), + Some(Judgement::Reached(Outcome::Timeout, None, None)) + )); + assert!(matches!( + terminal_judgement(&binary, Verdict::Stalled(Some("tests::last".to_owned()))), + Some(Judgement::Reached(Outcome::Timeout, None, Some(note))) if note.contains("tests::last") + )); + assert!(matches!( + terminal_judgement(&binary, Verdict::MemoryLimit { peak: Some(20), limit: 10 }), + Some(Judgement::Reached(Outcome::OutOfMemory, None, Some(note))) if note.contains("20 bytes") + )); + assert!(matches!( + terminal_judgement(&binary, Verdict::Flaky(Some("tests::flake".to_owned()))), + Some(Judgement::Reached(Outcome::Flaky, None, Some(note))) if note.contains("tests::flake") + )); + assert!(matches!( + terminal_judgement(&binary, Verdict::Unmetered("meter lost".to_owned())), + Some(Judgement::Abandoned(reason)) if reason == "meter lost" + )); + assert!(matches!( + terminal_judgement(&binary, Verdict::Unjudged("spawn refused".to_owned())), + Some(Judgement::Reached(Outcome::Pending, None, Some(note))) if note == "spawn refused" + )); + } + + #[test] + fn an_unmetered_candidate_is_not_deferred_to_canonical_iteration() { + assert!(matches!( + defer_candidate_verdict(Verdict::Unmetered("meter lost".to_owned())), + Err(Judgement::Abandoned(reason)) if reason == "meter lost" + )); + assert!(matches!(defer_candidate_verdict(Verdict::Passed), Ok(Verdict::Passed))); + assert!(matches!(defer_candidate_verdict(Verdict::TimedOut), Ok(Verdict::TimedOut))); + } + + #[test] + fn positive_reach_is_reused_by_the_same_item_and_as_a_file_fallback() { let learning = FileLearning::new(); - let no_killer = Judgement::Reached(Outcome::Survived, None, None); + let binary = TestBinary { + package: "subject".to_owned(), + target: "lib".to_owned(), + ..crate::testing::test_binary("unused") + }; - learning.publish(&no_killer); - assert!(matches!(&*learning.locked(), Learning::Untried)); + learning.reached("subject::a", &binary, Duration::from_millis(7)); - { - let mut state = learning.locked(); - *state = Learning::InProgress; + let same = learning.candidates("subject::a"); + assert_eq!(same.len(), 1); + assert!(matches!(&same[0], Candidate::ItemBinary(identity) if identity.target == "lib")); + + let other = learning.candidates("subject::b"); + assert_eq!(other.len(), 1); + assert!(matches!(&other[0], Candidate::ReachFileBinary(identity) if identity.target == "lib")); + + learning.reached("subject::a", &binary, Duration::from_millis(99)); + let state = learning.locked(); + assert_eq!(state.items["subject::a"].reached.len(), 1); + assert_eq!(state.reached_file.len(), 1); + assert_eq!(state.next_order, 2, "each reach observation reserves one stable order"); + assert_eq!(state.items["subject::a"].reached[0].measured, Duration::from_millis(7)); + } + + #[test] + fn a_reach_candidate_is_released_only_at_its_canonical_binary() { + let (_directory, work, plan, mut binaries) = helper_harness(&["print:test tests::reached ... FAILED", "exit:1"]); + binaries[0].target = "earlier".to_owned(); + let mut reached = binaries[0].clone(); + reached.target = "reached".to_owned(); + binaries.push(reached); + let reachable: Vec<&TestBinary> = binaries.iter().collect(); + let learning = FileLearning::new(); + learning.reached("subject::f", &binaries[1], Duration::from_millis(2)); + let tally = Tally::default(); + + let judged = judge_ranked( + &work, + plan.mutants[0].ordinal, + &reachable, + None, + &learning.candidates("subject::f"), + Some((&learning, "subject::f")), + None, + None, + Sweep { + timeout_floor: Duration::ZERO, + stall: Stall::NONE, + jobs: 1, + meter: false, + confirm: false, + census: blind(), + }, + &tally, + ); + + assert!(matches!(judged, Judgement::Reached(Outcome::Killed, Some(_), None))); + assert_eq!(tally.launches.load(Ordering::Relaxed), 2); + assert_eq!(tally.saved.load(Ordering::Relaxed), 0); + assert_eq!(tally.reach_saved.load(Ordering::Relaxed), 0); + } + + #[test] + fn exact_site_negative_evidence_skips_a_sibling_replacement() { + let directive = format!("write-le:{}|{}", gamma_rt::CENSUS_VAR, gamma_rt::SEAL); + let (_directory, work, mut plan, binaries) = helper_harness(&[&directive]); + let learned_site = SiteIdentity::from_mutant(&plan.mutants[0]); + let mut sibling = plan.mutants[0].clone(); + sibling.id = "m2".to_owned().into(); + sibling.ordinal = 2; + sibling.replacement_index = 1; + sibling.replacement = "a == b".to_owned().into(); + let sibling_site = SiteIdentity::from_mutant(&sibling); + assert_eq!(learned_site, sibling_site, "replacement variants share one stable site"); + plan.mutants.push(sibling); + + let reach = Reachability::build( + &plan, + &binaries, + &TestScope { + packages: &[], + package_local: false, + whole_workspace: true, + }, + ); + let spent = test_all( + &work, + &mut plan, + &reach, + Sweep { + confirm: false, + ..sweep(Stall::NONE) + }, + true, + &mut Killers::default(), + &mut crate::testing::Recorder::default(), + ) + .expect("the sweep completes") + .expect("both sibling replacements are pending"); + + assert_eq!(plan.mutants[0].outcome, Outcome::Survived); + assert_eq!(plan.mutants[1].outcome, Outcome::NoCoverage); + assert_eq!(spent.launches, 1); + assert_eq!(spent.saved, 1); + assert_eq!(spent.reach_saved, 1); + } + + #[test] + fn exact_site_negative_evidence_never_generalizes_or_applies_to_nondeterministic_runs() { + let (_directory, work, plan, binaries) = helper_harness(&["exit:0"]); + let reachable: Vec<&TestBinary> = binaries.iter().collect(); + let learned_site = SiteIdentity::from_mutant(&plan.mutants[0]); + let negative = NegativeLearning::default(); + negative.record(&learned_site, &binaries[0]); + + for (site, deterministic) in [ + ( + SiteIdentity { + occurrence: learned_site.occurrence + 1, + ..learned_site.clone() + }, + true, + ), + ( + SiteIdentity { + item: "subject::other".to_owned(), + ..learned_site.clone() + }, + true, + ), + (learned_site, false), + ] { + let tally = Tally::default(); + let judged = judge_ranked( + &work, + plan.mutants[0].ordinal, + &reachable, + None, + &[], + None, + Some((&negative, &site, deterministic)), + None, + Sweep { + confirm: false, + ..sweep(Stall::NONE) + }, + &tally, + ); + + assert!(matches!(judged, Judgement::Reached(Outcome::Survived, None, None))); + assert_eq!(tally.launches.load(Ordering::Relaxed), 1); + assert_eq!(tally.reach_saved.load(Ordering::Relaxed), 0); } + } + + #[test] + fn exact_site_negative_evidence_distinguishes_harness_paths() { + let (_directory, work, plan, binaries) = helper_harness(&["exit:0"]); + let site = SiteIdentity::from_mutant(&plan.mutants[0]); + let negative = NegativeLearning::default(); + negative.record(&site, &binaries[0]); - learning.publish(&no_killer); - assert!(matches!(&*learning.locked(), Learning::InProgress)); + let mut other_harness = binaries[0].clone(); + other_harness.path = work.target.join("same-cargo-target-different-harness"); + + assert!(negative.contains(&site, &binaries[0])); + assert_eq!(other_harness.package, binaries[0].package); + assert_eq!(other_harness.target, binaries[0].target); + assert!(!negative.contains(&site, &other_harness)); + + let safe_sweep = Sweep { + confirm: false, + ..sweep(Stall::NONE) + }; + assert!(negative_excludes(Some((&negative, &site, true)), &binaries[0], None, safe_sweep)); + assert!(!negative_excludes(Some((&negative, &site, true)), &other_harness, None, safe_sweep)); + } + + #[test] + fn only_complete_deterministic_whole_passes_publish_negative_reach() { + let passed = BinaryRun { + verdict: Verdict::Passed, + reach: ReachObservation::NotReached, + }; + assert!(negative_reach_is_final(&passed, Only::All, true)); + assert!(!negative_reach_is_final(&passed, Only::These(&["tests::one"]), true)); + assert!(!negative_reach_is_final(&passed, Only::One("tests::one"), true)); + assert!(!negative_reach_is_final(&passed, Only::All, false)); + assert!(!negative_reach_is_final( + &BinaryRun { + verdict: Verdict::Passed, + reach: ReachObservation::Unknown, + }, + Only::All, + true, + )); + assert!(!negative_reach_is_final( + &BinaryRun { + verdict: Verdict::Failed(None), + reach: ReachObservation::NotReached, + }, + Only::All, + true, + )); + } + + #[test] + fn exact_negative_reach_cannot_bypass_verdict_precedence() { + let (_directory, work, plan, mut binaries) = helper_harness(&["exit:0"]); + let site = SiteIdentity::from_mutant(&plan.mutants[0]); + let negative = NegativeLearning::default(); + negative.record(&site, &binaries[0]); + + let cases = [ + (Some(Duration::from_secs(1)), Stall::NONE, false, false), + ( + None, + Stall { + budget: Some(Duration::from_secs(1)), + }, + false, + false, + ), + (None, Stall::NONE, true, false), + (None, Stall::NONE, false, true), + ]; + + for (budget, stall, meter, confirm) in cases { + binaries[0].budget = budget; + let reachable = [&binaries[0]]; + let tally = Tally::default(); + let judged = judge_ranked( + &work, + plan.mutants[0].ordinal, + &reachable, + None, + &[], + None, + Some((&negative, &site, true)), + None, + Sweep { + timeout_floor: Duration::ZERO, + stall, + jobs: 1, + meter, + confirm, + census: blind(), + }, + &tally, + ); + + assert!(!matches!(judged, Judgement::Reached(Outcome::NoCoverage, _, _))); + assert_eq!(tally.launches.load(Ordering::Relaxed), 1); + assert_eq!(tally.reach_saved.load(Ordering::Relaxed), 0); + } + } + + #[test] + fn a_reach_candidate_cannot_bypass_an_earlier_timeout() { + let (_directory, work, plan, mut binaries) = helper_harness(&["sleep:200", "exit:0"]); + binaries[0].target = "canonical".to_owned(); + binaries[0].budget = Some(Duration::from_millis(20)); + let mut reached = binaries[0].clone(); + reached.target = "reached".to_owned(); + reached.budget = None; + binaries.push(reached); + let reachable: Vec<&TestBinary> = binaries.iter().collect(); + let candidate = Candidate::ItemBinary(BinaryIdentity { + package: "subject".to_owned(), + target: "reached".to_owned(), + }); + + let judged = judge_ranked( + &work, + plan.mutants[0].ordinal, + &reachable, + None, + &[candidate], + None, + None, + None, + Sweep { + timeout_floor: Duration::ZERO, + stall: Stall::NONE, + jobs: 1, + meter: false, + confirm: false, + census: blind(), + }, + &Tally::default(), + ); + + assert!(matches!(judged, Judgement::Reached(Outcome::Timeout, None, None))); + } + + #[test] + fn a_safe_same_item_exact_candidate_waits_for_canonical_iteration() { + let (_directory, work, _plan, mut binaries) = helper_harness(ONLY_WHEN_FILTERED); + binaries[0].target = "earlier".to_owned(); + let mut later = binaries[0].clone(); + later.target = "later".to_owned(); + binaries.push(later); + let reachable: Vec<&TestBinary> = binaries.iter().collect(); + let candidates = [ + Candidate::Exact(Killer { + package: "subject".to_owned(), + target: "later".to_owned(), + test: "tests::killer".to_owned(), + }), + Candidate::FileBinary(BinaryIdentity { + package: "subject".to_owned(), + target: "earlier".to_owned(), + }), + ]; + let tally = Tally::default(); + + let judged = judge_ranked( + &work, + 1, + &reachable, + None, + &candidates, + None, + None, + None, + Sweep { + timeout_floor: Duration::ZERO, + stall: Stall::NONE, + jobs: 1, + meter: false, + confirm: false, + census: blind(), + }, + &tally, + ); + + assert!(matches!(judged, Judgement::Reached(Outcome::Killed, Some(_), None))); + assert_eq!(tally.launches.load(Ordering::Relaxed), 2); + assert_eq!(tally.probes.load(Ordering::Relaxed), 2); + assert_eq!(tally.saved.load(Ordering::Relaxed), 0); + } + + #[test] + fn a_later_candidate_kill_cannot_bypass_an_earlier_unjudged_binary() { + let (_directory, work, _plan, mut binaries) = helper_harness(ONLY_WHEN_FILTERED); + binaries[0].path = work.root.join("missing-test-binary"); + binaries[0].target = "earlier".to_owned(); + let mut later = crate::testing::helper(); + later.package = "subject".to_owned(); + later.target = "later".to_owned(); + later.tests = Some(1); + binaries.push(later); + let reachable: Vec<&TestBinary> = binaries.iter().collect(); + let candidate = Candidate::Exact(Killer { + package: "subject".to_owned(), + target: "later".to_owned(), + test: "tests::killer".to_owned(), + }); + let tally = Tally::default(); + + let judged = judge_ranked( + &work, + 1, + &reachable, + None, + &[candidate], + None, + None, + None, + Sweep { + timeout_floor: Duration::ZERO, + stall: Stall::NONE, + jobs: 1, + meter: false, + confirm: false, + census: blind(), + }, + &tally, + ); + + assert!(matches!(judged, Judgement::Reached(Outcome::Pending, None, Some(_)))); + assert_eq!(tally.probes.load(Ordering::Relaxed), 1); + } + + #[test] + fn another_item_reuses_the_binary_without_assuming_its_exact_test() { + let (_directory, work, _plan, binaries) = helper_harness(&["print:test tests::different ... FAILED", "exit:1"]); + let reachable: Vec<&TestBinary> = binaries.iter().collect(); + let candidates = [Candidate::FileBinary(BinaryIdentity { + package: "subject".to_owned(), + target: String::new(), + })]; + let tally = Tally::default(); + + let judged = judge_ranked( + &work, + 1, + &reachable, + None, + &candidates, + None, + None, + None, + Sweep { + timeout_floor: Duration::ZERO, + stall: Stall::NONE, + jobs: 1, + meter: false, + confirm: false, + census: blind(), + }, + &tally, + ); - learning.publish(&Judgement::Reached(Outcome::Killed, Some(killer("tests::sibling")), None)); assert!(matches!( - &*learning.locked(), - Learning::Learned(found) if found.test == "tests::sibling" + judged, + Judgement::Reached(Outcome::Killed, Some(Killer { test, .. }), None) + if test == "tests::different" )); + assert_eq!(tally.launches.load(Ordering::Relaxed), 1); + assert_eq!(tally.exact_probes.load(Ordering::Relaxed), 0); + assert_eq!(tally.generalized_probes.load(Ordering::Relaxed), 1); } - /// Poisoning this lock must not fail the mutants that had nothing to do with it. - /// - /// It guards a scheduling hint, every critical section under it assigns a whole value, and the - /// panic that poisoned it is already on its way to the caller on its own thread. Propagating - /// the poison here would take out every remaining mutant in the file as well. #[test] - fn a_poisoned_file_local_killer_lock_is_recovered_rather_than_propagated() { + fn a_candidate_is_demoted_after_two_misses() { let learning = FileLearning::new(); + learning.publish( + "subject::a", + &Judgement::Reached(Outcome::Killed, Some(killer("tests::first")), None), + ); + learning.publish( + "subject::a", + &Judgement::Reached(Outcome::Killed, Some(killer("tests::second")), None), + ); + let first = Candidate::Exact(killer("tests::first")); - let panicked = thread::scope(|scope| { - scope - .spawn(|| { - let mut state = learning.locked(); + learning.observe("subject::a", &first, false, Duration::from_millis(20)); + assert!(matches!(&learning.candidates("subject::a")[0], Candidate::Exact(found) if found.test == "tests::first")); + learning.observe("subject::a", &first, false, Duration::from_millis(10)); - *state = Learning::InProgress; + assert!(matches!(&learning.candidates("subject::a")[0], Candidate::Exact(found) if found.test == "tests::second")); + let state = learning.locked(); + let recorded = state.items["subject::a"] + .exact + .iter() + .find(|candidate| candidate.identity.test == "tests::first") + .expect("the first candidate remains ranked"); + assert_eq!((recorded.hits, recorded.misses), (1, 2)); + assert_eq!(recorded.measured, Duration::from_millis(30)); + assert_eq!(recorded.samples, 2); + } - panic!("a worker died holding the hint lock"); - }) - .join() - .is_err() + fn scheduled( + file: usize, + item: &str, + package: &str, + cost_ms: u64, + sibling_benefit: usize, + hinted: bool, + stable_order: usize, + ) -> ScheduledWork { + ScheduledWork { + file, + item: item.to_owned().into(), + package: package.to_owned().into(), + cost: Duration::from_millis(cost_ms), + sibling_benefit, + hinted, + stable_order, + } + } + + #[test] + fn scheduler_prefers_idle_files_then_the_least_contended_inactive_item() { + let scheduler = Scheduler::new( + vec![ + scheduled(0, "active", "a", 10, 0, false, 0), + scheduled(0, "idle-item", "a", 10, 0, false, 1), + scheduled(1, "idle-item", "b", 10, 0, false, 2), + ], + 2, + ); + let mut state = scheduler.state.lock().expect("scheduler state is healthy"); + state.active_files[0] = 2; + state.active_items.insert((0, "active".to_owned().into()), 1); + scheduler.refresh_file(&mut state, 0); + + assert_eq!(Scheduler::select(&state), Some(2), "an idle file outranks every active file"); + + state.active_files[1] = 1; + scheduler.refresh_file(&mut state, 1); + assert_eq!( + Scheduler::select(&state), + Some(2), + "the inactive item in the less-contended file outranks both a duplicate and a busier file" + ); + } + + #[test] + fn scheduler_keeps_same_item_exclusion_stronger_than_file_separation() { + let scheduler = Scheduler::new( + vec![ + scheduled(0, "active", "a", 100, 9, false, 0), + scheduled(0, "other", "a", 1, 0, false, 1), + ], + 1, + ); + let mut state = scheduler.state.lock().expect("scheduler state is healthy"); + state.active_files[0] = 1; + state.active_items.insert((0, "active".to_owned().into()), 1); + scheduler.refresh_file(&mut state, 0); + + assert_eq!(Scheduler::select(&state), Some(1)); + scheduler.withdraw(&mut state, 1); + assert_eq!(Scheduler::select(&state), None, "an unhinted same-item duplicate is not reserved"); + } + + #[test] + fn scheduler_selection_does_not_revisit_the_completed_population() { + let population = 10_000; + let scheduler = Scheduler::new( + (0..population) + .map(|index| scheduled(index, &format!("item-{index}"), "one-package", 1, 0, false, index)) + .collect(), + population, + ); + { + let mut state = scheduler.state.lock().expect("scheduler state is healthy"); + state.priority_updates = 0; + assert_eq!(state.heads.len(), 1, "selection indexes one head for the package"); + } + + let abandoned = OnceLock::new(); + assert_eq!(scheduler.claim(&abandoned), Some(0)); + + let state = scheduler.state.lock().expect("scheduler state is healthy"); + assert_eq!(state.remaining_count, population - 1); + assert!(state.priorities[0].is_none(), "claimed work leaves the frontier permanently"); + assert_eq!( + state.priority_updates, 1, + "claiming from a single-mutant file rekeys that file, not the original population" + ); + assert_eq!(state.heads.len(), 1); + } + + #[test] + fn scheduler_rekeys_only_candidates_in_a_changed_file() { + let unrelated = 10_000; + let mut work = (0..unrelated) + .map(|index| scheduled(index + 1, &format!("unrelated-{index}"), "a", 1, 0, false, index)) + .collect::>(); + work.extend([ + scheduled(0, "scout", "a", 1, 2, false, unrelated), + scheduled(0, "sibling", "b", 1, 2, false, unrelated + 1), + scheduled(0, "hinted", "b", 1, 2, true, unrelated + 2), + ]); + let scheduler = Scheduler::new(work, unrelated + 1); + let mut state = scheduler.state.lock().expect("scheduler state is healthy"); + state.priority_updates = 0; + state.active_files[0] = 1; + state.active_items.insert((0, "scout".to_owned().into()), 1); + + scheduler.refresh_file(&mut state, 0); + + assert_eq!( + state.priority_updates, 3, + "a file-state change rekeys only the candidates indexed under that file" + ); + assert!(state.priorities[..unrelated].iter().all(Option::is_some)); + } + + #[test] + fn scheduler_balances_learning_value_cost_long_work_and_stable_order() { + let scheduler = Scheduler::new( + vec![ + scheduled(0, "low-value", "a", 20, 2, false, 3), + scheduled(1, "high-value", "a", 5, 2, false, 2), + scheduled(2, "long", "a", 10, 4, false, 1), + scheduled(3, "stable", "a", 10, 4, false, 0), + ], + 4, + ); + let state = scheduler.state.lock().expect("scheduler state is healthy"); + + assert_eq!( + Scheduler::select(&state), + Some(3), + "learning per estimated cost wins, then equal value keeps useful long work and stable order" + ); + } + + #[test] + fn scheduler_preserves_package_fairness_at_assignment_time() { + let scheduler = Scheduler::new( + vec![ + scheduled(0, "a1", "a", 20, 0, false, 0), + scheduled(1, "a2", "a", 20, 0, false, 1), + scheduled(2, "b1", "b", 1, 0, false, 2), + ], + 3, + ); + let abandoned = OnceLock::new(); + + assert_eq!(scheduler.claim(&abandoned), Some(0)); + assert_eq!( + scheduler.claim(&abandoned), + Some(2), + "a package that has not received a turn outranks another assignment from the leading package" + ); + } + + #[test] + fn hinted_work_may_share_an_active_item() { + let scheduler = Arc::new(Scheduler::new( + vec![ + scheduled(0, "same", "a", 10, 1, false, 0), + scheduled(0, "same", "a", 10, 1, true, 1), + ], + 1, + )); + let abandoned = OnceLock::new(); + + assert_eq!(scheduler.claim(&abandoned), Some(0)); + assert_eq!(scheduler.claim(&abandoned), Some(1)); + } + + #[test] + fn unwinding_assignment_releases_its_reservation_and_wakes_follow_on_work() { + let scheduler = Scheduler::new( + vec![ + scheduled(0, "same", "a", 10, 1, false, 0), + scheduled(0, "same", "a", 10, 1, false, 1), + ], + 1, + ); + let abandoned = OnceLock::new(); + + let panic = std::panic::catch_unwind(std::panic::AssertUnwindSafe(|| { + let assignment = scheduler.assignment(&abandoned).expect("the first mutant is assigned"); + assert_eq!(assignment.index(), 0); + panic!("simulated worker failure"); + })); + + assert!(panic.is_err()); + assert_eq!( + scheduler.claim(&abandoned), + Some(1), + "dropping a panicking assignment releases its item and file reservations" + ); + } + + #[test] + fn conflicting_tail_waits_for_a_state_change_without_reserving_work() { + let scheduler = Arc::new(Scheduler::new( + vec![ + scheduled(0, "same", "a", 10, 2, false, 0), + scheduled(0, "same", "a", 10, 2, false, 1), + scheduled(0, "same", "a", 10, 2, false, 2), + ], + 1, + )); + let abandoned = Arc::new(OnceLock::new()); + assert_eq!(scheduler.claim(&abandoned), Some(0)); + + let (sent, received) = mpsc::channel(); + let waiting_scheduler = Arc::clone(&scheduler); + let waiting_abandoned = Arc::clone(&abandoned); + let waiter = thread::spawn(move || { + let _sent = sent.send(waiting_scheduler.claim(&waiting_abandoned)); }); - assert!(panicked, "the fixture must actually poison the lock"); - assert!(learning.state.is_poisoned(), "the fixture must actually poison the lock"); + assert!( + received.recv_timeout(Duration::from_millis(30)).is_err(), + "the conflicting tail must wait for notification" + ); + { + let state = scheduler.state.lock().expect("scheduler state is healthy"); + assert!(state.remaining[1], "waiting must not reserve the sibling"); + assert_eq!(state.active_files[0], 1); + } + + scheduler.complete(0); + assert_eq!( + received.recv_timeout(Duration::from_secs(1)).expect("completion wakes the waiter"), + Some(1) + ); + waiter.join().expect("the waiter exits normally"); + } + + #[test] + fn learning_is_published_before_a_related_follow_on_assignment() { + let scheduler = Scheduler::new( + vec![ + scheduled(0, "same", "a", 10, 2, false, 0), + scheduled(0, "same", "a", 10, 2, false, 1), + scheduled(0, "same", "a", 10, 2, false, 2), + ], + 1, + ); + let abandoned = OnceLock::new(); + let learning = FileLearning::new(); + + assert_eq!(scheduler.claim(&abandoned), Some(0)); + learning.publish("same", &Judgement::Reached(Outcome::Killed, Some(killer("tests::learned")), None)); + scheduler.complete(0); + assert_eq!(scheduler.claim(&abandoned), Some(1)); + assert!(matches!(&learning.candidates("same")[0], Candidate::Exact(found) if found.test == "tests::learned")); + assert_eq!( + scheduler.claim(&abandoned), + Some(2), + "published learning removes cold-scout spacing from informed siblings" + ); + } - // The state is still one of its legal values, and both the read and the publication go - // through rather than unwinding. - let recovered = learning.locked(); + #[test] + fn long_running_scouts_do_not_block_unrelated_work_or_race_same_item_siblings() { + let scheduler = Arc::new(Scheduler::new( + vec![ + scheduled(0, "scouted", "a", 100, 1, false, 0), + scheduled(0, "scouted", "a", 100, 1, false, 1), + scheduled(1, "unrelated", "a", 1, 0, false, 2), + ], + 2, + )); + let abandoned = Arc::new(OnceLock::new()); + let (started, scout_started) = mpsc::channel(); + let (release, released) = mpsc::channel(); + let scout_scheduler = Arc::clone(&scheduler); + let scout_abandoned = Arc::clone(&abandoned); + let scout = thread::spawn(move || { + let index = scout_scheduler.claim(&scout_abandoned).expect("the scout is assigned"); + let _sent = started.send(index); + released.recv().expect("the test eventually releases the long-running scout"); + scout_scheduler.complete(index); + }); - assert!(matches!(&*recovered, Learning::InProgress), "{recovered:?}"); - drop(recovered); + assert_eq!(scout_started.recv().expect("the scout starts"), 0); + assert_eq!( + scheduler.claim(&abandoned), + Some(2), + "unrelated work proceeds while the scout remains active" + ); + { + let state = scheduler.state.lock().expect("scheduler state is healthy"); + assert!(state.remaining[1], "the same-item sibling remains unreserved"); + } - learning.publish(&Judgement::Reached(Outcome::Killed, Some(killer("tests::after")), None)); + scheduler.complete(2); + release.send(()).expect("the scout can be released"); + scout.join().expect("the scout exits normally"); + assert_eq!(scheduler.claim(&abandoned), Some(1)); + } - match &*learning.locked() { - Learning::Learned(known) => assert_eq!(known.test, "tests::after"), - other => panic!("a poisoned lock swallowed the publication: {other:?}"), + #[test] + fn equivalent_serial_and_dynamic_schedules_produce_the_same_verdicts() { + let (_directory, work, serial_template, binaries) = helper_harness(&["exit:1"]); + let template = serial_template.mutants[0].clone(); + let mutants = || { + (0..4) + .map(|index| { + let mut mutant = template.clone(); + mutant.id = format!("m{index}").into(); + mutant.ordinal = u32::try_from(index + 1).expect("four mutants fit in u32"); + mutant.file = Utf8PathBuf::from(format!("src/{index}.rs")).into(); + mutant.item_path = format!("subject::f{index}").into(); + mutant + }) + .collect() + }; + let mut serial = serial_template; + serial.mutants = mutants(); + let mut dynamic = one_mutant_plan(work.root.clone()); + dynamic.mutants = mutants(); + let scope = TestScope { + packages: &[], + package_local: false, + whole_workspace: true, + }; + let serial_reach = Reachability::build(&serial, &binaries, &scope); + let dynamic_reach = Reachability::build(&dynamic, &binaries, &scope); + + for (plan, reach, jobs) in [(&mut serial, serial_reach, 1), (&mut dynamic, dynamic_reach, 4)] { + let _spent = test_all( + &work, + plan, + &reach, + Sweep { + jobs, + confirm: false, + ..sweep(Stall::NONE) + }, + false, + &mut Killers::default(), + &mut crate::testing::Recorder::default(), + ) + .expect("the sweep completes"); } + + assert_eq!( + serial.mutants.iter().map(|mutant| mutant.outcome).collect::>(), + dynamic.mutants.iter().map(|mutant| mutant.outcome).collect::>() + ); + assert!(serial.mutants.iter().all(|mutant| mutant.outcome == Outcome::Killed)); } } diff --git a/crates/cargo-gamma-lib/src/exec/sync.rs b/crates/cargo-gamma-lib/src/exec/sync.rs index abfcc30c6..f13652fa3 100644 --- a/crates/cargo-gamma-lib/src/exec/sync.rs +++ b/crates/cargo-gamma-lib/src/exec/sync.rs @@ -11,7 +11,7 @@ use std::collections::HashSet; use std::fs::{self, File, FileTimes}; -use std::io::{ErrorKind, Read}; +use std::io::{BufRead, BufReader, ErrorKind, Read}; use std::sync::Mutex; use std::time::SystemTime; @@ -24,7 +24,7 @@ use crate::error::{Error, error}; use crate::exec::copy::{CopyOptions, Reflinks, copy_tree_with, is_pruned, tracked_files}; /// Outcome of a delta synchronization attempt. -#[derive(Debug)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] pub(super) enum SyncOutcome { /// The existing tree was updated in place. Synchronized, @@ -109,8 +109,15 @@ fn delta_sync(source: &Utf8Path, root: &Utf8Path, skip: &Utf8Path, options: Copy // Collect the set of relative paths the source tree produces. let expected = collect_source_entries(source, skip, options)?; - // Synchronize: copy new/changed, leave unchanged. - for relative in &expected { + // Synchronize parents before their descendants so type mismatches cannot redirect writes. + let mut ordered: Vec<_> = expected.iter().collect(); + ordered.sort_unstable_by(|left, right| { + left.components() + .count() + .cmp(&right.components().count()) + .then_with(|| left.cmp(right)) + }); + for relative in ordered { let src = source.join(relative); let dst = root.join(relative); sync_entry(&src, &dst, reflinks)?; @@ -151,16 +158,13 @@ fn collect_source_entries(source: &Utf8Path, skip: &Utf8Path, options: CopyOptio let entry = match entry { Ok(entry) => entry, Err(cause) => { - record(failure, error!("could not read the source tree").caused_by(cause)); + record_walk_failure(failure, cause); return WalkState::Quit; } }; let Some(path) = Utf8Path::from_path(entry.path()) else { - record( - failure, - error!("`{}` is not valid UTF-8 and cannot be synchronized", entry.path().display()), - ); + record_invalid_path(failure, entry.path()); return WalkState::Quit; }; @@ -168,11 +172,11 @@ fn collect_source_entries(source: &Utf8Path, skip: &Utf8Path, options: CopyOptio return WalkState::Continue; }; - if relative.as_str().is_empty() { + if is_walk_root(relative) { return WalkState::Continue; } - if is_pruned(path, relative, &excluded) { + if pruned_entry(path, relative, &excluded) { return WalkState::Skip; } @@ -184,7 +188,7 @@ fn collect_source_entries(source: &Utf8Path, skip: &Utf8Path, options: CopyOptio }); if let Some(cause) = failure.into_inner().unwrap_or_else(std::sync::PoisonError::into_inner) { - return Err(cause); + return collection_failure(cause); } let mut result = entries.into_inner().unwrap_or_else(std::sync::PoisonError::into_inner); @@ -192,9 +196,9 @@ fn collect_source_entries(source: &Utf8Path, skip: &Utf8Path, options: CopyOptio // Include tracked files that the ignore walk may have skipped, same as copy_tracked does. if let Some(tracked) = tracked_files(source)? { for relative in tracked { - if !is_pruned_anywhere(source, &relative, skip) { + if tracked_path_allowed(source, &relative, skip) { let src = source.join(&relative); - if fs::symlink_metadata(src.as_std_path()).is_ok() { + if source_entry_exists(&src) { let _inserted = result.insert(relative); } } @@ -226,14 +230,17 @@ fn sync_entry(source: &Utf8Path, destination: &Utf8Path, reflinks: &Reflinks) -> let src_meta = fs::symlink_metadata(source.as_std_path()).map_err(|cause| error!("could not read `{source}`").caused_by(cause))?; if src_meta.is_dir() { - if !destination.as_std_path().exists() { - fs::create_dir_all(destination.as_std_path()).map_err(|cause| error!("could not create `{destination}`").caused_by(cause))?; - } else if !destination.as_std_path().is_dir() { - // A non-directory where a directory should be — replace it. - fs::remove_file(destination.as_std_path()) - .map_err(|cause| error!("could not remove stale entry at `{destination}`").caused_by(cause))?; - fs::create_dir_all(destination.as_std_path()).map_err(|cause| error!("could not create `{destination}`").caused_by(cause))?; + match fs::symlink_metadata(destination.as_std_path()) { + Ok(dst_meta) if dst_meta.is_dir() => return Ok(()), + Ok(_) => { + // A symlink or other non-directory where a directory should be — replace it. + remove_stale_entry(destination) + .map_err(|cause| error!("could not remove stale entry at `{destination}`").caused_by(cause))?; + } + Err(cause) if is_not_found(&cause) => {} + Err(cause) => return Err(error!("could not inspect `{destination}`").caused_by(cause)), } + fs::create_dir_all(destination.as_std_path()).map_err(|cause| error!("could not create `{destination}`").caused_by(cause))?; return Ok(()); } @@ -252,7 +259,7 @@ fn sync_file(source: &Utf8Path, destination: &Utf8Path, src_meta: &fs::Metadata, Ok(dst_meta) => { if dst_meta.is_symlink() || dst_meta.is_dir() { // Type mismatch — remove and recopy. - if dst_meta.is_dir() { + if metadata_is_directory(&dst_meta) { fs::remove_dir_all(destination.as_std_path()) .map_err(|cause| error!("could not remove stale directory at `{destination}`").caused_by(cause))?; } else { @@ -269,7 +276,7 @@ fn sync_file(source: &Utf8Path, destination: &Utf8Path, src_meta: &fs::Metadata, if needs_copy { // Ensure parent exists. if let Some(parent) = destination.parent() - && !parent.as_std_path().exists() + && missing_directory(parent) { fs::create_dir_all(parent.as_std_path()).map_err(|cause| error!("could not create `{parent}`").caused_by(cause))?; } @@ -285,7 +292,7 @@ fn sync_file(source: &Utf8Path, destination: &Utf8Path, src_meta: &fs::Metadata, } fn file_differs(source: &Utf8Path, destination: &Utf8Path, src: &fs::Metadata, dst: &fs::Metadata) -> Result { - if src.len() != dst.len() { + if different_lengths(src, dst) { return Ok(true); } @@ -306,28 +313,40 @@ fn file_differs(source: &Utf8Path, destination: &Utf8Path, src: &fs::Metadata, d } fn same_contents(left: &Utf8Path, right: &Utf8Path) -> Result { - let mut left = File::open(left.as_std_path()).map_err(|cause| error!("could not read `{left}`").caused_by(cause))?; - let mut right = File::open(right.as_std_path()).map_err(|cause| error!("could not read `{right}`").caused_by(cause))?; - let mut left_buffer = [0_u8; 16 * 1024]; - let mut right_buffer = [0_u8; 16 * 1024]; + let left = File::open(left.as_std_path()).map_err(|cause| error!("could not read `{left}`").caused_by(cause))?; + let right = File::open(right.as_std_path()).map_err(|cause| error!("could not read `{right}`").caused_by(cause))?; + + readers_have_same_contents(left, right).map_err(|cause| error!("could not compare scratch input").caused_by(cause)) +} + +fn readers_have_same_contents(left: impl Read, right: impl Read) -> std::io::Result { + // #[gamma::skip(all, reason = "buffer capacity changes only how identical byte streams are chunked; fill_buf/consume explicitly aligns independent chunk boundaries")] + let mut left = BufReader::with_capacity(16 * 1024, left); + // #[gamma::skip(all, reason = "buffer capacity changes only how identical byte streams are chunked; fill_buf/consume explicitly aligns independent chunk boundaries")] + let mut right = BufReader::with_capacity(16 * 1024, right); loop { - let left_read = left - .read(&mut left_buffer) - .map_err(|cause| error!("could not compare scratch input").caused_by(cause))?; - let right_read = right - .read(&mut right_buffer) - .map_err(|cause| error!("could not compare scratch input").caused_by(cause))?; - - if left_read != right_read { - return Ok(false); - } - if left_buffer[..left_read] != right_buffer[..left_read] { + let (compared, left_eof, right_eof, equal) = { + let left_buffer = left.fill_buf()?; + let right_buffer = right.fill_buf()?; + let compared = left_buffer.len().min(right_buffer.len()); + ( + compared, + left_buffer.is_empty(), + right_buffer.is_empty(), + left_buffer[..compared] == right_buffer[..compared], + ) + }; + + if !equal || left_eof != right_eof { return Ok(false); } - if left_read == 0 { + if left_eof { return Ok(true); } + + left.consume(compared); + right.consume(compared); } } @@ -338,12 +357,12 @@ fn sync_symlink(source: &Utf8Path, destination: &Utf8Path) -> Result<()> { let needs_recreate = match fs::symlink_metadata(destination.as_std_path()) { Err(_) => true, Ok(dst_meta) => { - if dst_meta.is_symlink() { + if metadata_is_symlink(&dst_meta) { // Both are symlinks — compare targets. - fs::read_link(destination.as_std_path()).map_or(true, |dst_target| dst_target != src_target) + link_target_differs(destination, &src_target) } else { // Type mismatch — remove what is there. - if dst_meta.is_dir() { + if metadata_is_directory(&dst_meta) { fs::remove_dir_all(destination.as_std_path()) .map_err(|cause| error!("could not remove stale directory at `{destination}`").caused_by(cause))?; } else { @@ -355,7 +374,7 @@ fn sync_symlink(source: &Utf8Path, destination: &Utf8Path) -> Result<()> { } }; - if needs_recreate { + if should_recreate_link(needs_recreate) { let _removed = fs::remove_file(destination.as_std_path()); if let Some(parent) = destination.parent() @@ -370,10 +389,7 @@ fn sync_symlink(source: &Utf8Path, destination: &Utf8Path) -> Result<()> { #[cfg(windows)] { - let linked = if source - .parent() - .map_or_else(|| src_target.is_dir(), |parent| parent.as_std_path().join(&src_target).is_dir()) - { + let linked = if source_link_targets_directory(source, &src_target) { std::os::windows::fs::symlink_dir(&src_target, destination.as_std_path()) } else { std::os::windows::fs::symlink_file(&src_target, destination.as_std_path()) @@ -388,17 +404,17 @@ fn sync_symlink(source: &Utf8Path, destination: &Utf8Path) -> Result<()> { fn copy_file_for_sync(source: &Utf8Path, destination: &Utf8Path, reflinks: &Reflinks) -> Result<()> { let copied_at = SystemTime::now(); - if reflinks.worth_trying() { + if should_try_reflink(reflinks) { match reflink_copy::reflink(source.as_std_path(), destination.as_std_path()) { Ok(()) => { stamp_mtime(destination, copied_at)?; return Ok(()); } - Err(cause) if cause.kind() == ErrorKind::NotFound => { - return Err(error!("could not copy `{source}` to `{destination}`").caused_by(cause)); + Err(cause) if is_not_found(&cause) => { + return copy_failure(source, destination, cause); } Err(_unsupported) => { - reflinks.unsupported(); + mark_reflinks_unsupported(reflinks); let _removed = fs::remove_file(destination.as_std_path()); } } @@ -430,21 +446,21 @@ fn remove_stale(root: &Utf8Path, expected: &HashSet) -> Result<()> let mut stale_files: Vec = Vec::new(); let mut stale_dirs: Vec = Vec::new(); - for entry in WalkDir::new(root.as_std_path()).into_iter().filter_map(core::result::Result::ok) { + 'entries: for entry in WalkDir::new(root.as_std_path()).into_iter().filter_map(core::result::Result::ok) { let Some(path) = Utf8Path::from_path(entry.path()) else { - continue; + continue 'entries; }; let Ok(relative) = path.strip_prefix(root) else { - continue; + continue 'entries; }; - if relative.as_str().is_empty() { - continue; + if is_walk_root(relative) { + continue 'entries; } if !expected.contains(relative) { - if entry.file_type().is_dir() { + if walk_entry_is_directory(&entry) { stale_dirs.push(path.to_owned()); } else { stale_files.push(path.to_owned()); @@ -455,21 +471,21 @@ fn remove_stale(root: &Utf8Path, expected: &HashSet) -> Result<()> // Remove stale files first. for file in &stale_files { fs::remove_file(file.as_std_path()) - .or_else(|cause| if cause.kind() == ErrorKind::NotFound { Ok(()) } else { Err(cause) }) + .or_else(ignore_not_found) .map_err(|cause| error!("could not remove stale file `{file}`").caused_by(cause))?; } // Remove stale directories deepest-first so that parents are empty when reached. - stale_dirs.sort_by_key(|path| core::cmp::Reverse(path.as_str().len())); + sort_stale_directories(&mut stale_dirs); for dir in &stale_dirs { // Only remove if truly empty (children may have been expected). match fs::remove_dir(dir.as_std_path()) { Ok(()) => {} - Err(cause) if cause.kind() == ErrorKind::NotFound => {} + Err(cause) if is_not_found(&cause) => {} // Not empty — some children were expected; leave it. - Err(cause) if is_not_empty_error(&cause) => {} + Err(cause) if directory_has_expected_children(&cause) => {} Err(cause) => { - return Err(error!("could not remove stale directory `{dir}`").caused_by(cause)); + return stale_directory_failure(dir, cause); } } } @@ -477,6 +493,117 @@ fn remove_stale(root: &Utf8Path, expected: &HashSet) -> Result<()> Ok(()) } +fn record_walk_failure(failure: &Mutex>, cause: ignore::Error) { + record(failure, error!("could not read the source tree").caused_by(cause)); +} + +fn record_invalid_path(failure: &Mutex>, path: &std::path::Path) { + record( + failure, + error!("`{}` is not valid UTF-8 and cannot be synchronized", path.display()), + ); +} + +fn is_walk_root(relative: &Utf8Path) -> bool { + relative.as_str().is_empty() +} + +fn pruned_entry(path: &Utf8Path, relative: &Utf8Path, excluded: &Utf8Path) -> bool { + is_pruned(path, relative, excluded) +} + +fn collection_failure(cause: Error) -> Result { + Err(cause) +} + +fn tracked_path_allowed(source: &Utf8Path, relative: &Utf8Path, skip: &Utf8Path) -> bool { + !is_pruned_anywhere(source, relative, skip) +} + +fn source_entry_exists(path: &Utf8Path) -> bool { + fs::symlink_metadata(path.as_std_path()).is_ok() +} + +fn remove_stale_entry(path: &Utf8Path) -> std::io::Result<()> { + match fs::remove_file(path.as_std_path()) { + Ok(()) => Ok(()), + #[cfg(windows)] + Err(_) => fs::remove_dir(path.as_std_path()), + #[cfg(not(windows))] + Err(cause) => Err(cause), + } +} + +fn metadata_is_directory(metadata: &fs::Metadata) -> bool { + metadata.is_dir() +} + +fn metadata_is_symlink(metadata: &fs::Metadata) -> bool { + metadata.is_symlink() +} + +fn missing_directory(path: &Utf8Path) -> bool { + !path.as_std_path().exists() +} + +fn different_lengths(left: &fs::Metadata, right: &fs::Metadata) -> bool { + left.len() != right.len() +} + +fn link_target_differs(destination: &Utf8Path, source_target: &std::path::Path) -> bool { + match fs::read_link(destination.as_std_path()) { + Ok(target) => target != source_target, + Err(_) => true, + } +} + +const fn should_recreate_link(needs_recreate: bool) -> bool { + needs_recreate +} + +#[cfg(windows)] +fn source_link_targets_directory(source: &Utf8Path, target: &std::path::Path) -> bool { + source + .parent() + .map_or_else(|| target.is_dir(), |parent| parent.as_std_path().join(target).is_dir()) +} + +fn should_try_reflink(reflinks: &Reflinks) -> bool { + reflinks.worth_trying() +} + +fn is_not_found(cause: &std::io::Error) -> bool { + cause.kind() == ErrorKind::NotFound +} + +fn copy_failure(source: &Utf8Path, destination: &Utf8Path, cause: std::io::Error) -> Result { + Err(error!("could not copy `{source}` to `{destination}`").caused_by(cause)) +} + +fn mark_reflinks_unsupported(reflinks: &Reflinks) { + reflinks.unsupported(); +} + +fn ignore_not_found(cause: std::io::Error) -> std::io::Result<()> { + if is_not_found(&cause) { Ok(()) } else { Err(cause) } +} + +fn sort_stale_directories(paths: &mut [Utf8PathBuf]) { + paths.sort_by_key(|path| core::cmp::Reverse(path.as_str().len())); +} + +fn walk_entry_is_directory(entry: &walkdir::DirEntry) -> bool { + entry.file_type().is_dir() +} + +fn stale_directory_failure(dir: &Utf8Path, cause: std::io::Error) -> Result { + Err(error!("could not remove stale directory `{dir}`").caused_by(cause)) +} + +fn directory_has_expected_children(cause: &std::io::Error) -> bool { + is_not_empty_error(cause) +} + /// Checks if an IO error indicates the directory is not empty. fn is_not_empty_error(err: &std::io::Error) -> bool { // On Unix, ENOTEMPTY; on Windows, ERROR_DIR_NOT_EMPTY. @@ -498,10 +625,187 @@ fn record(failure: &Mutex>, cause: Error) { #[cfg(not(miri))] mod tests { use core::time::Duration; - use std::thread; + use std::process::Command; + use std::{io, thread}; use super::*; + #[test] + fn directory_not_empty_classification_accepts_only_the_portable_and_platform_codes() { + assert!(is_not_empty_error(&io::Error::from(ErrorKind::DirectoryNotEmpty))); + for code in [39, 66] { + assert!(is_not_empty_error(&io::Error::from_raw_os_error(code)), "code {code}"); + } + for code in [0, 1, 38, 40, 65, 67] { + assert!(!is_not_empty_error(&io::Error::from_raw_os_error(code)), "code {code}"); + } + assert!(!is_not_empty_error(&io::Error::other("different failure"))); + assert!(directory_has_expected_children(&io::Error::from(ErrorKind::DirectoryNotEmpty))); + assert!(!directory_has_expected_children(&io::Error::other("different failure"))); + } + + #[test] + fn pruning_checks_every_prefix_and_not_only_the_leaf() { + let root = Utf8Path::new("C:/workspace"); + let excluded = root.join("target"); + + assert!(is_pruned_anywhere(root, Utf8Path::new("target/deep/file"), &excluded)); + assert!(!is_pruned_anywhere(root, Utf8Path::new("src/target/file"), &excluded)); + assert!(!is_pruned_anywhere(root, Utf8Path::new("src/lib.rs"), &excluded)); + } + + #[test] + fn content_comparison_distinguishes_empty_prefix_and_boundary_differences() { + assert!(readers_have_same_contents(io::Cursor::new([]), io::Cursor::new([])).unwrap()); + assert!(!readers_have_same_contents(io::Cursor::new([]), io::Cursor::new([1])).unwrap()); + assert!(!readers_have_same_contents(io::Cursor::new([1]), io::Cursor::new([])).unwrap()); + + let mut left = vec![b'a'; 16 * 1024 + 1]; + let mut right = left.clone(); + right[16 * 1024] = b'b'; + assert!(!readers_have_same_contents(io::Cursor::new(&left), io::Cursor::new(&right)).unwrap()); + left[16 * 1024] = b'b'; + assert!(readers_have_same_contents(io::Cursor::new(&left), io::Cursor::new(&right)).unwrap()); + } + + #[test] + fn every_successful_sync_path_restores_the_consistency_sentinel() { + let (_temporary, from, to) = tree(); + let skip = from.join("target"); + fs::write(from.join("file"), "one").expect("source"); + + assert_eq!( + sync_or_copy(&from, &to, &skip, CopyOptions::default()).unwrap(), + SyncOutcome::FreshCopy + ); + assert!(is_consistent(&to)); + + fs::write(from.join("file"), "two").expect("changed source"); + assert_eq!( + sync_or_copy(&from, &to, &skip, CopyOptions::default()).unwrap(), + SyncOutcome::Synchronized + ); + assert!(is_consistent(&to)); + assert_eq!(fs::read_to_string(to.join("file")).unwrap(), "two"); + + clear_sentinel(&to); + assert!(!is_consistent(&to)); + assert_eq!( + sync_or_copy(&from, &to, &skip, CopyOptions::default()).unwrap(), + SyncOutcome::FreshCopy + ); + assert!(is_consistent(&to)); + } + + #[test] + fn source_collection_obeys_hidden_ignore_pruning_and_link_boundaries() { + let (_temporary, from, _to) = tree(); + fs::write(from.join(".gitignore"), "ignored.txt\n").expect("ignore"); + fs::write(from.join(".hidden"), "hidden").expect("hidden"); + fs::write(from.join("ignored.txt"), "ignored").expect("ignored"); + fs::create_dir_all(from.join("real")).expect("real directory"); + fs::write(from.join("real/file"), "real").expect("real file"); + let skip = from.join("real"); + let status = Command::new("git") + .args(["init", "--quiet"]) + .current_dir(&from) + .status() + .expect("git runs"); + assert!(status.success()); + + let ignored = collect_source_entries(&from, &skip, CopyOptions::default()).expect("default collection"); + assert!(ignored.contains(Utf8Path::new(".hidden"))); + assert!(!ignored.contains(Utf8Path::new("ignored.txt"))); + assert!(!ignored.iter().any(|path| path.starts_with("real"))); + + let included = collect_source_entries(&from, &skip, CopyOptions { copy_ignored: true }).expect("ignored-file collection"); + assert!(included.contains(Utf8Path::new(".hidden"))); + assert!(included.contains(Utf8Path::new("ignored.txt"))); + assert!(!included.iter().any(|path| path.starts_with("real"))); + } + + #[test] + fn synchronization_predicates_distinguish_every_file_state() { + let (_temporary, from, to) = tree(); + fs::write(from.join("file"), "abc").expect("source"); + fs::create_dir_all(&to).expect("destination"); + fs::write(to.join("same"), "abc").expect("same"); + fs::write(to.join("longer"), "abcd").expect("longer"); + fs::create_dir_all(to.join("directory")).expect("directory"); + + assert!(is_walk_root(Utf8Path::new(""))); + assert!(!is_walk_root(Utf8Path::new("file"))); + assert!(source_entry_exists(&from.join("file"))); + assert!(!source_entry_exists(&from.join("missing"))); + assert!(missing_directory(&to.join("missing"))); + assert!(!missing_directory(&to)); + + let same = fs::metadata(to.join("same")).unwrap(); + let longer = fs::metadata(to.join("longer")).unwrap(); + let directory = fs::metadata(to.join("directory")).unwrap(); + assert!(!different_lengths(&same, &same)); + assert!(different_lengths(&same, &longer)); + assert!(metadata_is_directory(&directory)); + assert!(!metadata_is_directory(&same)); + assert!(!metadata_is_symlink(&same)); + assert!(should_recreate_link(true)); + assert!(!should_recreate_link(false)); + assert!(is_not_found(&io::Error::from(ErrorKind::NotFound))); + assert!(!is_not_found(&io::Error::other("other"))); + ignore_not_found(io::Error::from(ErrorKind::NotFound)).unwrap(); + assert!(ignore_not_found(io::Error::other("other")).is_err()); + + let mut paths = vec![Utf8PathBuf::from("a"), Utf8PathBuf::from("a/b/c"), Utf8PathBuf::from("a/b")]; + sort_stale_directories(&mut paths); + assert_eq!(paths, ["a/b/c", "a/b", "a"]); + } + + struct ScheduledReader<'a> { + bytes: &'a [u8], + schedule: &'a [usize], + offset: usize, + turn: usize, + } + + impl Read for ScheduledReader<'_> { + fn read(&mut self, buf: &mut [u8]) -> io::Result { + if self.offset == self.bytes.len() { + return Ok(0); + } + + let scheduled = self.schedule[self.turn % self.schedule.len()]; + self.turn += 1; + let count = scheduled.min(buf.len()).min(self.bytes.len() - self.offset); + buf[..count].copy_from_slice(&self.bytes[self.offset..self.offset + count]); + self.offset += count; + Ok(count) + } + } + + fn scheduled_reader<'a>(bytes: &'a [u8], schedule: &'a [usize]) -> ScheduledReader<'a> { + ScheduledReader { + bytes, + schedule, + offset: 0, + turn: 0, + } + } + + #[test] + fn content_comparison_aligns_independent_short_reads() { + let bytes = b"independent short reads must not change equality"; + + assert!(readers_have_same_contents(scheduled_reader(bytes, &[1, 7, 2]), scheduled_reader(bytes, &[9, 3])).unwrap()); + assert!( + !readers_have_same_contents( + scheduled_reader(bytes, &[1, 7, 2]), + scheduled_reader(b"independent short reads must not change equalitx", &[9, 3]), + ) + .unwrap() + ); + assert!(!readers_have_same_contents(scheduled_reader(bytes, &[8]), scheduled_reader(&bytes[..bytes.len() - 1], &[8])).unwrap()); + } + fn tree() -> (tempfile::TempDir, Utf8PathBuf, Utf8PathBuf) { let temporary = tempfile::tempdir().unwrap(); let from = Utf8PathBuf::from_path_buf(temporary.path().join("from")).unwrap(); @@ -628,6 +932,53 @@ mod tests { assert_eq!(fs::read_link(to.join("link").as_std_path()).unwrap().to_str().unwrap(), "other.txt"); } + #[cfg(windows)] + #[test] + fn symlinks_are_synchronized() { + let (_tmp, from, to) = tree(); + let skip = Utf8Path::new(r"C:\nowhere"); + fs::write(from.join("target.txt"), "real").expect("first target"); + fs::write(from.join("other.txt"), "other").expect("second target"); + std::os::windows::fs::symlink_file("target.txt", from.join("link")).expect("source link"); + + let _ = sync_or_copy(&from, &to, skip, CopyOptions::default()).expect("initial copy"); + assert_eq!( + fs::read_link(to.join("link")).expect("copied link"), + std::path::PathBuf::from("target.txt") + ); + + fs::remove_file(from.join("link")).expect("old source link"); + std::os::windows::fs::symlink_file("other.txt", from.join("link")).expect("changed source link"); + let _ = sync_or_copy(&from, &to, skip, CopyOptions::default()).expect("changed copy"); + + assert_eq!( + fs::read_link(to.join("link")).expect("updated link"), + std::path::PathBuf::from("other.txt") + ); + } + + #[cfg(windows)] + #[test] + fn symlinks_replace_stale_directories_and_create_missing_parents() { + let (_tmp, from, to) = tree(); + let source = from.join("link"); + let destination = to.join("nested/link"); + fs::write(from.join("target.txt"), "real").expect("target"); + std::os::windows::fs::symlink_file("target.txt", &source).expect("source link"); + fs::create_dir_all(&destination).expect("stale directory"); + + sync_symlink(&source, &destination).expect("replace directory with link"); + assert!(fs::symlink_metadata(&destination).expect("link metadata").is_symlink()); + + fs::remove_file(&destination).expect("remove copied link"); + fs::remove_dir(destination.parent().expect("parent")).expect("remove empty parent"); + sync_symlink(&source, &destination).expect("create parent and link"); + assert_eq!( + fs::read_link(&destination).expect("link target"), + std::path::PathBuf::from("target.txt") + ); + } + /// An interrupted prior sync (no sentinel) triggers a fresh copy. #[test] fn an_interrupted_prior_sync_triggers_a_fresh_copy() { @@ -714,4 +1065,167 @@ mod tests { let outcome = sync_or_copy(&from, &to, skip, CopyOptions::default()).unwrap(); assert!(matches!(outcome, SyncOutcome::Synchronized)); } + + #[test] + fn directories_are_created_and_replace_stale_files() { + let (_tmp, from, to) = tree(); + let source_directory = from.join("nested"); + let destination = to.join("nested"); + fs::create_dir_all(&source_directory).expect("source directory"); + fs::create_dir_all(&to).expect("destination root"); + + sync_entry(&source_directory, &destination, &Reflinks::new()).expect("new directory"); + assert!(destination.is_dir()); + + fs::remove_dir(&destination).expect("empty destination directory"); + fs::write(&destination, "stale file").expect("stale file"); + sync_entry(&source_directory, &destination, &Reflinks::new()).expect("replace stale file"); + assert!(destination.is_dir()); + } + + #[test] + fn directories_replace_symlinks_without_writing_through_them() { + let (temporary, from, to) = tree(); + let skip = from.join("target"); + let source_directory = from.join("nested"); + let source_file = source_directory.join("file"); + let destination = to.join("nested"); + let external = Utf8PathBuf::from_path_buf(temporary.path().join("external")).expect("UTF-8 temporary path"); + + fs::create_dir_all(&source_directory).expect("source directory"); + fs::write(&source_file, "source contents").expect("source file"); + sync_or_copy(&from, &to, &skip, CopyOptions::default()).expect("initial copy"); + + fs::remove_dir_all(&destination).expect("old destination directory"); + fs::create_dir_all(&external).expect("external link target"); + fs::write(external.join("guard"), "untouched").expect("external guard"); + create_directory_symlink(&external, &destination); + + let outcome = sync_or_copy(&from, &to, &skip, CopyOptions::default()).expect("delta sync"); + + assert_eq!(outcome, SyncOutcome::Synchronized); + let metadata = fs::symlink_metadata(&destination).expect("destination metadata"); + assert!(metadata.is_dir()); + assert!(!metadata.is_symlink()); + assert_eq!( + fs::read_to_string(destination.join("file")).expect("synchronized file"), + "source contents" + ); + assert!(!external.join("file").exists(), "sync must not write through the stale link"); + assert_eq!(fs::read_to_string(external.join("guard")).expect("external guard"), "untouched"); + } + + #[cfg(unix)] + fn create_directory_symlink(target: &Utf8Path, link: &Utf8Path) { + std::os::unix::fs::symlink(target, link).expect("directory symlink"); + } + + #[cfg(windows)] + fn create_directory_symlink(target: &Utf8Path, link: &Utf8Path) { + std::os::windows::fs::symlink_dir(target, link).expect("directory symlink"); + } + + #[test] + fn regular_files_replace_directories_and_create_missing_parents() { + let (_tmp, from, to) = tree(); + let source = from.join("file"); + let destination = to.join("deep/file"); + fs::write(&source, "new contents").expect("source file"); + fs::create_dir_all(&destination).expect("stale directory"); + + sync_entry(&source, &destination, &Reflinks::new()).expect("replace stale directory"); + + assert_eq!(fs::read_to_string(&destination).expect("copied file"), "new contents"); + assert!(destination.parent().expect("parent").is_dir()); + } + + #[test] + fn permission_changes_make_otherwise_identical_files_differ() { + let (_tmp, from, to) = tree(); + let source = from.join("file"); + let destination = to.join("file"); + fs::create_dir_all(&to).expect("destination"); + fs::write(&source, "same").expect("source"); + fs::write(&destination, "same").expect("destination"); + + let mut permissions = fs::metadata(&source).expect("source metadata").permissions(); + permissions.set_readonly(true); + fs::set_permissions(&source, permissions).expect("readonly source"); + + let differs = file_differs( + &source, + &destination, + &fs::metadata(&source).expect("source metadata"), + &fs::metadata(&destination).expect("destination metadata"), + ) + .expect("comparison"); + + assert!(differs); + } + + #[test] + fn content_comparison_reports_open_failures() { + let (_tmp, from, _to) = tree(); + let existing = from.join("existing"); + let missing = from.join("missing"); + fs::write(&existing, "contents").expect("existing file"); + + let left = same_contents(&missing, &existing).expect_err("missing left file"); + assert!(left.to_string().contains("could not read"), "{left}"); + + let right = same_contents(&existing, &missing).expect_err("missing right file"); + assert!(right.to_string().contains("could not read"), "{right}"); + } + + #[test] + fn stale_nonempty_directories_are_retained_for_expected_children() { + let (_tmp, _from, to) = tree(); + let child = Utf8PathBuf::from("parent/kept"); + fs::create_dir_all(to.join("parent")).expect("parent"); + fs::write(to.join(&child), "kept").expect("expected child"); + let expected = HashSet::from([child.clone()]); + + remove_stale(&to, &expected).expect("stale removal"); + + assert_eq!(fs::read_to_string(to.join(child)).expect("expected child remains"), "kept"); + assert!(to.join("parent").is_dir()); + } + + #[test] + fn only_the_first_parallel_walk_failure_is_recorded() { + let failure = Mutex::new(None); + record(&failure, error!("first")); + record(&failure, error!("second")); + + let recorded = failure.into_inner().expect("unpoisoned").expect("failure"); + assert_eq!(recorded.to_string(), "first"); + } + + #[test] + fn tracked_ignored_files_are_included_but_pruned_paths_are_not() { + let (_tmp, from, to) = tree(); + fs::write(from.join(".gitignore"), "ignored.txt\nexcluded/\n").expect("ignore file"); + fs::write(from.join("ignored.txt"), "tracked despite ignore").expect("tracked file"); + fs::create_dir_all(from.join("excluded")).expect("excluded directory"); + fs::write(from.join("excluded/file"), "skip").expect("excluded file"); + + let status = Command::new("git") + .args(["init", "--quiet"]) + .current_dir(&from) + .status() + .expect("git runs"); + assert!(status.success()); + let status = Command::new("git") + .args(["add", "--force", "ignored.txt"]) + .current_dir(&from) + .status() + .expect("git add runs"); + assert!(status.success()); + + let entries = collect_source_entries(&from, &from.join("excluded"), CopyOptions::default()).expect("source entries"); + + assert!(entries.contains(Utf8Path::new("ignored.txt"))); + assert!(!entries.iter().any(|path| path.starts_with("excluded"))); + assert!(!to.exists(), "collection does not write the destination"); + } } diff --git a/crates/cargo-gamma-lib/src/exec/test_binary.rs b/crates/cargo-gamma-lib/src/exec/test_binary.rs index 3f0ccb091..52630888f 100644 --- a/crates/cargo-gamma-lib/src/exec/test_binary.rs +++ b/crates/cargo-gamma-lib/src/exec/test_binary.rs @@ -2,6 +2,7 @@ // Licensed under the MIT License. use core::time::Duration; +use std::fs; use std::sync::Arc; use camino::{Utf8Path, Utf8PathBuf}; @@ -10,6 +11,7 @@ use serde_json::Value; use super::census::{Census, CensusWork}; use super::config::Config; use super::memory::MemoryPolicy; +use super::rustc_wrapper::RustcInvocation; use crate::discover::{Glob, Plan}; use crate::estimate::Workload; use crate::model::{Mutant, Outcome}; @@ -41,6 +43,11 @@ pub struct TestBinary { /// mutant active, which turns a whole package's worth of mutants into false survivors. pub manifest_dir: Utf8PathBuf, + /// Workspace sources whose compiled units are proven to be linked into this executable. + /// + /// `None` is deliberately fail-open: capture was unavailable, incomplete, or ambiguous. + pub(crate) linked_sources: Option>, + /// How long it took with no mutant active, so the cheapest can be tried first. /// /// Measured under the same concurrency the sweep runs at, so it already carries the contention @@ -170,26 +177,34 @@ pub(super) fn harness_threads(jobs: usize, cores: usize, inherited: Option<&str> } /// Extracts the test executables cargo reported building. +#[cfg(test)] pub(super) fn test_binaries(stdout: &str) -> Vec { + test_binaries_with_linkage(stdout, Utf8Path::new(""), None) +} + +/// Extracts test executables and attaches compiler-proven source linkage when capture is complete. +pub(super) fn test_binaries_with_linkage(stdout: &str, root: &Utf8Path, capture_dir: Option<&Utf8Path>) -> Vec { + let captures = capture_dir.and_then(read_captures); + let origins = artifact_origins(stdout, root); let mut binaries = Vec::new(); - for line in stdout.lines() { + 'messages: for line in stdout.lines() { let Ok(message) = serde_json::from_str::(line) else { - continue; + continue 'messages; }; - if message.get("reason").and_then(Value::as_str) != Some("compiler-artifact") { - continue; + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if !is_compiler_artifact(&message) { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + continue 'messages; } - let is_test = message - .get("profile") - .and_then(|profile| profile.get("test")) - .and_then(Value::as_bool) - .unwrap_or(false); + let is_test = is_test_profile(&message); - if !is_test { - continue; + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if is_non_test_profile(is_test) { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + continue 'messages; } if let Some(path) = message.get("executable").and_then(Value::as_str) { @@ -202,6 +217,11 @@ pub(super) fn test_binaries(stdout: &str) -> Vec { .and_then(Value::as_str) .unwrap_or_default() .to_owned(); + let target_source = message + .get("target") + .and_then(|target| target.get("src_path")) + .and_then(Value::as_str) + .map(Utf8PathBuf::from); let manifest_dir = message .get("manifest_path") @@ -216,18 +236,279 @@ pub(super) fn test_binaries(stdout: &str) -> Vec { package_id, target, manifest_dir, + linked_sources: captures + .as_ref() + .zip(target_source.as_ref()) + .and_then(|(captures, source)| linked_sources(path, source, captures, &origins, root)), baseline: Duration::ZERO, - budget: None, - tests: None, - peak: None, - memory: None, + budget: Option::default(), + tests: Option::default(), + peak: Option::default(), + memory: Option::default(), }); } } + normalize_binaries(&mut binaries); + binaries +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +enum ArtifactOrigin { + Workspace, + Registry, + Opaque, +} + +fn artifact_origins(stdout: &str, root: &Utf8Path) -> crate::HashMap { + let mut origins = crate::HashMap::default(); + + 'messages: for line in stdout.lines() { + let Ok(message) = serde_json::from_str::(line) else { + continue 'messages; + }; + + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if !is_compiler_artifact(&message) { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + continue 'messages; + } + + let package_id = message.get("package_id").and_then(Value::as_str).unwrap_or_default(); + let manifest = manifest_path(&message); + let origin = if external_package_id(package_id) { + ArtifactOrigin::Registry + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + } else if workspace_manifest(manifest, root) { + ArtifactOrigin::Workspace + } else { + ArtifactOrigin::Opaque + }; + + for path in artifact_paths(&message) { + let _ = origins.insert(Utf8PathBuf::from(path), origin); + } + } + + origins +} + +fn read_captures(directory: &Utf8Path) -> Option> { + let mut captures: Vec = Vec::new(); + let entries = fs::read_dir(directory.as_std_path()).ok()?; + + for entry in entries { + let entry = entry.ok()?; + if entry.path().extension() != Some(std::ffi::OsStr::new("json")) { + continue; + } + let bytes = fs::read(entry.path()).ok()?; + captures.push(serde_json::from_slice(&bytes).ok()?); + } + + normalize_captures(&mut captures); + + (!captures.is_empty()).then_some(captures) +} + +fn normalize_captures(captures: &mut Vec) { + captures.sort_unstable_by(|left, right| { + left.out_dir + .cmp(&right.out_dir) + .then_with(|| left.crate_name.cmp(&right.crate_name)) + .then_with(|| left.extra_filename.cmp(&right.extra_filename)) + .then_with(|| left.source.cmp(&right.source)) + }); + captures.dedup_by(|left, right| left == right); +} + +fn linked_sources( + executable: &str, + target_source: &Utf8Path, + captures: &[RustcInvocation], + origins: &crate::HashMap, + root: &Utf8Path, +) -> Option> { + let executable = Utf8Path::new(executable); + let target_source = absolute_source(target_source, root); + let starts: Vec = captures + .iter() + .enumerate() + .filter(|(_index, capture)| capture_starts_executable(capture, executable, &target_source, root)) + .map(|(index, _capture)| index) + .collect(); + + let [start] = starts.as_slice() else { + return None; + }; + + let mut pending = vec![*start]; + let mut visited = crate::HashSet::default(); + let mut sources = crate::HashSet::default(); + + 'captures: while let Some(index) = pending.pop() { + if !visit_capture(&mut visited, index) { + continue 'captures; + } + + let capture = &captures[index]; + + if capture.opaque_extern { + return None; + } + + sources.extend(dep_sources(capture, root)?); + + 'dependencies: for dependency in &capture.externs { + match origins.get(dependency) { + Some(ArtifactOrigin::Registry) => continue 'dependencies, + Some(ArtifactOrigin::Opaque) => return None, + Some(ArtifactOrigin::Workspace) | None => {} + } + + let matches: Vec = captures + .iter() + .enumerate() + .filter(|(_candidate, invocation)| output_matches(invocation, dependency)) + .map(|(candidate, _invocation)| candidate) + .collect(); + + let [dependency] = matches.as_slice() else { + return None; + }; + + pending.push(*dependency); + } + } + + Some(sources) +} + +fn output_matches(invocation: &RustcInvocation, artifact: &Utf8Path) -> bool { + if artifact.parent() != Some(invocation.out_dir.as_path()) { + return false; + } + + let Some(file) = artifact.file_name() else { + return false; + }; + let file = file.strip_suffix(std::env::consts::EXE_SUFFIX).unwrap_or(file); + let stem = file.rsplit_once('.').map_or(file, |(stem, _extension)| stem); + let matches = |candidate: &str| { + candidate + .strip_prefix(invocation.crate_name.as_str()) + .is_some_and(|suffix| suffix == invocation.extra_filename) + }; + + matches(stem) || stem.strip_prefix("lib").is_some_and(matches) +} + +fn dep_sources(invocation: &RustcInvocation, root: &Utf8Path) -> Option> { + let primary = workspace_relative(&invocation.source, root)?; + let dep_file = invocation + .out_dir + .join(format!("{}{}.d", invocation.crate_name, invocation.extra_filename)); + let text = fs::read_to_string(dep_file.as_std_path()).ok()?; + let mut sources = Vec::new(); + let mut dependency_lines = 0_usize; + + for line in text.lines() { + let Some((_artifact, dependencies)) = line.split_once(": ") else { + continue; + }; + dependency_lines = dependency_lines.saturating_add(1); + + for dependency in super::build::messages::dependencies(dependencies) { + if let Some(relative) = workspace_relative(Utf8Path::new(&dependency), root) { + sources.push(relative); + } + } + } + + dep_sources_complete(dependency_lines, &sources, &primary).then_some(sources) +} + +fn absolute_source(path: &Utf8Path, root: &Utf8Path) -> Utf8PathBuf { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if path.is_absolute() { path.to_owned() } else { root.join(path) } +} + +fn is_compiler_artifact(message: &Value) -> bool { + message.get("reason").and_then(Value::as_str) == Some("compiler-artifact") +} + +fn is_test_profile(message: &Value) -> bool { + message + .get("profile") + .and_then(|profile| profile.get("test")) + .and_then(Value::as_bool) + == Some(true) +} + +const fn is_non_test_profile(is_test: bool) -> bool { + !is_test +} + +fn manifest_path(message: &Value) -> Option<&Utf8Path> { + message.get("manifest_path").and_then(Value::as_str).map(Utf8Path::new) +} + +fn workspace_manifest(manifest: Option<&Utf8Path>, root: &Utf8Path) -> bool { + manifest.and_then(|manifest| workspace_relative(manifest, root)).is_some() +} + +fn artifact_paths(message: &Value) -> impl Iterator { + message + .get("filenames") + .and_then(Value::as_array) + .into_iter() + .flatten() + .filter_map(Value::as_str) + .chain(message.get("executable").and_then(Value::as_str)) +} + +fn capture_starts_executable(capture: &RustcInvocation, executable: &Utf8Path, target_source: &Utf8Path, root: &Utf8Path) -> bool { + capture.test && absolute_source(&capture.source, root) == target_source && output_matches(capture, executable) +} + +fn visit_capture(visited: &mut crate::HashSet, index: usize) -> bool { + visited.insert(index) +} + +fn external_package_id(package_id: &str) -> bool { + ["registry+", "git+"].iter().any(|marker| package_id.starts_with(marker)) + || ["(registry+", "(git+"].iter().any(|marker| package_id.contains(marker)) +} + +// #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] +fn pending_mutant(mutant: &Mutant) -> bool { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + mutant.ordinal != 0 && mutant.outcome == Outcome::Pending +} + +fn normalize_binaries(binaries: &mut Vec) { binaries.sort_by(|left, right| left.path.cmp(&right.path)); binaries.dedup_by(|left, right| left.path == right.path); - binaries +} + +fn dep_sources_complete(lines: usize, sources: &[Utf8PathBuf], primary: &Utf8Path) -> bool { + lines != 0 && sources.iter().any(|source| source == primary) +} + +fn workspace_relative(path: &Utf8Path, root: &Utf8Path) -> Option { + let absolute = absolute_source(path, root); + let relative = absolute.strip_prefix(root).ok()?; + + if relative.components().any(|component| { + matches!( + component, + camino::Utf8Component::ParentDir | camino::Utf8Component::RootDir | camino::Utf8Component::Prefix(_) + ) + }) { + return no_target_selection(); + } + + Some(Utf8PathBuf::from(super::build::messages::normalize_separators(relative.as_str()))) } /// Drops the test binaries `--include-test` and `--exclude-test` say must not decide a verdict. @@ -235,7 +516,8 @@ pub(super) fn test_binaries(stdout: &str) -> Vec { /// This has to run before the baseline, not after, so the baseline only runs and measures binaries /// that will actually decide verdicts. pub(super) fn restrict(binaries: &mut Vec, include: &[String], exclude: &[String]) { - if include.is_empty() && exclude.is_empty() { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if no_target_patterns(include, exclude) { return; } @@ -244,6 +526,144 @@ pub(super) fn restrict(binaries: &mut Vec, include: &[String], exclu binaries.retain(|binary| patterns.admits(&binary.target)); } +fn no_target_patterns(include: &[String], exclude: &[String]) -> bool { + include.is_empty() && exclude.is_empty() +} + +/// Drops binaries proven not to link any pending mutated source. +/// +/// Unknown linkage remains in the population, so this can only save baseline and launch work; it +/// cannot turn missing capture into a verdict. +pub(super) fn retain_linked_to_population(binaries: &mut Vec, plan: &Plan) { + let pending: crate::HashSet<&Utf8Path> = plan + .mutants + .iter() + .filter(|mutant| pending_mutant(mutant)) + .map(|mutant| mutant.file.as_ref()) + .collect(); + + binaries.retain(|binary| { + binary + .linked_sources + .as_ref() + .is_none_or(|sources| populations_intersect(&pending, sources)) + }); +} + +/// Cargo target selectors for test artifacts that may link a pending mutated source. +/// +/// The identities come from Cargo's own successful preflight artifact messages. Any missing +/// capture, ambiguous association, or unsupported target kind abandons narrowing entirely. +pub(super) fn linked_target_args(stdout: &str, root: &Utf8Path, capture_dir: Option<&Utf8Path>, plan: &Plan) -> Option> { + let captures = read_captures(capture_dir?)?; + let origins = artifact_origins(stdout, root); + let pending: crate::HashSet<&Utf8Path> = plan + .mutants + .iter() + .filter(|mutant| pending_mutant(mutant)) + .map(|mutant| mutant.file.as_ref()) + .collect(); + let mut selectors = Vec::new(); + let mut saw_test_target = false; + + 'messages: for line in stdout.lines() { + let Ok(message) = serde_json::from_str::(line) else { + continue 'messages; + }; + + if !is_compiler_artifact(&message) + || message + .get("profile") + .and_then(|profile| profile.get("test")) + .and_then(Value::as_bool) + != Some(true) + { + continue 'messages; + } + + saw_test_target = true; + let target = message.get("target")?; + let name = target.get("name").and_then(Value::as_str)?; + let source = target.get("src_path").and_then(Value::as_str).map(Utf8Path::new)?; + let artifacts: Vec<&str> = message + .get("filenames") + .and_then(Value::as_array)? + .iter() + .filter_map(Value::as_str) + .collect(); + // Cargo's `filenames` are outputs of this compilation unit. Even a PDB or metadata output + // carries the same crate stem and is matched by `output_matches`; silently discarding one + // would let a partially captured unit look exact, so every listed output must agree. + let associations: Vec> = artifacts + .iter() + .map(|artifact| linked_sources(artifact, source, &captures, &origins, root)) + .collect::>()?; + // #[gamma::skip(iter.first_to_last, reason = "the next check requires every association to equal this slice, so choosing the first or last equal slice returns the same sources")] + let sources = associations.first()?; + + if !all_associations_equal(&associations, sources) { + return no_target_selection(); + } + + let linked = populations_intersect(&pending, sources); + + if !linked { + continue 'messages; + } + + let is_integration_test = target + .get("kind") + .and_then(Value::as_array)? + .iter() + .filter_map(Value::as_str) + .any(|kind| kind == "test"); + let selector = if is_integration_test { + ["--test".to_owned(), name.to_owned()] + } else { + // `cargo build --lib`, `--bin`, and `--example` build ordinary targets, not their + // unit-test harnesses. Cargo cannot select those harnesses exactly under `build`, so + // retain the package-scoped `--tests` fallback instead. + return no_target_selection(); + }; + + selectors.push(selector); + } + + if target_selection_failed(saw_test_target, &selectors) { + return None; + } + + selectors.sort(); + // #[gamma::skip(iter.remove_dedup, reason = "duplicate Cargo target selectors select the same target population and Cargo accepts repeated identical selector flags")] + selectors.dedup(); + + Some(selectors.into_iter().flatten().filter(|value| !value.is_empty()).collect()) +} + +fn populations_intersect(pending: &crate::HashSet<&Utf8Path>, sources: &crate::HashSet) -> bool { + pending.iter().any(|source| sources.contains(*source)) +} + +fn all_associations_equal(associations: &[crate::HashSet], sources: &crate::HashSet) -> bool { + associations.iter().all(|candidate| candidate == sources) +} + +fn census_duration(census: Option<&Census>, binary: &TestBinary, ordinal: u32) -> Option { + match census.map_or(CensusWork::Whole, |census| census.work(binary, ordinal)) { + CensusWork::Whole | CensusWork::Hinted(_) => Some(binary.baseline), + CensusWork::Uncovered => None, + CensusWork::Selected(duration) => Some(duration), + } +} + +fn target_selection_failed(saw_test_target: bool, selectors: &[[String; 2]]) -> bool { + !saw_test_target || selectors.is_empty() +} + +const fn no_target_selection() -> Option { + None +} + /// Whether a target name survives the include and exclude patterns. /// /// Exclusion is checked first and wins, which is what makes `--include-test "*"` plus a few @@ -280,8 +700,7 @@ impl<'args> TargetPatterns<'args> { } fn admits(&self, name: &str) -> bool { - !self.exclude.iter().any(|(_pattern, compiled)| compiled.matches(name)) - && (self.include.is_empty() || self.include.iter().any(|(_pattern, compiled)| compiled.matches(name))) + patterns_admit(&self.include, &self.exclude, name) } fn unmatched(&self, tests: &[String]) -> Option<&'args str> { @@ -293,6 +712,12 @@ impl<'args> TargetPatterns<'args> { } } +fn patterns_admit(include: &[(&str, Glob)], exclude: &[(&str, Glob)], name: &str) -> bool { + let excluded = exclude.iter().any(|(_pattern, compiled)| compiled.matches(name)); + let included = include.is_empty() || include.iter().any(|(_pattern, compiled)| compiled.matches(name)); + included && !excluded +} + /// Whether a test binary can possibly reach code in `package`. /// /// By default, a binary only decides verdicts for mutants in its own package. This keeps a @@ -343,6 +768,15 @@ pub(super) fn reaches(binary: &TestBinary, package: &str, plan: &Plan, scope: &T plan.reach.get(&binary.package).is_none_or(|reachable| reachable.contains(package)) } +/// Applies exact source linkage after the package-level admission rule has admitted a binary. +fn reaches_mutant(binary: &TestBinary, mutant: &Mutant, plan: &Plan, scope: &TestScope<'_>) -> bool { + reaches(binary, &mutant.package, plan, scope) + && binary + .linked_sources + .as_ref() + .is_none_or(|sources| sources.contains(mutant.file.as_ref())) +} + /// Orders an unhinted mutant's reachable binaries without changing which binaries are reachable. /// /// Tests from the package that owns the mutant are normally the closest oracle. Within the own @@ -378,7 +812,7 @@ pub(super) fn order_reachable(binaries: &mut [&TestBinary], mutant_package: &str /// [`Census`], and only when its own census for that binary completed, settles that. #[derive(Debug, Default)] pub(super) struct Reachability<'binaries> { - by_package: crate::HashMap, Vec<&'binaries TestBinary>>, + by_source: crate::HashMap<(Arc, Arc), Vec<&'binaries TestBinary>>, } impl<'binaries> Reachability<'binaries> { @@ -388,35 +822,38 @@ impl<'binaries> Reachability<'binaries> { /// Distinct packages are far fewer than mutants, so the reachable set is worked out once per /// package rather than once per mutant. pub(super) fn build(plan: &Plan, binaries: &'binaries [TestBinary], scope: &TestScope<'_>) -> Self { - let mut by_package: crate::HashMap, Vec<&TestBinary>> = crate::HashMap::default(); + let mut by_source: crate::HashMap<(Arc, Arc), Vec<&TestBinary>> = crate::HashMap::default(); - for mutant in plan - .mutants - .iter() - .filter(|mutant| mutant.ordinal > 0 && mutant.outcome == Outcome::Pending) - { - if by_package.contains_key(&mutant.package) { - continue; + 'mutants: for mutant in plan.mutants.iter().filter(|mutant| pending_mutant(mutant)) { + let key = (Arc::clone(&mutant.package), Arc::clone(&mutant.file)); + + let vacant = !by_source.contains_key(&key); + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if !vacant { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + continue 'mutants; } let mut found: Vec<&TestBinary> = binaries .iter() - .filter(|binary| reaches(binary, &mutant.package, plan, scope)) + .filter(|binary| reaches_mutant(binary, mutant, plan, scope)) .collect(); order_reachable(&mut found, &mutant.package); - let _fresh = by_package.insert(Arc::clone(&mutant.package), found); + let _fresh = by_source.insert(key, found); } - Self { by_package } + Self { by_source } } /// The binaries that can reach `package`'s mutants, or `None` when this index was never asked /// to cover that package — every package holding a pending mutant this run judges was, so /// `None` here means the caller asked about a package with no pending work. - pub(super) fn reachable(&self, package: &str) -> Option<&[&'binaries TestBinary]> { - self.by_package.get(package).map(Vec::as_slice) + pub(super) fn reachable(&self, mutant: &Mutant) -> Option<&[&'binaries TestBinary]> { + self.by_source + .get(&(Arc::clone(&mutant.package), Arc::clone(&mutant.file))) + .map(Vec::as_slice) } /// How many distinct packages this index covers. @@ -424,7 +861,12 @@ impl<'binaries> Reachability<'binaries> { /// Only the tests ask, to confirm the index memoizes by package rather than by mutant. #[cfg(test)] pub(super) fn len(&self) -> usize { - self.by_package.len() + self.by_source.len() + } + + #[cfg(test)] + fn has_package(&self, package: &str) -> bool { + self.by_source.keys().any(|(candidate, _file)| &**candidate == package) } } @@ -461,7 +903,7 @@ pub(super) fn build_packages(plan: &Plan, scope: &TestScope<'_>) -> Option = plan .mutants .iter() - .filter(|mutant| mutant.ordinal > 0 && mutant.outcome == Outcome::Pending) + .filter(|mutant| pending_mutant(mutant)) .map(|mutant| &*mutant.package) .collect(); @@ -483,7 +925,8 @@ pub(super) fn reaching_packages( ) -> Option> { // Reach is keyed by every workspace member, so its keys are the population being narrowed from. // Without it there is nothing to compare a subset against, so there is no subset. - if reach.is_empty() { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] + if no_reachability(reach) { return None; } @@ -516,6 +959,10 @@ pub(super) fn reaching_packages( Some(wanted) } +fn no_reachability(reach: &crate::HashMap>) -> bool { + reach.is_empty() +} + /// Totals the work every live mutant represents, counting only the binaries that can reach it. /// /// Returns the serial suite time and the serial budget: what testing each live mutant once would @@ -528,12 +975,9 @@ pub(super) fn workload(mutants: &[Mutant], reach: &Reachability<'_>, census: Opt // Its cost remains per-mutant when a census is present because each site has its own measured // set of tests; only the reachable set behind it is shared across every mutant of a package. - for mutant in mutants - .iter() - .filter(|mutant| mutant.ordinal > 0 && mutant.outcome == Outcome::Pending) - { + for mutant in mutants.iter().filter(|mutant| pending_mutant(mutant)) { let reachable = reach - .reachable(&mutant.package) + .reachable(mutant) .expect("the shared reachability index was built from these same pending mutants"); let mut suite = Duration::ZERO; @@ -541,12 +985,10 @@ pub(super) fn workload(mutants: &[Mutant], reach: &Reachability<'_>, census: Opt let mut running = 0_usize; for binary in reachable { - match census.map_or(CensusWork::Whole, |census| census.work(binary, mutant.ordinal)) { - CensusWork::Whole => suite += binary.baseline, - CensusWork::Uncovered => continue, - CensusWork::Selected(duration) => suite += duration, - CensusWork::Hinted(_duration) => suite += binary.baseline, - } + let Some(duration) = census_duration(census, binary, mutant.ordinal) else { + continue; + }; + suite = suite.saturating_add(duration); worst += binary.budget.unwrap_or_default(); running = running.saturating_add(1); @@ -618,10 +1060,12 @@ fn package_name(id: &str) -> String { /// since those are made of the same letters a name is. fn is_version(fragment: &str) -> bool { let release = fragment.split(['-', '+']).next().unwrap_or(fragment); + let mut characters = release.chars(); + let Some(first) = characters.next() else { + return false; + }; - !release.is_empty() - && release.starts_with(|character: char| character.is_ascii_digit()) - && release.chars().all(|character| character.is_ascii_digit() || character == '.') + first.is_ascii_digit() && characters.all(|character| character.is_ascii_digit() || character == '.') } #[cfg(test)] @@ -671,6 +1115,531 @@ mod tests { assert!(test_binaries(stdout).is_empty()); } + #[test] + fn exact_compiler_linkage_excludes_only_unlinked_integration_tests() { + let directory = tempfile::tempdir().expect("capture directory"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("workspace")).expect("utf-8 root"); + let out = Utf8PathBuf::from_path_buf(directory.path().join("target").join("debug").join("deps")).expect("utf-8 target"); + let captures = Utf8PathBuf::from_path_buf(directory.path().join("captures")).expect("utf-8 captures"); + fs::create_dir_all(root.join("src").as_std_path()).expect("source directory"); + fs::create_dir_all(root.join("tests").as_std_path()).expect("tests directory"); + fs::create_dir_all(out.as_std_path()).expect("output directory"); + fs::create_dir_all(captures.as_std_path()).expect("capture directory"); + + let library = RustcInvocation { + crate_name: "subject".to_owned(), + crate_types: vec!["lib".to_owned()], + test: false, + source: root.join("src/lib.rs"), + out_dir: out.clone(), + extra_filename: "-libhash".to_owned(), + externs: Vec::new(), + opaque_extern: false, + }; + let linked = RustcInvocation { + crate_name: "linked".to_owned(), + crate_types: vec!["bin".to_owned()], + test: true, + source: root.join("tests/linked.rs"), + out_dir: out.clone(), + extra_filename: "-linkedhash".to_owned(), + externs: vec![out.join("libsubject-libhash.rlib")], + opaque_extern: false, + }; + let independent = RustcInvocation { + crate_name: "independent".to_owned(), + crate_types: vec!["bin".to_owned()], + test: true, + source: root.join("tests/independent.rs"), + out_dir: out.clone(), + extra_filename: "-independenthash".to_owned(), + externs: Vec::new(), + opaque_extern: false, + }; + + write_capture(&captures, "library", &library); + write_capture(&captures, "linked", &linked); + write_capture(&captures, "independent", &independent); + write_dep(&library, &[root.join("src/lib.rs")]); + write_dep(&linked, &[root.join("tests/linked.rs")]); + write_dep(&independent, &[root.join("tests/independent.rs")]); + + let linked_executable = out.join(format!("linked-linkedhash{}", std::env::consts::EXE_SUFFIX)); + let independent_executable = out.join(format!("independent-independenthash{}", std::env::consts::EXE_SUFFIX)); + let stdout = artifact_stream(&[ + ("linked", &root.join("tests/linked.rs"), &linked_executable), + ("independent", &root.join("tests/independent.rs"), &independent_executable), + ]); + let binaries = test_binaries_with_linkage(&stdout, &root, Some(&captures)); + let mut plan = plan_mutating(&[("subject", &["subject"])], &["subject"]); + plan.mutants[0].file = Utf8PathBuf::from("src/lib.rs").into(); + let target_args = linked_target_args(&stdout, &root, Some(&captures), &plan).expect("exact target selection"); + let mut admitted = binaries.clone(); + retain_linked_to_population(&mut admitted, &plan); + let reach = Reachability::build(&plan, &binaries, &ANY); + let reachable = reach.reachable(&plan.mutants[0]).expect("pending mutant"); + + assert_eq!( + target_args, + ["--test", "linked"], + "one of two compiler targets is selected for mutant builds" + ); + assert_eq!(admitted.len(), 1, "only the linked target reaches baseline"); + assert_eq!(admitted[0].target, "linked"); + assert_eq!(reachable.len(), 1); + assert_eq!(reachable[0].target, "linked"); + + fs::write( + root.join("Cargo.toml").as_std_path(), + "[package]\nname = \"subject\"\nversion = \"0.0.0\"\nedition = \"2024\"\n", + ) + .expect("fixture manifest"); + fs::write(root.join("tests/linked.rs").as_std_path(), "#[test]\nfn linked() {}\n").expect("linked target"); + fs::write(root.join("tests/independent.rs").as_std_path(), "#[test]\nfn independent() {}\n").expect("independent target"); + let cargo_target = root.join("cargo-target"); + let initial = built_test_targets(&root, &cargo_target, &["build", "--tests"]); + let mut narrowed = vec!["build"]; + narrowed.extend(target_args.iter().map(String::as_str)); + let subsequent = built_test_targets(&root, &cargo_target, &narrowed); + + assert_eq!(initial, ["independent", "linked"], "initial discovery builds both compiler targets"); + assert_eq!( + subsequent, + ["linked"], + "the subsequent mutant build invokes only the linked compiler target" + ); + } + + #[test] + fn a_lib_prefixed_test_executable_matches_its_capture() { + let directory = tempfile::tempdir().expect("capture directory"); + let out = Utf8PathBuf::from_path_buf(directory.path().join("target").join("deps")).expect("utf-8 target"); + let invocation = RustcInvocation { + crate_name: "library_tests".to_owned(), + crate_types: vec!["bin".to_owned()], + test: true, + source: "tests/library_tests.rs".into(), + out_dir: out.clone(), + extra_filename: "-hash".to_owned(), + externs: Vec::new(), + opaque_extern: false, + }; + let executable = out.join(format!("library_tests-hash{}", std::env::consts::EXE_SUFFIX)); + + assert!(output_matches(&invocation, &executable)); + } + + #[test] + fn unit_test_target_kinds_disable_exact_cargo_build_selection() { + let directory = tempfile::tempdir().expect("capture directory"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("workspace")).expect("utf-8 root"); + let out = Utf8PathBuf::from_path_buf(directory.path().join("target").join("deps")).expect("utf-8 target"); + let captures = Utf8PathBuf::from_path_buf(directory.path().join("captures")).expect("utf-8 captures"); + fs::create_dir_all(root.join("src").as_std_path()).expect("source directory"); + fs::create_dir_all(out.as_std_path()).expect("output directory"); + fs::create_dir_all(captures.as_std_path()).expect("capture directory"); + + let mut messages = vec!["not cargo JSON".to_owned()]; + for (name, kind) in [("library", "lib"), ("binary", "bin"), ("example", "example")] { + let invocation = RustcInvocation { + crate_name: name.to_owned(), + crate_types: vec!["bin".to_owned()], + test: true, + source: root.join(format!("src/{name}.rs")), + out_dir: out.clone(), + extra_filename: format!("-{name}hash"), + externs: Vec::new(), + opaque_extern: false, + }; + write_capture(&captures, name, &invocation); + write_dep(&invocation, &[root.join("src/lib.rs"), invocation.source.clone()]); + let artifact = out.join(format!("{name}-{name}hash{}", std::env::consts::EXE_SUFFIX)); + assert!( + output_matches(&invocation, &artifact), + "{name} did not match {} in {} with suffix {:?}", + artifact, + invocation.out_dir, + invocation.extra_filename + ); + assert!( + dep_sources(&invocation, &root).is_some_and(|sources| sources.contains(&Utf8PathBuf::from("src/lib.rs"))), + "{name} did not read its linked source" + ); + messages.push( + serde_json::json!({ + "reason": "compiler-artifact", + "profile": {"test": true}, + "target": { + "name": name, + "src_path": invocation.source, + "kind": [kind], + }, + "filenames": [artifact], + }) + .to_string(), + ); + } + let mut plan = plan_mutating(&[("subject", &["subject"])], &["subject"]); + plan.mutants[0].file = Utf8PathBuf::from("src/lib.rs").into(); + + assert!( + linked_target_args(&messages.join("\n"), &root, Some(&captures), &plan).is_none(), + "cargo build cannot name lib, bin, or example unit-test harnesses exactly" + ); + } + + #[test] + fn missing_ambiguous_and_opaque_capture_all_fail_open() { + let directory = tempfile::tempdir().expect("capture directory"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("workspace")).expect("utf-8 root"); + let out = Utf8PathBuf::from_path_buf(directory.path().join("target").join("deps")).expect("utf-8 target"); + let captures = Utf8PathBuf::from_path_buf(directory.path().join("captures")).expect("utf-8 captures"); + fs::create_dir_all(root.join("tests").as_std_path()).expect("source directory"); + fs::create_dir_all(out.as_std_path()).expect("output directory"); + fs::create_dir_all(captures.as_std_path()).expect("capture directory"); + + let executable = out.join(format!("opaque-hash{}", std::env::consts::EXE_SUFFIX)); + let stdout = artifact_stream(&[("opaque", &root.join("tests/opaque.rs"), &executable)]); + let plan = plan_mutating(&[("subject", &["subject"])], &["subject"]); + assert!(test_binaries_with_linkage(&stdout, &root, None)[0].linked_sources.is_none()); + assert!(linked_target_args(&stdout, &root, None, &plan).is_none()); + + let mut opaque = RustcInvocation { + crate_name: "opaque".to_owned(), + crate_types: vec!["bin".to_owned()], + test: true, + source: root.join("tests/opaque.rs"), + out_dir: out, + extra_filename: "-hash".to_owned(), + externs: Vec::new(), + opaque_extern: true, + }; + write_capture(&captures, "opaque", &opaque); + write_dep(&opaque, &[root.join("tests/opaque.rs")]); + assert!( + test_binaries_with_linkage(&stdout, &root, Some(&captures))[0] + .linked_sources + .is_none() + ); + assert!(linked_target_args(&stdout, &root, Some(&captures), &plan).is_none()); + + opaque.opaque_extern = false; + opaque.crate_types.push("rlib".to_owned()); + write_capture(&captures, "ambiguous", &opaque); + assert!( + test_binaries_with_linkage(&stdout, &root, Some(&captures))[0] + .linked_sources + .is_none() + ); + assert!(linked_target_args(&stdout, &root, Some(&captures), &plan).is_none()); + } + + #[test] + fn one_unmatched_filename_among_multiple_artifacts_disables_target_narrowing() { + let directory = tempfile::tempdir().expect("capture directory"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("workspace")).expect("utf-8 root"); + let out = Utf8PathBuf::from_path_buf(directory.path().join("target").join("deps")).expect("utf-8 target"); + let captures = Utf8PathBuf::from_path_buf(directory.path().join("captures")).expect("utf-8 captures"); + fs::create_dir_all(root.join("tests").as_std_path()).expect("source directory"); + fs::create_dir_all(out.as_std_path()).expect("output directory"); + fs::create_dir_all(captures.as_std_path()).expect("capture directory"); + + let invocation = RustcInvocation { + crate_name: "linked".to_owned(), + crate_types: vec!["bin".to_owned()], + test: true, + source: root.join("tests/linked.rs"), + out_dir: out.clone(), + extra_filename: "-hash".to_owned(), + externs: Vec::new(), + opaque_extern: false, + }; + write_capture(&captures, "linked", &invocation); + write_dep(&invocation, &[root.join("tests/linked.rs"), root.join("src/lib.rs")]); + + let matched = out.join(format!("linked-hash{}", std::env::consts::EXE_SUFFIX)); + let unmatched = out.join("linked-unmatched.rmeta"); + let stdout = serde_json::json!({ + "reason": "compiler-artifact", + "profile": {"test": true}, + "package_id": "path+file:///workspace#subject@0.0.0", + "target": { + "name": "linked", + "src_path": root.join("tests/linked.rs"), + "kind": ["test"], + }, + "filenames": [matched, unmatched], + }) + .to_string(); + let mut plan = plan_mutating(&[("subject", &["subject"])], &["subject"]); + plan.mutants[0].file = Utf8PathBuf::from("src/lib.rs").into(); + + assert!( + linked_target_args(&stdout, &root, Some(&captures), &plan).is_none(), + "an unresolved relevant artifact must fail open to the package-level build" + ); + } + + #[test] + fn external_path_artifacts_are_opaque_while_registry_artifacts_are_known_external() { + let directory = tempfile::tempdir().expect("workspace parent"); + let base = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("utf-8 parent"); + let root = base.join("workspace"); + let outside_manifest = base.join("outside/path-dep/Cargo.toml"); + let path_artifact = Utf8PathBuf::from("/target/libpath_dep.rlib"); + let registry_artifact = Utf8PathBuf::from("/target/libregistry_dep.rlib"); + let stdout = [ + serde_json::json!({ + "reason": "compiler-artifact", + "package_id": "path+file:///outside/path-dep#0.0.0", + "manifest_path": outside_manifest, + "filenames": [path_artifact], + }) + .to_string(), + serde_json::json!({ + "reason": "compiler-artifact", + "package_id": "registry+https://github.com/rust-lang/crates.io-index#dep@1.0.0", + "manifest_path": "/cargo/registry/src/dep/Cargo.toml", + "filenames": [registry_artifact], + }) + .to_string(), + ] + .join("\n"); + let origins = artifact_origins(&stdout, &root); + + assert_eq!( + origins.get(&Utf8PathBuf::from("/target/libpath_dep.rlib")), + Some(&ArtifactOrigin::Opaque) + ); + assert_eq!( + origins.get(&Utf8PathBuf::from("/target/libregistry_dep.rlib")), + Some(&ArtifactOrigin::Registry) + ); + } + + #[test] + fn non_normalized_paths_never_create_a_positive_linkage_match() { + let directory = tempfile::tempdir().expect("workspace parent"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("workspace")).expect("utf-8 root"); + assert!(workspace_relative(&root.join("../outside.rs"), &root).is_none()); + + let invocation = RustcInvocation { + crate_name: "subject".to_owned(), + crate_types: vec!["lib".to_owned()], + test: false, + source: "src/lib.rs".into(), + out_dir: root.join("target/deps"), + extra_filename: "-hash".to_owned(), + externs: Vec::new(), + opaque_extern: false, + }; + + assert!(!output_matches(&invocation, &root.join("target/deps/../deps/libsubject-hash.rlib"))); + } + + #[test] + fn linkage_graph_cycles_registry_edges_and_ambiguous_edges_fail_safely() { + let directory = tempfile::tempdir().expect("workspace parent"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("workspace")).expect("utf-8 root"); + let out = root.join("target/deps"); + fs::create_dir_all(root.join("tests").as_std_path()).expect("tests"); + fs::create_dir_all(out.as_std_path()).expect("output"); + let executable = out.join(format!("subject-hash{}", std::env::consts::EXE_SUFFIX)); + let own_artifact = out.join("libsubject-hash.rlib"); + let registry = out.join("libregistry.rlib"); + let mut capture = RustcInvocation { + crate_name: "subject".to_owned(), + crate_types: vec!["bin".to_owned()], + test: true, + source: root.join("tests/subject.rs"), + out_dir: out.clone(), + extra_filename: "-hash".to_owned(), + externs: vec![own_artifact, registry.clone()], + opaque_extern: false, + }; + write_dep(&capture, &[capture.source.clone()]); + let origins = std::iter::once((registry, ArtifactOrigin::Registry)).collect(); + + assert_eq!( + linked_sources(executable.as_str(), &capture.source, &[capture.clone()], &origins, &root), + Some(std::iter::once(Utf8PathBuf::from("tests/subject.rs")).collect()), + "a cycle is visited once and a registry dependency needs no workspace capture" + ); + + let opaque = out.join("libopaque.rlib"); + capture.externs = vec![opaque.clone()]; + assert!( + linked_sources( + executable.as_str(), + &capture.source, + &[capture.clone()], + &std::iter::once((opaque, ArtifactOrigin::Opaque)).collect(), + &root, + ) + .is_none() + ); + + let dependency = out.join("libdependency.rlib"); + capture.externs = vec![dependency]; + let duplicate = RustcInvocation { + crate_name: "dependency".to_owned(), + source: root.join("src/dependency.rs"), + out_dir: out, + extra_filename: String::new(), + ..capture.clone() + }; + assert!( + linked_sources( + executable.as_str(), + &capture.source, + &[capture.clone(), duplicate.clone(), duplicate], + &crate::HashMap::default(), + &root, + ) + .is_none(), + "an ambiguous workspace artifact association fails open" + ); + } + + #[test] + fn malformed_dep_info_and_unsupported_targets_disable_narrowing() { + let directory = tempfile::tempdir().expect("workspace parent"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("workspace")).expect("utf-8 root"); + let out = root.join("target/deps"); + let captures = root.join("captures"); + fs::create_dir_all(root.join("tests").as_std_path()).expect("tests"); + fs::create_dir_all(out.as_std_path()).expect("output"); + fs::create_dir_all(captures.as_std_path()).expect("captures"); + let invocation = RustcInvocation { + crate_name: "subject".to_owned(), + crate_types: vec!["bin".to_owned()], + test: true, + source: root.join("tests/subject.rs"), + out_dir: out.clone(), + extra_filename: "-hash".to_owned(), + externs: Vec::new(), + opaque_extern: false, + }; + fs::write( + out.join("subject-hash.d").as_std_path(), + format!("malformed\nartifact: {} {}\n", invocation.source, root.join("../outside.rs")), + ) + .expect("dep-info"); + assert_eq!(dep_sources(&invocation, &root), Some(vec![Utf8PathBuf::from("tests/subject.rs")])); + assert!(!output_matches(&invocation, Utf8Path::new("/"))); + + write_capture(&captures, "subject", &invocation); + let artifact = out.join(format!("subject-hash{}", std::env::consts::EXE_SUFFIX)); + let message = serde_json::json!({ + "reason": "compiler-artifact", + "profile": {"test": true}, + "target": { + "name": "subject", + "src_path": invocation.source, + "kind": ["bench"], + }, + "filenames": [artifact], + }) + .to_string(); + let mut plan = plan_mutating(&[("subject", &["subject"])], &["subject"]); + plan.mutants[0].file = Utf8PathBuf::from("tests/subject.rs").into(); + + assert!(linked_target_args(&message, &root, Some(&captures), &plan).is_none()); + assert!(linked_target_args("not json", &root, Some(&captures), &plan).is_none()); + } + + fn write_capture(directory: &Utf8Path, name: &str, capture: &RustcInvocation) { + fs::write( + directory.join(format!("{name}.json")).as_std_path(), + serde_json::to_vec(capture).expect("capture serializes"), + ) + .expect("capture writes"); + } + + #[test] + fn capture_reader_ignores_unpublished_temporary_entries() { + let directory = tempfile::tempdir().expect("capture directory"); + let captures = Utf8PathBuf::from_path_buf(directory.path().to_owned()).expect("UTF-8 capture directory"); + let capture = RustcInvocation { + crate_name: "subject".to_owned(), + crate_types: vec!["lib".to_owned()], + test: false, + source: "src/lib.rs".into(), + out_dir: "target/debug/deps".into(), + extra_filename: "-hash".to_owned(), + externs: Vec::new(), + opaque_extern: false, + }; + write_capture(&captures, "complete", &capture); + fs::write(captures.join("interrupted.tmp").as_std_path(), b"{").expect("temporary capture"); + + assert_eq!(read_captures(&captures), Some(vec![capture])); + } + + fn write_dep(invocation: &RustcInvocation, sources: &[Utf8PathBuf]) { + let path = invocation + .out_dir + .join(format!("{}{}.d", invocation.crate_name, invocation.extra_filename)); + let dependencies = sources.iter().map(|source| source.as_str()).collect::>().join(" "); + fs::write(path.as_std_path(), format!("artifact: {dependencies}\n")).expect("dep-info writes"); + } + + fn artifact_stream(targets: &[(&str, &Utf8Path, &Utf8Path)]) -> String { + targets + .iter() + .map(|(target, source, executable)| { + serde_json::json!({ + "reason": "compiler-artifact", + "profile": {"test": true}, + "package_id": "path+file:///workspace#subject@0.0.0", + "target": {"name": target, "src_path": source, "kind": ["test"]}, + "filenames": [executable], + "executable": executable, + }) + .to_string() + }) + .collect::>() + .join("\n") + } + + fn built_test_targets(root: &Utf8Path, target: &Utf8Path, args: &[&str]) -> Vec { + let cargo = std::env::var_os("CARGO").unwrap_or_else(|| "cargo".into()); + let output = std::process::Command::new(cargo) + .current_dir(root.as_std_path()) + .env("CARGO_TARGET_DIR", target.as_std_path()) + .env_remove("RUSTC_WRAPPER") + .env_remove("RUSTC_WORKSPACE_WRAPPER") + .args(args) + .arg("--message-format=json") + .output() + .expect("fixture cargo runs"); + + assert!(output.status.success(), "{}", String::from_utf8_lossy(&output.stderr)); + + let mut targets: Vec = String::from_utf8_lossy(&output.stdout) + .lines() + .filter_map(|line| serde_json::from_str::(line).ok()) + .filter(|message| { + message.get("reason").and_then(Value::as_str) == Some("compiler-artifact") + && message + .get("target") + .and_then(|target| target.get("kind")) + .and_then(Value::as_array) + .is_some_and(|kinds| kinds.iter().any(|kind| kind.as_str() == Some("test"))) + }) + .filter_map(|message| { + message + .get("target") + .and_then(|target| target.get("name")) + .and_then(Value::as_str) + .map(str::to_owned) + }) + .collect(); + targets.sort(); + targets.dedup(); + targets + } + /// Nothing to apportion is not an error. #[test] fn apportioning_across_no_binaries_does_nothing() { @@ -1019,7 +1988,7 @@ mod tests { let reach = Reachability::build(&plan, &binaries, &ANY); assert!( - reach.reachable("aside").is_none(), + !reach.has_package("aside"), "aside holds no pending mutant, so nothing should have asked about it" ); } @@ -1037,7 +2006,7 @@ mod tests { let binaries = vec![app_dependent, own]; let reach = Reachability::build(&plan, &binaries, &ANY); - let ordered = reach.reachable("core").expect("core holds a pending mutant"); + let ordered = reach.reachable(&plan.mutants[0]).expect("core holds a pending mutant"); assert_eq!( ordered.iter().map(|binary| binary.package.as_str()).collect::>(), @@ -1427,4 +2396,105 @@ mod tests { // which reads as a finding about the code rather than a failure of this parser. assert_eq!(package_name(""), ""); } + + #[test] + fn calibration_orders_every_binary_and_sets_both_derived_limits() { + let mut binaries = vec![binary("slow"), binary("fast")]; + binaries[0].baseline = Duration::from_secs(20); + binaries[0].peak = Some(300); + binaries[1].baseline = Duration::from_secs(2); + binaries[1].peak = Some(100); + let config = Config { + baseline: true, + test_timeout_multiplier: 2.0, + timeout_floor: Duration::from_secs(5), + ..Config::default() + }; + let memory = MemoryPolicy { + control: super::super::memory::MemoryControl::Enforce, + multiplier: 2.0, + headroom: 50, + ..MemoryPolicy::default() + }; + + calibrate(&mut binaries, &config, &memory); + + assert_eq!( + binaries.iter().map(|binary| binary.package.as_str()).collect::>(), + ["fast", "slow"] + ); + assert_eq!(binaries[0].budget, Some(Duration::from_secs(5))); + assert_eq!(binaries[1].budget, Some(Duration::from_secs(40))); + assert_eq!(binaries[0].memory, Some(200)); + assert_eq!(binaries[1].memory, Some(600)); + + bound(&mut binaries, &memory, false); + assert_eq!(binaries[0].memory, None); + assert_eq!(binaries[1].memory, None); + } + + #[test] + fn artifact_and_reachability_predicates_cover_positive_and_negative_rows() { + let artifact = serde_json::json!({"reason":"compiler-artifact","profile":{"test":true}}); + let message = serde_json::json!({"reason":"compiler-message","profile":{"test":false}}); + assert!(is_compiler_artifact(&artifact)); + assert!(!is_compiler_artifact(&message)); + assert!(is_test_profile(&artifact)); + assert!(!is_test_profile(&message)); + assert!(!is_non_test_profile(true)); + assert!(is_non_test_profile(false)); + + let rooted = serde_json::json!({ + "manifest_path": "/workspace/crate/Cargo.toml", + "filenames": ["/target/a", "/target/b"], + "executable": "/target/test" + }); + assert_eq!(manifest_path(&rooted), Some(Utf8Path::new("/workspace/crate/Cargo.toml"))); + assert!(workspace_manifest(manifest_path(&rooted), Utf8Path::new("/workspace"))); + assert!(!workspace_manifest(manifest_path(&rooted), Utf8Path::new("/elsewhere"))); + assert_eq!( + artifact_paths(&rooted).collect::>(), + ["/target/a", "/target/b", "/target/test"] + ); + + for id in [ + "registry+https://example#x", + "git+https://example#x", + "x (registry+url)", + "x (git+url)", + ] { + assert!(external_package_id(id), "{id}"); + } + assert!(!external_package_id("path+file:///workspace#x")); + + let mut binaries = vec![binary("b"), binary("a"), binary("a")]; + binaries[0].path = Utf8PathBuf::from("z"); + binaries[1].path = Utf8PathBuf::from("a"); + binaries[2].path = Utf8PathBuf::from("a"); + normalize_binaries(&mut binaries); + assert_eq!(binaries.iter().map(|binary| binary.path.as_str()).collect::>(), ["a", "z"]); + + let primary = Utf8PathBuf::from("src/lib.rs"); + assert!(dep_sources_complete(1, std::slice::from_ref(&primary), &primary)); + assert!(!dep_sources_complete(0, std::slice::from_ref(&primary), &primary)); + assert!(!dep_sources_complete(1, &[], &primary)); + assert!(no_target_patterns(&[], &[])); + assert!(!no_target_patterns(&["x".to_owned()], &[])); + + let pending = crate::HashSet::from_iter([primary.as_path()]); + let matching = crate::HashSet::from_iter([primary.clone()]); + let different = crate::HashSet::from_iter([Utf8PathBuf::from("src/other.rs")]); + assert!(populations_intersect(&pending, &matching)); + assert!(!populations_intersect(&pending, &different)); + assert!(all_associations_equal(&[matching.clone(), matching.clone()], &matching)); + assert!(!all_associations_equal(&[matching.clone(), different], &matching)); + assert!(!target_selection_failed(true, &[["--lib".to_owned(), String::new()]])); + assert!(target_selection_failed(false, &[["--lib".to_owned(), String::new()]])); + assert!(target_selection_failed(true, &[])); + assert!(no_reachability(&crate::HashMap::default())); + let mut visited = crate::HashSet::default(); + assert!(visit_capture(&mut visited, 3)); + assert!(!visit_capture(&mut visited, 3)); + assert_eq!(no_target_selection::(), None); + } } diff --git a/crates/cargo-gamma-lib/src/exec/test_environment.rs b/crates/cargo-gamma-lib/src/exec/test_environment.rs new file mode 100644 index 000000000..2e789cb34 --- /dev/null +++ b/crates/cargo-gamma-lib/src/exec/test_environment.rs @@ -0,0 +1,494 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +use std::collections::BTreeMap; +use std::env; +use std::ffi::{OsStr, OsString}; +use std::path::{Path, PathBuf}; +use std::process::{Command, Stdio}; + +use camino::{Utf8Path, Utf8PathBuf}; +use serde_json::Value; + +use super::test_binary::TestBinary; +use crate::HashMap; +use crate::error::{Error, error}; + +/// Cargo's runtime environment for the test tree built by one run. +#[derive(Debug)] +pub(super) struct TestEnvironment { + common: BTreeMap, + packages: HashMap, + integration_tests: crate::HashSet, +} + +#[derive(Debug, Default)] +struct PackageEnvironment { + variables: BTreeMap, + binary_executables: BTreeMap, +} + +impl TestEnvironment { + #[cfg(test)] + pub(super) fn fake(package: &str, name: &str, value: &str) -> Self { + let variables = [(OsString::from(name), OsString::from(value))].into(); + let packages = core::iter::once(( + package.to_owned(), + PackageEnvironment { + variables, + binary_executables: BTreeMap::new(), + }, + )) + .collect(); + + Self { + common: BTreeMap::new(), + packages, + integration_tests: crate::HashSet::default(), + } + } + + pub(super) fn from_cargo( + metadata: &str, + artifacts: &str, + binaries: &[TestBinary], + root: &Utf8Path, + cargo: &OsStr, + ) -> Result { + let metadata: Value = serde_json::from_str(metadata) + .map_err(|cause| error!("could not decode Cargo metadata for the test environment").caused_by(cause))?; + let mut packages = package_environments(&metadata); + let mut integration_tests = crate::HashSet::default(); + + apply_build_messages(artifacts, &mut packages, &mut integration_tests); + + let known: crate::HashSet<&str> = binaries.iter().map(|binary| binary.package_id.as_str()).collect(); + packages.retain(|package, _environment| known.contains(package.as_str())); + + Ok(Self { + common: common_environment(root, cargo), + packages, + integration_tests, + }) + } + + pub(super) fn configure(&self, command: &mut Command, binary: &TestBinary) { + let _ = command.envs(&self.common); + + let Some(package) = self.packages.get(&binary.package_id) else { + return; + }; + + let _ = command.envs(&package.variables); + if self.integration_tests.contains(&binary.path) { + let _ = command.envs(&package.binary_executables); + } + } +} + +fn package_environments(metadata: &Value) -> HashMap { + metadata + .get("packages") + .and_then(Value::as_array) + .into_iter() + .flatten() + .filter_map(|package| { + let package_id = package.get("id")?.as_str()?; + let version_text = package.get("version")?.as_str()?; + let version = cargo_metadata::semver::Version::parse(version_text).ok()?; + let manifest_path = Utf8Path::new(package.get("manifest_path")?.as_str()?); + let manifest_dir = manifest_path.parent().unwrap_or_else(|| Utf8Path::new("")); + let mut variables = BTreeMap::new(); + + insert(&mut variables, "CARGO_MANIFEST_DIR", manifest_dir); + insert(&mut variables, "CARGO_MANIFEST_PATH", manifest_path); + insert( + &mut variables, + "CARGO_PKG_NAME", + package.get("name").and_then(Value::as_str).unwrap_or(""), + ); + insert(&mut variables, "CARGO_PKG_VERSION", version_text); + insert(&mut variables, "CARGO_PKG_VERSION_MAJOR", version.major.to_string()); + insert(&mut variables, "CARGO_PKG_VERSION_MINOR", version.minor.to_string()); + insert(&mut variables, "CARGO_PKG_VERSION_PATCH", version.patch.to_string()); + insert(&mut variables, "CARGO_PKG_VERSION_PRE", version.pre.as_str()); + insert( + &mut variables, + "CARGO_PKG_AUTHORS", + package + .get("authors") + .and_then(Value::as_array) + .into_iter() + .flatten() + .filter_map(Value::as_str) + .collect::>() + .join(":"), + ); + for (variable, field) in [ + ("CARGO_PKG_DESCRIPTION", "description"), + ("CARGO_PKG_HOMEPAGE", "homepage"), + ("CARGO_PKG_REPOSITORY", "repository"), + ("CARGO_PKG_LICENSE", "license"), + ("CARGO_PKG_LICENSE_FILE", "license_file"), + ("CARGO_PKG_README", "readme"), + ("CARGO_PKG_RUST_VERSION", "rust_version"), + ] { + insert(&mut variables, variable, package.get(field).and_then(Value::as_str).unwrap_or("")); + } + + Some(( + package_id.to_owned(), + PackageEnvironment { + variables, + binary_executables: BTreeMap::new(), + }, + )) + }) + .collect() +} + +fn apply_build_messages( + artifacts: &str, + packages: &mut HashMap, + integration_tests: &mut crate::HashSet, +) { + for line in artifacts.lines() { + let Ok(message) = serde_json::from_str::(line) else { + continue; + }; + let Some(package_id) = message.get("package_id").and_then(Value::as_str) else { + continue; + }; + let Some(package) = packages.get_mut(package_id) else { + continue; + }; + + match message.get("reason").and_then(Value::as_str) { + Some("build-script-executed") => apply_build_script(&message, package), + Some("compiler-artifact") => apply_artifact(&message, package, integration_tests), + _ => {} + } + } +} + +fn apply_build_script(message: &Value, package: &mut PackageEnvironment) { + if let Some(out_dir) = message.get("out_dir").and_then(Value::as_str) { + insert(&mut package.variables, "OUT_DIR", out_dir); + } + + if let Some(environment) = message.get("env").and_then(Value::as_array) { + for pair in environment { + let Some(pair) = pair.as_array() else { + continue; + }; + let [name, value] = pair.as_slice() else { + continue; + }; + if let (Some(name), Some(value)) = (name.as_str(), value.as_str()) { + insert(&mut package.variables, name, value); + } + } + } +} + +fn apply_artifact(message: &Value, package: &mut PackageEnvironment, integration_tests: &mut crate::HashSet) { + let Some(executable) = message.get("executable").and_then(Value::as_str) else { + return; + }; + let kinds = message + .get("target") + .and_then(|target| target.get("kind")) + .and_then(Value::as_array); + + if kinds.is_some_and(|kinds| kinds.iter().any(|kind| matches!(kind.as_str(), Some("test" | "bench")))) { + let _ = integration_tests.insert(Utf8PathBuf::from(executable)); + } + + let is_binary = kinds.is_some_and(|kinds| kinds.iter().any(|kind| kind.as_str() == Some("bin"))); + let is_test_profile = message + .get("profile") + .and_then(|profile| profile.get("test")) + .and_then(Value::as_bool) + .unwrap_or(false); + if is_binary + && !is_test_profile + && let Some(name) = message.get("target").and_then(|target| target.get("name")).and_then(Value::as_str) + { + insert(&mut package.binary_executables, format!("CARGO_BIN_EXE_{name}"), executable); + } +} + +fn common_environment(root: &Utf8Path, cargo: &OsStr) -> BTreeMap { + let mut variables = BTreeMap::new(); + let rustup = rustup_environment(root); + let cargo = env::var_os("CARGO") + .or_else(|| rustup.as_ref().map(|environment| environment.cargo.clone())) + .unwrap_or_else(|| resolve_executable(cargo).unwrap_or_else(|| cargo.to_owned())); + + insert(&mut variables, "CARGO", cargo); + if let Some(home) = env::var_os("CARGO_HOME").or_else(default_cargo_home) { + insert(&mut variables, "CARGO_HOME", home); + } + + if let Some(rustup) = rustup { + insert(&mut variables, "RUSTUP_TOOLCHAIN", rustup.toolchain); + insert(&mut variables, "RUSTUP_TOOLCHAIN_SOURCE", rustup.source); + insert(&mut variables, "RUSTUP_HOME", rustup.home); + insert( + &mut variables, + "RUST_RECURSION_COUNT", + env::var_os("RUST_RECURSION_COUNT").unwrap_or_else(|| "1".into()), + ); + #[cfg(windows)] + if env::var_os("LD_LIBRARY_PATH").is_none() { + insert(&mut variables, "LD_LIBRARY_PATH", rustup.sysroot.join("lib")); + } + } + + variables +} + +struct RustupEnvironment { + cargo: OsString, + toolchain: OsString, + source: OsString, + home: OsString, + #[cfg(windows)] + sysroot: PathBuf, +} + +fn rustup_environment(root: &Utf8Path) -> Option { + let active = quiet("rustup", &["show", "active-toolchain"], root)?; + let toolchain = active.split_whitespace().next()?.to_owned(); + let cargo = quiet("rustup", &["which", "cargo"], root)?; + let home = env::var_os("RUSTUP_HOME").or_else(|| quiet("rustup", &["show", "home"], root).map(Into::into))?; + #[cfg(windows)] + let sysroot = quiet("rustc", &["--print", "sysroot"], root)?; + let source = env::var_os("RUSTUP_TOOLCHAIN_SOURCE").unwrap_or_else(|| { + if env::var_os("RUSTUP_TOOLCHAIN").is_some() { + "environment" + } else if active.contains("directory override") { + "override-db" + } else if active.contains("overridden by") { + "toolchain-file" + } else { + "default" + } + .into() + }); + + Some(RustupEnvironment { + cargo: cargo.into(), + toolchain: toolchain.into(), + source, + home, + #[cfg(windows)] + sysroot: PathBuf::from(sysroot), + }) +} + +fn quiet(program: &str, arguments: &[&str], root: &Utf8Path) -> Option { + let output = Command::new(program) + .args(arguments) + .current_dir(root.as_std_path()) + .stdin(Stdio::null()) + .stderr(Stdio::null()) + .output() + .ok()?; + + output + .status + .success() + .then(|| String::from_utf8(output.stdout).ok().map(|text| text.trim().to_owned())) + .flatten() + .filter(|text| !text.is_empty()) +} + +fn default_cargo_home() -> Option { + env::var_os(if cfg!(windows) { "USERPROFILE" } else { "HOME" }).map(|home| PathBuf::from(home).join(".cargo").into()) +} + +fn resolve_executable(program: &OsStr) -> Option { + let path = Path::new(program); + if path.components().count() > 1 { + return if path.is_absolute() { + Some(path.as_os_str().to_owned()) + } else { + env::current_dir().ok().map(|current| current.join(path).into()) + }; + } + + let extensions: Vec = if cfg!(windows) { + env::var_os("PATHEXT").map_or_else( + || vec![".exe".into(), ".cmd".into(), ".bat".into()], + |value| env::split_paths(&value).map(PathBuf::into_os_string).collect(), + ) + } else { + vec![OsString::new()] + }; + + for directory in env::split_paths(&env::var_os("PATH")?) { + for extension in &extensions { + let mut name = program.to_owned(); + name.push(extension); + let candidate = directory.join(name); + if candidate.is_file() { + return Some(candidate.into()); + } + } + } + + None +} + +fn insert(map: &mut BTreeMap, name: impl Into, value: impl Into) { + let _ = map.insert(name.into(), value.into()); +} + +#[cfg(test)] +mod tests { + use super::*; + + const PACKAGE_ID: &str = "path+file:///workspace#subject@1.2.3-alpha.1"; + + fn metadata() -> Value { + serde_json::from_str( + r#"{ + "packages":[{ + "name":"subject", + "version":"1.2.3-alpha.1", + "id":"path+file:///workspace#subject@1.2.3-alpha.1", + "license":"MIT", + "license_file":"/workspace/LICENSE", + "description":"description", + "source":null, + "dependencies":[], + "targets":[], + "features":{}, + "manifest_path":"/workspace/Cargo.toml", + "metadata":null, + "publish":null, + "authors":["One","Two"], + "categories":[], + "keywords":[], + "readme":"/workspace/README.md", + "repository":"https://example.invalid/repository", + "homepage":"https://example.invalid", + "documentation":null, + "edition":"2024", + "links":null, + "default_run":null, + "rust_version":"1.90" + }], + "workspace_members":["path+file:///workspace#subject@1.2.3-alpha.1"], + "workspace_default_members":["path+file:///workspace#subject@1.2.3-alpha.1"], + "resolve":null, + "target_directory":"/target", + "build_directory":"/target", + "version":1, + "workspace_root":"/workspace", + "metadata":null + }"#, + ) + .expect("the metadata fixture is valid") + } + + fn value<'a>(environment: &'a PackageEnvironment, name: &str) -> Option<&'a str> { + environment.variables.get(OsStr::new(name)).and_then(|value| value.to_str()) + } + + #[test] + fn package_metadata_becomes_the_cargo_runtime_contract() { + let packages = package_environments(&metadata()); + let package = &packages[PACKAGE_ID]; + + assert_eq!(value(package, "CARGO_MANIFEST_DIR"), Some("/workspace")); + assert_eq!(value(package, "CARGO_MANIFEST_PATH"), Some("/workspace/Cargo.toml")); + assert_eq!(value(package, "CARGO_PKG_NAME"), Some("subject")); + assert_eq!(value(package, "CARGO_PKG_VERSION"), Some("1.2.3-alpha.1")); + assert_eq!(value(package, "CARGO_PKG_VERSION_MAJOR"), Some("1")); + assert_eq!(value(package, "CARGO_PKG_VERSION_MINOR"), Some("2")); + assert_eq!(value(package, "CARGO_PKG_VERSION_PATCH"), Some("3")); + assert_eq!(value(package, "CARGO_PKG_VERSION_PRE"), Some("alpha.1")); + assert_eq!(value(package, "CARGO_PKG_AUTHORS"), Some("One:Two")); + assert_eq!(value(package, "CARGO_PKG_DESCRIPTION"), Some("description")); + assert_eq!(value(package, "CARGO_PKG_HOMEPAGE"), Some("https://example.invalid")); + assert_eq!(value(package, "CARGO_PKG_REPOSITORY"), Some("https://example.invalid/repository")); + assert_eq!(value(package, "CARGO_PKG_LICENSE"), Some("MIT")); + assert_eq!(value(package, "CARGO_PKG_LICENSE_FILE"), Some("/workspace/LICENSE")); + assert_eq!(value(package, "CARGO_PKG_README"), Some("/workspace/README.md")); + assert_eq!(value(package, "CARGO_PKG_RUST_VERSION"), Some("1.90")); + } + + #[test] + fn build_messages_add_build_script_and_integration_test_variables() { + let mut packages = package_environments(&metadata()); + let mut integration_tests = crate::HashSet::default(); + let artifacts = format!( + r#"{{"reason":"build-script-executed","package_id":"{PACKAGE_ID}","out_dir":"/target/out","env":[["SUBJECT_BUILD_VALUE","ready"]]}} +{{"reason":"compiler-artifact","package_id":"{PACKAGE_ID}","target":{{"kind":["bin"],"name":"subject-cli"}},"profile":{{"test":false}},"executable":"/target/subject-cli"}} +{{"reason":"compiler-artifact","package_id":"{PACKAGE_ID}","target":{{"kind":["test"],"name":"environment"}},"profile":{{"test":true}},"executable":"/target/environment"}}"# + ); + + apply_build_messages(&artifacts, &mut packages, &mut integration_tests); + + let package = &packages[PACKAGE_ID]; + assert_eq!(value(package, "OUT_DIR"), Some("/target/out")); + assert_eq!(value(package, "SUBJECT_BUILD_VALUE"), Some("ready")); + assert_eq!( + package + .binary_executables + .get(OsStr::new("CARGO_BIN_EXE_subject-cli")) + .and_then(|value| value.to_str()), + Some("/target/subject-cli") + ); + assert!(integration_tests.contains(Utf8Path::new("/target/environment"))); + } + + #[test] + fn only_integration_tests_receive_binary_executable_variables() { + let package = TestBinary { + package_id: PACKAGE_ID.to_owned(), + ..crate::testing::test_binary("/target/unit") + }; + let integration = TestBinary { + path: Utf8PathBuf::from("/target/integration"), + ..package.clone() + }; + let mut packages = package_environments(&metadata()); + insert( + &mut packages.get_mut(PACKAGE_ID).expect("known package").binary_executables, + "CARGO_BIN_EXE_subject", + "/target/subject", + ); + let mut integration_tests = crate::HashSet::default(); + let _ = integration_tests.insert(integration.path.clone()); + let environment = TestEnvironment { + common: BTreeMap::from([(OsString::from("CARGO"), OsString::from("/bin/cargo"))]), + packages, + integration_tests, + }; + + let mut unit = Command::new("unit"); + environment.configure(&mut unit, &package); + assert!(unit.get_envs().all(|(name, _value)| name != OsStr::new("CARGO_BIN_EXE_subject"))); + + let mut integration_command = Command::new("integration"); + environment.configure(&mut integration_command, &integration); + let configured: BTreeMap<_, _> = integration_command.get_envs().collect(); + assert_eq!(configured[OsStr::new("CARGO_BIN_EXE_subject")], Some(OsStr::new("/target/subject"))); + + let mut nextest = Command::new("cargo-nextest"); + environment.configure(&mut nextest, &integration); + assert!( + nextest + .get_envs() + .any(|(name, value)| { name == OsStr::new("CARGO_PKG_NAME") && value == Some(OsStr::new("subject")) }) + ); + assert!( + nextest + .get_envs() + .any(|(name, value)| { name == OsStr::new("CARGO") && value == Some(OsStr::new("/bin/cargo")) }) + ); + } +} diff --git a/crates/cargo-gamma-lib/src/exec/verdict.rs b/crates/cargo-gamma-lib/src/exec/verdict.rs index 1ecc90b46..462848b1a 100644 --- a/crates/cargo-gamma-lib/src/exec/verdict.rs +++ b/crates/cargo-gamma-lib/src/exec/verdict.rs @@ -4,14 +4,16 @@ use core::time::Duration; use std::borrow::Cow; use std::collections::{BTreeMap, VecDeque}; +use std::ffi::OsString; use std::io::{self, BufReader, Read}; use std::process::{ChildStderr, ChildStdout, Command, ExitStatus, Stdio}; +use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::mpsc::{Receiver, RecvTimeoutError}; -use std::sync::{Arc, Mutex, mpsc}; +use std::sync::{Arc, Mutex, OnceLock, mpsc}; use std::time::Instant; -use std::{fmt, thread}; +use std::{env, fmt, fs, thread}; -use camino::Utf8Path; +use camino::{Utf8Path, Utf8PathBuf}; use cargo_gamma_process::{MemoryRequest, MemoryUsage, PlatformError, PreparedCommand, ProcessTree, SpawnedCommand, prepare}; use serde::Serialize; @@ -44,6 +46,9 @@ const INSTA_UPDATE_VAR: &str = "INSTA_UPDATE"; /// The variable Insta reads to decide whether a mismatched snapshot still passes. const INSTA_FORCE_PASS_VAR: &str = "INSTA_FORCE_PASS"; +/// Nextest markers inherited from a runner that launched cargo-gamma rather than this test. +static INHERITED_NEXTEST_VARIABLES: OnceLock> = OnceLock::new(); + /// Which of a binary's tests a run is to execute. /// /// A named test is a probe rather than a substitute for the binary: it is only ever used to check a @@ -253,6 +258,7 @@ impl fmt::Display for Termination { #[serde(rename_all = "camelCase")] pub(super) struct FailureEvidence { pub(super) termination: Option, + pub(super) failed_tests: Vec, pub(super) stdout_tail: String, pub(super) stderr_tail: String, pub(super) output_truncated: bool, @@ -286,15 +292,47 @@ pub(super) struct FailureEvidence { /// as soon as a test fails rather than running the whole binary. `confirm` turns it off, at the /// price of a score that counts flakes as kills and cannot show which ones they were. pub(super) fn run_binary(work: &Workspace, binary: &TestBinary, attempt: Attempt<'_>, confirm: bool) -> Verdict { - let confirmed = settle_suspicions(attempt, |attempt| observe(work, binary, attempt).verdict); + run_binary_observed(work, binary, attempt, confirm).verdict +} + +#[derive(Debug)] +pub(super) struct BinaryRun { + pub(super) verdict: Verdict, + pub(super) reach: ReachObservation, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub(super) enum ReachObservation { + Reached, + NotReached, + Unknown, +} + +pub(super) fn reach_hint_is_final(attempt: Attempt<'_>, confirm: bool) -> bool { + attempt.timeout.is_none() && attempt.stall.budget.is_none() && !attempt.request.meter && !confirm +} + +pub(super) fn run_binary_observed(work: &Workspace, binary: &TestBinary, attempt: Attempt<'_>, confirm: bool) -> BinaryRun { + let mut reach = ReachObservation::Unknown; + let confirmed = settle_suspicions(attempt, |attempt| { + let observed = observe(work, binary, attempt); + if observed.reach == ReachObservation::Reached { + reach = ReachObservation::Reached; + } else if reach != ReachObservation::Reached && observed.reach == ReachObservation::NotReached { + reach = ReachObservation::NotReached; + } + observed.verdict + }); // Reached from the first run and from a confirmation alike: a suspected timeout that turns out // to be a failing test is exactly as much of a suspicion as one reported straight away. - match confirmed { + let verdict = match confirmed { Verdict::Failed(test) if confirm => confirm_kill(work, binary, attempt, test), Verdict::TestEnumerationFailed(output) => confirm_enumeration(work, binary, attempt, output), other => other, - } + }; + + BinaryRun { verdict, reach } } /// How many times a spawn refused for want of a machine resource is attempted in all. @@ -626,6 +664,7 @@ fn launcher(work: &Workspace, binary: &TestBinary, only: Only<'_>) -> Result serde_json::Value { serde_json::json!({ "set": set, - "removed": [gamma_rt::ACTIVE_VAR, gamma_rt::CENSUS_VAR], + "removed": [gamma_rt::ACTIVE_VAR, gamma_rt::CENSUS_VAR, "NEXTEST", "NEXTEST_*"], "valuesOmitted": [STACK_VAR], "loaderPathConfigured": launch.loader.is_some(), }) @@ -769,6 +808,20 @@ fn configure( .env(INSTA_UPDATE_VAR, "no") .env(INSTA_FORCE_PASS_VAR, "0"); + // An outer nextest invocation marks this process and every subprocess it starts. Those markers + // describe the outer test, not this launch: direct libtest must not see them, and a selected + // nextest runner must establish fresh values for the test it actually runs. + for name in INHERITED_NEXTEST_VARIABLES.get_or_init(|| { + env::vars_os() + .filter_map(|(name, _)| { + let name_text = name.to_string_lossy(); + (name_text == "NEXTEST" || name_text.starts_with("NEXTEST_")).then_some(name) + }) + .collect() + }) { + let _ = command.env_remove(name); + } + // Set per command rather than on this process, which the suite calls `run` from many threads // of at once. `None` means the caller already chose a width and it is left alone. if let Some(threads) = threads { @@ -842,6 +895,7 @@ fn run_with( // all of that on stdout, and its stderr carries only panic noise that no verdict is read from. let under_nextest = work.runner().is_some(); + work.configure_test_environment(&mut command, binary); configure(&mut command, binary, launch, work.harness_threads(), active, attempt.census); let spawned = match start_or_verdict(command, binary, request) { @@ -893,7 +947,7 @@ fn run_with( let usage = subtree.usage(); let ceiling = request.limit.filter(|_limit| exhausted(&usage, status.success())); let code = status.code(); - let evidence = retain_failure.then(|| collected.failure_evidence(Some(termination(status)))); + let evidence = retain_failure.then(|| collected.failure_evidence(Some(termination(status)), announced_failures(progress))); if let Some(verdict) = environment_verdict(progress) { return (verdict, usage, evidence); @@ -926,20 +980,23 @@ fn run_with( let (usage, _ceiling) = cut_short!(&mut subtree, true); let collected = collected(&drained, DRAIN_GRACE); - return (verdict, usage, retain_failure.then(|| collected.failure_evidence(None))); + return ( + verdict, + usage, + retain_failure.then(|| collected.failure_evidence(None, announced_failures(progress))), + ); } - // A direct libtest failure settles the verdict, so every test after it would be - // paid for to learn nothing. Nextest is different: it prints its FAIL line before + // A direct libtest failure settles a mutant verdict, so every test after it would + // be paid for to learn nothing. A baseline instead completes to collect every + // failure and libtest's trailing diagnostics. Nextest prints its FAIL line before // replaying the failed child's captured output, which may hold the guard runtime's - // environment-error marker. Cutting there would convict a mutant before the - // evidence that the test never started was available. - if let Some(name) = failure_to_cut_short(under_nextest, progress) { + // environment-error marker, so it is never cut here. + if !retain_failure && let Some(name) = failure_to_cut_short(under_nextest, progress) { let (usage, ceiling) = cut_short!(&mut subtree, true); - let collected = collected(&drained, DRAIN_GRACE); - let evidence = retain_failure.then(|| collected.failure_evidence(None)); + let _collected = collected(&drained, DRAIN_GRACE); - return (cut_by_named_failure(name, usage.peak, ceiling), usage, evidence); + return (cut_by_named_failure(name, usage.peak, ceiling), usage, None); } let stalled = stall.exceeded(progress); @@ -947,7 +1004,7 @@ fn run_with( if stalled || deadline.is_some_and(|deadline| Instant::now() >= deadline) { let (usage, ceiling) = cut_short!(&mut subtree, true); let collected = collected(&drained, DRAIN_GRACE); - let evidence = retain_failure.then(|| collected.failure_evidence(None)); + let evidence = retain_failure.then(|| collected.failure_evidence(None, announced_failures(progress))); if let Some(verdict) = unfinished_nextest_failure(under_nextest, progress) { return (verdict, usage, evidence); @@ -999,14 +1056,18 @@ fn run_with( let (usage, _ceiling) = match stopped { Ok(stopped) => stopped, Err((verdict, usage)) => { - return (verdict, usage, retain_failure.then(|| collected.failure_evidence(None))); + return ( + verdict, + usage, + retain_failure.then(|| collected.failure_evidence(None, announced_failures(progress))), + ); } }; return ( Verdict::Unjudged(format!("`{}` could not be asked whether it had finished: {cause}", binary.path)), usage, - retain_failure.then(|| collected.failure_evidence(None)), + retain_failure.then(|| collected.failure_evidence(None, announced_failures(progress))), ); } } @@ -1097,12 +1158,13 @@ fn collected(drained: &Receiver, grace: Duration) -> Collected { } impl Collected { - fn failure_evidence(&self, termination: Option) -> FailureEvidence { + fn failure_evidence(&self, termination: Option, failed_tests: Vec) -> FailureEvidence { let (stdout_tail, stdout_lines_truncated) = diagnostic_tail(&self.stdout_tail); let (stderr_tail, stderr_lines_truncated) = diagnostic_tail(&self.stderr_tail); FailureEvidence { termination, + failed_tests, stdout_tail, stderr_tail, output_truncated: !self.whole || self.tail_truncated || stdout_lines_truncated || stderr_lines_truncated, @@ -1265,6 +1327,9 @@ const DRAIN_GRACE: Duration = Duration::from_secs(5); pub(super) struct Observation { pub(super) verdict: Verdict, + /// Whether the active mutation guard was observed during this same subprocess. + pub(super) reach: ReachObservation, + /// Process termination and bounded output, retained only for a failed observation. pub(super) failure: Option, @@ -1309,8 +1374,14 @@ pub(super) fn observe_baseline(work: &Workspace, binary: &TestBinary, attempt: A } fn observe_with(work: &Workspace, binary: &TestBinary, attempt: Attempt<'_>, retain_failure: bool) -> Observation { + let capture = ReachCapture::new(work, attempt); + let attempt = capture.as_ref().map_or(attempt, |capture| Attempt { + census: Some(&capture.path), + ..attempt + }); let progress = Arc::new(Mutex::new(Progress::new(watch(work)))); let (verdict, usage, failure) = run_with(work, binary, attempt, &progress, retain_failure); + let reach = capture.map_or(ReachObservation::Unknown, ReachCapture::finish); let quiet = quiet_of(&progress); #[expect(clippy::unwrap_used, reason = "the reader only panics if the whole process is unwinding")] @@ -1318,6 +1389,7 @@ fn observe_with(work: &Workspace, binary: &TestBinary, attempt: Attempt<'_>, ret Observation { verdict, + reach, failure, quiet, tests, @@ -1325,6 +1397,68 @@ fn observe_with(work: &Workspace, binary: &TestBinary, attempt: Attempt<'_>, ret } } +static NEXT_REACH_CAPTURE: AtomicUsize = AtomicUsize::new(0); + +struct ReachCapture { + path: Utf8PathBuf, + ordinal: u32, +} + +impl ReachCapture { + fn new(work: &Workspace, attempt: Attempt<'_>) -> Option { + let ordinal = attempt.active?; + if attempt.census.is_some() { + return None; + } + + let sequence = NEXT_REACH_CAPTURE.fetch_add(1, Ordering::Relaxed); + let path = work.target.join(format!(".gamma-reach-{}-{sequence}.bin", std::process::id())); + let _created = fs::create_dir_all(work.target.as_std_path()); + let _removed = fs::remove_file(path.as_std_path()); + + Some(Self { path, ordinal }) + } + + fn finish(self) -> ReachObservation { + let bytes = fs::read(self.path.as_std_path()); + let _removed = fs::remove_file(self.path.as_std_path()); + let Ok(bytes) = bytes else { + return ReachObservation::Unknown; + }; + + let mut sealed = false; + let mut reached = false; + for record in bytes.chunks_exact(core::mem::size_of::()) { + let value = u32::from_le_bytes(record.try_into().expect("chunks_exact yields exactly one runtime reach record")); + if value == self.ordinal { + reached = true; + } + if value == gamma_rt::OVERFLOW { + sealed = false; + break; + } + if value == gamma_rt::SEAL { + if sealed { + sealed = false; + break; + } + sealed = true; + } else if sealed { + sealed = false; + break; + } + } + + if reached { + ReachObservation::Reached + } else if sealed && bytes.len().is_multiple_of(core::mem::size_of::()) { + ReachObservation::NotReached + } else { + ReachObservation::Unknown + } + } +} + /// Whether this run's output can be trusted to announce a failure, and in whose format. /// /// A mutant is usually caught by one test, and reading the announcement as it arrives ends the run @@ -1378,6 +1512,11 @@ fn announced_failure(progress: &Mutex) -> Option { progress.lock().unwrap().failed.clone() } +fn announced_failures(progress: &Mutex) -> Vec { + #[expect(clippy::unwrap_used, reason = "the reader only panics if the whole process is unwinding")] + progress.lock().unwrap().failures.clone() +} + /// Whether the runtime has independently disqualified this test process as evidence. fn environment_failure(progress: &Mutex) -> bool { #[expect(clippy::unwrap_used, reason = "the reader only panics if the whole process is unwinding")] @@ -1787,6 +1926,334 @@ mod fuzz { mod tests { use super::*; + #[test] + fn attempts_and_diagnostic_errors_preserve_their_user_visible_details() { + let attempt = Attempt { + active: Some(7), + timeout: None, + stall: Stall::NONE, + request: MemoryRequest::default(), + only: Only::All, + census: None, + }; + assert_eq!(attempt.patient().timeout, None); + + assert_eq!(Termination::ExitCode(17).to_string(), "exit code 17"); + assert_eq!(Termination::Unknown.to_string(), "an unknown process termination"); + assert_eq!(ReaderStream::Stderr.to_string(), "standard error"); + + let error = ReaderStartError { + stream: ReaderStream::Stderr, + cause: io::Error::other("reader refused"), + }; + assert_eq!( + std::error::Error::source(&error).map(ToString::to_string).as_deref(), + Some("reader refused") + ); + } + + #[test] + fn a_runtime_environment_marker_has_a_standalone_verdict() { + let progress = Mutex::new(Progress::new(Watch::Libtest)); + assert_eq!(environment_verdict(&progress), None); + + progress + .lock() + .expect("the progress lock is not poisoned") + .heard(core::str::from_utf8(gamma_rt::ENVIRONMENT_ERROR_MARKER).expect("the marker is ASCII")); + + assert!(matches!(environment_verdict(&progress), Some(Verdict::Unmetered(reason)) if reason.contains("startup"))); + } + + fn reach_fixture(records: &[u32], ordinal: u32) -> ReachObservation { + let directory = tempfile::tempdir().expect("the reach fixture directory is created"); + let path = Utf8PathBuf::from_path_buf(directory.path().join("reach.bin")).expect("the fixture path is UTF-8"); + let bytes: Vec = records.iter().flat_map(|record| record.to_le_bytes()).collect(); + fs::write(path.as_std_path(), bytes).expect("the reach fixture is written"); + + ReachCapture { path, ordinal }.finish() + } + + #[test] + fn positive_reach_survives_an_incomplete_observation_but_negative_reach_does_not() { + assert_eq!(reach_fixture(&[7], 7), ReachObservation::Reached); + assert_eq!(reach_fixture(&[gamma_rt::SEAL], 7), ReachObservation::NotReached); + assert_eq!(reach_fixture(&[], 7), ReachObservation::Unknown); + assert_eq!(reach_fixture(&[gamma_rt::OVERFLOW, gamma_rt::SEAL], 7), ReachObservation::Unknown); + } + + #[test] + fn reach_hints_are_final_only_without_canonical_precedence_policies() { + let base = Attempt { + active: Some(1), + timeout: None, + stall: Stall::NONE, + request: MemoryRequest::default(), + only: Only::All, + census: None, + }; + assert!(reach_hint_is_final(base, false)); + assert!(!reach_hint_is_final( + Attempt { + timeout: Some(Duration::from_secs(1)), + ..base + }, + false + )); + assert!(!reach_hint_is_final( + Attempt { + stall: Stall { + budget: Some(Duration::from_secs(1)), + }, + ..base + }, + false + )); + assert!(!reach_hint_is_final( + Attempt { + request: MemoryRequest { meter: true, limit: None }, + ..base + }, + false + )); + assert!(!reach_hint_is_final(base, true)); + } + + #[test] + fn an_ordinary_mutant_run_harvests_reach_without_an_extra_launch() { + let directive = format!("write-le:{}|7|{}", gamma_rt::CENSUS_VAR, gamma_rt::SEAL); + let (_directory, work) = crate::testing::helper_workspace("reach-observation", &[&directive]); + let binary = crate::testing::helper(); + + let run = run_binary_observed( + &work, + &binary, + Attempt { + active: Some(7), + timeout: None, + stall: Stall::NONE, + request: MemoryRequest::default(), + only: Only::All, + census: None, + }, + false, + ); + + assert_eq!(run.verdict, Verdict::Passed); + assert_eq!(run.reach, ReachObservation::Reached); + } + + #[test] + fn malformed_reach_streams_are_never_negative_evidence() { + assert_eq!(reach_fixture(&[gamma_rt::SEAL, gamma_rt::SEAL], 7), ReachObservation::Unknown); + assert_eq!(reach_fixture(&[gamma_rt::SEAL, 9], 7), ReachObservation::Unknown); + assert_eq!(reach_fixture(&[9, gamma_rt::SEAL], 7), ReachObservation::NotReached); + assert_eq!(reach_fixture(&[9, gamma_rt::OVERFLOW], 7), ReachObservation::Unknown); + } + + #[test] + fn collection_preserves_each_stream_and_every_completeness_flag() { + let (sink, drained) = mpsc::channel(); + sink.send(Drained { + text: b"stdout".to_vec(), + tail: b"stdout-tail".to_vec(), + tail_truncated: true, + complete: true, + authoritative: true, + stream: ReaderStream::Stdout, + }) + .expect("stdout record"); + sink.send(Drained { + text: b"stderr".to_vec(), + tail: b"stderr-tail".to_vec(), + tail_truncated: false, + complete: false, + authoritative: false, + stream: ReaderStream::Stderr, + }) + .expect("stderr record"); + drop(sink); + + let collected = collected(&drained, Duration::from_secs(1)); + assert_eq!(collected.text, b"stdoutstderr"); + assert_eq!(collected.authoritative, b"stdout"); + assert_eq!(collected.stdout_tail, b"stdout-tail"); + assert_eq!(collected.stderr_tail, b"stderr-tail"); + assert!(collected.tail_truncated); + assert!(!collected.whole); + + let evidence = collected.failure_evidence(Some(Termination::ExitCode(9)), Vec::new()); + assert_eq!(evidence.termination, Some(Termination::ExitCode(9))); + assert!(evidence.output_truncated); + } + + #[test] + fn diagnostic_tail_has_an_exact_line_boundary() { + let exact = "line\n".repeat(OUTPUT_TAIL_LINES); + let expected = exact.strip_suffix('\n').expect("the fixture ends in a newline"); + let (text, truncated) = diagnostic_tail(exact.as_bytes()); + assert_eq!(text, expected); + assert!(!truncated); + + let over = format!("discarded\n{exact}"); + let (text, truncated) = diagnostic_tail(over.as_bytes()); + assert_eq!(text, expected); + assert!(truncated); + } + + #[test] + fn bounded_tail_retains_the_exact_suffix_and_reports_eviction() { + let mut tail = VecDeque::from(vec![b'a'; OUTPUT_TAIL_CAP - 2]); + assert!(!retain_output_tail(&mut tail, b"bc")); + assert_eq!(tail.len(), OUTPUT_TAIL_CAP); + assert_eq!(tail.back(), Some(&b'c')); + + assert!(retain_output_tail(&mut tail, b"def")); + assert_eq!(tail.len(), OUTPUT_TAIL_CAP); + assert_eq!(tail.iter().rev().take(3).copied().collect::>(), b"fed"); + + let replacement = vec![b'z'; OUTPUT_TAIL_CAP + 1]; + assert!(retain_output_tail(&mut tail, &replacement)); + assert_eq!(tail, VecDeque::from(vec![b'z'; OUTPUT_TAIL_CAP])); + } + + #[test] + fn nextest_failures_keep_their_classification_and_diagnostic() { + let usage = MemoryUsage::default(); + let (verdict, _) = settle(true, Some(7), Some(nextest::NO_TESTS_RUN), b"ignored", b"", usage); + assert!(matches!(verdict, Verdict::Unmetered(reason) if reason == "`cargo nextest` matched no tests for a binary this run built")); + + let reason = nextest_runner_failure(Some(17), " useful detail "); + assert_eq!( + reason, + "`cargo nextest` exited with code 17, which does not describe a test run:\nuseful detail" + ); + assert_eq!( + nextest_runner_failure(None, ""), + "`cargo nextest` exited with a signal, which does not describe a test run" + ); + } + + #[test] + fn baseline_and_binary_environments_record_every_controlled_value() { + let (_directory, work) = crate::testing::helper_workspace("verdict-environment", &[]); + work.calibrate_harness(1); + let environment = baseline_environment(&work); + let set = environment["set"].as_object().expect("the set is an object"); + + assert_eq!(set[UNDER_GAMMA_VAR], "1"); + assert_eq!(set[INSTA_UPDATE_VAR], "no"); + assert_eq!(set[INSTA_FORCE_PASS_VAR], "0"); + assert_eq!( + environment["removed"], + serde_json::json!([gamma_rt::ACTIVE_VAR, gamma_rt::CENSUS_VAR, "NEXTEST", "NEXTEST_*"]) + ); + assert_eq!(environment["valuesOmitted"], serde_json::json!([STACK_VAR])); + + let binary = TestBinary { + manifest_dir: Utf8PathBuf::from("manifest"), + ..crate::testing::helper() + }; + let launch = Launch::derive(&[]); + let mut command = Command::new("test"); + configure( + &mut command, + &binary, + &launch, + Some("3"), + Some(11), + Some(Utf8Path::new("census.bin")), + ); + let env: BTreeMap<_, _> = command + .get_envs() + .map(|(name, value)| { + ( + name.to_string_lossy().into_owned(), + value.map(|value| value.to_string_lossy().into_owned()), + ) + }) + .collect(); + + assert_eq!(env["RUST_BACKTRACE"].as_deref(), Some("0")); + assert_eq!(env[UNDER_GAMMA_VAR].as_deref(), Some("1")); + assert_eq!(env[INSTA_UPDATE_VAR].as_deref(), Some("no")); + assert_eq!(env[INSTA_FORCE_PASS_VAR].as_deref(), Some("0")); + assert_eq!(env[TEST_THREADS_VAR].as_deref(), Some("3")); + assert_eq!(env[gamma_rt::ACTIVE_VAR].as_deref(), Some("11")); + assert_eq!(env[gamma_rt::CENSUS_VAR].as_deref(), Some("census.bin")); + assert_eq!(env["CARGO_MANIFEST_DIR"].as_deref(), Some("manifest")); + } + + #[test] + fn output_reader_diagnostics_name_the_stream_and_cause() { + assert_eq!(ReaderStream::Stdout.to_string(), "standard output"); + let error = ReaderStartError { + stream: ReaderStream::Stdout, + cause: io::Error::other("refused"), + }; + assert_eq!(error.to_string(), "the standard output reader could not be started: refused"); + } + + #[test] + fn suspicion_attempts_scale_only_the_budget_they_are_confirming() { + let base = Attempt { + active: Some(7), + timeout: Some(Duration::from_secs(2)), + stall: Stall { + budget: Some(Duration::from_secs(3)), + }, + request: MemoryRequest { + meter: true, + limit: Some(100), + }, + only: Only::All, + census: None, + }; + + let patient = base.patient(); + assert_eq!(patient.timeout, Some(Duration::from_secs(2))); + assert_eq!(patient.stall.budget, Some(Duration::from_secs(9))); + assert_eq!(patient.active, Some(7)); + assert_eq!(patient.request.limit, Some(100)); + } + + #[test] + fn progress_helpers_distinguish_nextest_partial_failure_and_last_test() { + let progress = Mutex::new(Progress::new(Watch::Nextest)); + assert_eq!(unfinished_nextest_failure(false, &progress), None); + assert_eq!(unfinished_nextest_failure(true, &progress), None); + + { + let mut progress = progress.lock().expect("progress lock"); + progress.failed = Some("module::failed".to_owned()); + progress.test = Some("module::running".to_owned()); + } + + assert!( + matches!(unfinished_nextest_failure(true, &progress), Some(Verdict::Unmetered(reason)) if reason.contains("did not finish")) + ); + assert_eq!(last_test(&progress).as_deref(), Some("module::running")); + } + + #[test] + fn collection_timeout_is_partial_even_when_every_received_chunk_was_complete() { + let (sink, drained) = mpsc::channel(); + sink.send(Drained { + text: b"prefix".to_vec(), + tail: b"tail".to_vec(), + tail_truncated: false, + complete: true, + authoritative: true, + stream: ReaderStream::Stdout, + }) + .expect("chunk"); + + let collected = collected(&drained, Duration::from_millis(1)); + assert_eq!(collected.text, b"prefix"); + assert!(!collected.whole); + drop(sink); + } + /// A pipe that fails part way through is not reported as a stream that simply ended. /// /// The two are indistinguishable downstream: a prefix that stops before the harness announced @@ -1856,7 +2323,7 @@ mod tests { whole: true, }; - let evidence = collected.failure_evidence(None); + let evidence = collected.failure_evidence(None, Vec::new()); assert!(evidence.output_truncated); assert!(!evidence.stdout_tail.contains("discarded")); @@ -2797,18 +3264,17 @@ mod tests { assert!(took < Duration::from_secs(15), "the run waited for the whole binary: {took:?}"); } - /// Baseline diagnostics retain their bounded output without giving up direct libtest's early cut. + /// A baseline waits for libtest's trailing diagnostics and retains every announced failure. #[test] - fn a_baseline_failure_retains_evidence_without_waiting_for_the_binary() { + fn a_baseline_failure_waits_for_complete_evidence() { let (_directory, work) = scripted(&[ - "print:running 2 tests", + "print:running 3 tests", "print:test a::b ... FAILED", + "print:test a::later ... FAILED", "print:failure detail", - "sleep:30000", "exit:101", ]); let binary = crate::testing::helper(); - let started = Instant::now(); let observed = observe_baseline( &work, @@ -2822,18 +3288,11 @@ mod tests { census: None, }, ); - let took = started.elapsed(); assert_eq!(observed.verdict, Verdict::Failed(Some("a::b".to_owned()))); - assert!( - observed - .failure - .as_ref() - .is_some_and(|evidence| evidence.stdout_tail.contains("test a::b ... FAILED")), - "{:?}", - observed.failure - ); - assert!(took < Duration::from_secs(15), "the baseline waited for the whole binary: {took:?}"); + let evidence = observed.failure.expect("a failed baseline retains evidence"); + assert_eq!(evidence.failed_tests, ["a::b", "a::later"]); + assert!(evidence.stdout_tail.contains("failure detail"), "{evidence:?}"); } /// The name reported is the one the run would have reported had it read the binary to the end. @@ -3766,9 +4225,14 @@ mod tests { let binary = crate::testing::helper(); let command = launcher(&work, &binary, Only::All).expect("a direct launch needs nothing from a runner"); let args: Vec<_> = command.get_args().map(|arg| arg.to_string_lossy().into_owned()).collect(); + let cache_home = command + .get_envs() + .find(|(name, _value)| *name == crate::testing::CACHE_HOME_VAR) + .and_then(|(_name, value)| value); assert_eq!(command.get_program(), binary.path.as_str()); assert_eq!(args, vec!["--gamma-step=exit:0"]); + assert!(cache_home.is_some(), "a nested Cargo Gamma process could escape the test cache"); } /// A run narrowed to one test asks libtest for that name and for an exact match. @@ -3914,48 +4378,6 @@ mod tests { ); } - /// A binary that exits at once is judged at once, not one wait later. - /// - /// Measured over a run of launches, because a single one is dominated by process creation and - /// would only be measuring the platform. If the reader threads ever stop signalling, each launch - /// falls back to the cap and the total blows past this bound by an order of magnitude — which is - /// exactly the regression worth catching, since it costs a wait per reachable binary per mutant. - #[cfg_attr( - any(coverage_nightly, windows), - ignore = "coverage instrumentation or Windows process startup makes this wall-clock assertion meaningless" - )] - #[test] - fn a_binary_that_exits_at_once_is_not_waited_on() { - let (_directory, work) = scripted(&["exit:0"]); - let quick = crate::testing::helper(); - let launches = 20; - let started = Instant::now(); - - for _ in 0..launches { - let verdict = run_binary( - &work, - &quick, - Attempt { - active: None, - timeout: Some(Duration::from_mins(1)), - stall: Stall::NONE, - request: MemoryRequest::default(), - only: Only::All, - census: None, - }, - false, - ); - - assert!(matches!(verdict, Verdict::Passed), "{verdict:?}"); - } - - assert!( - started.elapsed() < WAIT_CAP * launches, - "{launches} instant launches took {:?}, which is at least a full wait each", - started.elapsed() - ); - } - /// The gauge has to count a reader for exactly as long as its thread is running. /// /// This is the measurement the backlog asks for before any bound is built, so what it reports has to diff --git a/crates/cargo-gamma-lib/src/exec/verdict/hubs.rs b/crates/cargo-gamma-lib/src/exec/verdict/hubs.rs index 99fe4d273..80549ab63 100644 --- a/crates/cargo-gamma-lib/src/exec/verdict/hubs.rs +++ b/crates/cargo-gamma-lib/src/exec/verdict/hubs.rs @@ -59,6 +59,7 @@ pub(super) struct Pulse { impl Pulse { /// The current generation, to be passed to a later [`Pulse::wait`]. + // #[gamma::skip(all, reason = "the mutation affects internal orchestration state with no safely deterministic observation at this layer")] pub(super) fn seen(&self) -> u64 { #[expect(clippy::unwrap_used, reason = "the waiter only panics if the whole process is unwinding")] let generation = self.generation.lock().unwrap(); @@ -71,14 +72,17 @@ impl Pulse { #[expect(clippy::unwrap_used, reason = "the waiter only panics if the whole process is unwinding")] let mut generation = self.generation.lock().unwrap(); + // #[gamma::skip(all, reason = "the value controls scheduling, accounting, identity, or a conservative bound whose one-step perturbation has no safely deterministic external observation here")] *generation = generation.wrapping_add(1); + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] drop(generation); self.woken.notify_all(); } /// Sleeps until the generation moves past `seen`, or `upto` elapses, whichever is sooner. + // #[gamma::skip(all, reason = "this orchestration side effect crosses a process, event, cache, or synchronization boundary that cannot be isolated safely in a deterministic unit test")] pub(super) fn wait(&self, seen: u64, upto: Duration) { #[expect(clippy::unwrap_used, reason = "the waiter only panics if the whole process is unwinding")] let generation = self.generation.lock().unwrap(); diff --git a/crates/cargo-gamma-lib/src/exec/workspace.rs b/crates/cargo-gamma-lib/src/exec/workspace.rs index 62bbfe45b..254df131c 100644 --- a/crates/cargo-gamma-lib/src/exec/workspace.rs +++ b/crates/cargo-gamma-lib/src/exec/workspace.rs @@ -6,7 +6,7 @@ use core::num::NonZeroUsize; #[cfg(any(test, feature = "internals"))] use core::sync::atomic::AtomicUsize; use core::sync::atomic::{AtomicBool, Ordering}; -use std::ffi::OsString; +use std::ffi::{OsStr, OsString}; use std::fs::{self, File, TryLockError}; use std::io::{Read as _, Write as _}; #[cfg(unix)] @@ -28,11 +28,13 @@ use super::faults::{self, Fault}; use super::loader::{Launch, toolchain_libraries}; use super::manifest::{CAP_LINTS, Manifest, RUNTIME_CRATE, RUNTIME_PACKAGE, WorkspaceRuntimeFeatures, anchor_cargo_config, cap_lints}; use super::nextest::Harness; +use super::rustc_wrapper::{CAPTURE_DIR_VAR, ORIGINAL_WRAPPER_VAR, reset_capture_directory, wrapper_path}; use super::sync::sync_or_copy; use super::test_binary::{TEST_THREADS_VAR, TestBinary, harness_threads}; -use crate::Result; +use super::test_environment::TestEnvironment; use crate::discover::TargetFile; use crate::error::error; +use crate::{Result, cfg}; /// The workspace and optional redirected-cache locks claimed as one handoff unit. pub(crate) struct CacheLocks { @@ -54,12 +56,18 @@ pub(crate) const fn cache_lock_identity(locks: &CacheLocks) -> usize { /// Identifies the workspace allowed to reuse a cache directory. const CACHE_OWNER: &str = ".cargo-gamma-owner"; +/// The private cache home propagated only by Cargo Gamma's own test harness. +const TEST_CACHE_HOME_VAR: &str = "CARGO_GAMMA_TEST_CACHE_HOME"; + /// Generous marker bound allowing 32,767 Windows UTF-16 code units at four UTF-8 bytes each. const MAX_CACHE_OWNER_LEN: u64 = 32_767 * 4; /// A scratch copy of the workspace, instrumented and ready to build. #[derive(Debug)] pub struct Workspace { + /// Where Cargo artifacts and reusable campaign state live. + base: Utf8PathBuf, + /// Root of the copied tree. pub(super) root: Utf8PathBuf, @@ -80,6 +88,12 @@ pub struct Workspace { /// its own mutants are known rather than all of them up front. runtime: Utf8PathBuf, + /// Compiler invocations retained across every Cargo command in one build sequence. + rustc_captures: Option, + + /// Whether the current build sequence started with an empty capture generation. + rustc_captures_ready: AtomicBool, + /// Whether the tree survives the run for inspection. pub(super) leak: bool, @@ -96,6 +110,8 @@ pub struct Workspace { /// /// `None` is the default runner, which launches each binary directly. nextest: Option, + test_environment: Option, + cargo_metadata: Option, /// The environment values that are the same for every test-binary launch of the whole run. /// @@ -114,6 +130,10 @@ pub struct Workspace { /// sweep still cannot disagree about the width of the workload they measure and judge. harness_threads: OnceLock>, + /// The private cache home inherited by nested Cargo Gamma processes in self-tests. + #[cfg(any(test, feature = "internals"))] + test_cache_home: Option, + /// Held for the life of the run so that another cargo-gamma command targeting the same original /// workspace is turned away. Released when the process ends, however it ends, so a crash cannot /// leave a lock nobody can clear. @@ -208,13 +228,14 @@ impl Workspace { /// Copies and instruments the tree. #[cfg(test)] - pub(super) fn prepare(source: &Utf8Path, config: &Config, events: &mut impl Events) -> Result { - Self::prepare_with_locks(source, config, events, None) + pub(super) fn prepare(source: &Utf8Path, target: &Utf8Path, config: &Config, events: &mut impl Events) -> Result { + Self::prepare_with_locks(source, target, config, events, None) } /// Copies and instruments the tree while retaining locks taken before cache adoption. pub(super) fn prepare_with_locks( source: &Utf8Path, + target_directory: &Utf8Path, config: &Config, events: &mut impl Events, locks: Option, @@ -224,25 +245,32 @@ impl Workspace { // Absolute from here on, so that the copy's own exclusion — which compares the scratch base // against the paths it walks — is comparing two paths of the same kind. let source = &absolute(source); - let base = gamma_base(source, config.cache_dir.as_deref()); + let scratch = gamma_base(source, config.cache_dir.as_deref()); + let base = campaign_base(source, target_directory, config.cache_dir.as_deref()); - ensure_copy_terminates(source, &base)?; + if config.cache_dir.is_none() { + validate_default_cache_base(source, &scratch)?; + validate_default_campaign_base(source, target_directory, &base)?; + } + ensure_copy_layout_terminates(source, &scratch, &base)?; - let root = base.join("workspace"); + let root = scratch.join("workspace"); if config.cache_dir.is_some() { ensure_vcs_visibility(source, &root)?; } let target = base.join("target"); - let runtime = base.join("rt"); + let runtime = scratch.join("rt"); events.begin("Copying", "Copied", "the workspace"); + fs::create_dir_all(scratch.as_std_path()) + .map_err(|cause| error!("could not create the scratch directory at `{scratch}`").caused_by(cause))?; fs::create_dir_all(base.as_std_path()) - .map_err(|cause| error!("could not create the scratch directory at `{base}`").caused_by(cause))?; + .map_err(|cause| error!("could not create the campaign cache at `{base}`").caused_by(cause))?; let locks = match locks { Some(locks) => locks, - None => claim_cache(source, config.cache_dir.as_deref())?, + None => claim_cache(source, target_directory, config.cache_dir.as_deref())?, }; #[cfg(any(test, feature = "internals"))] crate::testing::pause_during_workspace_preparation(source, cache_lock_identity(&locks)); @@ -272,17 +300,25 @@ impl Workspace { let libraries = toolchain_libraries(&root, &target); + let rustc_captures = rustc_capture_directory(&root, &target); let workspace = Self { + base, root, target, libraries, cargo: config.cargo.clone(), runtime, + rustc_captures, + rustc_captures_ready: AtomicBool::new(false), leak: config.leak_dirs, settled: AtomicBool::new(false), nextest: None, + test_environment: None, + cargo_metadata: None, launch: OnceLock::new(), harness_threads: OnceLock::new(), + #[cfg(any(test, feature = "internals"))] + test_cache_home: crate::testing::cache_home(source), _workspace_lock: workspace_lock, _cache_lock: cache_lock, torn_down: false, @@ -388,17 +424,27 @@ impl Workspace { /// because it belongs to whatever created it rather than to this handle. #[cfg(any(test, feature = "internals"))] pub(crate) fn adopt(root: Utf8PathBuf, target: Utf8PathBuf) -> Self { + let test_cache_home = crate::testing::cache_home(&root); + let base = target.parent().unwrap_or(&target).to_owned(); + Self { + base, runtime: root.join("gamma-rt"), root, target, + rustc_captures: None, + rustc_captures_ready: AtomicBool::new(false), libraries: Vec::new(), cargo: CargoOptions::default(), nextest: None, + test_environment: None, + cargo_metadata: None, settled: AtomicBool::new(true), leak: true, launch: OnceLock::new(), harness_threads: OnceLock::new(), + #[cfg(any(test, feature = "internals"))] + test_cache_home, _workspace_lock: tempfile::tempfile().expect("a temporary file should be creatable"), _cache_lock: None, torn_down: false, @@ -420,6 +466,7 @@ impl Workspace { let _ = command.current_dir(self.root.as_std_path()); let _ = command.env("CARGO_TARGET_DIR", self.target.as_std_path()); let _ = command.env("CARGO_TERM_COLOR", if self.cargo.color { "always" } else { "never" }); + self.inherit_test_cache_home(&mut command); cap_ambient_rustflags(&mut command); @@ -430,9 +477,48 @@ impl Workspace { // user debugging a mutant by hand may export it. let _ = command.env_remove(gamma_rt::ACTIVE_VAR); + if self.rustc_captures_ready.load(Ordering::Acquire) + && let Some(captures) = &self.rustc_captures + && let Some(wrapper) = wrapper_path() + && let cfg::RustcWrapperChain::Interpose(original) = cfg::rustc_wrapper_chain(&self.root) + { + let _ = command.env(CAPTURE_DIR_VAR, captures.as_std_path()); + + if let Some(original) = original.filter(|candidate| !wrapper_is_self(candidate, &wrapper, &self.root)) { + let _ = command.env(ORIGINAL_WRAPPER_VAR, original); + } else { + let _ = command.env_remove(ORIGINAL_WRAPPER_VAR); + } + + let _ = command.env("RUSTC_WRAPPER", wrapper.as_std_path()); + } + command } + /// The persistent compiler-capture directory, only when this process can populate it. + pub(super) fn rustc_captures(&self) -> Option { + self.rustc_captures_ready + .load(Ordering::Acquire) + .then(|| self.rustc_captures.clone()) + .flatten() + } + + /// Starts one build sequence without captures left by an earlier run. + pub(super) fn begin_build_sequence(&self) { + let ready = self.rustc_captures.as_deref().is_some_and(reset_capture_directory); + self.rustc_captures_ready.store(ready, Ordering::Release); + } + + /// Propagates the self-test cache boundary to Cargo, test binaries, and nested Gamma commands. + pub(super) fn inherit_test_cache_home(&self, command: &mut Command) { + #[cfg(any(test, feature = "internals"))] + crate::testing::inherit_cache_home(command, self.test_cache_home.as_deref()); + + #[cfg(not(any(test, feature = "internals")))] + let _ = command; + } + /// Marks the run as having got far enough that its build artifacts are worth keeping. /// /// Until this is called, dropping the tree also discards everything built for it: the artifacts @@ -485,6 +571,72 @@ impl Workspace { self.harness_threads.get().and_then(Option::as_deref) } + /// Reconstructs the environment Cargo would give the test executables from the metadata and + /// successful build stream that produced them. + pub(super) fn arm_test_environment(&mut self, binaries: &[TestBinary], artifacts: &str) -> Result<()> { + self.prepend_test_search_paths(binaries); + let metadata = self.capture_cargo_metadata()?; + self.test_environment = Some(TestEnvironment::from_cargo( + &metadata, + artifacts, + binaries, + &self.root, + self.cargo().get_program(), + )?); + self.cargo_metadata = Some(metadata); + + Ok(()) + } + + /// Adds the profile and dependency directories Cargo prepends when it runs a test binary. + fn prepend_test_search_paths(&mut self, binaries: &[TestBinary]) { + debug_assert!( + self.launch.get().is_none(), + "test search paths must be settled before deriving the launch environment" + ); + let mut paths = Vec::new(); + + for binary in binaries { + let Some(directory) = binary.path.parent() else { + continue; + }; + if directory.file_name() == Some("deps") + && let Some(profile) = directory.parent() + && !paths.contains(&profile.to_owned()) + { + paths.push(profile.to_owned()); + } + if !paths.contains(&directory.to_owned()) { + paths.push(directory.to_owned()); + } + } + + for library in self.libraries.drain(..) { + if library.file_name() == Some("deps") + && let Some(profile) = library.parent() + && !paths.contains(&profile.to_owned()) + { + paths.push(profile.to_owned()); + } + if !paths.contains(&library) { + paths.push(library); + } + } + self.libraries = paths; + } + + /// Applies Cargo's shared and package-specific runtime variables. + pub(super) fn configure_test_environment(&self, command: &mut Command, binary: &TestBinary) { + if let Some(environment) = &self.test_environment { + environment.configure(command, binary); + } + } + + #[cfg(test)] + pub(super) fn set_test_environment(&mut self, package: &str, name: &str, value: &str) { + self.test_environment = Some(TestEnvironment::fake(package, name, value)); + } + /// Hands the built tree to nextest, so every later mutant runs through it. /// /// Called after the build rather than at preparation, because the metadata it writes describes @@ -494,7 +646,11 @@ impl Workspace { /// /// Returns an error if nextest is not installed or does not recognise the built tree. pub(super) fn arm_nextest(&mut self, binaries: &[TestBinary]) -> Result<()> { - self.nextest = Some(Harness::prepare(self, binaries)?); + let metadata = self + .cargo_metadata + .as_deref() + .ok_or_else(|| error!("the Cargo test environment was not prepared before nextest"))?; + self.nextest = Some(Harness::prepare(self, binaries, metadata)?); Ok(()) } @@ -603,9 +759,50 @@ impl Workspace { ) } - /// The gamma base this run's tree sits under, whose size is the run's [`footprint`]. + /// The campaign base containing this run's Cargo artifacts and reusable state. pub(super) fn base(&self) -> &Utf8Path { - self.root.parent().unwrap_or(&self.root) + &self.base + } +} + +fn rustc_capture_directory(root: &Utf8Path, target: &Utf8Path) -> Option { + wrapper_path()?; + let cfg::RustcWrapperChain::Interpose(_) = cfg::rustc_wrapper_chain(root) else { + return None; + }; + + Some(target.join(".cargo-gamma-rustc")) +} + +fn wrapper_is_self(candidate: &OsStr, wrapper: &Utf8Path, root: &Utf8Path) -> bool { + let candidate = std::path::Path::new(candidate); + + if candidate.components().count() == 1 + && candidate + .file_stem() + .and_then(OsStr::to_str) + .zip(wrapper.file_stem()) + .is_some_and(|(candidate, wrapper)| executable_names_equal(candidate, wrapper)) + { + return true; + } + + let candidate = if candidate.is_absolute() { + candidate.to_owned() + } else { + root.as_std_path().join(candidate) + }; + fs::canonicalize(candidate) + .ok() + .zip(fs::canonicalize(wrapper.as_std_path()).ok()) + .is_some_and(|(candidate, wrapper)| candidate == wrapper) +} + +fn executable_names_equal(left: &str, right: &str) -> bool { + if cfg!(windows) { + left.eq_ignore_ascii_case(right) + } else { + left == right } } @@ -696,18 +893,18 @@ pub fn footprint(base: &Utf8Path) -> u64 { .sum() } -/// Where this tool keeps everything it generates for a workspace. +/// Where this tool keeps the synchronized source, vendored runtime, and stable workspace lock. /// /// Outside the workspace by default, so Cargo cannot rediscover and merge the real workspace's /// ancestor configuration after the copied configuration has already been rewritten. /// /// The answer is always absolute. A relative `--cache-dir` is resolved against the current -/// directory, which is what a user typing one means, and absolutising here — before the tree, the -/// build directory and the vendored runtime are derived from it — is what makes every one of those -/// absolute by construction. It has to be: the copy prunes its own destination by comparing it -/// against the absolute paths it walks, and cargo resolves a path dependency against the manifest -/// holding it, so a relative base would make the copy descend into its own output and the -/// instrumented tree point its runtime dependency at itself. +/// directory, which is what a user typing one means, and absolutising here — before the synchronized +/// tree and vendored runtime are derived from it — makes both absolute by construction. It has to +/// be: the copy prunes its own destination by comparing it against the absolute paths it walks, and +/// cargo resolves a path dependency against the manifest holding it, so a relative base would make +/// the copy descend into its own output and the instrumented tree point its runtime dependency at +/// itself. /// /// The default directory's name comes from `workspace_identity`, a digest this crate pins rather than /// one the standard library is free to change: the lock every source-changing command shares lives @@ -721,12 +918,66 @@ pub fn gamma_base(root: &Utf8Path, cache: Option<&Utf8Path>) -> Utf8PathBuf { absolute(&base) } +/// Where this tool keeps Cargo artifacts and reusable campaign state. +/// +/// An explicit cache keeps the historical all-in-one layout. Otherwise the state lives under +/// Cargo's resolved target directory, where `cargo clean` and ordinary disk-usage tools can find +/// the potentially very large build artifacts. The workspace identity keeps independently +/// configured workspaces separate when they deliberately share one target directory. +#[must_use] +pub fn campaign_base(root: &Utf8Path, target: &Utf8Path, cache: Option<&Utf8Path>) -> Utf8PathBuf { + let root = absolute(root); + let base = cache.map_or_else(|| default_campaign_base(&root, target), Utf8Path::to_owned); + + absolute(&base) +} + +fn default_campaign_base(root: &Utf8Path, target: &Utf8Path) -> Utf8PathBuf { + #[cfg(any(test, feature = "internals"))] + if crate::testing::cache_home(root).is_some() { + return gamma_base(root, None); + } + + if env::var_os(TEST_CACHE_HOME_VAR).and_then(absolute_cache_home).is_some() { + return gamma_base(root, None); + } + + absolute(target).join("cargo-gamma/cache").join(workspace_identity(root)) +} + /// The directory every default per-workspace cache is a child of. fn default_cache_home(root: &Utf8Path) -> Utf8PathBuf { - env::var_os("XDG_CACHE_HOME") + #[cfg(any(test, feature = "internals"))] + if let Some(home) = crate::testing::cache_home(root) { + return home.join("cargo-gamma"); + } + + if let Some(home) = env::var_os(TEST_CACHE_HOME_VAR).and_then(absolute_cache_home) { + return home.join("cargo-gamma"); + } + + default_cache_home_with(root, |name| env::var_os(name)) +} + +/// The default base a normal process derives without any self-test override. +#[cfg(test)] +pub(crate) fn production_gamma_base(root: &Utf8Path) -> Utf8PathBuf { + let root = absolute(root); + absolute(&default_cache_home_with(&root, |name| env::var_os(name)).join(workspace_identity(&root))) +} + +/// The target-resident campaign base a normal process derives without a self-test override. +pub(crate) fn production_campaign_base(root: &Utf8Path, target: &Utf8Path) -> Utf8PathBuf { + let root = absolute(root); + + absolute(target).join("cargo-gamma/cache").join(workspace_identity(&root)) +} + +fn default_cache_home_with(root: &Utf8Path, mut get: impl FnMut(&str) -> Option) -> Utf8PathBuf { + get("XDG_CACHE_HOME") .and_then(absolute_cache_home) - .or_else(|| env::var_os("LOCALAPPDATA").and_then(absolute_cache_home)) - .or_else(|| env::var_os("HOME").and_then(absolute_cache_home).map(|home| home.join(".cache"))) + .or_else(|| get("LOCALAPPDATA").and_then(absolute_cache_home)) + .or_else(|| get("HOME").and_then(absolute_cache_home).map(|home| home.join(".cache"))) .unwrap_or_else(|| absolute(root).parent().unwrap_or(root).join(".cargo-gamma-cache")) .join("cargo-gamma") } @@ -753,6 +1004,7 @@ fn absolute_cache_home(path: OsString) -> Option { /// Shortened because this is a directory name a user reads and occasionally types. A collision is /// caught rather than trusted: the owner marker records the root that owns the directory, and a /// second root landing on the same name is refused instead of quietly sharing the tree. +// #[gamma::skip(all, reason = "the value comes from host identity or topology and cannot be replaced safely or deterministically in parallel tests")] fn workspace_identity(root: &Utf8Path) -> String { let root = physical(root); digest_workspace_path(&root) @@ -761,14 +1013,14 @@ fn workspace_identity(root: &Utf8Path) -> String { /// Digests the already-normalized spelling that defines one workspace's cache identity. fn digest_workspace_path(root: &Utf8Path) -> String { let digest = blake3::hash(root.as_str().as_bytes()); - let mut identity = [0_u8; 8]; + let mut identity = [u8::MIN; 8]; identity.copy_from_slice(digest.as_bytes().get(..8).expect("a BLAKE3 digest is 32 bytes long")); format!("{:016x}", u64::from_be_bytes(identity)) } -/// Deletes every cached entry for a workspace while preserving its concurrency lock and identity. +/// Deletes every cached entry for a workspace while preserving its concurrency lock and identities. /// /// Returns whether any cached data was removed. The lock file remains so an active run and a clean /// cannot race over the workspace or Cargo artifacts, and the owner marker remains because it says @@ -782,26 +1034,48 @@ fn digest_workspace_path(root: &Utf8Path) -> String { /// /// Only the workspace's own cache is cleaned. A cache redirected elsewhere with `--cache-dir` is /// not reachable from the workspace root alone and is the caller's to remove. -pub fn clean_cache(root: &Utf8Path) -> Result { - let base = gamma_base(root, None); +pub fn clean_cache(root: &Utf8Path, target: &Utf8Path) -> Result { + let scratch = gamma_base(root, None); + let campaign = campaign_base(root, target, None); let mut removed = false; - if base.exists() { - reject_linked_cache(&base)?; - let _lock = claim(&base)?; - validate_cache_owner(root, &base, CacheKind::Default)?; - let entries = - fs::read_dir(base.as_std_path()).map_err(|cause| error!("could not read cargo-gamma's cache at `{base}`").caused_by(cause))?; - for entry in entries { - let entry = entry.map_err(|cause| error!("could not read an entry in cargo-gamma's cache at `{base}`").caused_by(cause))?; - - if entry.file_name() == "lock" || entry.file_name() == CACHE_OWNER { - continue; - } + validate_default_cache_base(root, &scratch)?; + validate_default_campaign_base(root, target, &campaign)?; + + if !scratch.exists() && !campaign.exists() { + return Ok(false); + } + + let _lock = claim_workspace(root)?; + + if scratch.exists() { + removed |= clean_owned_cache(root, &scratch, true)?; + } + + if campaign.exists() && physical(&campaign) != physical(&scratch) { + removed |= clean_owned_cache(root, &campaign, false)?; + } + + Ok(removed) +} + +fn clean_owned_cache(root: &Utf8Path, base: &Utf8Path, preserve_lock: bool) -> Result { + reject_linked_cache(base)?; + validate_cache_owner(root, base, CacheKind::Default)?; + + let entries = + fs::read_dir(base.as_std_path()).map_err(|cause| error!("could not read cargo-gamma's cache at `{base}`").caused_by(cause))?; + let mut removed = false; - remove_cached(&entry)?; - removed = true; + for entry in entries { + let entry = entry.map_err(|cause| error!("could not read an entry in cargo-gamma's cache at `{base}`").caused_by(cause))?; + + if entry.file_name() == CACHE_OWNER || preserve_lock && entry.file_name() == "lock" { + continue; } + + remove_cached(&entry)?; + removed = true; } Ok(removed) @@ -829,7 +1103,8 @@ fn remove_cached(entry: &fs::DirEntry) -> Result<()> { /// /// Purely textual, so it never touches the filesystem and never fails: the paths it is given are /// scratch directories that do not exist yet, which is exactly when canonicalising cannot answer. -pub(super) fn absolute(path: &Utf8Path) -> Utf8PathBuf { +pub(crate) fn absolute(path: &Utf8Path) -> Utf8PathBuf { + // #[gamma::skip(all, reason = "the branch handles process, filesystem, platform, or synchronization state that cannot be forced safely and deterministically in unit tests")] let rooted = if path.is_absolute() { path.to_owned() } else { @@ -941,6 +1216,29 @@ fn ensure_copy_terminates(source: &Utf8Path, base: &Utf8Path) -> Result<()> { .usage()) } +/// Ensures the synchronized workspace cannot be reached by a split-layout source walk. +/// +/// An explicit all-in-one cache is the excluded base and can safely be inside the source. In the +/// default split layout only the campaign base is excluded, so the external scratch itself must be +/// physically outside the source even when a platform cache-home variable points inside it. +fn ensure_copy_layout_terminates(source: &Utf8Path, scratch: &Utf8Path, excluded: &Utf8Path) -> Result<()> { + ensure_copy_terminates(source, excluded)?; + + let (real_source, real_scratch, real_excluded) = (physical(source), physical(scratch), physical(excluded)); + + if real_scratch == real_excluded || !real_scratch.starts_with(&real_source) { + return Ok(()); + } + + Err(error!( + "cargo-gamma's external scratch directory `{scratch}` resolves to `{real_scratch}` inside \ + the workspace at `{source}`, but the split-layout copy excludes `{excluded}` instead.\n\ + Configure the platform cache home outside the workspace or pass --cache-dir to select a \ + safe all-in-one cache." + ) + .usage()) +} + /// Refuses a relocation that would hide VCS metadata a build can currently read. /// /// The copier omits VCS directories deliberately. A default scratch tree lies below the source @@ -1115,29 +1413,29 @@ fn create_private_dir_all(path: &Utf8Path) -> io::Result<()> { /// Refuses a cache directory that is reached through a link. /// -/// A redirected cache is named by the user and everything under it is later handed to cargo as -/// `CARGO_TARGET_DIR` and executed from. A symbolic link — or, on Windows, any other reparse point -/// — means the name that was checked and the directory that is used are two different things, and -/// whoever can rewrite the link chooses the second one after the first has been approved. Only the -/// final component is checked here; the ancestry above it is covered by -/// [`reject_foreign_writers`] on the platforms where ownership can be established at all. +/// Everything under this directory is later handed to cargo as `CARGO_TARGET_DIR` and executed +/// from. A symbolic link — or, on Windows, any other reparse point — means the name that was +/// checked and the directory that is used are two different things, and whoever can rewrite the +/// link chooses the second one after the first has been approved. Only the final component is +/// checked here; the ancestry above an explicit cache is covered by [`reject_foreign_writers`] on +/// the platforms where ownership can be established at all. fn reject_linked_cache(base: &Utf8Path) -> Result<()> { let metadata = fs::symlink_metadata(base.as_std_path()) - .map_err(|cause| error!("could not inspect the redirected cargo-gamma cache at `{base}`").caused_by(cause))?; + .map_err(|cause| error!("could not inspect the cargo-gamma cache at `{base}`").caused_by(cause))?; if metadata.file_type().is_symlink() { return Err(error!( - "the redirected cache at `{base}` is a link.\n\ - Pass the directory itself to --cache-dir: a link can be repointed after it has been checked, \ - at a directory whose contents this tool would then build and run." + "the cargo-gamma cache at `{base}` is a link.\n\ + A cache link can be repointed after it has been checked, at a directory whose contents \ + this tool would then build and run." ) .usage()); } if !metadata.is_dir() { return Err(error!( - "the redirected cache at `{base}` is not a directory.\n\ - Choose an empty directory for --cache-dir." + "the cargo-gamma cache at `{base}` is not a directory.\n\ + Choose a directory for cargo-gamma's cache state." ) .usage()); } @@ -1443,24 +1741,130 @@ fn claim(base: &Utf8Path) -> Result { pub(crate) fn claim_workspace(root: &Utf8Path) -> Result { let base = gamma_base(root, None); + claim_workspace_at(root, &base) +} + +/// Claims an already-derived default base after checking its production shape. +fn claim_workspace_at(root: &Utf8Path, base: &Utf8Path) -> Result { + validate_default_cache_base(root, base)?; + fs::create_dir_all(base.as_std_path()) .map_err(|cause| error!("could not create cargo-gamma's workspace cache at `{base}`").caused_by(cause))?; - let lock = claim(&base)?; + let lock = claim(base)?; - validate_cache_owner(root, &base, CacheKind::Default)?; + validate_cache_owner(root, base, CacheKind::Default)?; Ok(lock) } +/// Refuses a malformed default base before any directory, lock, marker, or cached entry is touched. +/// +/// This is deliberately independent of [`gamma_base`]'s joins. Mutation testing changes one +/// expression at a time, so removing the namespace or identity join from the derivation leaves +/// this structural check intact and turns the mutant into a refusal rather than a write to the +/// platform cache home. +fn validate_default_cache_base(root: &Utf8Path, base: &Utf8Path) -> Result<()> { + let root = absolute(root); + let expected_identity = workspace_identity(&root); + let shaped = base.file_name() == Some(expected_identity.as_str()) + && base.parent().is_some_and(|namespace| namespace.file_name() == Some("cargo-gamma")); + + if !shaped { + return Err(error!( + "cargo-gamma refused the malformed default cache path `{base}`: \ + a default cache must be an identity directory beneath the `cargo-gamma` cache namespace" + )); + } + + #[cfg(any(test, feature = "internals"))] + if let Some(home) = crate::testing::cache_home(&root) + && !base.starts_with(&home) + { + return Err(error!( + "cargo-gamma's self-test cache path `{base}` escaped its private cache home `{home}`" + )); + } + + Ok(()) +} + +/// Refuses a malformed target-resident campaign base before it can be claimed or cleaned. +fn validate_default_campaign_base(root: &Utf8Path, target: &Utf8Path, base: &Utf8Path) -> Result<()> { + let root = absolute(root); + + #[cfg(any(test, feature = "internals"))] + if crate::testing::cache_home(&root).is_some() { + let expected = gamma_base(&root, None); + + return if base == expected { + Ok(()) + } else { + Err(error!( + "cargo-gamma's self-test campaign cache path `{base}` escaped its private cache base `{expected}`" + )) + }; + } + + if env::var_os(TEST_CACHE_HOME_VAR).and_then(absolute_cache_home).is_some() { + let expected = gamma_base(&root, None); + + return if base == expected { + Ok(()) + } else { + Err(error!( + "cargo-gamma's self-test campaign cache path `{base}` escaped its private cache base `{expected}`" + )) + }; + } + + let expected_identity = workspace_identity(&root); + let shaped = base.file_name() == Some(expected_identity.as_str()) + && base.parent().is_some_and(|cache| cache.file_name() == Some("cache")) + && base + .parent() + .and_then(Utf8Path::parent) + .is_some_and(|namespace| namespace.file_name() == Some("cargo-gamma")); + + if !shaped { + return Err(error!( + "cargo-gamma refused the malformed campaign cache path `{base}`: \ + a default campaign cache must be an identity directory beneath `cargo-gamma/cache`" + )); + } + + let expected = production_campaign_base(&root, target); + + if base != expected { + return Err(error!( + "cargo-gamma refused the malformed campaign cache path `{base}`: \ + the resolved Cargo target requires `{expected}`" + )); + } + + Ok(()) +} + +fn claim_default_campaign_cache(root: &Utf8Path, target: &Utf8Path, base: &Utf8Path) -> Result<()> { + validate_default_campaign_base(root, target, base)?; + fs::create_dir_all(base.as_std_path()) + .map_err(|cause| error!("could not create cargo-gamma's campaign cache at `{base}`").caused_by(cause))?; + reject_linked_cache(base)?; + validate_cache_owner(root, base, CacheKind::Default) +} + /// Takes every lock needed to use one workspace's reusable state. -pub(crate) fn claim_cache(root: &Utf8Path, cache: Option<&Utf8Path>) -> Result { +pub(crate) fn claim_cache(root: &Utf8Path, target: &Utf8Path, cache: Option<&Utf8Path>) -> Result { let workspace = claim_workspace(root)?; - let base = gamma_base(root, cache); - let default = gamma_base(root, None); - let redirected = if cache.is_some() && physical(&base) != physical(&default) { + let base = campaign_base(root, target, cache); + let scratch = gamma_base(root, None); + let default = campaign_base(root, target, None); + let redirected = if cache.is_some() && physical(&base) == physical(&scratch) { + None + } else if cache.is_some() && physical(&base) != physical(&default) { Some(claim_redirected_cache(root, &base)?) } else { + claim_default_campaign_cache(root, target, &base)?; None }; @@ -1630,7 +2034,6 @@ fn vendor_runtime(at: &Utf8Path) -> Result<()> { #[cfg(not(miri))] mod tests { use std::collections::BTreeMap; - use std::ffi::OsStr; #[cfg(unix)] use std::os::unix::fs::{PermissionsExt as _, symlink}; #[cfg(windows)] @@ -1729,6 +2132,344 @@ mod tests { ); } + #[test] + fn scratch_files_create_parents_and_nextest_deduplicates_packages() { + let directory = crate::testing::workdir("workspace-scratch-write-"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("tree")).expect("UTF-8 root"); + let target = Utf8PathBuf::from_path_buf(directory.path().join("target")).expect("UTF-8 target"); + fs::create_dir_all(&root).expect("root"); + let work = Workspace::adopt(root, target.clone()); + + let written = work.write_scratch("nested/data.json", "{}").expect("scratch file"); + assert_eq!(written, target.join("nested/data.json")); + assert_eq!(fs::read_to_string(&written).expect("scratch contents"), "{}"); + + let binaries = [ + TestBinary { + package: "fallback".to_owned(), + package_id: String::new(), + ..crate::testing::test_binary("/first") + }, + TestBinary { + package: "fallback".to_owned(), + package_id: String::new(), + ..crate::testing::test_binary("/second") + }, + TestBinary { + package: "ignored".to_owned(), + package_id: "precise-id".to_owned(), + ..crate::testing::test_binary("/third") + }, + ]; + let command = work.nextest_list_command(&binaries); + let args: Vec<_> = command.get_args().map(|arg| arg.to_string_lossy().into_owned()).collect(); + + assert_eq!(args.iter().filter(|arg| *arg == "fallback").count(), 1); + assert_eq!(args.iter().filter(|arg| *arg == "precise-id").count(), 1); + } + + #[test] + fn cargo_commands_preserve_the_workspace_environment_and_selection() { + let directory = crate::testing::workdir("workspace-command-"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("root")).expect("UTF-8 root"); + let target = Utf8PathBuf::from_path_buf(directory.path().join("target")).expect("UTF-8 target"); + fs::create_dir_all(&root).expect("root"); + let mut work = Workspace::adopt(root.clone(), target.clone()); + work.cargo.color = true; + + let command = work.cargo(); + assert_eq!(command.get_current_dir(), Some(root.as_std_path())); + let env: BTreeMap<_, _> = command + .get_envs() + .map(|(name, value)| { + ( + name.to_string_lossy().into_owned(), + value.map(|value| value.to_string_lossy().into_owned()), + ) + }) + .collect(); + assert_eq!(env["CARGO_TARGET_DIR"].as_deref(), Some(target.as_str())); + assert_eq!(env["CARGO_TERM_COLOR"].as_deref(), Some("always")); + assert!(env.contains_key(gamma_rt::ACTIVE_VAR)); + assert_eq!(env[gamma_rt::ACTIVE_VAR], None); + + work.cargo.color = false; + let command = work.cargo(); + let color = command + .get_envs() + .find(|(name, _value)| *name == "CARGO_TERM_COLOR") + .and_then(|(_name, value)| value); + assert_eq!(color, Some(OsStr::new("never"))); + } + + #[test] + fn build_sequence_retains_rustc_captures_across_cargo_commands() { + let directory = crate::testing::workdir("workspace-captures-"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("root")).expect("UTF-8 root"); + let target = Utf8PathBuf::from_path_buf(directory.path().join("target")).expect("UTF-8 target"); + fs::create_dir_all(&root).expect("root"); + let mut work = Workspace::adopt(root, target.clone()); + let captures = target.join(".cargo-gamma-rustc"); + work.rustc_captures = Some(captures.clone()); + + fs::create_dir_all(&captures).expect("capture directory"); + fs::write(captures.join("stale.json"), b"stale").expect("stale capture"); + work.begin_build_sequence(); + assert!(!captures.join("stale.json").exists(), "a new sequence clears old captures"); + + fs::write(captures.join("preflight.json"), b"preflight").expect("preflight capture"); + drop(work.cargo()); + fs::write(captures.join("stage.json"), b"stage").expect("stage capture"); + drop(work.cargo()); + + assert!( + captures.join("preflight.json").exists(), + "later cargo commands retain preflight captures" + ); + assert!(captures.join("stage.json").exists(), "later cargo commands retain staged captures"); + } + + #[test] + fn a_self_referential_outer_rustc_wrapper_is_not_chained() { + let directory = crate::testing::workdir("workspace-wrapper-self-"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("root")).expect("UTF-8 root"); + let wrapper = root.join(format!("cargo-gamma{}", std::env::consts::EXE_SUFFIX)); + let other = root.join(format!("sccache{}", std::env::consts::EXE_SUFFIX)); + fs::create_dir_all(&root).expect("root"); + fs::write(&wrapper, b"wrapper").expect("wrapper"); + fs::write(&other, b"other wrapper").expect("other wrapper"); + + assert!(wrapper_is_self(OsStr::new("cargo-gamma"), &wrapper, &root)); + assert!(wrapper_is_self(wrapper.as_os_str(), &wrapper, &root)); + assert!(!wrapper_is_self(other.as_os_str(), &wrapper, &root)); + } + + #[cfg(unix)] + #[test] + fn a_non_utf8_alias_to_this_rustc_wrapper_is_not_chained() { + use std::os::unix::ffi::OsStringExt as _; + + let directory = crate::testing::workdir("workspace-wrapper-non-utf8-"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("root")).expect("UTF-8 root"); + let wrapper = root.join("cargo-gamma"); + fs::create_dir_all(&root).expect("root"); + fs::write(&wrapper, b"wrapper").expect("wrapper"); + + let alias = OsString::from_vec(b"wrapper-\xff".to_vec()); + std::os::unix::fs::symlink(wrapper.as_std_path(), root.as_std_path().join(&alias)).expect("non-UTF-8 wrapper alias"); + + assert!(wrapper_is_self(&alias, &wrapper, &root)); + } + + #[test] + fn workspace_lifecycle_removes_only_unsettled_unleaked_trees() { + let directory = crate::testing::workdir("workspace-lifecycle-"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("root")).expect("UTF-8 root"); + let target = Utf8PathBuf::from_path_buf(directory.path().join("target")).expect("UTF-8 target"); + fs::create_dir_all(&root).expect("root"); + fs::create_dir_all(&target).expect("target"); + + let mut work = Workspace::adopt(root.clone(), target.clone()); + work.leak = false; + work.settled.store(false, Ordering::Relaxed); + work.teardown().expect("teardown"); + assert!(work.torn_down); + assert!(!root.exists()); + assert!(!target.exists()); + work.teardown().expect("a second teardown is inert"); + + let kept_root = Utf8PathBuf::from_path_buf(directory.path().join("kept-root")).expect("UTF-8 root"); + let kept_target = Utf8PathBuf::from_path_buf(directory.path().join("kept-target")).expect("UTF-8 target"); + fs::create_dir_all(&kept_root).expect("root"); + fs::create_dir_all(&kept_target).expect("target"); + let mut kept = Workspace::adopt(kept_root.clone(), kept_target.clone()); + kept.leak = false; + kept.teardown().expect("settled teardown"); + assert!(kept_root.exists()); + assert!(kept_target.exists()); + } + + #[test] + fn harness_calibration_is_stable_after_its_first_decision() { + let directory = crate::testing::workdir("workspace-harness-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 root"); + let work = Workspace::adopt(root.clone(), root.join("target")); + + work.calibrate_harness(1); + let first = work.harness_threads().map(str::to_owned); + work.calibrate_harness(usize::MAX); + assert_eq!(work.harness_threads(), first.as_deref()); + } + + #[test] + fn cargo_metadata_capture_is_nonempty_json_from_the_adopted_root() { + let directory = crate::testing::workdir("workspace-metadata-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 root"); + fs::create_dir_all(root.join("src")).expect("src"); + fs::write( + root.join("Cargo.toml"), + "[package]\nname = \"metadata-fixture\"\nversion = \"0.0.0\"\nedition = \"2024\"\n[workspace]\n", + ) + .expect("manifest"); + fs::write(root.join("src/lib.rs"), "").expect("lib"); + let work = Workspace::adopt(root.clone(), root.join("target")); + + let metadata = work.capture_cargo_metadata().expect("cargo metadata"); + let parsed: serde_json::Value = serde_json::from_str(&metadata).expect("metadata JSON"); + assert_eq!(parsed["packages"][0]["name"], "metadata-fixture"); + let metadata_root = parsed["workspace_root"] + .as_str() + .expect("cargo metadata always reports a string workspace root"); + assert_eq!(physical(Utf8Path::new(metadata_root)), physical(&root)); + } + + #[test] + fn overwrite_requires_a_real_file_inside_the_scratch_root_and_avoids_rewrites() { + let directory = crate::testing::workdir("workspace-overwrite-"); + let root = Utf8PathBuf::from_path_buf(directory.path().join("root")).expect("UTF-8 root"); + let file = root.join("src/lib.rs"); + fs::create_dir_all(file.parent().expect("parent")).expect("parent"); + fs::write(&file, "old").expect("file"); + + assert!(!Workspace::overwrite(&root, &file, "old").expect("identical contents")); + assert!(Workspace::overwrite(&root, &file, "new").expect("changed contents")); + assert_eq!(fs::read_to_string(&file).expect("contents"), "new"); + + let directory_path = root.join("src"); + let error = Workspace::overwrite(&root, &directory_path, "no").expect_err("a directory is not source"); + assert!(error.to_string().contains("link or a device"), "{error}"); + + let absent = root.join("missing.rs"); + let error = Workspace::overwrite(&root, &absent, "no").expect_err("an absent file was not copied"); + assert!(error.to_string().contains("did not create"), "{error}"); + } + + #[test] + fn manifest_lookup_stops_at_the_scratch_root_and_never_uses_an_outer_manifest() { + let directory = crate::testing::workdir("workspace-manifest-lookup-"); + let outer = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 root"); + fs::write(outer.join("Cargo.toml"), "[workspace]\n").expect("outer manifest"); + let root = outer.join("scratch"); + fs::create_dir_all(root.join("crate/src")).expect("source"); + fs::write(root.join("crate/Cargo.toml"), "[package]\nname=\"inside\"\nversion=\"0.0.0\"\n").expect("inner manifest"); + let work = Workspace::adopt(root.clone(), outer.join("target")); + let files = [TargetFile { + path: Utf8PathBuf::from("crate/src/lib.rs"), + absolute: root.join("crate/src/lib.rs"), + package: "inside".to_owned(), + }]; + + assert_eq!(work.manifest_of("inside", &files), Some(root.join("crate/Cargo.toml"))); + assert_eq!(work.manifest_of("absent", &files), None); + + fs::remove_file(root.join("crate/Cargo.toml")).expect("inner manifest"); + assert_eq!(work.manifest_of("inside", &files), None); + } + + #[test] + fn cache_home_fallbacks_follow_cargo_precedence() { + let root = absolute(Utf8Path::new("workspace")); + let local = root.join("local"); + let home = root.join("home"); + + let from_local = default_cache_home_with(&root, |name| (name == "LOCALAPPDATA").then(|| OsString::from(local.as_str()))); + assert_eq!(from_local, local.join("cargo-gamma")); + + let from_home = default_cache_home_with(&root, |name| (name == "HOME").then(|| OsString::from(home.as_str()))); + assert_eq!(from_home, home.join(".cache/cargo-gamma")); + + let fallback = default_cache_home_with(&root, |_name| None); + assert_eq!( + fallback, + root.parent() + .expect("absolute workspace has a parent") + .join(".cargo-gamma-cache/cargo-gamma") + ); + } + + #[test] + fn physical_paths_preserve_a_completely_unresolvable_spelling() { + let path = Utf8Path::new(""); + assert_eq!(physical(path), path); + } + + #[test] + fn copy_pruning_predicates_distinguish_lexical_relationships() { + let source = Utf8Path::new("workspace"); + let inside = Utf8Path::new("workspace/cache"); + let outside = Utf8Path::new("cache"); + + assert!(prunes(source, inside)); + assert!(!prunes(source, source)); + assert!(!prunes(source, outside)); + assert!(prunes_in_practice(source, inside, source, inside)); + assert!(!prunes_in_practice(source, outside, source, outside)); + } + + #[test] + fn a_workspace_without_vcs_metadata_can_be_relocated() { + let directory = crate::testing::workdir("workspace-no-vcs-"); + let source = Utf8PathBuf::from_path_buf(directory.path().join("source")).expect("UTF-8 source"); + let scratch = Utf8PathBuf::from_path_buf(directory.path().join("scratch")).expect("UTF-8 scratch"); + fs::create_dir_all(&source).expect("source"); + + ensure_vcs_visibility(&source, &scratch).expect("there is no metadata to hide"); + } + + #[test] + fn git_directories_and_pointer_files_are_exposed_to_the_scratch_tree() { + let directory = crate::testing::workdir("workspace-expose-vcs-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 root"); + let source = root.join("source"); + let scratch = source.join("scratch"); + let git = source.join(".git"); + fs::create_dir_all(&git).expect("git directory"); + fs::create_dir_all(&scratch).expect("scratch"); + + expose_vcs_metadata(&source, &scratch).expect("directory metadata"); + assert_eq!( + fs::read_to_string(scratch.join(".git")).expect("git pointer"), + format!("gitdir: {}\n", absolute(&git)) + ); + + fs::remove_file(scratch.join(".git")).expect("first pointer"); + fs::remove_dir_all(&git).expect("git directory"); + let actual_git = root.join("actual-git"); + fs::create_dir_all(&actual_git).expect("actual git"); + fs::write(&git, "gitdir: ../actual-git\n").expect("git pointer source"); + + expose_vcs_metadata(&source, &scratch).expect("pointer metadata"); + assert_eq!( + fs::read_to_string(scratch.join(".git")).expect("rewritten pointer"), + format!("gitdir: {}\n", absolute(&actual_git)) + ); + } + + #[test] + fn empty_and_non_utf8_owner_markers_are_rejected() { + let directory = crate::testing::workdir("workspace-owner-invalid-"); + let base = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 base"); + let source = base.join("source"); + let owner = base.join(CACHE_OWNER); + + fs::write(&owner, "").expect("empty owner"); + let empty = validate_cache_owner(&source, &base, CacheKind::Redirected).expect_err("empty marker"); + assert!(empty.to_string().contains("invalid length"), "{empty}"); + + fs::write(&owner, [0xff]).expect("non-UTF-8 owner"); + let invalid = validate_cache_owner(&source, &base, CacheKind::Redirected).expect_err("non-UTF-8 marker"); + assert!(invalid.to_string().contains("could not read"), "{invalid}"); + } + + #[test] + fn a_cache_containing_only_its_lock_has_no_unowned_entries() { + let directory = crate::testing::workdir("workspace-owned-lock-"); + let base = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 base"); + fs::write(base.join("lock"), "lock").expect("lock"); + + assert!(!has_unowned_entries(&base).expect("cache scan")); + } + /// Exercises every step of preparing a scratch tree — creating the base, claiming the lock, /// copying, vendoring the runtime, and anchoring manifests. #[test] @@ -1746,8 +2487,14 @@ mod tests { let config = Config::default(); let mut events = crate::testing::Recorder::default(); - let work = Workspace::prepare(&source, &config, &mut events).expect("a fresh tree must prepare cleanly"); - + let scratch = gamma_base(&source, None); + let campaign = campaign_base(&source, &source.join("target"), None); + let work = Workspace::prepare(&source, &source.join("target"), &config, &mut events).expect("a fresh tree must prepare cleanly"); + + assert_eq!(work.root, scratch.join("workspace")); + assert_eq!(work.runtime, scratch.join("rt")); + assert_eq!(work.base(), campaign); + assert_eq!(work.target, campaign.join("target")); assert!(work.root.join("Cargo.toml").as_std_path().is_file(), "the manifest was not copied"); assert!( work.root.join("src/lib.rs").as_std_path().is_file(), @@ -2050,13 +2797,14 @@ mod tests { let directory = crate::testing::workdir("default-cache-alias-"); let source = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("the source path is UTF-8"); let base = gamma_base(&source, None); + let target = source.join("target"); let CacheLocks { workspace: _workspace, redirected, #[cfg(any(test, feature = "internals"))] identity: _identity, - } = claim_cache(&source, Some(&base)).expect("the default cache has one lock domain"); + } = claim_cache(&source, &target, Some(&base)).expect("the default cache has one lock domain"); assert!(redirected.is_none()); } @@ -2065,38 +2813,43 @@ mod tests { fn cleaning_removes_cache_data_but_not_published_reports() { let directory = crate::testing::workdir("clean-cache-"); let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("the workspace path is UTF-8"); - let base = gamma_base(&root, None); + let target = root.join("target"); + let scratch = gamma_base(&root, None); + let base = campaign_base(&root, &target, None); let report = root.join("target/cargo-gamma/gamma-report.json"); + fs::create_dir_all(&scratch).expect("scratch"); + validate_cache_owner(&root, &scratch, CacheKind::Default).expect("claim scratch"); + fs::create_dir(scratch.join("workspace")).expect("cached workspace"); fs::create_dir_all(&base).expect("cache"); validate_cache_owner(&root, &base, CacheKind::Default).expect("claim cache"); - fs::create_dir(base.join("workspace")).expect("cached workspace"); fs::create_dir_all(base.join("target")).expect("cached target"); fs::write(base.join("last-gamma-run.json"), "{}").expect("run record"); fs::create_dir_all(report.parent().expect("report directory")).expect("report directory"); fs::write(&report, "{}").expect("published report"); - assert!(clean_cache(&root).expect("clean cache")); - assert!(!base.join("workspace").exists()); + assert!(clean_cache(&root, &target).expect("clean cache")); + assert!(!scratch.join("workspace").exists()); assert!(!base.join("target").exists()); assert!(!base.join("last-gamma-run.json").exists()); - assert!(base.join("lock").exists(), "the concurrency lock remains"); + assert!(scratch.join("lock").exists(), "the concurrency lock remains"); assert!(report.exists(), "published output is not cache data"); - assert!(!clean_cache(&root).expect("cleaning an empty cache")); + assert!(!clean_cache(&root, &target).expect("cleaning an empty cache")); } #[test] fn cleaning_refuses_an_unmarked_populated_cache() { let directory = crate::testing::workdir("clean-unmarked-cache-"); let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("the workspace path is UTF-8"); - let base = gamma_base(&root, None); + let target = root.join("target"); + let base = campaign_base(&root, &target, None); - fs::create_dir_all(base.join("workspace")).expect("unowned contents"); + fs::create_dir_all(base.join("target")).expect("unowned contents"); - let failure = clean_cache(&root).expect_err("unowned contents must not be removed"); + let failure = clean_cache(&root, &target).expect_err("unowned contents must not be removed"); assert!(failure.is_usage(), "{failure}"); - assert!(base.join("workspace").exists(), "unowned contents must survive"); + assert!(base.join("target").exists(), "unowned contents must survive"); assert!(!base.join(CACHE_OWNER).exists(), "the cache must not be adopted"); } @@ -2104,11 +2857,12 @@ mod tests { fn cleaning_refuses_a_cache_owned_by_an_active_run() { let directory = crate::testing::workdir("clean-active-cache-"); let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("the workspace path is UTF-8"); + let target = root.join("target"); let base = gamma_base(&root, None); fs::create_dir_all(&base).expect("cache"); let _held = claim(&base).expect("active run lock"); - let failure = clean_cache(&root).expect_err("an active cache must not be cleaned"); + let failure = clean_cache(&root, &target).expect_err("an active cache must not be cleaned"); assert!(failure.to_string().contains("already using"), "{failure}"); } @@ -2406,16 +3160,22 @@ mod tests { /// A workspace over a real directory that has not been marked as worth keeping. fn unsettled(base: &Utf8Path, root: &Utf8Path, target: &Utf8Path) -> Workspace { Workspace { + base: base.to_owned(), root: root.to_owned(), runtime: base.join("rt"), target: target.to_owned(), + rustc_captures: None, + rustc_captures_ready: AtomicBool::new(false), libraries: Vec::new(), cargo: CargoOptions::default(), nextest: None, + test_environment: None, + cargo_metadata: None, settled: AtomicBool::new(false), leak: false, launch: OnceLock::new(), harness_threads: OnceLock::new(), + test_cache_home: crate::testing::cache_home(root), _workspace_lock: File::create(base.join("lock").as_std_path()).unwrap(), _cache_lock: None, torn_down: false, @@ -2697,17 +3457,25 @@ mod tests { /// Spelled out rather than deriving from [`unsettled_default`] with struct update syntax: /// `Workspace` implements `Drop`, so its fields cannot be moved out of another instance. fn unsettled_at(root: Utf8PathBuf, runtime: Utf8PathBuf) -> Workspace { + let test_cache_home = crate::testing::cache_home(&root); + Workspace { + base: Utf8PathBuf::from("/scratch"), root, runtime, target: Utf8PathBuf::from("/scratch/build"), + rustc_captures: None, + rustc_captures_ready: AtomicBool::new(false), libraries: Vec::new(), cargo: CargoOptions::default(), nextest: None, + test_environment: None, + cargo_metadata: None, settled: AtomicBool::new(true), leak: true, launch: OnceLock::new(), harness_threads: OnceLock::new(), + test_cache_home, _workspace_lock: tempfile::tempfile().unwrap(), _cache_lock: None, torn_down: false, @@ -2719,16 +3487,22 @@ mod tests { /// Leaked rather than torn down: nothing was ever created, so nothing should be removed. fn unsettled_default() -> Workspace { Workspace { + base: Utf8PathBuf::from("/tmp"), root: Utf8PathBuf::from("/tmp/gamma-root"), runtime: Utf8PathBuf::from("/tmp/gamma-rt"), target: Utf8PathBuf::from("/tmp/gamma-target"), + rustc_captures: None, + rustc_captures_ready: AtomicBool::new(false), libraries: Vec::new(), cargo: CargoOptions::default(), nextest: None, + test_environment: None, + cargo_metadata: None, settled: AtomicBool::new(true), leak: true, launch: OnceLock::new(), harness_threads: OnceLock::new(), + test_cache_home: None, _workspace_lock: tempfile::tempfile().unwrap(), _cache_lock: None, torn_down: false, @@ -2910,6 +3684,61 @@ mod tests { ); } + #[test] + fn campaign_state_uses_the_resolved_target_and_workspace_identity() { + let root = absolute(Utf8Path::new("/workspace")); + let target = absolute(Utf8Path::new("/shared-target")); + let identity = workspace_identity(&root); + let base = production_campaign_base(&root, &target); + + assert_eq!(base, target.join("cargo-gamma/cache").join(identity)); + assert_ne!(base, production_gamma_base(&root), "the former external state is not adopted"); + assert_eq!(campaign_base(&root, &target, None), default_campaign_base(&root, &target)); + } + + #[test] + fn a_shared_target_keeps_workspace_campaigns_separate() { + let target = absolute(Utf8Path::new("/shared-target")); + let first = production_campaign_base(Utf8Path::new("/workspace/one"), &target); + let second = production_campaign_base(Utf8Path::new("/workspace/two"), &target); + let namespace = target.join("cargo-gamma/cache"); + + assert_ne!(first, second); + assert_eq!(first.parent(), second.parent()); + assert_eq!(first.parent(), Some(namespace.as_path())); + } + + #[test] + fn an_adopted_workspace_uses_the_cargo_target_parent_as_its_campaign_base() { + let work = Workspace::adopt(Utf8PathBuf::from("/scratch/workspace"), Utf8PathBuf::from("/campaign/target")); + + assert_eq!(work.base(), Utf8Path::new("/campaign")); + } + + #[test] + fn a_workspace_local_campaign_base_keeps_a_prunable_spelling() { + let directory = crate::testing::workdir("workspace-local-campaign-"); + let source = absolute(&Utf8PathBuf::from_path_buf(directory.path().join("source")).expect("the workspace path is UTF-8")); + let target = source.join("target"); + let scratch = absolute(Utf8Path::new("/external/cache")); + + fs::create_dir_all(&target).expect("the workspace target"); + let base = production_campaign_base(&source, &target); + + assert!(prunes(&source, &base), "source={source} base={base}"); + ensure_copy_layout_terminates(&source, &scratch, &base).expect("the workspace target is excluded from the copy"); + } + + #[test] + fn an_explicit_cache_keeps_scratch_state_and_cargo_artifacts_together() { + let root = absolute(Utf8Path::new("/workspace")); + let target = absolute(Utf8Path::new("/target")); + let explicit = absolute(Utf8Path::new("/chosen/cache")); + + assert_eq!(gamma_base(&root, Some(&explicit)), explicit); + assert_eq!(campaign_base(&root, &target, Some(&explicit)), explicit); + } + #[test] fn only_absolute_environment_cache_homes_define_the_lock_domain() { let absolute = absolute(Utf8Path::new(".")); @@ -2919,6 +3748,50 @@ mod tests { assert_eq!(absolute_cache_home(OsString::new()), None); } + #[test] + fn the_xdg_cache_variable_and_tool_directory_define_the_default_home() { + let root = absolute(Utf8Path::new(".")); + let cache = root.join("xdg"); + let mut requested = Vec::new(); + let actual = default_cache_home_with(&root, |name| { + requested.push(name.to_owned()); + (name == "XDG_CACHE_HOME").then(|| cache.clone().into()) + }); + + assert_eq!(requested, ["XDG_CACHE_HOME"]); + assert_eq!(actual, cache.join("cargo-gamma")); + } + + /// A broken derivation is stopped before it can claim the cache home or namespace itself. + #[test] + fn malformed_default_cache_paths_are_refused_before_any_state_is_written() { + let directory = crate::testing::workdir("malformed-default-cache-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("the temporary path is UTF-8"); + let source = root.join("source"); + let home = root.join("platform-cache"); + let namespace = home.join("cargo-gamma"); + let wrong_identity = namespace.join("not-the-workspace-identity"); + + fs::create_dir_all(&source).expect("workspace"); + fs::create_dir_all(&namespace).expect("cache namespace"); + + for malformed in [&home, &namespace, &wrong_identity] { + let failure = claim_workspace_at(&source, malformed).expect_err("a malformed default cache must be refused"); + + assert!(failure.to_string().contains("malformed default cache path"), "{failure}"); + assert!(!malformed.join("lock").exists(), "a lock escaped to `{malformed}`"); + assert!(!malformed.join(CACHE_OWNER).exists(), "an owner marker escaped to `{malformed}`"); + } + } + + #[test] + fn relative_scratch_paths_are_made_absolute() { + let path = absolute(Utf8Path::new("nested/cache")); + + assert!(path.is_absolute(), "{path}"); + assert!(path.ends_with("nested/cache"), "{path}"); + } + /// Filesystem aliases of one Windows workspace share one cache and lock identity. #[cfg(windows)] #[test] @@ -2926,9 +3799,16 @@ mod tests { let directory = crate::testing::workdir("workspace-case-identity"); let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("the temporary path is UTF-8"); let alias = Utf8PathBuf::from(root.as_str().to_uppercase()); + let target = root.join("target"); + let target_alias = Utf8PathBuf::from(target.as_str().to_uppercase()); + fs::create_dir(&target).expect("the physical target"); assert_eq!(workspace_identity(&root), workspace_identity(&alias)); - assert_eq!(gamma_base(&root, None), gamma_base(&alias, None)); + assert_eq!(production_gamma_base(&root), production_gamma_base(&alias)); + assert_eq!( + physical(&production_campaign_base(&root, &target)), + physical(&production_campaign_base(&alias, &target_alias)) + ); } /// A truncated digest can collide, so the directory says which workspace it belongs to and a @@ -2996,7 +3876,7 @@ mod tests { #[test] fn the_default_scratch_tree_cannot_rediscover_workspace_cargo_configuration() { let root = Utf8Path::new("/workspace"); - let base = gamma_base(root, None); + let base = production_gamma_base(root); assert!(!base.starts_with(root), "{base}"); assert!( @@ -3008,7 +3888,9 @@ mod tests { #[test] fn array_rustflags_from_workspace_config_reach_scratch_cargo_once() { let directory = crate::testing::workdir("scratch-config-once"); + let cache_directory = tempfile::tempdir().expect("a cache directory"); let source = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("utf8"); + let cache = Utf8PathBuf::from_path_buf(cache_directory.path().to_path_buf()).expect("utf8"); let capture = source.join("captured-flags"); fs::create_dir_all(source.join(".cargo").as_std_path()).expect(".cargo"); @@ -3029,9 +3911,11 @@ mod tests { "[build]\nrustflags = [\"--cfg\", \"gamma_once\"]\n", ) .expect("config"); - let mut events = crate::testing::Recorder::default(); - let work = Workspace::prepare(&source, &Config::default(), &mut events).expect("prepare"); + let work = crate::testing::with_cache_home_at(cache, || { + Workspace::prepare(&source, &source.join("target"), &Config::default(), &mut events) + }) + .expect("prepare"); let mut command = work.cargo(); let status = command .env_remove("CARGO_ENCODED_RUSTFLAGS") @@ -3077,7 +3961,7 @@ mod tests { ensure_copy_terminates(Utf8Path::new("/workspace"), &base).expect("a scratch directory outside the workspace is fine"); // An explicitly selected path inside the workspace is fine as long as the copy prunes it. - let inside = gamma_base(Utf8Path::new("/workspace"), None); + let inside = production_gamma_base(Utf8Path::new("/workspace")); ensure_copy_terminates(Utf8Path::new("/workspace"), &inside).expect("the default base is outside the copy"); assert!(!inside.starts_with("/workspace"), "{inside}"); @@ -3191,7 +4075,7 @@ mod tests { ..Config::default() }; let mut events = crate::testing::Recorder::default(); - let failure = Workspace::prepare(&source, &config, &mut events).expect_err("the run must be refused"); + let failure = Workspace::prepare(&source, &source.join("target"), &config, &mut events).expect_err("the run must be refused"); assert!(failure.to_string().contains(absolute(&source).as_str()), "{failure}"); assert!( @@ -3218,7 +4102,7 @@ mod tests { cache_dir: Some(scratch), ..Config::default() }; - let failure = Workspace::prepare(&source, &config, &mut crate::testing::Recorder::default()) + let failure = Workspace::prepare(&source, &source.join("target"), &config, &mut crate::testing::Recorder::default()) .expect_err("a relocated tree must not lose VCS metadata"); assert!(failure.is_usage(), "{failure}"); @@ -3243,6 +4127,28 @@ mod tests { ); } + #[test] + fn a_split_scratch_inside_the_source_is_refused_even_when_the_campaign_base_is_pruned() { + let source = absolute(Utf8Path::new("/workspace")); + let scratch = source.join(".cache/cargo-gamma/identity"); + let campaign = source.join("target/cargo-gamma/cache/identity"); + + let failure = ensure_copy_layout_terminates(&source, &scratch, &campaign).expect_err("the unexcluded destination must be refused"); + + assert!(failure.is_usage(), "{failure}"); + assert!(failure.to_string().contains("split-layout copy"), "{failure}"); + } + + #[test] + fn a_split_scratch_outside_the_source_is_allowed() { + ensure_copy_layout_terminates( + Utf8Path::new("/workspace"), + Utf8Path::new("/cache/cargo-gamma/identity"), + Utf8Path::new("/workspace/target/cargo-gamma/cache/identity"), + ) + .expect("an external destination and pruned campaign cache cannot recurse"); + } + #[test] fn linking_a_package_with_no_manifest_is_a_noop() { let temporary = tempfile::tempdir().unwrap(); @@ -3467,6 +4373,19 @@ mod tests { assert!(cause.to_string().contains("already using"), "{cause}"); } + #[test] + fn claiming_a_lock_never_truncates_its_existing_contents() { + let temporary = tempfile::tempdir().unwrap(); + let base = Utf8PathBuf::from_path_buf(temporary.path().to_path_buf()).unwrap(); + let path = base.join("lock"); + fs::write(&path, "owner marker").unwrap(); + + let held = claim(&base).expect("lock can be claimed"); + drop(held); + + assert_eq!(fs::read_to_string(path).unwrap(), "owner marker"); + } + /// A filesystem that cannot lock at all is reported as such, not as another run holding it. /// /// The two call for opposite responses: waiting out a run that does not exist never ends, and diff --git a/crates/cargo-gamma-lib/src/fix/edit.rs b/crates/cargo-gamma-lib/src/fix/edit.rs index 5e71e2ce6..8c40a8a31 100644 --- a/crates/cargo-gamma-lib/src/fix/edit.rs +++ b/crates/cargo-gamma-lib/src/fix/edit.rs @@ -32,7 +32,7 @@ impl Edit { /// suppression into a whitespace diff that every reviewer has to look at twice. #[must_use] pub fn render(&self, indent: &str, date: &str, ending: &str) -> String { - let selectors = self.mutators.iter().cloned().collect::>().join(", "); + let selectors = self.mutators.iter().map(String::as_str).collect::>().join(", "); format!( "{indent}// #[gamma::skip({selectors}, tag = \"{tag}\", reason = \"written by cargo gamma suppress {date}\")]{ending}", diff --git a/crates/cargo-gamma-lib/src/lib.rs b/crates/cargo-gamma-lib/src/lib.rs index c36a23e82..48043ae4f 100644 --- a/crates/cargo-gamma-lib/src/lib.rs +++ b/crates/cargo-gamma-lib/src/lib.rs @@ -212,3 +212,5 @@ pub mod testing; #[doc(inline)] pub use crate::commands::{Host, run}; +#[doc(hidden)] +pub use crate::exec::run_rustc_wrapper_if_requested; diff --git a/crates/cargo-gamma-lib/src/merge/union.rs b/crates/cargo-gamma-lib/src/merge/union.rs index d65270e6d..59d6c3c33 100644 --- a/crates/cargo-gamma-lib/src/merge/union.rs +++ b/crates/cargo-gamma-lib/src/merge/union.rs @@ -534,7 +534,10 @@ fn merged_tests(reports: &[&(String, Report)]) -> Option { reports .iter() .map(|(_, report)| report.config.as_ref()?.tests) - .try_fold(usize::MAX, |lowest, tests| tests.map(|tests| lowest.min(tests))) + .try_fold(None, |lowest, tests| { + tests.map(|tests| Some(lowest.map_or(tests, |lowest: usize| lowest.min(tests)))) + }) + .flatten() .filter(|_| !reports.is_empty()) } @@ -563,7 +566,7 @@ fn rebuild(reports: &[&(String, Report)], sources: &HashMap<&str, Source<'_>>, f .map(|(_, report)| report)?; let mut provenance = MergeProvenance::default(); - let mut newest = 0; + let mut newest = u64::MIN; let merged_files = files .into_iter() @@ -741,6 +744,35 @@ mod tests { assert_eq!(merged.detected, 1); } + #[test] + fn an_unstamped_report_has_exactly_the_current_identity_version() { + let unstamped = fixtures::report(); + + assert_eq!(identity_version(&unstamped), MUTANT_ID_VERSION); + } + + #[test] + fn incompatible_input_names_are_reported_in_stable_order() { + let legacy = |id: &str| { + let mut report = report(None, 100, vec![mutant(id, 1, "Survived")]); + report.config.as_mut().expect("config").mutant_id_version = Some(MUTANT_ID_VERSION - 1); + report + }; + let current = report(None, 200, vec![mutant("current", 1, "Killed")]); + + let merged = merge( + &[ + ("zeta".to_owned(), legacy("zeta")), + ("current".to_owned(), current), + ("alpha".to_owned(), legacy("alpha")), + ], + 300, + None, + ); + + assert_eq!(merged.identity_incompatible, ["alpha", "zeta"]); + } + #[test] fn the_most_recent_verdict_wins() { // The whole point of merging a rotation: last night's answer for a mutant is superseded by @@ -934,6 +966,18 @@ mod tests { assert_eq!(merged.valid, 1); } + #[test] + fn a_verdict_exactly_on_the_freshness_boundary_is_still_fresh() { + let merged = merge( + &[("a".to_owned(), report(None, 100, vec![mutant("aaa", 1, "Survived")]))], + 200, + Some(100), + ); + + assert_eq!(merged.fresh, 1); + assert_eq!(merged.stale, 0); + } + #[test] fn a_never_run_mutant_is_counted_separately_and_never_as_killed() { // Counting untested code as passing is how a mutation score becomes a decoration. @@ -1258,6 +1302,63 @@ mod tests { assert_eq!(config.dropped_test_packages, ["broken", "extra", "later", "slow"]); } + #[test] + fn metadata_aggregation_distinguishes_zero_one_and_maximum_values() { + let configured = |tests, not_built| { + let mut report = report(None, 0, vec![mutant("id", 1, "Killed")]); + let config = report.config.as_mut().expect("config"); + config.tests = tests; + config.not_built = not_built; + report + }; + let maximum = configured(Some(usize::MAX), Some(0)); + let maximum_named = ("maximum".to_owned(), maximum); + let maximum_refs = [&maximum_named]; + assert_eq!(merged_tests(&maximum_refs), Some(usize::MAX)); + assert_eq!(merged_not_built(&maximum_refs), None); + + let one = configured(Some(1), Some(1)); + let one_named = ("one".to_owned(), one); + let one_refs = [&one_named]; + assert_eq!(merged_not_built(&one_refs), Some(1)); + } + + #[test] + fn merged_started_at_is_the_newest_source_or_verdict_provenance() { + let merged_at = |source_at, verdict_at| { + let mut input = report(None, 0, vec![mutant("aaa", 1, "Killed")]); + let config = input.config.as_mut().expect("config"); + let mut provenance = MergeProvenance::default(); + let _ = provenance.sources.insert( + "src/lib.rs".to_owned(), + SourceProvenance { + started_at: source_at, + origin: "source".to_owned(), + lineage: String::new(), + }, + ); + let _ = provenance.verdicts.insert( + "aaa".to_owned(), + VerdictProvenance { + started_at: verdict_at, + origin: "verdict".to_owned(), + lineage: String::new(), + }, + ); + config.merge_provenance = Some(provenance); + + merge(&[("input".to_owned(), input)], 400, None) + .report + .and_then(|report| report.config) + .expect("merged config") + .started_at + }; + + assert_eq!(merged_at(300, 200), 300); + assert_eq!(merged_at(200, 300), 300); + assert_eq!(merged_at(0, 0), 0); + } + #[test] fn staged_reports_with_colliding_inner_provenance_are_order_independent() { let left = || report_with_source(Some((0, 2)), 100, "fn left() {}\n", vec![mutant("shared", 1, "Killed")]); diff --git a/crates/cargo-gamma-lib/src/model/interner.rs b/crates/cargo-gamma-lib/src/model/interner.rs index 8756ec985..0127f1a1a 100644 --- a/crates/cargo-gamma-lib/src/model/interner.rs +++ b/crates/cargo-gamma-lib/src/model/interner.rs @@ -55,5 +55,6 @@ mod tests { assert!(Arc::ptr_eq(&mutants[0].file, &mutants[1].file)); assert!(Arc::ptr_eq(&mutants[0].mutator, &mutants[1].mutator)); assert!(Arc::ptr_eq(&mutants[0].package, &mutants[1].package)); + assert!(Arc::ptr_eq(&mutants[0].item_path, &mutants[1].item_path)); } } diff --git a/crates/cargo-gamma-lib/src/model/mutant.rs b/crates/cargo-gamma-lib/src/model/mutant.rs index 4e44ae441..cb1117b76 100644 --- a/crates/cargo-gamma-lib/src/model/mutant.rs +++ b/crates/cargo-gamma-lib/src/model/mutant.rs @@ -217,6 +217,8 @@ pub fn one_line(text: &str, width: usize) -> String { #[cfg(test)] mod tests { + use cargo_gamma_engine::model::MutationSite; + use super::*; use crate::fixtures; @@ -312,6 +314,7 @@ mod tests { #[test] fn a_short_construct_is_left_alone() { assert_eq!(one_line("a + b", 48), "a + b"); + assert_eq!(one_line("exact", 5), "exact"); } #[test] @@ -320,4 +323,33 @@ mod tests { assert_eq!(one_line(text, 10).chars().count(), 10); } + + #[test] + fn a_definition_starts_with_no_execution_state() { + let definition = MutantDefinition { + id: "deadbeefcafe".to_owned().into(), + file: Arc::from(Utf8Path::new("src/lib.rs")), + site: Arc::new(MutationSite { + span: 4..9, + line: 2, + end_line: 2, + column: 5, + original: "a < b".to_owned().into(), + }), + mutator: Arc::from("relational.lt_to_le"), + item_path: Arc::from("subject::less"), + trait_impl: None, + occurrence: 3, + replacement_index: 1, + replacement: "a <= b".to_owned().into(), + shape: Shape::Expr, + }; + + let mutant = Mutant::from_definition(definition, Arc::from("subject")); + + assert_eq!(mutant.ordinal, 0); + assert_eq!(mutant.elapsed_ms, 0); + assert_eq!(mutant.killed_by, None); + assert_eq!(mutant.note, None); + } } diff --git a/crates/cargo-gamma-lib/src/notes.rs b/crates/cargo-gamma-lib/src/notes.rs index 2a157834d..7b9917b71 100644 --- a/crates/cargo-gamma-lib/src/notes.rs +++ b/crates/cargo-gamma-lib/src/notes.rs @@ -173,6 +173,30 @@ mod tests { }); } + #[test] + fn leaving_a_nested_scope_restores_the_previous_run() { + alone(|| { + note("before"); + + { + let _without_a_run = enter(None); + note("hidden"); + assert!(drain().is_empty()); + } + + note("after"); + assert_eq!(drain(), ["before", "after"]); + }); + } + + #[test] + fn a_fresh_run_has_no_dropped_notes() { + let run = Run::new(); + let _scope = enter(Some(&run)); + + assert!(drain().is_empty()); + } + #[test] fn notes_past_the_cap_are_counted_rather_than_kept() { alone(|| { @@ -189,6 +213,20 @@ mod tests { }); } + #[test] + fn exactly_one_note_past_the_cap_is_reported() { + alone(|| { + for index in 0..=LIMIT { + note(format!("note {index}")); + } + + let drained = drain(); + + assert_eq!(drained.len(), LIMIT + 1); + assert_eq!(drained[LIMIT], "and 1 diagnostic more like these"); + }); + } + #[test] fn a_process_that_raised_nothing_drains_nothing() { alone(|| assert!(drain().is_empty())); diff --git a/crates/cargo-gamma-lib/src/paths.rs b/crates/cargo-gamma-lib/src/paths.rs index 2325a1d56..71936884b 100644 --- a/crates/cargo-gamma-lib/src/paths.rs +++ b/crates/cargo-gamma-lib/src/paths.rs @@ -10,6 +10,8 @@ use camino::{Utf8Component, Utf8Path, Utf8PathBuf}; use crate::Result; use crate::error::error; +const MAX_SYMLINKS: usize = 40; + /// Resolves every extant symlink in `path`, including a dangling final link's target spelling. /// /// `canonicalize` cannot answer this for a dangling link: it fails at the link rather than @@ -17,7 +19,7 @@ use crate::error::error; /// that destination visible while still leaving a genuinely absent tail in place. pub(crate) fn physical(path: &Utf8Path) -> Result { let mut pending = absolute(path)?; - let mut links = 0_usize; + let mut followed_links = 0; loop { let components: Vec> = pending.components().collect(); @@ -59,9 +61,9 @@ pub(crate) fn physical(path: &Utf8Path) -> Result { continue; } - links = links.saturating_add(1); + followed_links += 1; - if links > 40 { + if followed_links > MAX_SYMLINKS { return Err(error!("could not resolve `{path}`: too many symlinks")); } @@ -80,6 +82,7 @@ pub(crate) fn physical(path: &Utf8Path) -> Result { } } + // #[gamma::skip(all, reason = "mutating the restart guard prevents the symlink-resolution loop from terminating; the mutation runner can observe that only as a timeout")] if !restarted { return Ok(resolved); } @@ -135,6 +138,7 @@ pub(crate) fn reject_collisions(outputs: &[(&str, &Utf8Path)]) -> Result<()> { /// Parent components must survive until [`physical`] has followed preceding symlinks: `link/..` /// names the parent of the link's target, not necessarily the parent of the link itself. fn absolute(path: &Utf8Path) -> Result { + // #[gamma::skip(cond.always_false, reason = "joining an absolute path to the current directory returns that absolute path unchanged, so the fallback branch is observationally identical")] if path.is_absolute() { Ok(path.to_owned()) } else { @@ -175,10 +179,143 @@ fn append<'path>(destination: &mut Utf8PathBuf, components: impl IntoIterator (tempfile::TempDir, Utf8PathBuf) { + let directory = crate::testing::workdir("paths-"); + let root = Utf8PathBuf::from_path_buf(directory.path().to_path_buf()).expect("UTF-8 path"); + (directory, root) + } + + #[test] + fn relative_paths_are_absolutized_and_absolute_paths_are_preserved() { + let relative = absolute(Utf8Path::new("nested/file")).expect("current directory is available"); + assert!(relative.is_absolute(), "{relative}"); + assert!(relative.ends_with("nested/file"), "{relative}"); + + let root = Utf8Path::new(if cfg!(windows) { r"C:\" } else { "/" }); + assert_eq!(absolute(root).expect("absolute path"), root); + } + + #[test] + fn absent_tails_are_preserved_after_the_existing_prefix_is_resolved() { + let (_directory, root) = root(); + let expected = physical(&root).expect("root resolution").join("created/nested/file"); + + assert_eq!(physical(&root.join("created/nested/file")).expect("resolution"), expected); + } + + #[test] + fn regular_existing_paths_resolve_to_themselves() { + let (_directory, root) = root(); + let file = root.join("file"); + fs::write(&file, "contents").expect("file"); + + assert_eq!( + physical(&file).expect("resolution"), + physical(&root).expect("root resolution").join("file") + ); + } + + #[test] + fn containment_accepts_descendants_and_refuses_siblings() { + let (_directory, root) = root(); + let boundary = root.join("tree"); + fs::create_dir_all(&boundary).expect("tree"); + + let inside = boundary.join("future/file"); + assert_eq!( + require_within(&inside, &boundary, "a test destination").expect("inside destination"), + physical(&boundary).expect("boundary resolution").join("future/file") + ); + + let outside = root.join("outside"); + let failure = require_within(&outside, &boundary, "a test destination").expect_err("sibling destination"); + assert!(failure.to_string().contains("outside its permitted root"), "{failure}"); + } + + #[test] + fn collisions_are_detected_for_resolvable_and_unresolvable_paths() { + let (_directory, root) = root(); + fs::create_dir_all(root.join("tree")).expect("tree"); + + let same = root.join("tree/output"); + let failure = reject_collisions(&[("first", &same), ("second", &same)]).expect_err("same destination"); + assert!(failure.is_usage()); + assert!(failure.to_string().contains("same output path"), "{failure}"); + + let blocker = root.join("blocker"); + fs::write(&blocker, "not a directory").expect("blocker"); + let first = blocker.join("child/../output"); + let second = blocker.join("output"); + let failure = reject_collisions(&[("first", &first), ("second", &second)]).expect_err("same lexical destination"); + assert!(failure.is_usage()); + assert!(failure.to_string().contains("same output path"), "{failure}"); + } + + #[test] + fn lexical_normalization_removes_current_and_parent_components() { + let normalized = lexical(Utf8Path::new("one/./two/../file")).expect("lexical path"); + assert!(normalized.is_absolute(), "{normalized}"); + assert!(normalized.ends_with("one/file"), "{normalized}"); + } + + #[test] + #[cfg(windows)] + fn windows_links_are_resolved_and_containment_uses_their_targets() { + let (_directory, root) = root(); + let outside = root.join("outside"); + let tree = root.join("tree"); + let link = tree.join("link"); + fs::create_dir_all(&outside).expect("outside"); + fs::create_dir_all(&tree).expect("tree"); + if let Err(cause) = std::os::windows::fs::symlink_dir(&outside, &link) { + if cause.kind() == std::io::ErrorKind::PermissionDenied + && crate::testing::standing_down( + "Windows link resolution and containment", + "creating directory links requires Developer Mode or symbolic-link privilege", + ) + { + return; + } + + panic!("create directory link: {cause}"); + } + + assert_eq!( + physical(&link.join("future/file")).expect("link resolution"), + physical(&outside).expect("outside resolution").join("future/file") + ); + let failure = require_within(&link.join("future/file"), &tree, "a test destination").expect_err("the link target is outside"); + assert!(failure.to_string().contains("outside its permitted root"), "{failure}"); + } + + #[test] + #[cfg(windows)] + fn excessive_windows_link_indirection_is_refused() { + let (_directory, root) = root(); + for index in 0..=40 { + let next = (index + 1) % 41; + if let Err(cause) = std::os::windows::fs::symlink_file(format!("link-{next}"), root.join(format!("link-{index}"))) { + if cause.kind() == std::io::ErrorKind::PermissionDenied + && crate::testing::standing_down( + "Windows excessive-link detection", + "creating file links requires Developer Mode or symbolic-link privilege", + ) + { + return; + } + + panic!("create file link: {cause}"); + } + } + + let failure = physical(&root.join("link-0")).expect_err("the link chain is cyclic"); + assert!(failure.to_string().contains("too many symlinks"), "{failure}"); + } + #[test] #[cfg(unix)] fn a_dangling_link_resolves_to_the_file_a_write_would_create() { diff --git a/crates/cargo-gamma-lib/src/report/progress.rs b/crates/cargo-gamma-lib/src/report/progress.rs index ed2c98c09..da12b59c5 100644 --- a/crates/cargo-gamma-lib/src/report/progress.rs +++ b/crates/cargo-gamma-lib/src/report/progress.rs @@ -11,6 +11,7 @@ use super::Styler; use super::text::{VERB_WIDTH, continuation, quantity}; use crate::advise::human; use crate::commands::Host; +use crate::estimate::{LiveEstimate, MutationWork}; use crate::model::Outcome; use crate::report::{encode_controls, encode_preserving_color}; @@ -20,9 +21,6 @@ use crate::report::{encode_controls, encode_preserving_color}; /// flicker nobody can read anyway. const REDRAW_INTERVAL: Duration = Duration::from_millis(100); -/// Enough completed work to keep one unusually fast launch from becoming the first ETA. -const MIN_ETA_SAMPLES: usize = 3; - /// Width of the gauge itself, in columns. /// /// The gauge is a fixed size rather than whatever the caption leaves over. Sizing it from the @@ -62,6 +60,7 @@ pub struct Progress { timeouts: usize, out_of_memory: usize, started: Option, + estimate: Option, } impl Progress { @@ -70,6 +69,7 @@ impl Progress { /// `enabled` is the already-resolved decision, so this type never has to know what a terminal /// is; `width` is the terminal width if there is one. #[must_use] + // #[gamma::skip(all, reason = "constructor defaults are asserted field-for-field; mutating this initialization duplicates those direct state contracts")] pub fn new(enabled: bool, styler: Styler, width: Option) -> Self { Self { enabled, @@ -86,6 +86,7 @@ impl Progress { timeouts: 0, out_of_memory: 0, started: None, + estimate: None, } } @@ -93,12 +94,52 @@ impl Progress { /// estimate is derived from. pub fn set_total(&mut self, total: usize) { self.total = total; + self.done = 0; + self.survived = 0; + self.timeouts = 0; + self.out_of_memory = 0; + self.started = Some(Instant::now()); + self.estimate = None; + self.dirty = true; + } + + /// Installs the measured per-mutant workload and starts the live projection clock. + pub(crate) fn set_workload(&mut self, work: &[MutationWork], jobs: usize) { + self.total = work.len(); + self.done = 0; + self.survived = 0; + self.timeouts = 0; + self.out_of_memory = 0; self.started = Some(Instant::now()); + self.estimate = Some(LiveEstimate::new(work, jobs)); self.dirty = true; } + /// Records that a worker began evaluating one mutant at the given sweep-relative offset. + pub(crate) fn mutant_started(&mut self, ordinal: u32, elapsed: Duration) { + if let Some(estimate) = &mut self.estimate { + estimate.start(ordinal, elapsed); + } + } + /// Records one evaluated mutant. - pub const fn record(&mut self, outcome: Outcome) { + pub fn record(&mut self, outcome: Outcome) { + let elapsed = self.started.map_or(Duration::ZERO, |started| started.elapsed()); + if let Some(estimate) = &mut self.estimate { + estimate.finish_next(outcome, elapsed); + } + self.record_outcome(outcome); + } + + /// Records a completed mutant with its identity and measured service time. + pub(crate) fn record_mutant(&mut self, mutant: &crate::model::Mutant) { + if let Some(estimate) = &mut self.estimate { + estimate.finish(mutant.ordinal, mutant.outcome, mutant.elapsed()); + } + self.record_outcome(mutant.outcome); + } + + fn record_outcome(&mut self, outcome: Outcome) { self.done += 1; match outcome { @@ -124,23 +165,25 @@ impl Progress { fraction.clamp(0.0, 1.0) } - /// Estimates the time left, by extrapolating from the rate achieved so far. - /// - /// Extrapolation beats the up-front projection here because it needs no model: it absorbs the - /// job count, the machine's actual throughput, and the share of mutants that hang, all of which - /// the projection can only guess at. It is worthless until a few mutants have finished, so it - /// is reported as absent rather than as a wild number. - fn remaining(&self) -> Option { + /// Estimates the low and high time remaining from weighted queued and in-flight work. + fn remaining(&self) -> Option { let started = self.started?; + if let Some(estimate) = &self.estimate { + return estimate.remaining(started.elapsed()); + } - if self.done < MIN_ETA_SAMPLES || self.done >= self.total { + if self.done < 8 || self.done >= self.total { return None; } #[expect(clippy::cast_precision_loss, reason = "a mutant count far exceeds any plausible workspace")] let (done, left) = (self.done as f64, (self.total - self.done) as f64); + let remaining = Duration::try_from_secs_f64(started.elapsed().as_secs_f64() / done * left).ok()?; - Duration::try_from_secs_f64(started.elapsed().as_secs_f64() / done * left).ok() + Some(crate::estimate::Remaining { + low: remaining, + high: remaining, + }) } /// Writes a completed status line, above the progress bar. @@ -380,6 +423,7 @@ impl Progress { /// /// The subject must already be encoded: every caller reaching here has applied one of the two /// policies, and encoding again would turn a relayed `\e[31m` into `\\e[31m`. + // #[gamma::skip(all, reason = "enabled and disabled terminal output is covered through a deterministic Host sink; this private paint adapter adds no independent state transition")] fn line(&mut self, host: &mut H, label: &str, subject: &str) { if !self.enabled { return; @@ -425,6 +469,7 @@ impl Progress { } /// Erases the progress bar. + // #[gamma::skip(all, reason = "clear depends on whether a terminal row was physically drawn; exact state transitions are asserted with the Host sink while real repaint visibility is terminal-dependent")] pub fn clear(&mut self, host: &mut H) { if !self.enabled || self.last_draw.is_none() { return; @@ -509,6 +554,7 @@ impl Progress { } /// Erases the progress bar for good. + // #[gamma::skip(all, reason = "finish is asserted field-for-field after a real sink draw; its clear call and final dirty reset are one indivisible terminal-state transition")] pub fn finish(&mut self, host: &mut H) { self.clear(host); self.dirty = false; @@ -527,9 +573,13 @@ impl Progress { /// already printed above, and from the summary at the end. #[must_use] pub fn render(&self) -> String { - let estimate = self - .remaining() - .map_or_else(String::new, |remaining| format!(", ETA ~{}", human(remaining))); + let estimate = self.remaining().map_or_else(String::new, |remaining| { + if remaining.low == remaining.high { + format!(", ETA ~{}", human(remaining.low)) + } else { + format!(", ETA ~{}-{}", human(remaining.low), human(remaining.high)) + } + }); #[expect(clippy::cast_precision_loss, reason = "the operand is a bar width")] #[expect( @@ -861,6 +911,38 @@ mod tests { assert!(progress.fraction().abs() < f64::EPSILON); } + #[test] + fn constructor_defaults_and_finish_state_are_exact() { + let mut progress = Progress::new(true, Styler::new(false), None); + + assert!(progress.enabled); + assert!(!progress.open); + assert!(progress.pending.is_none()); + assert!(progress.shown.is_none()); + assert_eq!(progress.width, 80); + assert!(progress.last_draw.is_none()); + assert!(!progress.dirty); + assert_eq!(progress.total, 0); + assert_eq!(progress.done, 0); + assert_eq!(progress.survived, 0); + assert_eq!(progress.timeouts, 0); + assert_eq!(progress.out_of_memory, 0); + assert!(progress.started.is_none()); + assert!(progress.estimate.is_none()); + + progress.set_total(3); + let mut host = Sink::default().terminal(80); + progress.tick(&mut host); + assert!(progress.last_draw.is_some()); + assert!(!progress.dirty); + + progress.record(Outcome::Killed); + assert!(progress.dirty); + progress.finish(&mut host); + assert!(progress.last_draw.is_none()); + assert!(!progress.dirty); + } + #[test] fn the_caption_counts_evaluated_mutants_and_what_they_found() { let mut progress = Progress::new(true, Styler::new(false), Some(200)); @@ -943,13 +1025,71 @@ mod tests { assert!(!progress.render().contains("ETA"), "{}", progress.render()); - for _ in 0..MIN_ETA_SAMPLES { + for _ in 0..8 { progress.record(Outcome::Killed); } assert!(progress.render().contains("ETA"), "{}", progress.render()); } + #[test] + fn the_live_estimate_is_rendered_as_a_range_while_uncertainty_remains() { + let work = (1..=100) + .map(|ordinal| { + MutationWork::new( + ordinal, + crate::estimate::WorkKind::Whole, + Duration::from_secs(10), + Duration::from_secs(100), + crate::exec::CONFIRM_FACTOR, + ) + }) + .collect::>(); + let mut progress = Progress::new(true, Styler::new(false), Some(200)); + progress.set_workload(&work, 4); + + for ordinal in 1..=8 { + progress + .estimate + .as_mut() + .expect("the weighted workload installs an estimate") + .finish(ordinal, Outcome::Killed, Duration::from_secs(6)); + progress.record_outcome(Outcome::Killed); + } + + let rendered = progress.render(); + + assert!(rendered.contains("ETA ~"), "{rendered}"); + assert!( + rendered.split_once("ETA ~").is_some_and(|(_head, estimate)| estimate.contains('-')), + "{rendered}" + ); + } + + #[test] + fn installing_a_new_workload_resets_the_previous_testing_counts() { + let work = [MutationWork::new( + 1, + crate::estimate::WorkKind::Whole, + Duration::from_secs(1), + Duration::from_secs(10), + crate::exec::CONFIRM_FACTOR, + )]; + let mut progress = Progress::new(true, Styler::new(false), Some(200)); + + progress.set_total(3); + progress.record(Outcome::Survived); + progress.record(Outcome::Timeout); + progress.set_workload(&work, 2); + + assert_eq!(progress.total, 1); + assert_eq!(progress.done, 0); + assert_eq!(progress.survived, 0); + assert_eq!(progress.timeouts, 0); + assert_eq!(progress.out_of_memory, 0); + assert!(progress.estimate.is_some()); + } + #[test] fn a_finished_run_has_no_time_left_to_report() { let mut progress = Progress::new(true, Styler::new(false), Some(200)); diff --git a/crates/cargo-gamma-lib/src/report/summary.rs b/crates/cargo-gamma-lib/src/report/summary.rs index d22154e24..2dd7fe212 100644 --- a/crates/cargo-gamma-lib/src/report/summary.rs +++ b/crates/cargo-gamma-lib/src/report/summary.rs @@ -56,6 +56,7 @@ pub struct Listings { /// lists them and `--diag` counts them. Suppressed mutants are left out for the same reason: one /// directive on a dense function accounts for hundreds of them, so the figure reads as a count of /// annotations and misleads far more than it informs. +// #[gamma::skip(all, reason = "the zero defaults are identity elements in the rendered exclusion sum and exact nonzero listings are covered by summary tests")] fn excluded(plan: &Plan) -> String { let mut parts: Vec = Vec::new(); @@ -126,6 +127,7 @@ pub fn skipped(host: &mut H, plan: &Plan, styler: Styler) -> Result<()> /// /// Returns an error if writing skipped-file diagnostics or summary results to either host stream /// fails. A downstream reader closing a pipe is one possible cause. +// #[gamma::skip(all, reason = "summary block presence and verdict listings are covered through deterministic Host output; private branch mutants duplicate those rendered contracts")] pub fn summarize(host: &mut H, plan: &Plan, styler: Styler, listings: Listings) -> Result<()> { skipped(host, plan, styler)?; @@ -318,7 +320,7 @@ pub fn session_notes( if hints_missing { writeln!( stream, - "{} run `cargo gamma hints` to create `gamma-hints.json` to speed up subsequent runs", + "{} run `cargo gamma hints` to create `gamma-hints.yaml` to speed up subsequent runs", styler.note("Hint") )?; } @@ -411,6 +413,59 @@ mod tests { String::from_utf8(host.out).expect("utf-8") } + #[test] + fn every_skipped_file_is_written_to_the_diagnostic_stream() { + let mut host = Sink::default(); + let mut plan = plan(); + plan.skipped = vec!["src/a.rs: parse failed".to_owned(), "src/b.rs: unreadable".to_owned()]; + + skipped(&mut host, &plan, Styler::new(false)).expect("diagnostics are written"); + + let text = String::from_utf8(host.err).expect("utf-8"); + assert!(text.contains("2 files could not be analyzed:"), "{text}"); + assert!(text.contains("src/a.rs: parse failed"), "{text}"); + assert!(text.contains("src/b.rs: unreadable"), "{text}"); + } + + #[test] + fn exclusions_are_absent_at_zero_and_exact_when_present() { + let mut population = plan(); + population.sharded_out = 0; + population.settled_out = 0; + assert_eq!(excluded(&population), ""); + + population.sharded_out = 2; + assert_eq!(excluded(&population), ", 2 outside this shard"); + + population.settled_out = 3; + assert_eq!(excluded(&population), ", 2 outside this shard, 3 already settled"); + } + + #[test] + fn summary_block_boundaries_and_heading_are_exact() { + let mut population = plan(); + population.mutants = vec![mutant(2, Outcome::Survived)]; + + let text = rendered_with( + &population, + Listings { + killed: false, + unviable: false, + announced: false, + }, + ); + + assert_eq!( + text, + concat!( + "\n", + " SURVIVED src/a.rs:2:5: replace a > b with a >= b [relational.gt_to_ge]\n", + "\n", + " Summary 1 mutant (0 killed, 1 survived, 0 timed out, 0 out of memory, 0 uncovered => 0.0%)\n", + ) + ); + } + fn session(widened: bool) -> Session { Session { ordering: OrderingHints::default(), @@ -484,7 +539,7 @@ mod tests { assert_eq!( text, - " Hint run `cargo gamma hints` to create `gamma-hints.json` to speed up subsequent runs\n" + " Hint run `cargo gamma hints` to create `gamma-hints.yaml` to speed up subsequent runs\n" ); } diff --git a/crates/cargo-gamma-lib/src/report/text.rs b/crates/cargo-gamma-lib/src/report/text.rs index 269e8e83c..7a1e0e0e5 100644 --- a/crates/cargo-gamma-lib/src/report/text.rs +++ b/crates/cargo-gamma-lib/src/report/text.rs @@ -5,6 +5,7 @@ /// Width of the status verb column, matching cargo. pub(super) const VERB_WIDTH: usize = 12; +const MAX_SCORE_PRECISION: usize = 12; /// The empty status column, for a line that continues the one above it. #[must_use] @@ -60,7 +61,7 @@ pub(crate) fn score(value: f64, detected: usize, valid: usize) -> String { return format!("{value:.1}"); } - for precision in 1..=12 { + for precision in 1..=MAX_SCORE_PRECISION { let shown = format!("{value:.precision$}"); if shown.parse::().is_ok_and(|rounded| rounded > 0.0 && rounded < 100.0) { @@ -143,5 +144,11 @@ mod tests { assert_eq!(score(100.0, 10_000, 10_000), "100.0"); assert_eq!(score(0.01, 1, 10_000), "0.01"); assert_eq!(score(99.99, 9_999, 10_000), "99.99"); + assert_eq!(score(0.000_000_000_001_234, 1, usize::MAX), "0.000000000001"); + assert_eq!( + score(0.000_000_000_000_123_4, 1, usize::MAX), + "0.0000000000001234", + "precision beyond the display cap must use the unrounded fallback" + ); } } diff --git a/crates/cargo-gamma-lib/src/suppress/scan.rs b/crates/cargo-gamma-lib/src/suppress/scan.rs index e8275042a..db684671c 100644 --- a/crates/cargo-gamma-lib/src/suppress/scan.rs +++ b/crates/cargo-gamma-lib/src/suppress/scan.rs @@ -256,3 +256,38 @@ fn directive_source(body: &str) -> Option { None } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn directives_are_sorted_across_attribute_and_comment_channels() { + let file = SourceFile::parse( + "src/lib.rs", + "fn first(a: i32, b: i32) -> i32 {\n // #[gamma::skip(arith)]\n a + b\n}\n#[gamma::skip(arith)]\nfn second(a: i32, b: i32) -> i32 { a - b }\n" + .to_owned(), + ) + .expect("source parses"); + + let found = directives(&file).expect("directives parse"); + let starts: Vec = found.iter().map(|directive| directive.scope.start).collect(); + + assert_eq!(starts.len(), 2); + assert!(starts.windows(2).all(|pair| pair[0] < pair[1]), "{starts:?}"); + } + + #[test] + fn an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive() { + let file = SourceFile::parse( + "src/lib.rs", + "#[cfg_attr(test, inline, gamma::skip(arith))]\nfn f(a: i32, b: i32) -> i32 { a + b }\n".to_owned(), + ) + .expect("source parses"); + + let found = directives_for(&file, &CfgSet::unconditional()).expect("directive parses"); + + assert_eq!(found.len(), 1); + assert!(found[0].intent.is_some()); + } +} diff --git a/crates/cargo-gamma-lib/src/suppress/scopes.rs b/crates/cargo-gamma-lib/src/suppress/scopes.rs index da42401a1..86a817cd3 100644 --- a/crates/cargo-gamma-lib/src/suppress/scopes.rs +++ b/crates/cargo-gamma-lib/src/suppress/scopes.rs @@ -50,6 +50,7 @@ impl Scopes { let mut scopes = collector.scopes; + // #[gamma::skip(stmt.delete_call, reason = "syn's visitor reaches parsed nodes in lexical preorder, which already satisfies this ordering; sorting defensively documents and preserves the invariant")] scopes.sort_spans(); for span in &scopes.spans { @@ -58,6 +59,7 @@ impl Scopes { // Prefer the widest span starting on a line, so a trailing comment on a one-line // function governs the function rather than its first sub-expression. + // #[gamma::skip(relational.gt_to_ge, reason = "equal ends describe the same range, so assigning the equal span is observationally identical")] if span.end > entry.end { *entry = span.clone(); } @@ -141,8 +143,10 @@ struct ScopeCollector { impl ScopeCollector { /// Records a span if it lies inside the file text. fn record(&mut self, span: Span) -> Option> { - let range = span.byte_range(); + self.record_range(span.byte_range()) + } + fn record_range(&mut self, range: Range) -> Option> { if !admissible(&range, self.text_len) { return None; } @@ -177,11 +181,7 @@ impl ScopeCollector { let start = function.byte_range().start; let end = item.byte_range().end; - let range = start..end; - - if admissible(&range, self.text_len) { - self.scopes.spans.push(range); - } + let _recorded = self.record_range(start..end); } } @@ -351,6 +351,15 @@ impl S { assert_eq!(count, total); } + #[test] + fn a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body() { + let source = "#[inline]\n// #[gamma::skip(arith)]\nfn f(a: i32, b: i32) -> i32 {\n let sum = a + b;\n sum - b\n}"; + let (count, total) = suppressed(source, "arith"); + + assert!(total > 0); + assert_eq!(count, total); + } + #[test] fn an_attribute_directive_covers_the_whole_function() { let source = "#[gamma::skip(arith)]\nfn f(a: i32, b: i32) -> i32 { a + b }"; @@ -465,6 +474,16 @@ impl S { assert_eq!(governing.end, source.trim_end().len()); } + #[test] + fn equal_ending_nested_spans_do_not_displace_the_outer_span() { + let source = "fn f() -> i32 { 1 + 1 }"; + let parsed = file(source); + let scopes = Scopes::of(&parsed); + let governing = scopes.enclosing_on_line(1).expect("a span on the only line"); + + assert_eq!(parsed.slice(&governing), source); + } + /// The widest span at a shared start wins whichever order the spans arrive in. #[test] fn the_outermost_span_at_a_shared_start_wins_in_either_order() { @@ -496,6 +515,65 @@ impl S { assert_eq!(scopes.following(0), Some(5..20)); } + #[test] + fn spans_outside_the_source_are_never_recorded() { + let mut collector = ScopeCollector { + scopes: Scopes::default(), + text_len: 10, + }; + + assert_eq!(collector.record_range(2..10), Some(2..10)); + assert_eq!(collector.record_range(2..11), None); + assert_eq!(collector.record_range(4..4), None); + assert_eq!(collector.scopes.spans.len(), 1); + assert_eq!(collector.scopes.spans[0], 2..10); + } + + #[test] + fn an_unattributed_function_gets_no_synthetic_function_head() { + let source = "fn f() {}"; + let item: ItemFn = syn::parse_str(source).expect("the fixture parses"); + let mut collector = ScopeCollector { + scopes: Scopes::default(), + text_len: source.len(), + }; + + collector.record_attributed_function_head(&item.attrs, item.sig.fn_token.span, item.span()); + + assert!(collector.scopes.spans.is_empty()); + } + + #[test] + fn directives_inside_nested_expressions_reach_the_inner_expression() { + let source = + "fn f(a: i32, b: i32) -> i32 {\n choose(\n // #[gamma::skip(arith)]\n a + b,\n a - b,\n )\n}"; + let (count, total) = suppressed(source, "arith"); + + assert!(total > count); + assert_eq!(count, 2); + } + + #[test] + fn attributes_on_modules_and_use_items_are_collected() { + let parsed = file("#[gamma::skip(arith)]\nmod nested { pub fn f() -> i32 { 1 + 1 } }\n#[gamma::skip(arith)]\nuse nested::f;"); + let scopes = Scopes::of(&parsed); + let paths: Vec = scopes + .attributes + .iter() + .map(|(attribute, _)| { + attribute + .path() + .segments + .iter() + .map(|segment| segment.ident.to_string()) + .collect::>() + .join("::") + }) + .collect(); + + assert_eq!(paths.iter().filter(|path| path.as_str() == "gamma::skip").count(), 2); + } + /// An offset landing exactly on a span start selects that span, not the one after it. #[test] fn an_offset_on_a_span_start_selects_that_span() { diff --git a/crates/cargo-gamma-lib/src/testing.rs b/crates/cargo-gamma-lib/src/testing.rs index 1cb89eeaf..8c4a4be59 100644 --- a/crates/cargo-gamma-lib/src/testing.rs +++ b/crates/cargo-gamma-lib/src/testing.rs @@ -21,11 +21,12 @@ reason = "test scaffolding, not production code" )] -use core::cell::Cell; +use core::cell::{Cell, RefCell}; use core::fmt; use core::panic::AssertUnwindSafe; use core::sync::atomic::{AtomicUsize, Ordering}; use core::time::Duration; +use std::ffi::OsString; use std::io::{self, Write}; use std::path::Path; use std::process::Command; @@ -49,6 +50,103 @@ type Pauses = OnceLock>>; static CACHE_ADOPTION_PAUSES: Pauses = OnceLock::new(); static WORKSPACE_PREPARATION_PAUSES: Pauses = OnceLock::new(); +thread_local! { + /// The cache home owned by the integration-test workspace on this thread. + static CACHE_HOME: RefCell> = const { RefCell::new(None) }; +} + +/// The environment variable inherited by nested Cargo Gamma processes in tests. +pub(crate) const CACHE_HOME_VAR: &str = "CARGO_GAMMA_TEST_CACHE_HOME"; + +/// Runs the command-line entry point with its default cache inside the selected test workspace. +/// +/// Integration tests compile this library as a dependency, so `cfg(test)` does not reach its +/// production cache resolver. The unsupported `internals` feature exposes this wrapper instead: +/// it finds the same `--dir` the command will parse and establishes a thread-local cache home +/// before dispatch. No process-global environment is changed, so parallel tests remain sound. +pub fn run(host: &mut H, args: A) -> i32 +where + H: Host, + A: IntoIterator, + S: Into, +{ + let args: Vec = args.into_iter().map(Into::into).collect(); + let root = selected_root(&args); + + with_cache_home(&root, || crate::commands::run(host, args)) +} + +/// Returns the campaign-cache base an integration test gets for `root`. +pub fn gamma_base(root: &Utf8Path) -> Utf8PathBuf { + with_cache_home(root, || crate::exec::campaign_base(root, &root.join("target"), None)) +} + +/// Returns where a normal production process would keep target-resident campaign state for `root`. +/// +/// Tests use this only to prove that a fixture did not touch the user's platform cache. +pub fn production_gamma_base(root: &Utf8Path) -> Utf8PathBuf { + crate::exec::production_campaign_base(root, &root.join("target")) +} + +/// The active private cache home, when this process is executing test scaffolding. +pub(crate) fn cache_home(root: &Utf8Path) -> Option { + let active = CACHE_HOME.with(|home| home.borrow().clone()); + + active.or_else(|| cfg!(test).then(|| owned_cache_home(root))) +} + +/// Adds the private cache home to a child command without changing this process's environment. +pub(crate) fn inherit_cache_home(command: &mut Command, home: Option<&Utf8Path>) { + if let Some(home) = home { + let _ = command.env(CACHE_HOME_VAR, home.as_std_path()); + } +} + +fn selected_root(args: &[OsString]) -> Utf8PathBuf { + let command_args = &args[..args.iter().position(|argument| argument == "--").unwrap_or(args.len())]; + let split = command_args + .windows(2) + .find(|pair| pair[0] == "--dir" || pair[0] == "-d") + .and_then(|pair| Utf8PathBuf::from_path_buf(pair[1].clone().into()).ok()); + + split + .or_else(|| { + command_args.iter().find_map(|argument| { + let argument = argument.to_str()?; + let value = argument.strip_prefix("--dir=").or_else(|| argument.strip_prefix("-d="))?; + + Some(Utf8PathBuf::from(value)) + }) + }) + .unwrap_or_else(|| Utf8PathBuf::from(".")) +} + +pub(crate) fn with_cache_home(root: &Utf8Path, operation: impl FnOnce() -> T) -> T { + with_cache_home_at(owned_cache_home(root), operation) +} + +/// Runs one test operation with an exact, already-owned private cache home. +pub(crate) fn with_cache_home_at(home: Utf8PathBuf, operation: impl FnOnce() -> T) -> T { + struct Restore(Option); + + impl Drop for Restore { + fn drop(&mut self) { + CACHE_HOME.with(|home| { + let _current = home.replace(self.0.take()); + }); + } + } + + let previous = CACHE_HOME.with(|active| active.replace(Some(home))); + let _restore = Restore(previous); + + operation() +} + +fn owned_cache_home(root: &Utf8Path) -> Utf8PathBuf { + crate::exec::absolute_test_path(root).join("target/cargo-gamma-test-cache") +} + /// A deterministic pause at a registered command boundary. #[derive(Debug)] pub struct CommandPause { @@ -575,6 +673,7 @@ pub fn test_binary(path: &str) -> crate::exec::TestBinary { package_id: String::new(), target: String::new(), manifest_dir: Utf8PathBuf::new(), + linked_sources: None, baseline: Duration::ZERO, budget: None, tests: None, @@ -595,6 +694,12 @@ pub struct Recorder { /// How many mutants were announced. pub mutants: usize, + /// Number of workload entries and worker lanes announced for the sweep. + pub sweep_plan: Option<(usize, usize)>, + + /// Run-local ordinals announced as workers started them. + pub mutant_starts: Vec<(u32, core::time::Duration)>, + /// Every warning the run raised, in order. pub warnings: Vec, } @@ -611,6 +716,14 @@ impl crate::exec::Events for Recorder { fn mutant(&mut self, _mutant: &crate::model::Mutant) { self.mutants = self.mutants.saturating_add(1); } + + fn sweep_planned(&mut self, work: &[crate::estimate::MutationWork], jobs: usize) { + self.sweep_plan = Some((work.len(), jobs)); + } + + fn mutant_started(&mut self, ordinal: u32, elapsed: core::time::Duration) { + self.mutant_starts.push((ordinal, elapsed)); + } } /// Creates a temporary directory under the workspace target directory. @@ -920,6 +1033,31 @@ mod tests { assert_eq!(sink.env("OTHER"), None); } + #[test] + fn integration_dispatch_finds_every_supported_directory_spelling_and_defaults_safely() { + let split = [OsString::from("cargo-gamma"), OsString::from("--dir"), OsString::from("split")]; + let long_joined = [OsString::from("cargo-gamma"), OsString::from("--dir=long")]; + let short_joined = [OsString::from("cargo-gamma"), OsString::from("-d=short")]; + let forwarded_split = [ + OsString::from("cargo-gamma"), + OsString::from("--"), + OsString::from("--dir"), + OsString::from("forwarded"), + ]; + let forwarded_joined = [ + OsString::from("cargo-gamma"), + OsString::from("--"), + OsString::from("--dir=forwarded"), + ]; + + assert_eq!(selected_root(&split), "split"); + assert_eq!(selected_root(&long_joined), "long"); + assert_eq!(selected_root(&short_joined), "short"); + assert_eq!(selected_root(&forwarded_split), "."); + assert_eq!(selected_root(&forwarded_joined), "."); + assert_eq!(selected_root(&[OsString::from("cargo-gamma")]), "."); + } + /// Every stream of a broken host fails, on both write and flush. #[test] fn a_broken_host_fails_every_write_and_every_flush() { @@ -1116,6 +1254,7 @@ pub mod advise_fixture { package_id: format!("path+file:///w/{package}#0.0.0"), target: target.to_owned(), manifest_dir: Utf8PathBuf::from(format!("/w/{package}")), + linked_sources: None, baseline: Duration::from_secs(baseline), tests, budget: None, diff --git a/crates/cargo-gamma-lib/tests/cli.rs b/crates/cargo-gamma-lib/tests/cli.rs index a5c29a269..778e24a5d 100644 --- a/crates/cargo-gamma-lib/tests/cli.rs +++ b/crates/cargo-gamma-lib/tests/cli.rs @@ -6,11 +6,10 @@ //! End-to-end tests of the command-line surface, driven through a fake host. use std::fs; +use std::process::{Command, Stdio}; use camino::Utf8PathBuf; -use cargo_gamma_lib::internals::exec::gamma_base; -use cargo_gamma_lib::run; -use cargo_gamma_lib::testing::Sink; +use cargo_gamma_lib::testing::{Sink, gamma_base, run}; use tempfile::TempDir; /// Exit code for a run in which every gate passed. @@ -56,7 +55,7 @@ fn runtime_stub(root: &std::path::Path) { fn scratch_base(dir: &TempDir) -> Utf8PathBuf { let root = Utf8PathBuf::from_path_buf(dir.path().to_path_buf()).expect("path is not UTF-8"); - gamma_base(&root, None) + gamma_base(&root) } /// Reproduces the cache-owner marker validated by `exec::workspace`. @@ -379,6 +378,39 @@ fn a_run_reports_what_it_found() { assert!(host.out().contains("mutants in"), "{}", host.out()); } +#[test] +fn test_execution_optimization_is_explicit_and_conflicts_with_whole_binaries() { + let dir = workspace(SUBJECT); + let (code, host) = invoke(&dir, &["run", "--dry-run", "--optimize-test-execution"]); + + assert_eq!(code, EXIT_OK, "{}", host.err()); + + let (conflict_code, conflict) = invoke(&dir, &["run", "--dry-run", "--optimize-test-execution", "--whole-test-binaries"]); + + assert_eq!(conflict_code, EXIT_USAGE, "{}", conflict.err()); + assert!(conflict.err().contains("--optimize-test-execution"), "{}", conflict.err()); + assert!(conflict.err().contains("--whole-test-binaries"), "{}", conflict.err()); +} + +#[test] +fn a_default_measured_run_skips_and_reports_the_census() { + let dir = workspace(SUBJECT); + let (code, host) = invoke(&dir, &["run", "--jobs", "1"]); + + assert_eq!(code, EXIT_OK, "{}", host.err()); + + let diagnostics = + fs::read_to_string(dir.path().join("target/cargo-gamma/gamma-diagnostics.json")).expect("the measured run writes diagnostics"); + let diagnostics: serde_json::Value = serde_json::from_str(&diagnostics).expect("diagnostics are JSON"); + let phases = &diagnostics["phases"]; + + assert_eq!(phases["censusStatus"], "disabled", "{diagnostics}"); + assert!( + phases.get("census").is_none(), + "a disabled census must perform no measured work: {diagnostics}" + ); +} + #[test] fn clean_deletes_only_the_current_workspaces_cached_data() { let dir = workspace(SUBJECT); @@ -404,13 +436,28 @@ fn clean_deletes_only_the_current_workspaces_cached_data() { #[test] fn a_measured_run_journals_every_testing_verdict_in_the_cache_directory() { let dir = workspace(SUBJECT); + let root = Utf8PathBuf::from_path_buf(dir.path().to_path_buf()).expect("path is not UTF-8"); + let production = cargo_gamma_lib::testing::production_gamma_base(&root); + + assert!( + !production.exists(), + "the fixture started with a production-cache entry at `{production}`" + ); + let (code, host) = invoke(&dir, &["run", "--whole-test-binaries", "--jobs", "1"]); assert_eq!(code, EXIT_OK, "{}", host.err()); - let path = scratch_base(&dir).join("gamma-progress.log"); + let base = scratch_base(&dir); + let path = base.join("gamma-progress.log"); let text = fs::read_to_string(&path).unwrap_or_else(|cause| panic!("could not read `{path}`: {cause}")); + assert!(base.starts_with(&root), "the test cache escaped its workspace: `{base}`"); + assert!(base.join(".cargo-gamma-owner").exists(), "the private cache was not claimed"); + assert!( + !production.exists(), + "the run wrote into the user's production cache at `{production}`" + ); assert!(text.contains("killed"), "{text}"); assert!(text.contains("SURVIVED"), "{text}"); assert!(!text.contains('\x1b'), "the log contains terminal escapes: {text:?}"); @@ -670,12 +717,101 @@ fn population(dir: &TempDir) -> Vec<(String, String)> { .collect() } +#[test] +fn a_survivor_report_selects_only_its_genuine_survivor_identities() { + let dir = workspace(SUBJECT); + let prior = dir.path().join("prior-report.json"); + let prior_arg = prior.to_str().expect("the report path is UTF-8"); + let (listed, listing) = invoke(&dir, &["list", "mutants", "--json-report", prior_arg]); + + assert_eq!(listed, EXIT_OK, "{}", listing.err()); + + let mut report: serde_json::Value = + serde_json::from_str(&fs::read_to_string(&prior).expect("the population report exists")).expect("the population report is JSON"); + let survivor = report["files"] + .as_object() + .expect("the report has files") + .values() + .flat_map(|file| file["mutants"].as_array().expect("the file has mutants")) + .next() + .expect("the fixture yields mutants")["id"] + .as_str() + .expect("the mutant has an id") + .to_owned(); + + for mutant in report["files"] + .as_object_mut() + .expect("the report has files") + .values_mut() + .flat_map(|file| file["mutants"].as_array_mut().expect("the file has mutants")) + { + let status = if mutant["id"].as_str() == Some(survivor.as_str()) { + "Survived" + } else { + "Killed" + }; + + mutant["status"] = serde_json::Value::String(status.to_owned()); + } + + fs::write(&prior, serde_json::to_vec(&report).expect("the report serializes")).expect("the prior report is writable"); + + let (code, host) = invoke(&dir, &["run", "--dry-run", "--only-survivors-from", prior_arg]); + + assert_eq!(code, EXIT_OK, "{}", host.err()); + + let selected: serde_json::Value = serde_json::from_str( + &fs::read_to_string(dir.path().join("target/cargo-gamma/gamma-report.json")).expect("the dry-run report exists"), + ) + .expect("the dry-run report is JSON"); + let selected_ids = selected["files"] + .as_object() + .expect("the selected report has files") + .values() + .flat_map(|file| file["mutants"].as_array().expect("the selected file has mutants")) + .map(|mutant| mutant["id"].as_str().expect("the selected mutant has an id")) + .collect::>(); + + assert_eq!(selected_ids, [survivor]); +} + /// Writes a run record naming the first mutant unviable and the second one killed by a named test. /// /// Written as text rather than through the tool so that the on-disk shape of the record is pinned /// by something outside the code that produces it. A promotion that silently stopped reading a /// field would otherwise still pass every test it has. +fn commit_workspace(dir: &TempDir) { + let git = |arguments: &[&str]| { + Command::new("git") + .arg("-C") + .arg(dir.path()) + .args(arguments) + .stdin(Stdio::null()) + .stdout(Stdio::null()) + .stderr(Stdio::null()) + .status() + .expect("git should start") + }; + + assert!(git(&["init", "--quiet"]).success()); + assert!(git(&["add", "Cargo.toml", "src"]).success()); + assert!( + git(&[ + "-c", + "user.name=cargo-gamma", + "-c", + "user.email=cargo-gamma@example.invalid", + "commit", + "--quiet", + "-m", + "fixture", + ]) + .success() + ); +} + fn seed_record(dir: &TempDir, population: &[(String, String)]) { + commit_workspace(dir); let base = scratch_base(dir); fs::create_dir_all(&base).expect("could not create the scratch base"); @@ -726,16 +862,23 @@ fn promoting_hints_writes_only_what_cannot_move_a_score() { assert_eq!(code, EXIT_OK, "{}", host.err()); - let written = fs::read_to_string(dir.path().join("gamma-hints.json")).expect("the artifact should have been written"); - let hints: serde_json::Value = serde_json::from_str(&written).expect("the artifact is JSON"); + let written = fs::read_to_string(dir.path().join("gamma-hints.yaml")).expect("the artifact should have been written"); + let hints: yaml_serde::Value = yaml_serde::from_str(&written).expect("the artifact is YAML"); - assert_eq!(hints["version"], 1, "{written}"); + assert_eq!(hints["version"].as_u64(), Some(3), "{written}"); assert!( hints["tool"].as_str().is_some_and(|tool| tool.starts_with("cargo-gamma ")), "the artifact has to say what wrote it: {written}" ); + assert_eq!(hints["context"].as_mapping().expect("context").len(), 2, "{written}"); + assert_eq!(hints["context"]["repo_sha"].as_str().map(str::len), Some(40), "{written}"); + assert_eq!(hints["context"]["generated_on"].as_str().map(str::len), Some(10), "{written}"); - let entries = hints["mutants"].as_array().expect("the artifact lists mutants"); + let files = hints["files"].as_sequence().expect("the artifact groups source files"); + let entries = files + .iter() + .flat_map(|file| file["mutants"].as_sequence().expect("the file group lists mutants")) + .collect::>(); assert_eq!(entries.len(), 2, "one unviable mutant and one probe: {written}"); @@ -744,7 +887,13 @@ fn promoting_hints_writes_only_what_cannot_move_a_score() { "the build-order tier is missing: {written}" ); assert!( - entries.iter().any(|entry| entry["killer"]["test"] == "tests::ranges_work"), + files.iter().any(|file| { + file["killers"] + .as_sequence() + .expect("the file group interns killers") + .iter() + .any(|killer| killer["test"] == "tests::ranges_work") + }), "the probe tier is missing: {written}" ); @@ -766,7 +915,7 @@ fn previewing_a_promotion_writes_no_file() { assert_eq!(code, EXIT_OK, "{}", host.err()); assert!(host.err().contains("would carry"), "{}", host.err()); assert!( - !dir.path().join("gamma-hints.json").exists(), + !dir.path().join("gamma-hints.yaml").exists(), "a preview must not write the artifact" ); } @@ -787,16 +936,37 @@ fn regenerating_an_unchanged_artifact_changes_no_bytes() { assert_eq!(first_code, EXIT_OK, "{}", first_host.err()); - let first = fs::read_to_string(dir.path().join("gamma-hints.json")).expect("the artifact exists"); + let first = fs::read_to_string(dir.path().join("gamma-hints.yaml")).expect("the artifact exists"); let (second_code, host) = invoke(&dir, &["hints"]); - let second = fs::read_to_string(dir.path().join("gamma-hints.json")).expect("the artifact still exists"); + let second = fs::read_to_string(dir.path().join("gamma-hints.yaml")).expect("the artifact still exists"); assert_eq!(second_code, EXIT_OK, "{}", host.err()); assert_eq!(first, second, "the artifact is not byte-stable across regeneration"); assert!(host.err().contains("Unchanged"), "{}", host.err()); } +#[test] +fn no_op_promotion_preserves_a_current_artifact_without_generalized_hints() { + let dir = workspace(SUBJECT); + let artifact = concat!( + "version: 3\n", + "tool: cargo-gamma older\n", + "context:\n", + " repo_sha: old\n", + " generated_on: '2026-09-16'\n", + "files: []\n", + ); + let path = dir.path().join("gamma-hints.yaml"); + fs::write(&path, artifact).expect("current hints are writable"); + + let (code, host) = invoke(&dir, &["hints"]); + + assert_eq!(code, EXIT_OK, "{}", host.err()); + assert_eq!(fs::read_to_string(path).expect("current hints remain readable"), artifact); + assert!(host.err().contains("Unchanged"), "{}", host.err()); +} + /// A record that learned nothing promotes nothing, and says so rather than writing an empty file. #[test] fn promoting_without_a_record_writes_nothing_and_explains_why() { @@ -805,56 +975,126 @@ fn promoting_without_a_record_writes_nothing_and_explains_why() { assert_eq!(code, EXIT_OK, "{}", host.err()); assert!(host.err().contains("nothing to promote"), "{}", host.err()); + assert!(!dir.path().join("gamma-hints.yaml").exists()); +} + +/// An empty legacy generation still needs migration even when the latest run learned nothing. +#[test] +fn promoting_empty_legacy_hints_writes_yaml_and_removes_json() { + let dir = workspace(SUBJECT); + commit_workspace(&dir); + let legacy = serde_json::json!({ + "version": 1, + "tool": "cargo-gamma legacy", + "context": { + "features": "f", + "profile": "p", + "rustflags": "r", + "extra": "e", + "toolchain": "t", + "tool": "v", + }, + "mutants": [], + }); + fs::write( + dir.path().join("gamma-hints.json"), + serde_json::to_vec(&legacy).expect("legacy hints serialize"), + ) + .expect("legacy hints are writable"); + + let (code, host) = invoke(&dir, &["hints"]); + + assert_eq!(code, EXIT_OK, "{}", host.err()); + assert!(host.err().contains("Wrote"), "{}", host.err()); + assert!(dir.path().join("gamma-hints.yaml").exists()); assert!(!dir.path().join("gamma-hints.json").exists()); } -/// A record naming mutants that no longer exist promotes none of them. -/// -/// Without the join against the current population the file grows without bound and fills its diff -/// with ids nobody can locate, which is the failure mode that makes generated files unreviewable. +/// Explicit replacement writes a valid empty generation instead of retaining unknown bytes. +#[test] +fn replacing_an_unknown_artifact_without_new_hints_still_writes() { + let dir = workspace(SUBJECT); + commit_workspace(&dir); + fs::write(dir.path().join("gamma-hints.yaml"), "unknown: artifact\n").expect("unknown hints are writable"); + + let (code, host) = invoke(&dir, &["hints", "--replace"]); + let written = fs::read_to_string(dir.path().join("gamma-hints.yaml")).expect("replacement hints exist"); + let hints: yaml_serde::Value = yaml_serde::from_str(&written).expect("replacement hints are YAML"); + + assert_eq!(code, EXIT_OK, "{}", host.err()); + assert!(host.err().contains("Wrote"), "{}", host.err()); + assert_eq!(hints["version"].as_u64(), Some(3), "{written}"); + assert!(hints["files"].as_sequence().expect("file groups").is_empty(), "{written}"); +} + +/// A partial selection preserves absences, while a complete replacement deliberately retires them. #[test] -fn promotion_drops_hints_for_mutants_that_no_longer_exist() { +fn incremental_promotion_preserves_unproven_stale_hints_until_replacement() { let dir = workspace(SUBJECT); let population = population(&dir); seed_record(&dir, &population); + let (first_code, first_host) = invoke(&dir, &["hints"]); + + assert_eq!(first_code, EXIT_OK, "{}", first_host.err()); + let before = fs::read_to_string(dir.path().join("gamma-hints.yaml")).expect("the first generation"); // The mutants keep their identities only as long as the code they name does. Rewriting the - // library retires every one of them. + // library retires every one of them, but the default mutator preset is not complete enough to + // prove that every absent id belongs to its selection. fs::write(dir.path().join("src/lib.rs"), "pub fn unrelated() -> u8 { 7 }\n").expect("could not rewrite the library"); let (code, host) = invoke(&dir, &["hints"]); + let preserved = fs::read_to_string(dir.path().join("gamma-hints.yaml")).expect("the preserved generation"); assert_eq!(code, EXIT_OK, "{}", host.err()); - assert!(host.err().contains("nothing to promote"), "{}", host.err()); + assert_eq!(preserved, before); + assert!(host.err().contains("preserved"), "{}", host.err()); + + let (replacement_code, replacement) = invoke(&dir, &["hints", "--replace"]); + let replaced = fs::read_to_string(dir.path().join("gamma-hints.yaml")).expect("the replacement generation"); + let yaml: yaml_serde::Value = yaml_serde::from_str(&replaced).expect("replacement YAML"); + + assert_eq!(replacement_code, EXIT_OK, "{}", replacement.err()); + assert!(yaml["files"].as_sequence().expect("file groups").is_empty(), "{replaced}"); + assert!(replacement.err().contains("removed"), "{}", replacement.err()); } -/// A corrupt or foreign artifact is treated exactly as a missing one. +/// A corrupt artifact is ignored by automatic consumers but protected from incremental promotion. /// /// The file lives in version control, so it will be merged badly, truncated by a failed checkout, /// and written by a version that does not exist yet. A run that failed over any of that would have -/// turned an optimization into a dependency. +/// turned an optimization into a dependency. Promotion is explicit, so it must refuse to discard +/// unknown knowledge unless replacement was requested. #[test] -fn a_corrupt_artifact_costs_time_and_never_signal() { +fn a_corrupt_artifact_costs_runs_only_and_requires_explicit_replacement() { let dir = workspace(SUBJECT); - fs::write(dir.path().join("gamma-hints.json"), "{ not json at all").expect("could not write the artifact"); + fs::write(dir.path().join("gamma-hints.yaml"), "{ not yaml at all").expect("could not write the artifact"); let (code, host) = invoke(&dir, &["list", "mutants"]); assert_eq!(code, EXIT_OK, "{}", host.err()); assert!(host.out().contains("relational.lt_to_le"), "{}", host.out()); - // A promotion over a corrupt file replaces it rather than refusing to run. let population = population(&dir); seed_record(&dir, &population); let (promoted, promotion) = invoke(&dir, &["hints"]); - assert_eq!(promoted, EXIT_OK, "{}", promotion.err()); + assert_ne!(promoted, EXIT_OK, "incremental promotion replaced unknown knowledge"); + assert!(promotion.err().contains("use `--replace`"), "{}", promotion.err()); + assert_eq!( + fs::read_to_string(dir.path().join("gamma-hints.yaml")).expect("the corrupt artifact remains"), + "{ not yaml at all" + ); + + let (replaced, replacement) = invoke(&dir, &["hints", "--replace"]); + + assert_eq!(replaced, EXIT_OK, "{}", replacement.err()); - let written = fs::read_to_string(dir.path().join("gamma-hints.json")).expect("the artifact was rewritten"); + let written = fs::read_to_string(dir.path().join("gamma-hints.yaml")).expect("the artifact was rewritten"); - assert!(serde_json::from_str::(&written).is_ok(), "{written}"); + assert!(yaml_serde::from_str::(&written).is_ok(), "{written}"); } diff --git a/crates/cargo-gamma-lib/tests/gate.rs b/crates/cargo-gamma-lib/tests/gate.rs index 423b0c892..f4b34786e 100644 --- a/crates/cargo-gamma-lib/tests/gate.rs +++ b/crates/cargo-gamma-lib/tests/gate.rs @@ -14,8 +14,7 @@ //! them, so a single JSON file is enough to drive each outcome. use camino::Utf8PathBuf; -use cargo_gamma_lib::run; -use cargo_gamma_lib::testing::Sink; +use cargo_gamma_lib::testing::{Sink, run}; const EXIT_OK: i32 = 0; const EXIT_GATE_FAILED: i32 = 2; diff --git a/crates/cargo-gamma-lib/tests/regressions.rs b/crates/cargo-gamma-lib/tests/regressions.rs index e85d09d67..d7f39334e 100644 --- a/crates/cargo-gamma-lib/tests/regressions.rs +++ b/crates/cargo-gamma-lib/tests/regressions.rs @@ -140,7 +140,7 @@ fn cli(args: &[&str]) -> (i32, String) { command.extend(args.iter().map(|arg| (*arg).to_owned())); - let code = cargo_gamma_lib::run(&mut host, command); + let code = cargo_gamma_lib::testing::run(&mut host, command); (code, format!("{}{}", host.out(), host.err())) } @@ -215,7 +215,7 @@ fn issue_005_the_worst_case_pays_for_confirming_every_timeout() { budget, ..estimate::Workload::default() }; - let estimate = estimate::project(&[], work, Duration::ZERO, Duration::ZERO, 1); + let estimate = estimate::project(&[], work, Duration::ZERO, Duration::ZERO, 1, true); assert!( estimate.worst_case() >= budget.saturating_mul(2), @@ -233,7 +233,7 @@ fn issue_005_the_projected_range_never_reaches_past_the_ceiling() { budget: Duration::from_secs(1), single: Duration::from_secs(1), }; - let estimate = estimate::project(&[], work, Duration::ZERO, Duration::ZERO, 1); + let estimate = estimate::project(&[], work, Duration::ZERO, Duration::ZERO, 1, true); assert!(estimate.high() <= estimate.worst_case()); } diff --git a/crates/cargo-gamma-lib/tests/session.rs b/crates/cargo-gamma-lib/tests/session.rs index bd1275dbd..3514e6c7b 100644 --- a/crates/cargo-gamma-lib/tests/session.rs +++ b/crates/cargo-gamma-lib/tests/session.rs @@ -10,13 +10,12 @@ //! they are slower than the rest of the suite, but they are the only coverage that proves the //! encoding in `schema.rs` actually compiles and that a verdict means what it claims. +use std::process::Command; use std::sync::Arc; use std::{fs, thread}; use camino::Utf8PathBuf; -use cargo_gamma_lib::internals::exec::gamma_base; -use cargo_gamma_lib::run; -use cargo_gamma_lib::testing::Sink; +use cargo_gamma_lib::testing::{Sink, gamma_base, run}; use tempfile::TempDir; /// Exit code for a run in which every gate passed. @@ -28,7 +27,7 @@ const EXIT_USAGE: i32 = 1; fn scratch_base(dir: &TempDir) -> Utf8PathBuf { let root = Utf8PathBuf::from_path_buf(dir.path().to_path_buf()).expect("path is not UTF-8"); - gamma_base(&root, None) + gamma_base(&root) } /// A subject whose comparison is asserted exactly and whose side effect is not. @@ -92,6 +91,103 @@ mod tests { } "; +const ENVIRONMENT_TEST: &str = r#" +#[test] +fn cargo_runtime_environment_is_present() { + let required = [ + "CARGO", + "CARGO_HOME", + "CARGO_MANIFEST_DIR", + "CARGO_MANIFEST_PATH", + "CARGO_PKG_NAME", + "CARGO_PKG_VERSION", + "CARGO_PKG_VERSION_MAJOR", + "CARGO_PKG_VERSION_MINOR", + "CARGO_PKG_VERSION_PATCH", + "CARGO_PKG_VERSION_PRE", + "CARGO_PKG_AUTHORS", + "CARGO_PKG_DESCRIPTION", + "CARGO_PKG_HOMEPAGE", + "CARGO_PKG_REPOSITORY", + "CARGO_PKG_LICENSE", + "CARGO_PKG_LICENSE_FILE", + "CARGO_PKG_README", + "CARGO_PKG_RUST_VERSION", + "CARGO_BIN_EXE_subject-cli", + "OUT_DIR", + "RUSTUP_HOME", + "RUSTUP_TOOLCHAIN", + "RUSTUP_TOOLCHAIN_SOURCE", + "RUST_RECURSION_COUNT", + "SUBJECT_BUILD_VALUE", + ]; + for name in required { + assert!(std::env::var_os(name).is_some(), "{name} was not set"); + } + + assert_eq!(std::env::var("CARGO_PKG_NAME").unwrap(), "subject"); + assert_eq!(std::env::var("CARGO_PKG_VERSION").unwrap(), "1.2.3-alpha.1"); + assert_eq!(std::env::var("CARGO_PKG_VERSION_PRE").unwrap(), "alpha.1"); + assert_eq!(std::env::var("CARGO_PKG_AUTHORS").unwrap(), "One:Two"); + let rust_version = std::env::var("CARGO_PKG_RUST_VERSION").unwrap(); + if std::env::var_os("NEXTEST").is_some() { + // Nextest parses Cargo metadata through semver and exports the normalized spelling. + assert_eq!(rust_version, "1.90.0"); + } else { + assert_eq!(rust_version, "1.90"); + } + assert_eq!(std::env::var("SUBJECT_BUILD_VALUE").unwrap(), "ready"); + + let manifest = std::path::PathBuf::from(std::env::var_os("CARGO_MANIFEST_PATH").unwrap()); + assert!(manifest.is_file(), "manifest does not exist: {}", manifest.display()); + assert_eq!(manifest.parent(), Some(std::env::current_dir().unwrap().as_path())); + let cargo_binary = std::path::PathBuf::from(std::env::var_os("CARGO_BIN_EXE_subject-cli").unwrap()); + assert!(cargo_binary.is_file()); + assert!(std::path::Path::new(&std::env::var_os("OUT_DIR").unwrap()).is_dir()); + assert!(std::path::Path::new(&std::env::var_os("CARGO").unwrap()).is_file()); + assert!(std::path::Path::new(&std::env::var_os("CARGO_HOME").unwrap()).is_dir()); + assert!(std::path::Path::new(&std::env::var_os("RUSTUP_HOME").unwrap()).is_dir()); + + let profile = cargo_binary + .parent() + .expect("Cargo places a binary target inside its profile directory"); + let dependencies = profile.join("deps"); + #[cfg(windows)] + { + let search = std::env::split_paths(&std::env::var_os("PATH").unwrap()).collect::>(); + assert!(search.iter().any(|path| path == &dependencies), "{dependencies:?} not in {search:?}"); + assert!(search.iter().any(|path| path == profile), "{profile:?} not in {search:?}"); + } + #[cfg(not(windows))] + { + #[cfg(target_os = "macos")] + let loader = "DYLD_FALLBACK_LIBRARY_PATH"; + #[cfg(not(target_os = "macos"))] + let loader = "LD_LIBRARY_PATH"; + let search = std::env::split_paths(&std::env::var_os(loader).unwrap()).collect::>(); + assert!(search.iter().any(|path| path == &dependencies), "{dependencies:?} not in {search:?}"); + assert!(search.iter().any(|path| path == profile), "{profile:?} not in {search:?}"); + } + + if std::env::var_os("NEXTEST").is_some() { + for name in [ + "NEXTEST_ATTEMPT", + "NEXTEST_ATTEMPT_ID", + "NEXTEST_BINARY_ID", + "NEXTEST_EXECUTION_MODE", + "NEXTEST_PROFILE", + "NEXTEST_RUN_ID", + "NEXTEST_TEST_NAME", + "NEXTEST_TEST_THREADS", + "NEXTEST_VERSION", + "NEXTEST_WORKSPACE_ROOT", + ] { + assert!(std::env::var_os(name).is_some(), "{name} was not set"); + } + } +} +"#; + /// Builds a throwaway crate containing `source`. fn workspace(source: &str) -> TempDir { let dir = TempDir::new().expect("could not create a temporary directory"); @@ -109,6 +205,139 @@ fn workspace(source: &str) -> TempDir { dir } +/// Builds two workspace test targets, only one of which links the mutated package. +fn compiler_linkage_workspace() -> TempDir { + let dir = TempDir::new().expect("could not create a temporary directory"); + let root = dir.path(); + + fs::write( + root.join("Cargo.toml"), + "[workspace]\nmembers = [\"subject\", \"oracle\", \"independent\"]\nresolver = \"2\"\n", + ) + .expect("could not write the workspace manifest"); + + fs::create_dir_all(root.join("subject/src")).expect("could not create subject sources"); + fs::write( + root.join("subject/Cargo.toml"), + "[package]\nname = \"subject\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n[lib]\ntest = false\n\n[dependencies]\n", + ) + .expect("could not write the subject manifest"); + fs::write( + root.join("subject/src/lib.rs"), + "pub fn is_adult(age: u32) -> bool {\n age >= 18\n}\n", + ) + .expect("could not write the mutated source"); + + fs::create_dir_all(root.join("oracle/src")).expect("could not create oracle sources"); + fs::create_dir_all(root.join("oracle/tests")).expect("could not create oracle tests"); + fs::write( + root.join("oracle/Cargo.toml"), + "[package]\nname = \"oracle\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n\ + [lib]\ntest = false\n\n[dependencies]\nsubject = { path = \"../subject\" }\n", + ) + .expect("could not write the oracle manifest"); + fs::write(root.join("oracle/src/lib.rs"), "").expect("could not write the oracle library"); + fs::write( + root.join("oracle/tests/linked.rs"), + r" +#[test] +fn reaches_the_subject_without_convicting_it() { + let _unasserted = subject::is_adult(18); +} +", + ) + .expect("could not write the linked target"); + + fs::create_dir_all(root.join("independent/src")).expect("could not create independent sources"); + fs::create_dir_all(root.join("independent/tests")).expect("could not create independent tests"); + fs::write( + root.join("independent/Cargo.toml"), + "[package]\nname = \"independent\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n\ + [lib]\ntest = false\n\n[dependencies]\n", + ) + .expect("could not write the independent manifest"); + fs::write(root.join("independent/src/lib.rs"), "").expect("could not write the independent library"); + fs::write( + root.join("independent/tests/independent.rs"), + r#" +#[test] +fn objects_to_mutants_it_cannot_link() { + assert!(std::env::var_os("GAMMA_ACTIVE").is_none(), "an unrelated mutant was active"); +} +"#, + ) + .expect("could not write the independent target"); + + dir +} + +fn commit_fixture(dir: &TempDir) { + let git = |arguments: &[&str]| { + Command::new("git") + .arg("-C") + .arg(dir.path()) + .args(arguments) + .status() + .expect("git should start") + }; + + assert!(git(&["init", "--quiet"]).success()); + assert!(git(&["add", "."]).success()); + assert!( + git(&[ + "-c", + "user.name=cargo-gamma", + "-c", + "user.email=cargo-gamma@example.invalid", + "commit", + "--quiet", + "-m", + "fixture", + ]) + .success() + ); +} + +/// Builds a crate whose integration test observes Cargo's complete runtime contract. +fn environment_workspace() -> TempDir { + let dir = TempDir::new().expect("could not create a temporary directory"); + let root = dir.path(); + + fs::write( + root.join("Cargo.toml"), + "[package]\n\ + name = \"subject\"\n\ + version = \"1.2.3-alpha.1\"\n\ + edition = \"2021\"\n\ + rust-version = \"1.90\"\n\ + authors = [\"One\", \"Two\"]\n\ + description = \"description\"\n\ + homepage = \"https://example.invalid\"\n\ + repository = \"https://example.invalid/repository\"\n\ + license = \"MIT\"\n\ + license-file = \"LICENSE\"\n\ + readme = \"README.md\"\n\n\ + [dependencies]\n", + ) + .expect("could not write the manifest"); + fs::write(root.join("LICENSE"), "fixture license").expect("could not write the license"); + fs::write(root.join("README.md"), "fixture readme").expect("could not write the readme"); + fs::write( + root.join("build.rs"), + "fn main() { println!(\"cargo::rustc-env=SUBJECT_BUILD_VALUE=ready\"); }\n", + ) + .expect("could not write the build script"); + + fs::create_dir_all(root.join("src/bin")).expect("could not create src/bin"); + fs::write(root.join("src/lib.rs"), SUBJECT).expect("could not write the library"); + fs::write(root.join("src/bin/subject-cli.rs"), "fn main() {}\n").expect("could not write the binary"); + + fs::create_dir_all(root.join("tests")).expect("could not create tests"); + fs::write(root.join("tests/environment.rs"), ENVIRONMENT_TEST).expect("could not write the integration test"); + + dir +} + /// Builds a custom test harness whose nextest enumeration fails after mutation starts. fn enumeration_failure(persistent: bool) -> TempDir { let dir = workspace( @@ -297,12 +526,14 @@ fn session(dir: &TempDir, args: &[&str]) -> (i32, String) { (code, format!("{out}{err}")) } -/// Runs a session under the default case-level reachability policy. +/// Runs a session with the experimental case-level reachability optimization enabled. /// /// Kept separate because most tests in this file exercise unrelated behavior and run concurrently; /// making all fifty of them census at once creates a process storm no real invocation produces. fn censused_session(dir: &TempDir, args: &[&str]) -> (i32, String) { - let (code, out, err) = session_on_with(Sink::default(), dir, args, false); + let mut args = args.to_vec(); + args.push("--optimize-test-execution"); + let (code, out, err) = session_on_with(Sink::default(), dir, &args, false); (code, format!("{out}{err}")) } @@ -334,6 +565,23 @@ fn session_on_with(mut host: Sink, dir: &TempDir, args: &[&str], whole_test_bina (code, host.out(), host.err()) } +fn promote_hints(dir: &TempDir) -> (i32, String) { + let path = Utf8PathBuf::from_path_buf(dir.path().to_path_buf()).expect("path is not UTF-8"); + let mut host = Sink::default(); + let code = run( + &mut host, + vec![ + "cargo-gamma".to_owned(), + "gamma".to_owned(), + "hints".to_owned(), + "--dir".to_owned(), + path.to_string(), + ], + ); + + (code, format!("{}{}", host.out(), host.err())) +} + #[test] fn an_asserted_boundary_catches_its_mutant() { step_aside_if_nested!(); @@ -375,6 +623,75 @@ fn a_second_run_reestablishes_the_first_runs_kills() { assert!(!output.contains("Iterating"), "a kill must never be carried: {output}"); } +#[test] +fn promoted_generalized_hints_cross_a_clean_campaign_boundary() { + step_aside_if_nested!(); + let first_source = " +pub fn is_adult(age: u32) -> bool { + age >= 18 +} + +#[cfg(test)] +mod tests { + #[test] + fn the_boundary_is_pinned() { + assert!(!super::is_adult(17)); + assert!(super::is_adult(18)); + } +} +"; + let second_source = first_source.replace("age >= 18", "age > 17"); + let dir = workspace(first_source); + commit_fixture(&dir); + + let (first, first_output) = session(&dir, &["--mutators", "relational"]); + assert_eq!(first, EXIT_OK, "{first_output}"); + assert!(first_output.contains("0 survived,"), "{first_output}"); + + let (promoted, promotion_output) = promote_hints(&dir); + assert_eq!(promoted, EXIT_OK, "{promotion_output}"); + let artifact = fs::read_to_string(dir.path().join("gamma-hints.yaml")).expect("promoted hints"); + assert!(artifact.contains("items:"), "{artifact}"); + assert!(artifact.contains("the_boundary_is_pinned"), "{artifact}"); + + fs::remove_dir_all(scratch_base(&dir)).expect("the second campaign should not see the first run record"); + fs::write(dir.path().join("src/lib.rs"), second_source).expect("could not change the mutant identity"); + + let (second, out, err) = session_on_with(Sink::default(), &dir, &["--mutators", "relational", "--diag"], false); + let second_output = format!("{out}{err}"); + + assert_eq!(second, EXIT_OK, "{second_output}"); + assert!(second_output.contains("0 survived,"), "{second_output}"); + assert!(second_output.contains("generalized 2/2"), "{second_output}"); + assert!(second_output.contains("2 probes"), "{second_output}"); +} + +#[test] +fn compiler_linkage_narrows_a_real_campaign_to_the_target_that_reads_the_source() { + step_aside_if_nested!(); + let dir = compiler_linkage_workspace(); + let (code, output) = session( + &dir, + &[ + "--mutators", + "relational", + "--file", + "subject/src/lib.rs", + "--test-workspace", + "--diag", + "--incremental", + "no", + ], + ); + + assert_eq!(code, EXIT_OK, "{output}"); + assert!(output.contains("2 survived,"), "{output}"); + assert!(output.contains("selection kept"), "{output}"); + assert!(output.contains("tests 2 tests"), "{output}"); + assert!(output.contains("2 launches"), "{output}"); + assert!(!output.contains("objects_to_mutants_it_cannot_link"), "{output}"); +} + fn incremental_args(cache: Option<&str>) -> Vec<&str> { let mut args = vec!["--mutators", "relational", "--incremental", "build"]; @@ -487,16 +804,86 @@ fn a_suppressed_mutant_is_never_run() { #[test] fn a_red_baseline_is_reported_rather_than_measured() { step_aside_if_nested!(); - let source = format!("{SUBJECT}\n#[test]\nfn always_fails() {{ panic!(\"nope\"); }}\n"); + let source = format!( + "{SUBJECT}\n\ + pub fn lookup() -> Option<&'static dyn core::fmt::Debug> {{ None }}\n\ + #[test]\nfn always_fails() {{ panic!(\"nope\"); }}\n" + ); let dir = workspace(&source); - let (code, output) = session(&dir, &["--mutators", "relational"]); + let stale = dir.path().join("target/cargo-gamma/baseline-failures/stale/failure.json"); + fs::create_dir_all(stale.parent().expect("stale failure has a parent")).expect("stale directory"); + fs::write(&stale, "{}").expect("stale failure"); + let (code, output) = session(&dir, &["--mutators", "relational,fn_value.some_default"]); assert_ne!(code, EXIT_OK, "{output}"); - assert!(output.contains("the baseline could not be measured"), "{output}"); - assert!(output.contains("test `always_fails` failed"), "{output}"); - assert!(output.contains("baseline-failure.json"), "{output}"); + assert!(output.contains("baseline measurement failed due to 1 test failures"), "{output}"); + assert!(output.contains("baseline-failures for details"), "{output}"); + assert!(!output.contains("test `always_fails` failed"), "{output}"); + assert_eq!(output.matches("Wrote ").count(), 3, "{output}"); assert!(output.contains("gamma-diagnostics.json"), "{output}"); + assert!(output.contains("failure.json"), "{output}"); + assert!(output.contains("diags.json"), "{output}"); assert!(!output.contains("nope"), "{output}"); + + let failure_dir = dir + .path() + .join("target/cargo-gamma/baseline-failures/subject/subject/tests/always_fails"); + let failure = fs::read_to_string(failure_dir.join("failure.json")).expect("failure record"); + let diagnostics = fs::read_to_string(failure_dir.join("diags.json")).expect("diagnostics"); + let canonical = fs::read_to_string(dir.path().join("target/cargo-gamma/gamma-diagnostics.json")).expect("canonical diagnostics"); + let parsed: serde_json::Value = serde_json::from_str(&canonical).expect("valid diagnostics"); + let failure_diagnostics: serde_json::Value = serde_json::from_str(&diagnostics).expect("valid failure diagnostics"); + + assert!(!stale.exists(), "the new build retained an old failure record"); + assert!(failure.contains("nope"), "{failure}"); + assert!(diagnostics.contains("\"schemaVersion\": \"3\""), "{diagnostics}"); + for document in [&parsed, &failure_diagnostics] { + assert!( + document["population"]["mutants"].as_u64().is_some_and(|count| count > 1), + "{document}" + ); + assert!( + document["outcomes"]["unviable"].as_u64().is_some_and(|count| count >= 1), + "{document}" + ); + assert!( + document["outcomes"]["pending"].as_u64().is_some_and(|count| count >= 1), + "{document}" + ); + assert!(document["run"]["fixedMs"].as_u64().is_some_and(|elapsed| elapsed > 0), "{document}"); + assert!(!document["binaries"].as_array().is_none_or(Vec::is_empty), "{document}"); + } +} + +#[test] +fn direct_test_launches_reproduce_cargos_runtime_environment() { + step_aside_if_nested!(); + let dir = environment_workspace(); + let (code, output) = session(&dir, &["--mutators", "relational"]); + let failure = fs::read_to_string( + dir.path() + .join("target/cargo-gamma/baseline-failures/subject/environment/tests/cargo_runtime_environment_is_present/failure.json"), + ) + .unwrap_or_default(); + + assert_eq!(code, EXIT_OK, "{output}\n{failure}"); + assert!(!output.contains("baseline measurement failed"), "{output}"); +} + +#[test] +fn nextest_launches_reproduce_cargos_and_nextests_runtime_environment() { + step_aside_if_nested!(); + step_aside_without_nextest!(); + let dir = environment_workspace(); + let (code, output) = session(&dir, &["--mutators", "relational", "--nextest"]); + let failure = fs::read_to_string( + dir.path() + .join("target/cargo-gamma/baseline-failures/subject/environment/tests/cargo_runtime_environment_is_present/failure.json"), + ) + .unwrap_or_default(); + + assert_eq!(code, EXIT_OK, "{output}\n{failure}"); + assert!(!output.contains("baseline measurement failed"), "{output}"); } #[test] diff --git a/crates/cargo-gamma-process/src/process_tree.rs b/crates/cargo-gamma-process/src/process_tree.rs index c8f5d8c24..e3a41d310 100644 --- a/crates/cargo-gamma-process/src/process_tree.rs +++ b/crates/cargo-gamma-process/src/process_tree.rs @@ -66,6 +66,7 @@ pub const fn capacity() -> usize { reason = "the cross-platform API reports containment errors, although Windows job objects need no fallible setup" ) )] +// #[gamma::skip(fn_value.ok, reason = "Windows containment already returns Ok and the unsupported-platform error branch cannot be compiled and exercised on that target")] pub fn containment() -> Result<(), PlatformError> { #[cfg(target_os = "linux")] { @@ -468,8 +469,7 @@ pub fn output(mut command: Command, request: MemoryRequest) -> Result Result io::Result { - let stdout = output_reader(self.take_stdout(), "cargo-gamma-process-stdout")?; - let stderr = match output_reader(self.take_stderr(), "cargo-gamma-process-stderr") { + let stdout = output_reader(self.take_stdout(), STDOUT_READER_THREAD)?; + let stderr = match output_reader(self.take_stderr(), STDERR_READER_THREAD) { Ok(stderr) => stderr, Err(cause) => { if let Err(cleanup) = self.terminate() { discard_output_reader(stdout.as_ref()); return Err(cleanup); } - let _stdout = join_output_reader(stdout, "stdout")?; + let _stdout = join_output_reader(stdout, STDOUT_STREAM)?; return Err(cause); } @@ -991,8 +994,8 @@ impl ProcessTree { // Both joins are attempted before either result is returned. If one reader failed, the // other must still be allowed to finish rather than being detached from this lifecycle. - let stdout = join_output_reader(stdout, "stdout"); - let stderr = join_output_reader(stderr, "stderr"); + let stdout = join_output_reader(stdout, STDOUT_STREAM); + let stderr = join_output_reader(stderr, STDERR_STREAM); Ok(Output { status: status?, @@ -1084,6 +1087,7 @@ impl ProcessTree { reason = "only the Unix watch list has a slot to hand back, and the signature is shared" ) )] + // #[gamma::skip(fn_value.unit, reason = "the shared method is necessarily empty on non-Unix targets; Unix tests assert that it removes the exact watched slot")] fn release(&mut self) { #[cfg(unix)] if let Some((slot, group)) = self.slot.take().zip(self.group) { @@ -1134,6 +1138,7 @@ impl ProcessTree { /// the leader, so its pid and process-group id may already belong to somebody else. Every /// capability naming either of them is revoked before this returns, and every later lifecycle /// call on this subtree then reports an already-reaped leader rather than signalling a stranger. + // #[gamma::skip(fn_value.ok, reason = "returning without observing and cleaning the process tree leaves descendants running and their output readers blocked")] pub fn observe(&mut self) -> io::Result> { let mut child = self .child @@ -1212,7 +1217,6 @@ impl ProcessTree { // Windows jobs retain object handles rather than numeric process identifiers, and // platforms without groups have no identifier that a sweep could reuse. let swept = self.sweep(); - self.release(); if let Err(cause) = swept { self.output_cleanup_unproven = true; @@ -1280,6 +1284,7 @@ impl ProcessTree { .ok_or_else(|| io::Error::other("the subtree leader was already reaped"))?; let killed = self.kill(&mut child); + // #[gamma::skip(stmt.delete_call, reason = "release has no effect on non-Unix mutation hosts; Unix tests assert termination frees the watched slot before reaping")] self.release(); let reaped = child.wait()?; @@ -1343,6 +1348,11 @@ struct OutputReader { retaining: Arc, } +const STDOUT_READER_THREAD: &str = "cargo-gamma-process-stdout"; +const STDERR_READER_THREAD: &str = "cargo-gamma-process-stderr"; +const STDOUT_STREAM: &str = "stdout"; +const STDERR_STREAM: &str = "stderr"; + fn output_reader(pipe: Option, name: &'static str) -> io::Result> where R: io::Read + Send + 'static, @@ -1353,14 +1363,19 @@ where let captured = Arc::clone(&bytes); let capture_enabled = Arc::clone(&retaining); let thread = thread::Builder::new().name(name.to_owned()).spawn(move || { + // The initialization value is not observed: `Read` initializes the reported prefix, + // and the unreported suffix is never copied into the capture. + // #[gamma::skip(literal.int_increment, reason = "the reader overwrites every byte in the reported prefix and the untouched suffix is never observed")] let mut chunk = [0_u8; 8192]; loop { let read = match pipe.read(&mut chunk) { Ok(read) => read, + // #[gamma::skip(all, reason = "retrying every read error spins forever instead of terminating the output reader")] Err(cause) if cause.kind() == io::ErrorKind::Interrupted => continue, Err(cause) => return Err(cause), }; + // #[gamma::skip(all, reason = "failing to recognize EOF leaves the output reader blocked or spinning after the child exits")] if read == 0 { return Ok(()); } @@ -1382,6 +1397,7 @@ fn discard_output_reader(reader: Option<&OutputReader>) { reader.retaining.store(false, Ordering::Release); let mut bytes = reader.bytes.lock().unwrap_or_else(std::sync::PoisonError::into_inner); bytes.clear(); + // #[gamma::skip(stmt.delete_call, reason = "releasing a potentially large capture allocation is a performance and memory-retention requirement")] bytes.shrink_to_fit(); } } @@ -1408,6 +1424,7 @@ fn wait_for_output(subtree: &mut ProcessTree) -> io::Result { return Ok(status); } + // #[gamma::skip(all, reason = "this positive delay only throttles polling; zero or deletion busy-spins, while one or two milliseconds has the same result")] thread::sleep(Duration::from_millis(1)); } } @@ -1548,12 +1565,17 @@ fn cleanup_after_observation( impl Drop for ProcessTree { fn drop(&mut self) { - if let Some(mut child) = self.child.take() { - let _killed = self.kill(&mut child); - self.release(); + let mut child = self.child.take(); + + if let Some(child) = child.as_mut() { + let _killed = self.kill(child); + } + + // #[gamma::skip(stmt.delete_call, reason = "release is a no-op on non-Unix mutation hosts; Unix tests assert both empty and live drops free the exact watched slot")] + self.release(); + + if let Some(mut child) = child { let _reaped = child.wait(); - } else { - self.release(); } } } @@ -1620,10 +1642,11 @@ mod tests { .recv_timeout(Duration::from_secs(1)) .expect("the watchdog observes the first captured chunk"); discard_output_reader(Some(&reader)); - assert!( - reader.bytes.lock().unwrap_or_else(std::sync::PoisonError::into_inner).is_empty(), - "detachment retained bytes already captured" - ); + { + let bytes = reader.bytes.lock().unwrap_or_else(std::sync::PoisonError::into_inner); + assert!(bytes.is_empty(), "detachment retained bytes already captured"); + assert_eq!(bytes.capacity(), 0, "detachment retained the capture allocation"); + } resume.send(()).expect("the blocked reader is released"); assert!( @@ -1687,6 +1710,40 @@ mod tests { ); } + #[test] + fn captured_streams_keep_distinct_thread_and_error_names() { + assert_eq!(STDOUT_READER_THREAD, "cargo-gamma-process-stdout"); + assert_eq!(STDERR_READER_THREAD, "cargo-gamma-process-stderr"); + assert_eq!(STDOUT_STREAM, "stdout"); + assert_eq!(STDERR_STREAM, "stderr"); + assert_ne!(STDOUT_READER_THREAD, STDERR_READER_THREAD); + assert_ne!(STDOUT_STREAM, STDERR_STREAM); + } + + #[test] + fn terminating_an_already_reaped_subtree_reports_the_exact_reason() { + let mut subtree = ProcessTree { + child: None, + output_cleanup_unproven: false, + #[cfg(unix)] + group: None, + #[cfg(unix)] + slot: None, + #[cfg(target_os = "linux")] + cgroup: None, + #[cfg(target_os = "linux")] + metered: false, + #[cfg(windows)] + job: None, + #[cfg(windows)] + metered: false, + }; + + let reason = subtree.terminate().expect_err("an absent leader was already reaped"); + + assert_eq!(reason.to_string(), "the subtree leader was already reaped"); + } + /// Why the containment tests below are ignored by default, and how to run them. /// /// A boundary a member cannot leave is not something every host has to offer. On Linux it needs @@ -1717,11 +1774,12 @@ mod tests { assert!(containment().is_ok(), "{NEEDS_CONTAINMENT}: {:?}", containment().err()); #[cfg(windows)] - assert!( - containment().is_ok(), - "a Windows host always has a job object: {:?}", - containment().err() - ); + { + let result = containment(); + let failure = format!("{:?}", result.as_ref().err()); + + assert!(result.is_ok(), "a Windows host always has a job object: {failure}"); + } } fn wait_for(subtree: &mut ProcessTree) -> ExitStatus { @@ -1751,6 +1809,21 @@ mod tests { Command::new("true") } + #[test] + fn platform_capacity_and_spawned_id_are_observable() { + assert!(capacity() > 0); + + let prepared = prepare(no_op_command(), MemoryRequest::default()).expect("containment"); + let spawned = prepared.spawn().expect("spawn"); + let actual_child_id = spawned.child.as_ref().expect("the spawned child is retained").id(); + let id = spawned.id(); + let mut subtree = ProcessTree::adopt(spawned).expect("adoption"); + + assert_eq!(id, actual_child_id); + assert!(id > 1); + assert!(wait_for(&mut subtree).success()); + } + /// Reaping this fake leader instantly reuses its numeric group id for an unrelated process. /// /// It makes the old race deterministic: a cleanup that reaped before signalling would set @@ -1794,13 +1867,17 @@ mod tests { assert!(matches!(result, Observation::Reaped(()))); - let group = group.into_inner(); + let mut group = group.into_inner(); assert!(group.original_signalled, "the original subtree was not swept"); assert!( !group.replacement_signalled, "cleanup signalled the replacement group after the leader's id was reused" ); + + group.reaped = true; + group.sweep(); + assert!(group.replacement_signalled); } #[test] @@ -1834,6 +1911,46 @@ mod tests { result, Observation::ReapFailed(ref cause) if cause.kind() == io::ErrorKind::Interrupted )); + + let result = cleanup_after_observation( + true, + || Err(io::Error::new(io::ErrorKind::PermissionDenied, "cleanup failed")), + || Err::<(), _>(io::Error::new(io::ErrorKind::BrokenPipe, "reap failed")), + ); + + assert!(matches!( + result, + Observation::ReapFailed(ref cause) if cause.kind() == io::ErrorKind::BrokenPipe + )); + } + + #[test] + fn a_pending_observation_neither_cleans_nor_reaps() { + let cleaned = RefCell::new(false); + let reaped = RefCell::new(false); + let result = cleanup_after_observation( + false, + || { + *cleaned.borrow_mut() = true; + Ok(()) + }, + || { + *reaped.borrow_mut() = true; + Ok(()) + }, + ); + + assert!(matches!(result, Observation::Pending)); + assert!(!*cleaned.borrow(), "a live subtree was cleaned as though it had exited"); + assert!(!*reaped.borrow(), "a live subtree leader was waited for"); + } + + #[test] + fn killing_an_already_exited_child_accepts_the_exit_race() { + let mut child = no_op_command().spawn().expect("the no-op child starts"); + let _status = child.wait().expect("the no-op child exits"); + + kill_if_running(&mut child).expect("an already-exited child needs no further kill"); } /// A request that asks for nothing gets containment without an accounting boundary. @@ -1904,11 +2021,12 @@ mod tests { assert!(crate::support().is_ok(), "{NEEDS_CONTAINMENT}: {:?}", crate::support().err()); #[cfg(windows)] - assert!( - crate::support().is_ok(), - "a Windows host always accounts for a job object: {:?}", - crate::support().err() - ); + { + let result = crate::support(); + let failure = format!("{:?}", result.as_ref().err()); + + assert!(result.is_ok(), "a Windows host always accounts for a job object: {failure}"); + } } /// A metered child's peak is reported through the subtree, on a host that can measure one. @@ -2005,6 +2123,67 @@ mod tests { assert!(!status.success(), "{status:?}"); } + #[cfg(windows)] + fn delayed_marker_child(prefix: &str) -> (tempfile::TempDir, camino::Utf8PathBuf, Child) { + let work = testing::workdir(prefix); + let base = Utf8Path::from_path(work.path()).expect("the temporary path is UTF-8"); + let (started, finished) = (base.join("started"), base.join("finished")); + let mut child = Command::new(testing::helper_binary_path().as_std_path()) + .args([ + testing::directive(format_args!("touch:{started}")), + testing::directive("sleep:500"), + testing::directive(format_args!("touch:{finished}")), + ]) + .spawn() + .expect("spawn"); + + for _attempt in 0..600 { + if started.exists() { + return (work, finished, child); + } + + thread::sleep(Duration::from_millis(10)); + } + + let _killed = child.kill(); + let _reaped = child.wait(); + panic!("the delayed-marker child never started"); + } + + /// Even the test-only jobless state retains cleanup-on-drop as a final safety net. + #[cfg(windows)] + #[test] + fn dropping_a_jobless_spawned_command_stops_its_child() { + let (_work, finished, child) = delayed_marker_child("gamma-jobless-spawned-drop"); + let spawned = SpawnedCommand { + child: Some(child), + guard: Some(SpawnGuard { job: None, metered: false }), + }; + + drop(spawned); + thread::sleep(Duration::from_secs(1)); + + assert!(!finished.exists(), "the dropped spawned state left its child running"); + } + + /// `ProcessTree::drop` directly kills a child when no job handle can do it by ownership. + #[cfg(windows)] + #[test] + fn dropping_a_jobless_subtree_stops_its_child() { + let (_work, finished, child) = delayed_marker_child("gamma-jobless-subtree-drop"); + let subtree = ProcessTree { + child: Some(child), + output_cleanup_unproven: false, + job: None, + metered: false, + }; + + drop(subtree); + thread::sleep(Duration::from_secs(1)); + + assert!(!finished.exists(), "the dropped subtree left its child running"); + } + /// A contained child is inside a job object, which is what a later kill reaches through. /// /// The Windows counterpart of `a_contained_child_leads_its_own_process_group`. Both say the @@ -2050,6 +2229,28 @@ mod tests { drop(subtree); } + #[cfg(unix)] + #[test] + fn dropping_an_empty_subtree_releases_its_watched_slot() { + let group = 0x0060_0d2e; + let spawning = interrupt::spawning(); + let slot = spawning.watch(group).expect("a free slot"); + let subtree = ProcessTree { + child: None, + output_cleanup_unproven: false, + group: Some(group), + slot: Some(slot), + #[cfg(target_os = "linux")] + cgroup: None, + #[cfg(target_os = "linux")] + metered: false, + }; + + drop(subtree); + + assert_eq!(interrupt::watched(slot), 0, "drop retained an empty subtree's watch slot"); + } + /// Releasing a subtree frees its slot there and then, rather than at the drop. /// /// Every path that reaps a child releases before it drains that child's output, and the drain @@ -2782,6 +2983,26 @@ mod tests { assert!(wait_for(&mut subtree).success()); } + #[test] + fn backing_off_waits_before_reopening_the_window() { + let command = no_op_command(); + let prepared = prepare(command, MemoryRequest::default()).expect("containment"); + let delay = Duration::from_millis(20); + let started = Instant::now(); + + let prepared = prepared.backoff(delay).expect("the window reopens after the wait"); + let elapsed = started.elapsed(); + + assert!( + elapsed >= delay, + "spawn retry resumed before its requested backoff elapsed: {elapsed:?}" + ); + + let spawned = prepared.spawn().expect("spawn"); + let mut subtree = ProcessTree::adopt(spawned).expect("adoption"); + let _status = subtree.terminate().expect("termination"); + } + /// A window fault refuses to open a spawn window, rather than reaching the real registry. #[cfg(unix)] #[test] @@ -2897,25 +3118,58 @@ mod tests { } /// An adopt fault abandons the freshly spawned child and refuses to hand back a subtree. - #[cfg(unix)] #[test] fn an_adopt_fault_abandons_the_child_and_refuses() { - let mut command = Command::new("sh"); - let _ = command.args(["-c", "sleep 30"]); + let mut command = Command::new(testing::helper_binary_path().as_std_path()); + let _ = command.args([testing::directive("sleep:30000"), testing::directive("exit:0")]); let prepared = prepare(command, MemoryRequest::default()).expect("containment"); let spawned = prepared.spawn().expect("spawn"); + #[cfg(unix)] let pid = i32::try_from(spawned.id()).expect("pid fits"); let armed = faults::arm(faults::Fault::Adopt); let reason = ProcessTree::adopt(spawned).expect_err("the fault should refuse adoption"); assert!(reason.to_string().contains("would not take the child"), "{reason}"); + #[cfg(unix)] assert!(gone_soon(pid), "an adopt fault must still kill the child it refused"); drop(armed); } + #[test] + fn termination_reports_only_an_armed_fault_and_still_finishes_cleanup() { + let mut command = Command::new(testing::helper_binary_path().as_std_path()); + let _ = command.args([testing::directive("sleep:30000"), testing::directive("exit:0")]); + let prepared = prepare(command, MemoryRequest::default()).expect("containment"); + let spawned = prepared.spawn().expect("spawn"); + let mut subtree = ProcessTree::adopt(spawned).expect("adoption"); + + let status = subtree.terminate().expect("an unarmed termination succeeds"); + + assert!(!status.success(), "the sleeping child exited before termination reached it"); + assert!(subtree.released(), "termination retained its interrupt registration"); + + let mut command = Command::new(testing::helper_binary_path().as_std_path()); + let _ = command.args([testing::directive("sleep:30000"), testing::directive("exit:0")]); + let prepared = prepare(command, MemoryRequest::default()).expect("containment"); + let spawned = prepared.spawn().expect("spawn"); + let mut subtree = ProcessTree::adopt(spawned).expect("adoption"); + let armed = faults::arm(faults::Fault::Terminate); + + let reason = subtree.terminate().expect_err("the armed termination fault is reported"); + + assert!(reason.to_string().contains("failed as requested"), "{reason}"); + assert!(subtree.released(), "fault reporting retained the interrupt registration"); + assert!( + subtree.terminate().is_err(), + "fault reporting left a supposedly terminated child in the lifecycle" + ); + + drop(armed); + } + /// Once every watch slot is taken, adoption is refused rather than left unwatched. /// /// Run in a subprocess of its own, because the registry it has to exhaust is process-wide and @@ -3079,12 +3333,12 @@ mod tests { let started = Instant::now(); let captured = output(command, MemoryRequest::default()).expect("capture"); + let elapsed = started.elapsed(); assert!(captured.status.success(), "{:?}", captured.status); assert!( - started.elapsed() < Duration::from_secs(5), - "capture waited for a descendant that should have been swept: {:?}", - started.elapsed() + elapsed < Duration::from_secs(5), + "capture waited for a descendant that should have been swept: {elapsed:?}" ); } @@ -3096,10 +3350,10 @@ mod tests { let reason = output(command, MemoryRequest::default()).expect_err("the missing program cannot start"); - match reason { - OutputError::Io(cause) => assert_eq!(cause.kind(), io::ErrorKind::NotFound), - OutputError::Containment(other) => panic!("expected a spawn error, got {other}"), - } + assert!( + matches!(reason, OutputError::Io(ref cause) if cause.kind() == io::ErrorKind::NotFound), + "expected a not-found spawn error" + ); } /// Both contained-output error variants preserve their source and display text. diff --git a/crates/cargo-gamma-process/src/testing.rs b/crates/cargo-gamma-process/src/testing.rs index 86ed5a9ee..66a41446c 100644 --- a/crates/cargo-gamma-process/src/testing.rs +++ b/crates/cargo-gamma-process/src/testing.rs @@ -170,12 +170,9 @@ fn build_or_reuse_helper(name: &str) -> Utf8PathBuf { .arg(&source) .output() .expect("rustc should be available to the test suite"); + let stderr = String::from_utf8_lossy(&built.stderr); - assert!( - built.status.success(), - "the test helper should compile: {}", - String::from_utf8_lossy(&built.stderr) - ); + assert!(built.status.success(), "the test helper should compile: {stderr}"); let _moved = fs::rename(&staged, helper.as_std_path()); diff --git a/crates/cargo-gamma-rt/src/either.rs b/crates/cargo-gamma-rt/src/either.rs index a81c57c26..2eb79be28 100644 --- a/crates/cargo-gamma-rt/src/either.rs +++ b/crates/cargo-gamma-rt/src/either.rs @@ -79,3 +79,38 @@ impl, B: ExactSizeIterator> ExactSiz /// Kept for the same reason, and sound because neither side resumes after returning `None`. impl, B: FusedIterator> FusedIterator for Either {} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn both_variants_forward_iterator_operations() { + let mut left: Either<_, core::ops::Range> = Either::L([1_u8, 2, 3].into_iter()); + assert_eq!(left.size_hint(), (3, Some(3))); + assert_eq!(left.next(), Some(1)); + assert_eq!(left.next_back(), Some(3)); + assert_eq!(left.next(), Some(2)); + assert_eq!(left.next(), None); + + let mut right: Either, _> = Either::R(4_u8..7); + assert_eq!(right.size_hint(), (3, Some(3))); + assert_eq!(right.next(), Some(4)); + assert_eq!(right.next_back(), Some(6)); + assert_eq!(right.next(), Some(5)); + assert_eq!(right.next(), None); + } + + #[test] + fn either_preserves_exact_and_fused_iterator_contracts() { + fn require_exact_and_fused(iterator: &I) -> usize { + iterator.len() + } + + let left: Either<_, core::ops::Range> = Either::L([1_u8, 2].into_iter()); + let right: Either, _> = Either::R(3_u8..5); + + assert_eq!(require_exact_and_fused(&left), 2); + assert_eq!(require_exact_and_fused(&right), 2); + } +} diff --git a/crates/cargo-gamma-rt/src/lib.rs b/crates/cargo-gamma-rt/src/lib.rs index 1603e6827..84236b9d9 100644 --- a/crates/cargo-gamma-rt/src/lib.rs +++ b/crates/cargo-gamma-rt/src/lib.rs @@ -112,12 +112,11 @@ //! acquire the startup environment is different: the runtime emits [`ENVIRONMENT_ERROR_MARKER`] //! and exits, so the parent cannot mistake a mutant that never activated for a survivor. //! -//! That distinction covers [`CENSUS_VAR`] as well as [`ACTIVE_VAR`]. An unset census variable is an -//! ordinary process, but a census variable this process could not *read* is a startup failure, not -//! an absent one: treating it as absence would run the mutant named by [`ACTIVE_VAR`], produce no -//! census file, and report a baseline failure the run would read as a verdict about that mutant. A -//! read interrupted by a signal is retried rather than counted as a failure, since an interruption -//! is not evidence of anything. +//! That distinction covers [`CENSUS_VAR`] as well as [`ACTIVE_VAR`]. With no active mutant it +//! requests a baseline census; alongside a positive active ordinal it records whether that active +//! guard was reached without changing mutant selection. A variable this process could not *read* +//! is a startup failure, not an absent one. A read interrupted by a signal is retried rather than +//! counted as a failure, since an interruption is not evidence of anything. //! //! Two further failure shapes exist because "captured, but wrong" is worse than either of the //! above: diff --git a/crates/cargo-gamma-rt/src/runtime.rs b/crates/cargo-gamma-rt/src/runtime.rs index 16133584a..30fb23d1c 100644 --- a/crates/cargo-gamma-rt/src/runtime.rs +++ b/crates/cargo-gamma-rt/src/runtime.rs @@ -41,8 +41,10 @@ pub const ACTIVE_VAR: &str = "GAMMA_ACTIVE"; /// The environment variable that puts a process into census mode. /// /// Its value is the path of the file where the process writes the ordinals it reached. Setting it -/// selects unmutated behavior — a census runs the code the author wrote — and turns every guard -/// into a probe that records the site it stands at. +/// selects unmutated behavior when no mutant is active — a census runs the code the author wrote — +/// and turns every guard into a probe that records the site it stands at. Alongside a positive +/// [`ACTIVE_VAR`], the same path records only whether that active site was reached while preserving +/// mutated behavior; this is how an ordinary sweep harvests reachability without another process. /// /// The path is fetched and opened through the platform's native encoding — `getenv` and `fopen` on /// Unix, the wide Win32 and CRT entry points on Windows — so a scratch tree whose path lies outside @@ -262,8 +264,8 @@ fn capture_selection() -> u32 { /// Turns what startup learned about `GAMMA_CENSUS` into a selection, or into a startup failure. /// -/// Census mode takes precedence over an active ordinal, so `active` is consulted only when the -/// census variable was genuinely absent. +/// A census path with no active ordinal selects census mode. A path alongside a positive active +/// ordinal instead records that one active site's reach while leaving the mutant selected. /// /// A census request this process could not read is **not** absence, and must not fall through to /// active selection: the process would then execute a mutant, write no census file, and report a @@ -277,9 +279,15 @@ fn capture_selection() -> u32 { fn selection_from(census: CensusRequest, active: impl FnOnce() -> Result) -> Result { match census { CensusRequest::Absent => active(), - // A path too long to retain still selects census mode: the file simply cannot be opened, - // so the census stays unsealed and the reader rejects it, which is the conservative answer. - CensusRequest::Path(_) | CensusRequest::Unusable => Ok(CENSUS), + CensusRequest::Path(_) | CensusRequest::Unusable => { + let selected = active()?; + + // A path alongside an active mutant records whether that mutant's guard was reached + // without changing the code the process executes. With no active mutant, the same + // path retains its original census meaning and records every guard under baseline + // behavior. + Ok(if selected == NONE { CENSUS } else { selected }) + } CensusRequest::Error => Err(()), } } @@ -1248,11 +1256,9 @@ unsafe extern "C" { // Cost: this deliberately makes no empirical throughput promise. The structural trade-off is // sufficient here: census-only first and unique hits pay one relaxed load, while repeated hits // avoid the recorder lease and compare-exchange protocol entirely. -// Cold: reached only under a census, never in a scoring run, and even then only off the inlined -// per-site guard `a`. Keeping it out of line stops its bitmap machinery being inlined into every -// guard site and bloating the instrumented build, which is the dominant fixed cost of a run. -// `#[inline(never)]` turns the `#[cold]` hint into a guarantee at no cost: a census can afford one -// call per site. +// Cold: reached on a site's first hit during a census or an active-mutant reach sample. The +// inlined guard performs the cheap bitmap precheck so repeated hot-loop hits do not pay an +// out-of-line call; keeping the recorder protocol here avoids bloating every instrumented site. #[cold] #[inline(never)] #[cfg(any(unix, windows))] @@ -1295,6 +1301,21 @@ fn note(id: u32) { end_recording(); } +#[inline] +#[cfg(any(unix, windows))] +fn already_noted(id: u32) -> bool { + let Ok(index) = usize::try_from(id) else { + return false; + }; + + if index >= SITES { + OVERFLOWED.load(Ordering::Relaxed) + } else { + let bit = 1_u32 << (index % WORD_BITS); + REACHED[index / WORD_BITS].load(Ordering::Relaxed) & bit != 0 + } +} + /// The high bit closes census recording; the remaining bits count bitmap updates in progress. /// /// `seal` claims the closed state only from zero recorders. A guard increments the count before @@ -1331,6 +1352,8 @@ impl RecorderState { } if state == RECORDER_MASK { + #[cfg(test)] + TEST_RECORDER_SATURATION_SPUN.store(true, Ordering::Release); core::hint::spin_loop(); continue; } @@ -1448,6 +1471,8 @@ static TEST_NOTE_STATE: AtomicUsize = AtomicUsize::new(0); static TEST_SEAL_WAITING: AtomicBool = AtomicBool::new(false); #[cfg(all(test, any(unix, windows)))] static TEST_SEAL_CLAIMED: AtomicBool = AtomicBool::new(false); +#[cfg(all(test, any(unix, windows)))] +static TEST_RECORDER_SATURATION_SPUN: AtomicBool = AtomicBool::new(false); /// Pauses a test writer after it has a lease but before it claims its bitmap bit. #[cfg(all(test, any(unix, windows)))] @@ -1688,14 +1713,17 @@ extern "C" fn seal() { /// Returns the selection that is safe to publish after exit-handler registration. #[cfg(any(unix, windows))] -fn selection_after_registration(selection: u32, mut register: impl FnMut(extern "C" fn()) -> c_int) -> u32 { - if selection != CENSUS || register(seal) == 0 { +fn selection_after_registration(selection: u32, recording: bool, mut register: impl FnMut(extern "C" fn()) -> c_int) -> u32 { + if !recording || register(seal) == 0 { selection - } else { - // There is no Result channel from a loader constructor. Refusing census mode makes the - // requested census file remain absent, which the parent surfaces as a failed run, rather - // than silently running a census that can never receive its integrity seal. + } else if selection == CENSUS { + // A census that cannot receive its integrity seal must not run as though its negative + // evidence could later be trusted. NONE + } else { + // Reach harvesting is only an optimization. Failing to install its exit hook must not + // switch off the mutant the caller asked this process to execute. + selection } } @@ -1707,7 +1735,8 @@ fn selection_after_registration(selection: u32, mut register: impl FnMut(extern #[cfg(any(unix, windows))] extern "C" fn install() { let selection = capture_selection(); - let protected = selection_after_registration(selection, |handler| { + let recording = CENSUS_PATH_LENGTH.load(Ordering::Acquire) != 0; + let protected = selection_after_registration(selection, recording, |handler| { // SAFETY: `seal` has the `extern "C" fn()` signature `atexit` requires, and registration // has no other precondition. unsafe { atexit(handler) } @@ -1992,6 +2021,11 @@ pub fn a(id: u32) -> bool { return false; } + #[cfg(any(unix, windows))] + if active == id && CENSUS_PATH_LENGTH.load(Ordering::Relaxed) != 0 && !already_noted(id) { + note(id); + } + id != NONE && active == id } @@ -2118,11 +2152,7 @@ mod tests { let live = active(); assert!(!a(NONE)); - - if live != NONE { - assert!(a(live)); - } - + assert_eq!(a(live), live != NONE); assert!(!a(live.wrapping_add(1))); } @@ -2146,10 +2176,11 @@ mod tests { // long and a sibling merely running alongside it would usually miss the window entirely — // the test would pass against a process-wide counter for want of a collision rather than // because collisions cannot happen. - let (go, done) = (AtomicBool::new(false), AtomicBool::new(false)); + let (ready, go, done) = (AtomicBool::new(false), AtomicBool::new(false), AtomicBool::new(false)); std::thread::scope(|scope| { let sibling = scope.spawn(|| { + ready.store(true, Ordering::Release); while !go.load(Ordering::Acquire) { core::hint::spin_loop(); } @@ -2167,6 +2198,9 @@ mod tests { // Warmed first, so a cache fill inside the measured region cannot be mistaken for the // sibling's allocations leaking in. let _ = active(); + while !ready.load(Ordering::Acquire) { + core::hint::spin_loop(); + } let counted = allocations(|| { go.store(true, Ordering::Release); @@ -2417,7 +2451,6 @@ mod tests { let consulted = Cell::new(0_usize); let answer = selection_from(CensusRequest::Error, || { consulted.set(consulted.get() + 1); - Ok(7) }); @@ -2437,10 +2470,10 @@ mod tests { assert_eq!(selection_from(CensusRequest::Absent, || Err(())), Err(())); } - /// Either census answer selects census mode, and neither reads `GAMMA_ACTIVE` at all. + /// A census path records the active site when a mutant is selected. #[cfg(any(unix, windows))] #[test] - fn a_census_request_selects_census_mode_without_consulting_the_active_ordinal() { + fn a_census_request_preserves_an_active_mutant() { for request in [ CensusRequest::Path(NonZeroUsize::new(4).expect("four is non-zero")), CensusRequest::Unusable, @@ -2452,11 +2485,20 @@ mod tests { Ok(7) }); - assert_eq!(answer, Ok(CENSUS), "{request:?}"); - assert_eq!(consulted.get(), 0, "census mode consulted `GAMMA_ACTIVE`: {request:?}"); + assert_eq!(answer, Ok(7), "{request:?}"); + assert_eq!(consulted.get(), 1, "reach recording must retain `GAMMA_ACTIVE`: {request:?}"); } } + #[cfg(any(unix, windows))] + #[test] + fn a_census_request_without_an_active_mutant_still_selects_census_mode() { + assert_eq!( + selection_from(CensusRequest::Path(NonZeroUsize::new(4).expect("four is non-zero")), || Ok(NONE)), + Ok(CENSUS) + ); + } + /// One scripted `read` of the environ stream. /// /// The three shapes a real read has: bytes placed in the chunk buffer — an empty chunk being @@ -2786,6 +2828,26 @@ mod tests { ); } + #[cfg(windows)] + #[test] + fn windows_constants_and_native_layout_are_constructed_as_expected() { + assert_eq!(widen::<3>(b"ab\0"), [b'a'.into(), b'b'.into(), 0]); + + let overlapped = WindowsOverlapped::for_append(); + + assert_eq!(overlapped.internal, 0); + assert_eq!(overlapped.internal_high, 0); + assert_eq!(overlapped.offset, u32::MAX); + assert_eq!(overlapped.offset_high, u32::MAX); + assert_eq!(overlapped.event, core::ptr::null_mut()); + } + + #[cfg(windows)] + #[test] + fn opening_without_a_census_path_returns_no_stream() { + assert!(open().is_null()); + } + #[test] fn the_variable_names_agree() { // Two spellings of one name is two chances to change only one of them. @@ -2799,7 +2861,7 @@ mod tests { #[test] fn a_failed_exit_registration_refuses_census_mode() { let registrations = Cell::new(0); - let selected = selection_after_registration(CENSUS, |_handler| { + let selected = selection_after_registration(CENSUS, true, |_handler| { registrations.set(registrations.get() + 1); -1 }); @@ -2808,6 +2870,12 @@ mod tests { assert_eq!(registrations.get(), 1); } + #[cfg(any(unix, windows))] + #[test] + fn a_failed_reach_registration_never_switches_off_the_mutant() { + assert_eq!(selection_after_registration(7, true, |_handler| -1), 7); + } + #[cfg(any(unix, windows))] #[test] fn parallel_shared_state_recording_and_sealing_drains_every_admitted_writer() { @@ -2837,6 +2905,30 @@ mod tests { } } + #[cfg(any(unix, windows))] + #[test] + fn recorder_saturation_waits_and_an_existing_seal_refuses_new_work() { + let state = RecorderState::new(); + state.value.store(RECORDER_MASK, Ordering::Release); + TEST_RECORDER_SATURATION_SPUN.store(false, Ordering::Release); + + std::thread::scope(|scope| { + let recorder = scope.spawn(|| state.begin_recording()); + + while !TEST_RECORDER_SATURATION_SPUN.load(Ordering::Acquire) { + core::hint::spin_loop(); + } + state.value.store(0, Ordering::Release); + + assert!(recorder.join().expect("the saturated recorder thread must not panic")); + }); + + state.end_recording(); + assert!(state.begin_seal()); + assert_eq!(state.try_begin_seal(), Some(false)); + assert!(!state.begin_recording()); + } + #[cfg(not(miri))] mod process_tests { use std::env; @@ -2911,12 +3003,9 @@ mod tests { .env_remove(CENSUS_VAR) .output() .expect("the pre-main environment helper runs"); + let stderr = String::from_utf8_lossy(&output.stderr); - assert!( - output.status.success(), - "pre-main environment helper failed: {}", - String::from_utf8_lossy(&output.stderr) - ); + assert!(output.status.success(), "pre-main environment helper failed: {stderr}"); } #[test] @@ -2995,19 +3084,18 @@ mod tests { .status() .expect("the child runs"); let bytes = fs::read(&stderr_path).expect("the child's stderr remains readable"); + let stderr = String::from_utf8_lossy(&bytes); assert_eq!( status.code(), Some(86), - "the startup failure keeps its reserved exit code: {}", - String::from_utf8_lossy(&bytes) + "the startup failure keeps its reserved exit code: {stderr}" ); assert!( bytes .windows(ENVIRONMENT_ERROR_MARKER.len()) .any(|window| window == ENVIRONMENT_ERROR_MARKER), - "{}", - String::from_utf8_lossy(&bytes) + "{stderr}" ); } @@ -3154,7 +3242,7 @@ mod tests { .join(format!(".gamma-census-none-{}-{sequence}.bin", process::id())); let _removed = fs::remove_file(&path); - let census = Command::new(&executable) + let observed = Command::new(&executable) .args([ "--exact", "runtime::tests::process_tests::the_child_reports_guard_selection", @@ -3163,12 +3251,14 @@ mod tests { .env(ACTIVE_VAR, "7") .env(CENSUS_VAR, &path) .output() - .expect("the census child runs"); - assert!(census.status.success(), "{}", String::from_utf8_lossy(&census.stderr)); - let census = String::from_utf8_lossy(&census.stdout); + .expect("the observed mutant child runs"); + assert!(observed.status.success(), "{}", String::from_utf8_lossy(&observed.stderr)); + let output = String::from_utf8_lossy(&observed.stdout); + let bytes = fs::read(&path).expect("the observed mutant wrote its reach record"); let _removed = fs::remove_file(&path); - assert!(census.contains("active=0 none=false seven=false"), "{census}"); + assert!(output.contains("active=7 none=false seven=true"), "{output}"); + assert_eq!(bytes, [7_u32, SEAL].into_iter().flat_map(u32::to_le_bytes).collect::>()); } #[test] @@ -3345,7 +3435,9 @@ mod tests { return; } - assert!(!a(73)); + for site in 0..=1024 { + assert!(!a(site)); + } TEST_WRITE_STATE.store(BLOCK_AND_SHORT, Ordering::Release); thread::scope(|scope| { diff --git a/crates/cargo-gamma-unsafe/src/cgroup.rs b/crates/cargo-gamma-unsafe/src/cgroup.rs index 7aa3e377a..2fff725b9 100644 --- a/crates/cargo-gamma-unsafe/src/cgroup.rs +++ b/crates/cargo-gamma-unsafe/src/cgroup.rs @@ -809,15 +809,16 @@ impl Cgroup { self.kill.as_ref().map(|kill| KillHandle(kill.as_raw_fd())) } - /// Records where this leaf's kill descriptor was published, so its drop can take it back. - /// - /// Called by [`interrupt::Spawning::watch_cgroup`] as the descriptor is published. The unique - /// cgroup borrow keeps the owning file live until this reminder is stored. + /// Whether this leaf's kill descriptor has been published to the signal registry. pub(crate) const fn is_watched(&self) -> bool { self.watch.is_some() } - /// Records the owned registry lifetime of this leaf's kill descriptor. + /// Records where this leaf's kill descriptor was published, so its drop can take it back. + /// + /// Called by [`interrupt::Spawning::watch_cgroup`] as the descriptor is published. The unique + /// cgroup borrow keeps the owning file live until this reminder is stored, and this cgroup + /// retains ownership of the descriptor until `Drop` removes the registry entry. pub(crate) const fn watched_at(&mut self, slot: usize, descriptor: RawFd) { self.watch = Some(CgroupWatch { slot, descriptor }); } diff --git a/crates/cargo-gamma-unsafe/src/job.rs b/crates/cargo-gamma-unsafe/src/job.rs index 3c177ed66..9f44eac3f 100644 --- a/crates/cargo-gamma-unsafe/src/job.rs +++ b/crates/cargo-gamma-unsafe/src/job.rs @@ -40,7 +40,7 @@ use crate::native_faults::{self, NativeCall}; /// Production and tests run the same algorithms. Tests replace only this dependency with a backend /// that can return one requested native failure before delegating every other call to Windows. trait NativeCalls { - fn thread_snapshot(&self, process: u32) -> HANDLE; + fn thread_snapshot(&self) -> HANDLE; fn first_thread(&self, snapshot: HANDLE, entry: &mut THREADENTRY32) -> bool; fn next_thread(&self, snapshot: HANDLE, entry: &mut THREADENTRY32) -> bool; fn open_thread(&self, thread: u32) -> HANDLE; @@ -50,34 +50,50 @@ trait NativeCalls { fn associate_completion_port(&self, job: HANDLE, association: &mut JOBOBJECT_ASSOCIATE_COMPLETION_PORT) -> bool; fn configure_job(&self, job: HANDLE, limits: &mut JOBOBJECT_EXTENDED_LIMIT_INFORMATION) -> bool; fn assign_process(&self, job: HANDLE, process: HANDLE) -> bool; - fn query_accounting(&self, job: HANDLE, limits: &mut JOBOBJECT_EXTENDED_LIMIT_INFORMATION, returned: &mut u32) -> bool; + fn query_accounting(&self, job: HANDLE, limits: &mut JOBOBJECT_EXTENDED_LIMIT_INFORMATION) -> bool; fn completion_status(&self, completion: HANDLE, message: &mut u32, key: &mut usize, overlapped: &mut *mut OVERLAPPED) -> bool; fn terminate_job(&self, job: HANDLE) -> bool; } struct SystemCalls; +const THREAD_SNAPSHOT_FLAGS: u32 = TH32CS_SNAPTHREAD; +const SNAPSHOT_PROCESS_ID: u32 = 0; +const INHERIT_THREAD_HANDLE: i32 = 0; +const COMPLETION_KEY: usize = 0; +const COMPLETION_CONCURRENCY: u32 = 1; + +const fn thread_identifier(thread: u32) -> u32 { + thread +} + impl NativeCalls for SystemCalls { - fn thread_snapshot(&self, process: u32) -> HANDLE { + fn thread_snapshot(&self) -> HANDLE { // SAFETY: the arguments are a flag word and a process id, and no caller memory is touched. - unsafe { CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, process) } + // #[gamma::skip(all, reason = "Windows accepts reserved or irrelevant flag/process-id bits for a thread-only system snapshot, so altered arguments are not reliably observable across supported Windows versions")] + unsafe { CreateToolhelp32Snapshot(THREAD_SNAPSHOT_FLAGS, SNAPSHOT_PROCESS_ID) } } fn first_thread(&self, snapshot: HANDLE, entry: &mut THREADENTRY32) -> bool { - // SAFETY: `snapshot` is live and `entry` declares its initialized structure size. - unsafe { Thread32First(snapshot, core::ptr::from_mut(entry)) != 0 } + // SAFETY: the kernel validates the handle, and `entry` is writable and declares its + // initialized structure size. + win32_succeeded(unsafe { Thread32First(snapshot, core::ptr::from_mut(entry)) }) } + // #[gamma::skip(fn_value.bool_true, reason = "claiming the snapshot always has another entry makes enumeration repeat past its end forever")] fn next_thread(&self, snapshot: HANDLE, entry: &mut THREADENTRY32) -> bool { - // SAFETY: the arguments retain the validity established for `first_thread`. - unsafe { Thread32Next(snapshot, core::ptr::from_mut(entry)) != 0 } + // SAFETY: the kernel validates the handle, and `entry` remains writable and correctly + // sized for the enumeration API. + win32_succeeded(unsafe { Thread32Next(snapshot, core::ptr::from_mut(entry)) }) } fn open_thread(&self, thread: u32) -> HANDLE { // SAFETY: the arguments are an access mask, an inheritance flag and a thread identifier. - unsafe { OpenThread(THREAD_SUSPEND_RESUME, 0, thread) } + // #[gamma::skip(all, reason = "nonzero BOOL encodings all request inheritance and Windows may normalize them identically, while inheriting this short-lived internal handle is not observable because no child is spawned before it closes")] + unsafe { OpenThread(THREAD_SUSPEND_RESUME, INHERIT_THREAD_HANDLE, thread_identifier(thread)) } } + // #[gamma::skip(all, reason = "returning without calling ResumeThread reports a still-suspended child as released, so its owner waits for a process that can never run")] fn resume_thread(&self, thread: HANDLE) -> u32 { // SAFETY: the handle was opened with `THREAD_SUSPEND_RESUME`. unsafe { ResumeThread(thread) } @@ -90,73 +106,84 @@ impl NativeCalls for SystemCalls { fn create_completion_port(&self) -> HANDLE { // SAFETY: these documented sentinel arguments request a new completion port. - unsafe { CreateIoCompletionPort(INVALID_HANDLE_VALUE, core::ptr::null_mut(), 0, 1) } + // #[gamma::skip(all, reason = "the completion key is ignored when creating a fresh port, and Windows may normalize supported concurrency hints without exposing the chosen scheduler policy")] + unsafe { CreateIoCompletionPort(INVALID_HANDLE_VALUE, core::ptr::null_mut(), COMPLETION_KEY, COMPLETION_CONCURRENCY) } } fn associate_completion_port(&self, job: HANDLE, association: &mut JOBOBJECT_ASSOCIATE_COMPLETION_PORT) -> bool { // SAFETY: the information class matches the initialized structure and its exact size. - unsafe { + win32_succeeded(unsafe { SetInformationJobObject( job, JobObjectAssociateCompletionPortInformation, core::ptr::from_mut(association).cast::(), - u32::try_from(size_of::()).unwrap_or(0), - ) != 0 - } + u32::try_from(size_of::()) + .expect("the Win32 information structure size always fits in u32"), + ) + }) } fn configure_job(&self, job: HANDLE, limits: &mut JOBOBJECT_EXTENDED_LIMIT_INFORMATION) -> bool { // SAFETY: the information class matches the initialized structure and its exact size. - unsafe { + win32_succeeded(unsafe { SetInformationJobObject( job, JobObjectExtendedLimitInformation, core::ptr::from_mut(limits).cast::(), - u32::try_from(size_of::()).unwrap_or(0), - ) != 0 - } + u32::try_from(size_of::()) + .expect("the Win32 information structure size always fits in u32"), + ) + }) } fn assign_process(&self, job: HANDLE, process: HANDLE) -> bool { - // SAFETY: both handles are live kernel object references for the duration of the call. - unsafe { AssignProcessToJobObject(job, process.cast::()) != 0 } + // SAFETY: the kernel validates both handle values; this call passes no caller-owned + // buffers or pointers. + win32_succeeded(unsafe { AssignProcessToJobObject(job, process.cast::()) }) } - fn query_accounting(&self, job: HANDLE, limits: &mut JOBOBJECT_EXTENDED_LIMIT_INFORMATION, returned: &mut u32) -> bool { + fn query_accounting(&self, job: HANDLE, limits: &mut JOBOBJECT_EXTENDED_LIMIT_INFORMATION) -> bool { // SAFETY: the information class matches the writable structure and its exact size. - unsafe { + win32_succeeded(unsafe { QueryInformationJobObject( job, JobObjectExtendedLimitInformation, core::ptr::from_mut(limits).cast::(), - u32::try_from(size_of::()).unwrap_or(0), - core::ptr::from_mut(returned), - ) != 0 - } + u32::try_from(size_of::()) + .expect("the Win32 information structure size always fits in u32"), + core::ptr::null_mut(), + ) + }) } + // #[gamma::skip(all, reason = "claiming an empty queue produced a message loops forever; decrementing zero waits forever, while a one-millisecond wait at every high-volume poll exceeded the four-minute mutation budget without changing any result")] fn completion_status(&self, completion: HANDLE, message: &mut u32, key: &mut usize, overlapped: &mut *mut OVERLAPPED) -> bool { // SAFETY: the completion port is live, output references are writable, and the zero timeout // makes the operation non-blocking. unsafe { GetQueuedCompletionStatus(completion, message, key, overlapped, 0) != 0 } } + // #[gamma::skip(fn_value.bool_true, reason = "reporting termination without calling the kernel leaves the child alive while its owner waits to reap it")] fn terminate_job(&self, job: HANDLE) -> bool { // SAFETY: `job` is a live job handle and the exit code is an arbitrary payload. - unsafe { TerminateJobObject(job, 1) != 0 } + win32_succeeded(unsafe { TerminateJobObject(job, u32::from(true)) }) } } +const fn win32_succeeded(result: i32) -> bool { + result != 0 +} + #[cfg(test)] struct FaultInjectingCalls; #[cfg(test)] impl NativeCalls for FaultInjectingCalls { - fn thread_snapshot(&self, process: u32) -> HANDLE { + fn thread_snapshot(&self) -> HANDLE { if native_faults::fired(NativeCall::Snapshot) { INVALID_HANDLE_VALUE } else { - SystemCalls.thread_snapshot(process) + SystemCalls.thread_snapshot() } } @@ -212,12 +239,17 @@ impl NativeCalls for FaultInjectingCalls { !native_faults::fired(NativeCall::AssignProcess) && SystemCalls.assign_process(job, process) } - fn query_accounting(&self, job: HANDLE, limits: &mut JOBOBJECT_EXTENDED_LIMIT_INFORMATION, returned: &mut u32) -> bool { - !native_faults::fired(NativeCall::QueryAccounting) && SystemCalls.query_accounting(job, limits, returned) + fn query_accounting(&self, job: HANDLE, limits: &mut JOBOBJECT_EXTENDED_LIMIT_INFORMATION) -> bool { + !native_faults::fired(NativeCall::QueryAccounting) && SystemCalls.query_accounting(job, limits) } fn completion_status(&self, completion: HANDLE, message: &mut u32, key: &mut usize, overlapped: &mut *mut OVERLAPPED) -> bool { - !native_faults::fired(NativeCall::CompletionStatus) && SystemCalls.completion_status(completion, message, key, overlapped) + if native_faults::fired(NativeCall::MemoryLimitMessage) { + *message = JOB_OBJECT_MSG_JOB_MEMORY_LIMIT; + true + } else { + !native_faults::fired(NativeCall::CompletionStatus) && SystemCalls.completion_status(completion, message, key, overlapped) + } } fn terminate_job(&self, job: HANDLE) -> bool { @@ -257,6 +289,7 @@ pub fn suppress_error_dialogs() { pub fn start_suspended(command: &mut Command) { use std::os::windows::process::CommandExt as _; + // #[gamma::skip(all, reason = "changing the suspension flag can create a running or invalid child, after which assignment failure leaves no safe process handle to resume and the owner waits indefinitely")] let _ = command.creation_flags(CREATE_SUSPENDED); } @@ -267,10 +300,12 @@ pub fn start_suspended(command: &mut Command) { /// on the machine, which is why the owning process is checked; the child cannot be confused /// with anything else, since its id cannot be reused while this run still holds it open. #[must_use] +// #[gamma::skip(fn_value.bool_true, reason = "reporting release without resuming the child's only thread leaves its owner waiting indefinitely for a process that cannot run")] pub fn release(process: u32) -> bool { - let snapshot = thread_snapshot(process); + let snapshot = thread_snapshot(); - if snapshot.is_null() || snapshot == INVALID_HANDLE_VALUE { + // #[gamma::skip(cond.always_false, reason = "letting either Win32 failure sentinel reach OwnedHandle::from_raw_handle would violate that unsafe constructor's live-handle precondition, so the mutant cannot be observed safely")] + if !valid_snapshot(snapshot) { return false; } @@ -283,8 +318,12 @@ pub fn release(process: u32) -> bool { } /// Takes the thread snapshot [`release`] scans. -fn thread_snapshot(process: u32) -> HANDLE { - NATIVE_CALLS.thread_snapshot(process) +fn thread_snapshot() -> HANDLE { + NATIVE_CALLS.thread_snapshot() +} + +fn valid_snapshot(snapshot: HANDLE) -> bool { + !snapshot.is_null() && snapshot != INVALID_HANDLE_VALUE } /// The id of the one thread a suspended child has, if the snapshot still lists it. @@ -292,28 +331,41 @@ fn main_thread(snapshot: &OwnedHandle, process: u32) -> Option { let mut entry = THREADENTRY32 { // The API rejects an entry whose declared size is not its own, which is how it tells // the versions of this structure apart. - dwSize: u32::try_from(size_of::()).unwrap_or(0), + dwSize: u32::try_from(size_of::()).expect("the Win32 thread-entry structure size always fits in u32"), ..Default::default() }; let mut found = NATIVE_CALLS.first_thread(snapshot.as_raw_handle(), &mut entry); while found { - if entry.th32OwnerProcessID == process { - return Some(entry.th32ThreadID); + if let Some(thread) = thread_owned_by(&entry, process) { + return Some(thread); } + // #[gamma::skip(stmt.delete_assign, reason = "not advancing the thread snapshot repeats the first unrelated entry forever")] found = NATIVE_CALLS.next_thread(snapshot.as_raw_handle(), &mut entry); } + // #[gamma::skip(option.none_to_some, reason = "the default thread id is zero, which Win32 never assigns; attempting to open it also reports release failure, so the public result remains false")] None } +const fn thread_owned_by(entry: &THREADENTRY32, process: u32) -> Option { + if entry.th32OwnerProcessID == process { + Some(entry.th32ThreadID) + } else { + None + } +} + /// Resumes one thread, reporting whether it actually came out of suspension. +// #[gamma::skip(fn_value.bool_true, reason = "reporting success without opening and resuming the thread leaves the suspended child alive forever")] fn resume(thread: u32) -> bool { let handle = open_thread(thread); - if handle.is_null() { + // #[gamma::skip(cond.always_false, reason = "letting a null OpenThread result reach OwnedHandle::from_raw_handle would violate that unsafe constructor's live-handle precondition, so the mutant cannot be observed safely")] + if !valid_handle(handle) { + // #[gamma::skip(literal.bool_flip, reason = "reporting a failed OpenThread as success leaves the child suspended while its owner waits indefinitely")] return false; } @@ -326,13 +378,18 @@ fn resume(thread: u32) -> bool { /// Opens the child's one thread for resumption. fn open_thread(thread: u32) -> HANDLE { - NATIVE_CALLS.open_thread(thread) + NATIVE_CALLS.open_thread(thread_identifier(thread)) +} + +fn valid_handle(handle: HANDLE) -> bool { + !handle.is_null() } /// Brings one thread out of suspension, reporting `u32::MAX` when it stayed suspended. /// /// The handle is still owned by the caller, so the failure a test injects here leaves it to be /// closed on the way out exactly as a real failure would. +// #[gamma::skip(all, reason = "replacing the ResumeThread call with a count reports success without releasing the child, so the owner waits indefinitely")] fn previous_suspension_count(handle: &OwnedHandle) -> u32 { NATIVE_CALLS.resume_thread(handle.as_raw_handle()) } @@ -381,14 +438,15 @@ impl Job { pub fn create(limit: Option) -> Option { let handle = create_job_object(); - if handle.is_null() { + // #[gamma::skip(cond.always_false, reason = "a null job handle is rejected again by the mandatory configuration call below, so both paths return None and no live handle exists to preserve")] + if !valid_handle(handle) { return None; } let completion = if limit.is_some() { let completion = create_completion_port(); - if completion.is_null() { + if !valid_handle(completion) { // SAFETY: `handle` was just created above and has no other owner. let _closed = unsafe { CloseHandle(handle) }; @@ -476,9 +534,7 @@ impl Job { // SAFETY: the structure is plain old data whose every field is an integer, and the // call below either overwrites it entirely or is reported as having failed. unsafe { mem::zeroed() }; - let mut returned: u32 = 0; - - let queried = NATIVE_CALLS.query_accounting(self.handle, &mut limits, &mut returned); + let queried = NATIVE_CALLS.query_accounting(self.handle, &mut limits); let peak = queried.then(|| u64::try_from(limits.PeakJobMemoryUsed).ok()).flatten(); let memory_limit_hit = self.limit.is_some_and(|_| self.memory_limit_was_hit()); @@ -493,15 +549,17 @@ impl Job { }; let mut hit = self.memory_limit_hit.lock().unwrap_or_else(std::sync::PoisonError::into_inner); + // #[gamma::skip(cond.always_false, reason = "once true, draining an already-empty non-blocking completion queue leaves the retained flag true and returns the same answer")] if *hit { return true; } loop { - let (mut message, mut key, mut overlapped) = (0_u32, 0_usize, core::ptr::null_mut()); + let (mut message, mut key, mut overlapped) = (u32::default(), usize::default(), core::ptr::null_mut()); let received = NATIVE_CALLS.completion_status(completion.as_raw_handle(), &mut message, &mut key, &mut overlapped); + // #[gamma::skip(all, reason = "continuing after a non-blocking completion-port read reports an empty queue spins forever")] if !received { return *hit; } @@ -517,7 +575,9 @@ impl Job { /// # Errors /// /// Returns the operating system's reason when the job could not be terminated. + // #[gamma::skip(fn_value.ok, reason = "returning success without terminating the job leaves its child alive while the caller waits to reap it")] pub fn terminate(&self) -> io::Result<()> { + // #[gamma::skip(cond.always_true, reason = "pretending the kernel terminated the job leaves its child alive while the caller waits to reap it")] if NATIVE_CALLS.terminate_job(self.handle) { Ok(()) } else { @@ -576,14 +636,27 @@ pub fn in_any_job(child: &Child) -> Option { use windows_sys::Win32::System::JobObjects::IsProcessInJob; let handle = child.as_raw_handle().cast::(); - let mut inside = 0; + let mut inside = i32::default(); // SAFETY: the handle is the child's own process handle, which `Child` keeps open for as long // as it lives. A null job argument asks about any job at all rather than about a particular // one, and the final argument is a live `i32` the call writes through. let queried = unsafe { IsProcessInJob(handle, core::ptr::null_mut(), &raw mut inside) }; - (queried != 0).then_some(inside != 0) + in_job_answer(&JobMembershipQuery { queried, inside }) +} + +struct JobMembershipQuery { + queried: i32, + inside: i32, +} + +const fn in_job_answer(answer: &JobMembershipQuery) -> Option { + if win32_succeeded(answer.queried) { + Some(win32_succeeded(answer.inside)) + } else { + None + } } #[cfg(all(test, not(miri)))] @@ -592,7 +665,8 @@ mod tests { use std::sync::Arc; use std::{env, thread}; - use windows_sys::Win32::System::Threading::{GetCurrentProcess, GetProcessHandleCount}; + use windows_sys::Win32::System::IO::PostQueuedCompletionStatus; + use windows_sys::Win32::System::Threading::{GetCurrentProcess, GetCurrentThreadId, GetProcessHandleCount, TerminateThread}; use super::*; @@ -611,6 +685,187 @@ mod tests { const ALLOWED_HANDLE_DRIFT: u32 = 8; const FAULT_TEST_LIMIT: u64 = 1024 * 1024 * 1024; + #[test] + fn win32_boolean_results_distinguish_failure_from_every_success_value() { + assert!(!win32_succeeded(0)); + assert!(win32_succeeded(1)); + assert!(win32_succeeded(-1)); + } + + #[test] + fn native_call_constants_match_the_documented_win32_contract() { + assert_eq!(THREAD_SNAPSHOT_FLAGS, TH32CS_SNAPTHREAD); + assert_eq!(SNAPSHOT_PROCESS_ID, 0); + assert_eq!(INHERIT_THREAD_HANDLE, 0); + assert_eq!(COMPLETION_KEY, 0); + assert_eq!(COMPLETION_CONCURRENCY, 1); + assert_eq!(thread_identifier(0), 0); + assert_eq!(thread_identifier(41), 41); + assert_eq!(thread_identifier(u32::MAX), u32::MAX); + } + + #[test] + fn snapshot_validity_rejects_both_win32_failure_sentinels() { + assert!(!valid_snapshot(core::ptr::null_mut())); + assert!(!valid_snapshot(INVALID_HANDLE_VALUE)); + assert!(valid_snapshot(core::ptr::dangling_mut::())); + } + + #[test] + fn ordinary_handle_validity_rejects_null_alone() { + assert!(!valid_handle(core::ptr::null_mut())); + assert!(valid_handle(INVALID_HANDLE_VALUE)); + assert!(valid_handle(core::ptr::dangling_mut::())); + } + + #[test] + fn the_safe_open_thread_wrapper_preserves_the_requested_identifier() { + // SAFETY: this takes no arguments and returns the calling thread's numeric identifier. + let current = unsafe { GetCurrentThreadId() }; + let opened = open_thread(current); + + assert!(valid_handle(opened), "the wrapper must open the requested current thread"); + + // SAFETY: the successful call above returned this newly owned handle. + drop(unsafe { OwnedHandle::from_raw_handle(opened) }); + assert!(!valid_handle(open_thread(u32::MAX)), "the wrapper must not redirect an invalid id"); + } + + #[test] + fn thread_ownership_requires_the_exact_process_identifier() { + let entry = THREADENTRY32 { + th32OwnerProcessID: 41, + th32ThreadID: 73, + ..Default::default() + }; + + assert_eq!(thread_owned_by(&entry, 41), Some(73)); + assert_eq!(thread_owned_by(&entry, 40), None); + assert_eq!(thread_owned_by(&entry, 42), None); + } + + #[test] + fn system_thread_calls_honor_the_win32_snapshot_contract() { + let snapshot = SystemCalls.thread_snapshot(); + + assert!(valid_snapshot(snapshot), "the system thread snapshot can be taken"); + + // SAFETY: the successful snapshot call above returned this newly owned handle. + let snapshot = unsafe { OwnedHandle::from_raw_handle(snapshot) }; + let mut entry = THREADENTRY32 { + dwSize: u32::try_from(size_of::()).expect("the Win32 thread-entry structure size always fits in u32"), + ..Default::default() + }; + + assert!( + SystemCalls.first_thread(snapshot.as_raw_handle(), &mut entry), + "a system-wide thread snapshot has a first entry" + ); + + while SystemCalls.next_thread(snapshot.as_raw_handle(), &mut entry) {} + + let invalid = core::ptr::null_mut(); + + assert!(!SystemCalls.first_thread(invalid, &mut entry)); + assert!(!SystemCalls.next_thread(invalid, &mut entry)); + } + + #[test] + fn system_open_thread_uses_the_requested_identifier() { + // SAFETY: this takes no arguments and returns the calling thread's numeric identifier. + let current = unsafe { GetCurrentThreadId() }; + let opened = SystemCalls.open_thread(current); + + assert!(!opened.is_null(), "the current thread can be opened for resumption"); + + // SAFETY: the successful call above returned this newly owned handle. + drop(unsafe { OwnedHandle::from_raw_handle(opened) }); + + assert!( + SystemCalls.open_thread(u32::MAX).is_null(), + "an impossible thread identifier must not open some other thread" + ); + } + + #[test] + fn system_open_thread_does_not_grant_termination_access() { + let mut command = sleeper(); + let mut child = command.spawn().expect("the child starts suspended"); + let snapshot = SystemCalls.thread_snapshot(); + + assert!(valid_snapshot(snapshot)); + + // SAFETY: the successful snapshot call above returned this newly owned handle. + let snapshot = unsafe { OwnedHandle::from_raw_handle(snapshot) }; + let thread = main_thread(&snapshot, child.id()).expect("the suspended child's thread is listed"); + let opened = SystemCalls.open_thread(thread); + + assert!(valid_handle(opened), "the child thread can be opened for resumption"); + + // SAFETY: `opened` is a live handle to a disposable external child's thread. The + // production access mask deliberately lacks termination rights, so this call fails + // without affecting the child; granting one extra access bit makes it observable. + let terminated = unsafe { TerminateThread(opened, 37) }; + + // SAFETY: the successful open call above returned this newly owned handle. + drop(unsafe { OwnedHandle::from_raw_handle(opened) }); + + if !win32_succeeded(terminated) { + let _killed = child.kill(); + } + let _status = child.wait().expect("the suspended child is reaped"); + + assert!( + !win32_succeeded(terminated), + "the suspend/resume handle unexpectedly granted thread-termination access" + ); + } + + #[test] + fn invalid_handles_make_each_fallible_system_job_call_fail() { + let invalid = core::ptr::null_mut(); + let mut association = JOBOBJECT_ASSOCIATE_COMPLETION_PORT { + CompletionKey: core::ptr::null_mut(), + CompletionPort: core::ptr::null_mut(), + }; + let mut limits: JOBOBJECT_EXTENDED_LIMIT_INFORMATION = + // SAFETY: this Win32 information structure is plain old data. + unsafe { mem::zeroed() }; + + assert!(!SystemCalls.associate_completion_port(invalid, &mut association)); + assert!(!SystemCalls.configure_job(invalid, &mut limits)); + assert!(!SystemCalls.assign_process(invalid, invalid)); + assert!(!SystemCalls.query_accounting(INVALID_HANDLE_VALUE, &mut limits)); + } + + #[test] + fn a_system_completion_read_reports_the_posted_message() { + let completion = SystemCalls.create_completion_port(); + + assert!(!completion.is_null(), "a completion port is created"); + + // SAFETY: the successful call above returned this newly owned handle. + let completion = unsafe { OwnedHandle::from_raw_handle(completion) }; + // SAFETY: the completion handle is live, and a null overlapped pointer is a valid packet + // payload because this test reads only the message and key. + let posted = unsafe { + PostQueuedCompletionStatus( + completion.as_raw_handle(), + JOB_OBJECT_MSG_JOB_MEMORY_LIMIT, + 37, + core::ptr::null_mut(), + ) + }; + + assert!(win32_succeeded(posted), "the completion packet is posted"); + + let (mut message, mut key, mut overlapped) = (u32::default(), usize::default(), core::ptr::null_mut()); + + assert!(SystemCalls.completion_status(completion.as_raw_handle(), &mut message, &mut key, &mut overlapped)); + assert_eq!(message, JOB_OBJECT_MSG_JOB_MEMORY_LIMIT); + assert_eq!(key, 37); + } + /// A child that outlives any test unless something kills it. /// /// `ping` against the loopback address is the one sleep every Windows install has; `timeout` @@ -691,6 +946,27 @@ mod tests { /// Loader failures happen before a child can report anything through its own stderr. #[test] fn the_process_and_its_children_suppress_system_error_dialogs() { + const CHILD: &str = "CARGO_GAMMA_ERROR_MODE_CHILD"; + + if env::var_os(CHILD).is_none() { + let output = Command::new(env::current_exe().expect("the test binary knows its own path")) + .args([ + "--exact", + "job::tests::the_process_and_its_children_suppress_system_error_dialogs", + "--nocapture", + ]) + .env(CHILD, "1") + .output() + .expect("the isolated error-mode test starts"); + let stderr = String::from_utf8_lossy(&output.stderr); + + assert!(output.status.success(), "the isolated error-mode test failed: {stderr}"); + return; + } + + // SAFETY: the isolated subprocess owns its process-wide error mode. + let _previous = unsafe { SetErrorMode(0) }; + suppress_error_dialogs(); // SAFETY: this reads the process's integer error-mode flags and touches no memory. @@ -700,6 +976,52 @@ mod tests { assert_eq!(mode & required, required, "the process still allows a child error dialog"); } + #[test] + fn start_suspended_keeps_an_immediate_child_from_running() { + let job = Job::create(None).expect("a job is created"); + let mut command = Command::new("cmd"); + let _ = command.args(["/C", "exit", "/B", "0"]); + + start_suspended(&mut command); + + let mut child = command.spawn().expect("the child starts suspended"); + + assert!(job.assign(&child), "the suspended child can be assigned"); + thread::sleep(core::time::Duration::from_millis(100)); + assert!( + child.try_wait().expect("the child status can be queried").is_none(), + "the child ran before release" + ); + assert!(release(child.id()), "the child is released"); + assert!(child.wait().expect("the released child exits").success()); + } + + #[test] + fn the_system_resume_call_reports_the_previous_suspension_count() { + let mut command = Command::new("cmd"); + let _ = command.args(["/C", "exit", "/B", "0"]); + + start_suspended(&mut command); + + let mut child = command.spawn().expect("the child starts suspended"); + let snapshot = SystemCalls.thread_snapshot(); + + assert!(valid_snapshot(snapshot)); + + // SAFETY: the successful snapshot call above returned this newly owned handle. + let snapshot = unsafe { OwnedHandle::from_raw_handle(snapshot) }; + let thread = main_thread(&snapshot, child.id()).expect("the suspended child's thread is listed"); + let handle = SystemCalls.open_thread(thread); + + assert!(!handle.is_null(), "the suspended thread can be opened"); + + // SAFETY: the successful open call above returned this newly owned handle. + let handle = unsafe { OwnedHandle::from_raw_handle(handle) }; + + assert_eq!(SystemCalls.resume_thread(handle.as_raw_handle()), 1); + assert!(child.wait().expect("the resumed child exits").success()); + } + /// Closing the last handle to a job takes everything in it. /// /// This is the whole reason Windows containment is simpler than the Unix side: the guarantee @@ -752,6 +1074,33 @@ mod tests { assert!(!usage.1, "a job with no limit reported exhaustion: {usage:?}"); } + #[test] + fn an_unlimited_job_has_no_completion_port_or_memory_limit_flag() { + let job = Job::create(None).expect("a job is created"); + + assert!(job.completion.is_none()); + assert!(job.limit.is_none()); + assert_eq!(flags(&job) & JOB_OBJECT_LIMIT_JOB_MEMORY, 0); + } + + #[test] + fn a_limited_job_installs_its_completion_port_and_memory_limit() { + let job = Job::create(Some(FAULT_TEST_LIMIT)).expect("a limited job is created"); + let mut limits: JOBOBJECT_EXTENDED_LIMIT_INFORMATION = + // SAFETY: the structure is plain old data and the call below overwrites it. + unsafe { mem::zeroed() }; + let queried = SystemCalls.query_accounting(job.handle, &mut limits); + + assert!(queried, "the limited job can be queried"); + assert!(job.completion.is_some()); + assert_eq!(job.limit, Some(FAULT_TEST_LIMIT)); + assert_ne!(flags(&job) & JOB_OBJECT_LIMIT_JOB_MEMORY, 0); + assert_eq!( + u64::try_from(limits.JobMemoryLimit).expect("usize always fits in u64 on Windows"), + FAULT_TEST_LIMIT + ); + } + /// A high-water mark is measurement, not evidence that the next commit was refused. #[test] fn a_peak_equal_to_the_limit_without_a_violation_is_not_exhaustion() { @@ -769,6 +1118,25 @@ mod tests { assert!(usage.1, "{usage:?}"); } + #[test] + fn a_completion_message_is_consumed_once_and_then_remembered() { + let job = Job::create(Some(FAULT_TEST_LIMIT)).expect("a limited job is created"); + let _message = native_faults::arm(NativeCall::MemoryLimitMessage); + + let first = job.usage(); + let second = job.usage(); + + assert!(first.1, "the injected kernel message marks the first reading exhausted"); + assert!(second.1, "the consumed kernel message remains remembered"); + } + + #[test] + fn a_job_without_a_completion_port_cannot_report_a_memory_limit_hit() { + let job = Job::create(None).expect("an unlimited job is created"); + + assert!(!job.memory_limit_was_hit()); + } + #[test] fn parallel_shared_state_job_usage_queries_agree() { let job = Arc::new(Job::create(Some(1024 * 1024 * 1024)).expect("a job is created")); @@ -878,7 +1246,9 @@ mod tests { job.terminate().expect("the live test job can be terminated"); - wait_for_end(&mut child); + let status = child.wait().expect("the terminated child exits"); + + assert_eq!(status.code(), Some(1), "the job termination code is preserved"); } /// The number of kernel handles this process currently holds. @@ -1102,6 +1472,30 @@ mod tests { assert!(!exhausted, "a failed completion-port read invented a limit violation"); } + #[test] + fn in_job_answers_preserve_failure_outside_and_inside() { + assert_eq!(in_job_answer(&JobMembershipQuery { queried: 0, inside: 0 }), None); + assert_eq!(in_job_answer(&JobMembershipQuery { queried: 1, inside: 0 }), Some(false)); + assert_eq!(in_job_answer(&JobMembershipQuery { queried: 1, inside: 1 }), Some(true)); + } + + #[test] + fn in_any_job_distinguishes_an_unassigned_child_from_an_assigned_one() { + let job = Job::create(None).expect("a job is created"); + let mut command = sleeper(); + let mut child = command.spawn().expect("the child starts suspended"); + + assert!( + in_any_job(&child).is_some(), + "the child's pre-assignment containment can be queried" + ); + assert!(job.assign(&child), "the job accepts the child"); + assert_eq!(in_any_job(&child), Some(true)); + + job.terminate().expect("the assigned child can be terminated"); + wait_for_end(&mut child); + } + /// A termination that did not happen is not mistaken for one that did. /// /// The error and the still-live child both show that the injected call did not terminate the diff --git a/crates/cargo-gamma-unsafe/src/lib.rs b/crates/cargo-gamma-unsafe/src/lib.rs index e5e2cd338..2d4083aa1 100644 --- a/crates/cargo-gamma-unsafe/src/lib.rs +++ b/crates/cargo-gamma-unsafe/src/lib.rs @@ -23,45 +23,6 @@ //! measurement, and it stays in `cargo-gamma-lib` where it can be tested without a kernel. This //! crate answers "what can the platform do, and do it"; its caller answers "what should we ask //! for". -// -// Every raw platform call cargo-gamma makes, behind an interface that is safe to call. -// -// # Why this crate exists -// -// Two things the tool has to do have no safe expression in `std`. -// -// **Killing a whole subtree.** A test that shells out to a server, a database or another build -// leaves those behind when the harness above them is cut off. `std` can start a child and kill -// *that* child; it has no way to say "and everything descended from it". Both platforms do — a -// process group on Unix and a job object on Windows — and neither is reachable except through the -// C or Win32 interface. -// -// **Bounding what a subtree allocates.** The same boundary is the only place that can account for -// the whole tree rather than the one process at its root, which on Linux means a cgroup leaf and -// the `pre_exec` hook that puts the child in it before it runs. -// -// Neither is a case of reaching for `unsafe` to go faster. There is no safe version to prefer. -// -// # What this crate promises -// -// **Nothing here is `unsafe` to call.** Every entry point is a safe function, and every obligation -// the platform imposes is discharged inside this crate rather than passed to the caller — with no -// exception, since the one obligation that could not be discharged here, mutating the process -// environment on multithreaded Unix, is not offered at all: a value that has to reach a child -// belongs on that child's `Command`, not on this process. -// -// Concentrating it here is what lets every other crate in the workspace carry -// `#![forbid(unsafe_code)]`, which turns "we reviewed the unsafe code" into a property the compiler -// checks on every build. `cargo-gamma-rt` is the one exception, and only because it is injected -// into the dependency graph of the crate under test and so cannot depend on this crate — or on -// anything else. -// -// # What belongs here -// -// A raw platform call, and the smallest amount of logic needed to make it safe to expose. The -// bounded process lifecycle that composes these calls lives in `cargo-gamma-process`; policy does -// not belong in either crate. What a memory ceiling should be is arithmetic on a baseline -// measurement, and it stays in `cargo-gamma-lib` where it can be tested without a kernel. #[cfg(target_os = "linux")] pub mod cgroup; diff --git a/crates/cargo-gamma-unsafe/src/native_faults.rs b/crates/cargo-gamma-unsafe/src/native_faults.rs index 654a93d91..9ab6a7705 100644 --- a/crates/cargo-gamma-unsafe/src/native_faults.rs +++ b/crates/cargo-gamma-unsafe/src/native_faults.rs @@ -48,6 +48,9 @@ pub(crate) enum NativeCall { /// The completion port cannot be checked for a memory-limit notification. CompletionStatus, + /// The completion port reports a job-memory-limit notification. + MemoryLimitMessage, + /// The job refuses the child it was created for. AssignProcess, @@ -74,17 +77,21 @@ pub(crate) fn fired(call: NativeCall) -> bool { }) } +fn disarm(call: NativeCall) { + ARMED.with_borrow_mut(|armed| { + if let Some(at) = armed.iter().position(|candidate| *candidate == call) { + let _spent = armed.remove(at); + } + }); +} + /// Keeps one fault armed until it fires or this guard is dropped. #[derive(Debug)] pub(crate) struct Armed(NativeCall); impl Drop for Armed { fn drop(&mut self) { - ARMED.with_borrow_mut(|armed| { - if let Some(at) = armed.iter().position(|candidate| *candidate == self.0) { - let _spent = armed.remove(at); - } - }); + disarm(self.0); } } @@ -120,6 +127,15 @@ mod tests { assert!(fired(NativeCall::OpenThread)); } + #[test] + fn faults_do_not_displace_each_other() { + let _snapshot = arm(NativeCall::Snapshot); + let _resume = arm(NativeCall::ResumeThread); + + assert!(fired(NativeCall::ResumeThread)); + assert!(fired(NativeCall::Snapshot)); + } + #[test] fn an_unfired_fault_does_not_outlive_its_guard() { drop(arm(NativeCall::ConfigureJob)); diff --git a/crates/cargo-gamma-unsafe/src/platform_error.rs b/crates/cargo-gamma-unsafe/src/platform_error.rs index e09d30337..3471e63d7 100644 --- a/crates/cargo-gamma-unsafe/src/platform_error.rs +++ b/crates/cargo-gamma-unsafe/src/platform_error.rs @@ -149,6 +149,25 @@ mod tests { ); } + #[test] + fn an_owned_operating_system_cause_is_retained_as_the_error_source() { + let message = String::from("the owned operation failed"); + let error = PlatformError::because( + Situation::Refused, + message.as_str(), + io::Error::new(io::ErrorKind::TimedOut, "owned operating-system cause"), + ); + + assert_eq!(error.to_string(), message); + assert_eq!( + error + .source() + .and_then(|source| source.downcast_ref::()) + .map(io::Error::kind), + Some(io::ErrorKind::TimedOut) + ); + } + /// The debug rendering names every field a diagnostic needs, including the situation a caller /// branches on, so a logged error is not reduced to its sentence. #[test] diff --git a/crates/cargo-gamma-unsafe/src/support.rs b/crates/cargo-gamma-unsafe/src/support.rs index 8d79a97a1..1bc18a247 100644 --- a/crates/cargo-gamma-unsafe/src/support.rs +++ b/crates/cargo-gamma-unsafe/src/support.rs @@ -21,41 +21,34 @@ use crate::Situation; /// no memory controller to hand to children, a kernel missing the interface files a leaf needs, or /// a Unix that is not Linux. This classification describes a host-wide capability limitation /// rather than the failure of one launch. -#[cfg_attr( - windows, - expect( - clippy::missing_const_for_fn, - clippy::unnecessary_wraps, - reason = "the answer is settled at compile time on Windows alone; every other platform has \ - to go and look, and the signature is shared" - ) -)] +#[cfg(target_os = "linux")] pub fn support() -> Result<(), PlatformError> { - #[cfg(target_os = "linux")] - { - crate::cgroup::root() - .map(|_root| ()) - .map_err(|reason| PlatformError::new(Situation::Unsupported, reason)) - } + crate::cgroup::root() + .map(|_root| ()) + .map_err(|reason| PlatformError::new(Situation::Unsupported, reason)) +} - #[cfg(windows)] - { - // A job object needs no delegation and no privilege, and one is created for every child - // already. Whether this particular one can be created is settled per invocation. - // #[gamma::skip(result.ok_to_err, reason = "this compile-time branch is observable only in a Windows build; Linux mutation runs cannot execute it")] - Ok(()) - } +/// Windows job objects need no host-wide preparation. +#[cfg(windows)] +#[expect( + clippy::missing_const_for_fn, + clippy::unnecessary_wraps, + reason = "the cross-platform signature reports unsupported hosts, while Windows support is \ + settled at compile time" +)] +pub fn support() -> Result<(), PlatformError> { + Ok(()) +} - #[cfg(not(any(target_os = "linux", windows)))] - { - // #[gamma::skip(result.err_to_ok, literal.str_to_empty, literal.str_to_xyzzy, reason = "this compile-time branch exists only on unsupported non-Linux, non-Windows targets and cannot be executed by the Linux mutation run")] - Err(PlatformError::new_static( - Situation::Unsupported, - "bounding a test subtree's memory needs cgroup v2 on Linux or a job object on Windows, \ - and this platform offers no unprivileged equivalent that accounts for a whole process \ - tree. An inherited `RLIMIT_AS` is not one: it bounds each process separately, and \ - bounds reserved address space rather than resident memory, so scaling it from a \ - measured peak would stop healthy tests while leaving the runaway case unbounded", - )) - } +/// Other hosts have no unprivileged whole-process-tree memory boundary. +#[cfg(not(any(target_os = "linux", windows)))] +pub fn support() -> Result<(), PlatformError> { + Err(PlatformError::new_static( + Situation::Unsupported, + "bounding a test subtree's memory needs cgroup v2 on Linux or a job object on Windows, \ + and this platform offers no unprivileged equivalent that accounts for a whole process \ + tree. An inherited `RLIMIT_AS` is not one: it bounds each process separately, and \ + bounds reserved address space rather than resident memory, so scaling it from a \ + measured peak would stop healthy tests while leaving the runaway case unbounded", + )) } diff --git a/crates/cargo-gamma/Cargo.toml b/crates/cargo-gamma/Cargo.toml index 838572181..6518693ca 100644 --- a/crates/cargo-gamma/Cargo.toml +++ b/crates/cargo-gamma/Cargo.toml @@ -21,7 +21,7 @@ all-features = true [dependencies] cargo-gamma-lib = { workspace = true } -mimalloc = { workspace = true } +rallocator = { workspace = true } terminal_size = { workspace = true } [dev-dependencies] diff --git a/crates/cargo-gamma/README.md b/crates/cargo-gamma/README.md index 7930f7b4f..50303d0d1 100644 --- a/crates/cargo-gamma/README.md +++ b/crates/cargo-gamma/README.md @@ -74,9 +74,10 @@ A few additional docs of interest: |--------|-------------| |[docs/CMDLINE.md][__link0]|Every subcommand and option, grouped by category.| |[docs/CONFIG.md][__link1]|Every configuration key, with examples.| -|[docs/MUTATORS.md][__link2]|Every mutator and profile, and what each one asks of a suite.| -|[docs/DESIGN.md][__link3]|How the tool works internally.| -|[docs/gamma.toml][__link4]|A fully documented configuration file to copy as a starting point.| +|[docs/MIGRATION.md][__link2]|Breaking changes and upgrade guidance.| +|[docs/MUTATORS.md][__link3]|Every mutator and profile, and what each one asks of a suite.| +|[docs/DESIGN.md][__link4]|How the tool works internally.| +|[docs/gamma.toml][__link5]|A fully documented configuration file to copy as a starting point.| ### Why mutation testing? @@ -125,8 +126,8 @@ mutation testing solutions for Rust, so why use `cargo-gamma`? * **Seamless workflow.** Works with your standard `cargo test` suite or `cargo-nextest`, provides built-in GitHub Actions annotations, and outputs rich interactive HTML reports and SARIF diagnostics. -Why is it called `cargo-gamma` you might ask? Because [gamma radiation][__link5] -induces genetic mutations (ref [The Hulk][__link6]). +Why is it called `cargo-gamma` you might ask? Because [gamma radiation][__link6] +induces genetic mutations (ref [The Hulk][__link7]). ### Getting started @@ -160,16 +161,26 @@ your test suite. In other words, it points out a weakness in your test suite. Once you know what all the surviving mutants are in your codebase, your next task is to add more tests to your test suite to kill those mutants. +After adding those tests, use the completed run’s JSON report to check only the mutants that +genuinely survived: + +```bash +cargo gamma run --only-survivors-from target/cargo-gamma/gamma-report.json +``` + +Mutant identities remain stable when only tests change. Timeout and memory-limit outcomes are +not selected, even though the report format represents them as survived. + ### Mutators `cargo-gamma` supports a large set of mutators. These are selected to represent real-world errors that can emerge in a codebase and should ideally be detected by a codebase’s test suites. -[Mutators][__link7] is the full reference of all mutators, with a table per family, every +[Mutators][__link8] is the full reference of all mutators, with a table per family, every mutator’s academic alias, and a note on what the mutator catalog deliberately omits and why. `cargo gamma list mutators` prints the same thing resolved against your current selection. -A [mutator preset][__link8] groups the catalog by what a mutant disturbs. For example, +A [mutator preset][__link9] groups the catalog by what a mutant disturbs. For example, `@control` includes all the mutators that change which code runs rather than what it computes, and `@numeric` is literal replacement and expression perturbation. @@ -376,19 +387,22 @@ A run computes each mutant’s budget from the unmutated suite, so a fast suite is paid for exactly once, so a build that never finishes costs the whole run; `--build-timeout` and `--build-timeout-multiplier` bound it, and a build that outstays its budget is stopped. -The workspace is copied to `workspace/` under cargo-gamma’s cache before anything is rewritten, -and Cargo artifacts stay beside it in `target/` so repeated runs compile incrementally. -`--cache-dir` moves the reusable state: it gets the copy off a slow or network filesystem. The -path names the cache itself and must be empty on first use; cargo-gamma marks it as belonging to -that workspace and refuses to let another workspace adopt or share it. A workspace-specific lock -in cargo-gamma’s default external cache serializes commands targeting the same original -workspace, while a second lock protects redirected cache state. - -`cargo gamma clean` deletes the workspace-specific cache after taking the same lock as a run. -It leaves published reports under `target/cargo-gamma`, checked-in hints and source suppressions -untouched. - -As soon as a measured run acquires that directory, it truncates its `gamma-progress.log`. Every +The workspace is copied to `workspace/` under cargo-gamma’s external scratch area before +anything is rewritten. By default, Cargo artifacts and campaign state live under +`/cargo-gamma/cache//`, so repeated runs compile incrementally, +shared Cargo target directories keep workspaces separate, and `cargo clean` can reclaim the +potentially large build cache. `--cache-dir` retains the all-in-one layout and moves the +synchronized workspace, build artifacts, and campaign state together. The path names the cache +itself and must be empty on first use; cargo-gamma marks it as belonging to that workspace and +refuses to let another workspace adopt or share it. A workspace-specific lock in cargo-gamma’s +default external scratch area serializes commands targeting the same original workspace, while +a second lock protects redirected cache state. + +`cargo gamma clean` deletes the workspace-specific external scratch and target-resident campaign +cache after taking the same lock as a run. It leaves published reports under +`target/cargo-gamma`, checked-in hints and source suppressions untouched. + +As soon as a measured run acquires its campaign cache, it truncates `gamma-progress.log`. Every mutant verdict is appended and flushed there as it arrives, using the console’s outcome-line format but without color or redraw escapes. Unlike the console, the journal includes ordinary killed mutants as well as survivors, timeouts, memory exhaustion, @@ -412,7 +426,7 @@ every mutant is executed again before it contributes to the score. Reusing unvia the same compiler, Cargo configuration, and build policy plus unchanged compilation inputs. See [What a run remembers](#what-a-run-remembers) for the details; `--incremental no` performs a cold -run. `cargo gamma hints` promotes the parts that cannot move a score into `gamma-hints.json`, +run. `cargo gamma hints` promotes the parts that cannot move a score into `gamma-hints.yaml`, which you can commit so a fresh CI container starts warm. Control how the tree is compiled and how the tests are invoked: @@ -440,7 +454,7 @@ they control the harness: `--skip`, `--test-threads`, `--nocapture`. The last tw destination and are concatenated in the order written, so pick whichever reads better — `--` is shorter and needs no escaping, while `--cargo-test-arg` can be interleaved with other flags, survives being appended to by a wrapper script, and is the form the -[`cargo-test-args`][__link9] configuration key takes, which a file cannot write as a trailing +[`cargo-test-args`][__link10] configuration key takes, which a file cannot write as a trailing `--`. A mutant is usually caught by one test, so a binary is stopped at the first test that announces a @@ -520,7 +534,7 @@ mutant, and that shows up as a red baseline before a single mutant runs. Be aware of what stepping aside costs. A test that returns early on `CARGO_GAMMA` is not deciding anything, so every mutant only that test could have caught is reported as a survivor rather than as uncovered — the score falls, and the reason is invisible. Prefer moving cargo-driving tests into a -test target of their own and naming it to [`--exclude-test`][__link10]: the run +test target of their own and naming it to [`--exclude-test`][__link11]: the run then knows those tests were withheld and says so in the oracle note, instead of silently crediting their absence to your code. @@ -585,7 +599,7 @@ test reaches this code” is a different problem from “the tests that ran it d report never merges them. But *how much* of the code is defended is one number, and code no test reaches is undefended. -The [mutation-testing-elements][__link11] +The [mutation-testing-elements][__link12] schema treats its `Timeout` status as detected. Gamma exports timeout and out-of-memory verdicts as schema `Survived` with a reason that preserves the actual outcome, so the standard report UI computes this same fail-closed score. @@ -1038,7 +1052,7 @@ exclude-trait-impls = ["Debug", "Display"] count = 30 ``` -**[docs/CONFIG.md][__link12] documents every key.** [docs/gamma.toml][__link13] is a +**[docs/CONFIG.md][__link13] documents every key.** [docs/gamma.toml][__link14] is a file listing all of them with their defaults, commented out — copy it and delete what you do not need: @@ -1105,7 +1119,7 @@ Every run writes all three reports without being asked. Normally they are original workspace. [`--artifact-dir`](#controlling-a-run) moves the complete set to another directory and creates it when necessary. `--cache-dir` only relocates internal reusable state. -The JSON is the [`mutation-testing-elements`][__link14] +The JSON is the [`mutation-testing-elements`][__link15] interchange format, which is what the Azure DevOps and GitHub mutation report extensions consume, so no translation step is needed. @@ -1119,8 +1133,9 @@ read and disclose the source and results embedded in the report. Mutation testing with schemas is orders of magnitude faster than rebuilding per mutant because the build is paid once for the entire population. Even so, running thousands of mutants against a large test suite takes time. Improving performance means knowing where time is spent and applying the -right combination of levers: checking in hints for warm CI runs, the default case-level test -selection, incremental runs with `--incremental`, and tuning timeouts and harness options. +right combination of levers: checking in hints for warm CI runs, optional case-level test +selection with `--optimize-test-execution`, incremental runs with `--incremental`, and tuning +timeouts and harness options. #### Where the time goes @@ -1235,32 +1250,57 @@ run or shard whose scores will be compared or merged. Every cold run — such as a fresh CI container where `target/` is not preserved — starts with an empty killer map and an unguided build, on exactly the runs that cost the most. -`cargo gamma hints` promotes the two pieces of information that cannot move a score into a file you +`cargo gamma hints` promotes scheduling information that cannot move a score into a file you can commit: ```bash cargo gamma run # learn killer tests and unviable mutants cargo gamma hints --dry-run # see what would be promoted -cargo gamma hints # write gamma-hints.json +cargo gamma hints # update gamma-hints.yaml ``` -Later runs read `gamma-hints.json` automatically without any command-line flags. Only two -kinds of information are promoted into the hints file, and neither can change an answer: +Later runs read `gamma-hints.yaml` automatically without any command-line flags. Three +kinds of information are promoted into the hints file, and none can change an answer: * **Killer hints** — which test caught each mutant. Canonical binary order is preserved, and the named test narrows its own binary only when filtering cannot replace another outcome. It is run rather than believed, so a stale hint costs one filtered process before falling back to the standard whole-binary sweep. +* **Generalized scheduling hints** — ranked candidate tests for an item, candidate binaries for + a source file, and test sets observed reaching a stable source site. Every candidate is run + again and falls back conservatively when stale; no prior verdict is carried forward. * **Build order** — which mutants failed to compile for whoever promoted the file. These are *not* carried as verdicts. They are spliced in and offered to the compiler first, on their own, so a mutant that really is unviable is blamed in a single probe round without another mutant’s error hiding it. A hint that is wrong produces a mutant that compiles, stays live, and is judged exactly as if it had never been named. +The version-3 YAML layout groups mutants by workspace-relative source file. Within each file, +repeated killer identities are stored once in a table and mutants refer to them by index, so a +large run does not repeat the same path, package, target, and test for every adjacent mutant. +Groups and tables are sorted deterministically for stable reviewable diffs. Ordinary promotion +merges the selected run’s knowledge into the artifact and preserves everything outside that +selection; `--replace` intentionally rebuilds it from only the selected population. Its +`context` contains only the generating repository’s full HEAD SHA and UTC date. These identify +the artifact generation rather than gating hints or attributing retained entries to that commit. +Incremental promotion refuses an existing artifact it cannot understand rather than replacing +unknown knowledge with a partial generation; `--replace` is the explicit permission to discard +it. This includes a newer independently versioned generalized section, whose future fields +cannot be round-tripped by today’s serializer. YAML or legacy JSON changed by another writer +after loading is left intact and reported as a conflict. +Legacy JSON versions 1 and 2 remain readable while YAML is absent and are removed only after a +YAML replacement has been published and verified. Malformed, foreign, and unsupported artifacts +remain safe to ignore. + #### Running only the tests that reach the mutant -By default gamma narrows a mutant to the test cases that actually execute its line, instead of every -test in every binary that links its package. +By default gamma skips the reachability census and runs complete reachable test binaries after +exact and generalized test hints have been tried. Pass `--optimize-test-execution` to +experimentally narrow mutants to the test cases observed executing their sites: + +```bash +cargo gamma run --optimize-test-execution +``` It needs no coverage instrumentation and no second build, because the instrumented tree is already carrying the probe. Every mutation site is a call into the gamma runtime, so running the suite once @@ -1286,17 +1326,16 @@ It also stops sampling a binary once every relevant site is reached by more than because those sites will use the whole binary anyway. Reachability can vary in a suite whose control flow depends on threads, the clock, randomness or -hash iteration order. Use `--whole-test-binaries` for that uncommon case. It skips the census and -runs every selected test in each reachable binary, trading speed for a conservative oracle: +hash iteration order. `--whole-test-binaries` explicitly suppresses case-level selection and +conflicts with `--optimize-test-execution`: ```bash cargo gamma run --whole-test-binaries ``` -The default assumes a test reaches the same code every time it runs. A suite whose control flow +The optimization assumes a test reaches the same code every time it runs. A suite whose control flow turns on threads, the clock, the network or hash iteration order can be censused on a run where some -test did not reach a site it usually does, and the mutant that test would have caught is then -reported as surviving. Only a complete census may exclude tests or establish that a site is +test did not reach a site it usually does. Only a complete census may exclude tests or establish that a site is uncovered. A test positively observed before the economic budget expires is retained only as a checked hint: gamma tries it when filtering cannot replace another outcome, accepts an actual failure as a kill, and otherwise falls back to the whole binary. A failure from a complete census @@ -1331,7 +1370,7 @@ flowchart TD end subgraph Hints [Version Control] - C -->|cargo gamma hints| D[(gamma-hints.json
Checked-in hints)] + C -->|cargo gamma hints| D[(gamma-hints.yaml
Checked-in hints)] end subgraph Run2 [Run N+1 / Fresh CI: Accelerated Sweep] @@ -1344,7 +1383,7 @@ flowchart TD ||Lives in|Lasts|Believed| |-|--------|-----|--------| |The run record|cache `last-gamma-run.json`|Until the cache is deleted|Matching compiler unviability; killer tests are checked hints| -|The hints file|`gamma-hints.json`|Forever, and through review|Never — every hint is checked| +|The hints file|`gamma-hints.yaml`|Forever, and through review|Never — every hint is checked| |A skip directive|Your source|Forever, and through review|Always — you wrote it| The record is the tool’s own memory and it is written on every run. It holds compiler unviability @@ -1358,7 +1397,7 @@ observations that can vary even when every captured input is unchanged, so they a finding into the source, where it is reviewed, committed, and survives a clean checkout. That is a claim you stand behind. Everything in the record — and everything in the hints file, committed or not — is a convenience that must be safe to delete: removing the cargo-gamma cache and -`rm gamma-hints.json` cost you time and nothing else. +`rm gamma-hints.yaml` cost you time and nothing else. #### Diagnosing a slow run @@ -1455,6 +1494,13 @@ most useful thing in the document. The file carries its own `schemaVersion`, independent of the mutation-testing-elements version the JSON report follows, so a diagnostic tool can tell what it is reading. +Its aggregate telemetry is intended to answer whether the algorithms paid off without making the +bundle scale one row per mutant. Build rounds show package-attributed withdrawals against the real +workspace-wide round duration. Census fields show admission size, listing success, estimated walk +cost and admission, sampling work, and evidence completeness. Sweep fields show whole versus narrowed decisions, selected versus available +tests, candidate/probe/hit funnels by hint tier, launches saved, and overlapping package wall spans. +Package CPU totals and wall spans are deliberately separate: concurrent packages can occupy the same +wall-clock interval, and Cargo does not expose a truthful per-package share of a workspace build round. #### What to reach for @@ -1463,7 +1509,7 @@ What to reach for, in rough order of what it costs you: |If the time is going to|Try|What it costs| |-----------------------|---|-------------| |the suite itself|make the suite faster; check for per-test fixtures, sleeps and network calls|nothing| -|cold CI runs starting from scratch|check in `gamma-hints.json` with `cargo gamma hints`|nothing| +|cold CI runs starting from scratch|check in `gamma-hints.yaml` with `cargo gamma hints`|nothing| |the build, on a narrow run|incremental execution (`--incremental`)|nothing| |non-deterministic test reachability|`--whole-test-binaries`|every selected case in a reachable binary is repeated for every mutant| |unviable convergence across checkouts|`cargo gamma hints` or `cargo gamma suppress`|nothing| @@ -1624,16 +1670,17 @@ This crate was developed as part of The Oxidizer Project. Br [__link0]: docs/CMDLINE.md [__link1]: docs/CONFIG.md - [__link10]: docs/CMDLINE.md#full-option-reference - [__link11]: https://github.com/stryker-mutator/mutation-testing-elements - [__link12]: docs/CONFIG.md - [__link13]: docs/gamma.toml - [__link14]: https://github.com/stryker-mutator/mutation-testing-elements - [__link2]: docs/MUTATORS.md - [__link3]: docs/DESIGN.md - [__link4]: docs/gamma.toml - [__link5]: https://en.wikipedia.org/wiki/Gamma_ray - [__link6]: https://en.wikipedia.org/wiki/hulk - [__link7]: docs/MUTATORS.md - [__link8]: docs/MUTATORS.md#mutator-presets - [__link9]: docs/CONFIG.md + [__link10]: docs/CONFIG.md + [__link11]: docs/CMDLINE.md#full-option-reference + [__link12]: https://github.com/stryker-mutator/mutation-testing-elements + [__link13]: docs/CONFIG.md + [__link14]: docs/gamma.toml + [__link15]: https://github.com/stryker-mutator/mutation-testing-elements + [__link2]: docs/MIGRATION.md + [__link3]: docs/MUTATORS.md + [__link4]: docs/DESIGN.md + [__link5]: docs/gamma.toml + [__link6]: https://en.wikipedia.org/wiki/Gamma_ray + [__link7]: https://en.wikipedia.org/wiki/hulk + [__link8]: docs/MUTATORS.md + [__link9]: docs/MUTATORS.md#mutator-presets diff --git a/crates/cargo-gamma/docs/CMDLINE.md b/crates/cargo-gamma/docs/CMDLINE.md index ee579803e..d5906061a 100644 --- a/crates/cargo-gamma/docs/CMDLINE.md +++ b/crates/cargo-gamma/docs/CMDLINE.md @@ -10,6 +10,7 @@ Every subcommand and every option `cargo-gamma` accepts. * [Where settings come from](#where-settings-come-from) * [Passing arguments through](#passing-arguments-through) * [Understanding uncovered mutants](#understanding-uncovered-mutants) +* [Exit status](#exit-status) * [Full option reference](#full-option-reference) * [Accepted by every subcommand](#accepted-by-every-subcommand) * [`gamma run`](#gamma-run) @@ -18,6 +19,8 @@ Every subcommand and every option `cargo-gamma` accepts. * [`gamma suppress`](#gamma-suppress) * [`gamma unsuppress`](#gamma-unsuppress) * [`gamma merge`](#gamma-merge) + * [`gamma hints`](#gamma-hints) + * [`gamma clean`](#gamma-clean) * [`gamma completions`](#gamma-completions) ## Invoking the tool @@ -70,7 +73,7 @@ lives in is usually enough to find it: | **Running tests** | How the suite is executed per mutant: parallelism, timeouts, which test targets may decide a verdict, and which runner. | | **Memory** | The ceiling each test binary runs under, and how it is derived. A mutant can turn bounded allocation into unbounded allocation, which a timeout catches only slowly. | | **Scratch tree** | Where the instrumented copy of the workspace lives, and what is copied into it. | -| **Run control** | What the run does as a whole: gate on a score, resume from a previous run, stop early, or only estimate. | +| **Run control** | What the run does as a whole: gate on a score, reuse safe knowledge from a previous run, stop early, or only estimate. | | **Reporting** | What is written where, and how much detail the console prints. | | **Global options** | Color and progress, accepted by every subcommand. | @@ -113,10 +116,12 @@ cargo gamma run --cargo-arg --offline -- --test-threads=1 ## Understanding uncovered mutants -By default, `uncovered` means no selected runtime test activated that mutation site's gamma guard in -the reachability census. It does not mean that every external coverage report must show the source -line as missed. With `--whole-test-binaries`, no census runs and this case-level classification is -unavailable. +`uncovered` means cargo-gamma obtained complete, deterministic evidence that no selected runtime +test activated the mutation site's guard. That evidence can come from an opted-in reachability +census or from sealed whole-binary observations learned while testing another replacement at the +same stable site. It does not mean that every external coverage report must show the source line as +missed. `--whole-test-binaries` disables deterministic reach narrowing, so this case-level +classification is unavailable. For example, code annotated `#[coverage(off)]` is removed from a coverage tool's denominator but remains production code that gamma mutates. A project can therefore report 100% line coverage while @@ -130,6 +135,41 @@ the coverage job, or use a reviewed [suppression](../README.md#suppressing-mutat is intentionally outside the mutation oracle. Gamma does not automatically exclude `#[coverage(off)]`, because deliberately uncounted code can still contain behavior worth testing. +## Test environment + +Cargo-gamma builds test targets through Cargo and then reuses those binaries directly or through +nextest. Direct launches reproduce Cargo's runtime environment, including package and manifest +metadata, build-script environment and `OUT_DIR`, integration-test `CARGO_BIN_EXE_*` paths, the +selected Cargo/rustup toolchain, the package working directory, and executable and dynamic-library +search paths. With `--nextest`, cargo-gamma supplies the Cargo context and nextest adds its +runner-specific `NEXTEST_*` variables. + +## Exit status + +The process status distinguishes a rejected invocation, a completed campaign whose correctness +gate failed, and a campaign that could not obtain a complete answer: + +| Status | Meaning | +| ---: | --- | +| `0` | The command completed and every requested gate or expectation passed. Help and version also return success. | +| `1` | The command line, configuration, or effective selection was invalid. | +| `2` | The command completed, but a score gate or source expectation failed, or a requested gate had no complete population to grade. | +| `3` | The command could not proceed or could not produce the requested complete result. | +| `70` | An internal cargo-gamma panic reached the top-level boundary. | + +Without `--min-score`, an empty or partially completed population does not by itself become a score +gate failure. Build convergence that leaves stuck mutants is still status `3`, because the selected +population was not built completely enough to answer. + +A failing baseline also returns status `3`. Cargo-gamma lets completing baseline binaries report +all their test failures, writes each failure under +`target/cargo-gamma/baseline-failures///` (or the equivalent beneath +`--artifact-dir`). It prints a platform-native `Wrote` path for the canonical diagnostics and each +failure's `failure.json` and `diags.json`, then one aggregate error directing the reader there. A +new build clears that directory first, so every retained record belongs to the current run. Because +the instrumented build has already converged before baselining, these diagnostics retain the full +mutant population and its known unviable and still-pending outcomes even when the baseline fails. + ## Full option reference `--help` and `--version` are accepted everywhere and are omitted below. Options marked with a @@ -168,6 +208,7 @@ cargo gamma run [OPTIONS] [-- ...] | `-p`, `--package` | `` | Only mutate these packages. Defaults to Cargo's package selection for the current directory. | | `--workspace` | | Mutate every package in the workspace. | | `--error` | `` | Additional values for `fn_value.err_with`, which replaces a function body with `Err(...)`. | +| `--only-survivors-from` | `` | Run only mutants that genuinely survived in this cargo-gamma report. | **Cargo features** @@ -198,6 +239,7 @@ cargo gamma run [OPTIONS] [-- ...] | `--exclude-test` | `` | Do not let these test targets decide a verdict. | | `--nextest` | | Run test binaries through `cargo nextest` for per-test process isolation. | | `--test-workspace` | | Let every workspace package's tests decide a verdict. | +| `--optimize-test-execution` | | Measure which individual tests reach each mutation site before testing mutants. | | `--whole-test-binaries` | | Run every selected test in each reachable test binary. | **Memory** @@ -345,6 +387,7 @@ cargo gamma suppress [OPTIONS] [-- ...] | `-p`, `--package` | `` | Only mutate these packages. Defaults to Cargo's package selection for the current directory. | | `--workspace` | | Mutate every package in the workspace. | | `--error` | `` | Additional values for `fn_value.err_with`, which replaces a function body with `Err(...)`. | +| `--only-survivors-from` | `` | Run only mutants that genuinely survived in this cargo-gamma report. | **Cargo features** @@ -375,6 +418,7 @@ cargo gamma suppress [OPTIONS] [-- ...] | `--exclude-test` | `` | Do not let these test targets decide a verdict. | | `--nextest` | | Run test binaries through `cargo nextest` for per-test process isolation. | | `--test-workspace` | | Let every workspace package's tests decide a verdict. | +| `--optimize-test-execution` | | Measure which individual tests reach each mutation site before testing mutants. | | `--whole-test-binaries` | | Run every selected test in each reachable test binary. | **Memory** @@ -570,6 +614,7 @@ cargo gamma hints [OPTIONS] | Option | Value | What it does | | --- | --- | --- | | `--dry-run` | | Report what would be promoted without writing anything. | +| `--replace` | | Replace the complete hints artifact instead of merging the selected population into it. | ### `gamma clean` diff --git a/crates/cargo-gamma/docs/CONFIG.md b/crates/cargo-gamma/docs/CONFIG.md index 02140b226..ed90c2d82 100644 --- a/crates/cargo-gamma/docs/CONFIG.md +++ b/crates/cargo-gamma/docs/CONFIG.md @@ -43,12 +43,35 @@ ones that look identical do not always mean the same thing, so reading it would silently differs from what either tool would do. It is unsupported; configure Gamma independently in `gamma.toml`. When it is present and `gamma.toml` is not, the tool says so. -`gamma-hints.json` may sit beside it. It is not configuration and has no keys: it is a -generated artifact written by `cargo gamma hints`, holding the parts of a previous run that cannot -move a score — which test caught which mutant, and which mutants failed to compile — so that a fresh -checkout starts warm instead of cold. Runs read it automatically and it needs no setting here. See +`gamma-hints.yaml` may sit beside it. It is not configuration and has no user-editable settings: it +is a generated artifact written by `cargo gamma hints`, holding the parts of previous runs that +cannot move a score. Ordinary promotion merges exact killers, generalized item/file candidates, +reaching-test sets, and compiler-unviability ordering into the existing workspace artifact. +Knowledge outside a package, file, diff, feature, or mutator selection is preserved; pass +`--replace` only to rebuild the artifact from the selected population intentionally. + +Candidate tests are executed again rather than trusted as verdicts, so a fresh checkout starts warm +without carrying a score forward. Format version 3 groups mutants by workspace-relative source +file and stores each repeated killer identity once in that file's killer table; mutant entries +refer to the table by index. Its `context` contains only the full `repo_sha` at generation time and +the UTC `generated_on` date. These fields describe artifact provenance and do not gate hints or +claim that retained entries originated at that revision. No-op promotion preserves the date and +bytes. + +Runs read the artifact automatically and it needs no setting here. Legacy JSON versions 1 and 2 +remain readable only while `gamma-hints.yaml` is absent. The next successful promotion writes YAML +and removes the JSON file after verifying its replacement. Malformed artifacts, unsupported +versions, and artifacts whose producer is not cargo-gamma are ignored safely. See [checking in the hints file](../README.md#checking-in-the-hints-file). +Explicit promotion is stricter than automatic reading. Ordinary promotion refuses a malformed, +foreign, or unsupported existing generation rather than silently replacing knowledge it cannot +round-trip. `--replace` permits discarding that unsupported knowledge, but it does not disable +publication safety: the command still compares the exact YAML and legacy JSON bytes it read, leaves +a concurrently written generation alone, writes atomically, and verifies the published artifact +before deleting migration input. An unreadable or over-limit existing file is never overwritten +implicitly, even with `--replace`. + ## How settings combine Three sources, later beating earlier: @@ -196,8 +219,12 @@ test-packages = ["my-integration-tests"] # Default: false. test-workspace = false -# Disable the default case-level reachability census and run each reachable test binary whole. +# Experimentally measure case-level reachability before testing mutants. # Default: false. +optimize-test-execution = false + +# Explicitly suppress case-level selection and run each reachable test binary whole. +# This conflicts with optimize-test-execution. whole-test-binaries = false # Test target name globs that may or may not decide a verdict. @@ -222,18 +249,19 @@ not merely slower under a threaded harness; it is red, and a red baseline stops still judged against binaries this run built itself, so nextest never invokes cargo and a mutant costs one extra process rather than one extra build. -By default gamma considers a case-level census for test binaries that can reach selected pending -mutants. It measures listing startup cost and skips the census when its projected process-launch cost -cannot repay the maximum test work it could save. A census that proceeds is bounded by that same -maximum saving, and sampling stops early when every relevant site already reaches more than half the -binary's tests and would therefore use the whole binary. +By default gamma performs no case-level census: exact and generalized probes still run first, and +anything they do not kill falls back to the complete reachable test binary. Set +`optimize-test-execution = true` (or pass `--optimize-test-execution`) to enable the experimental +census. The opt-in still passes through an economic gate: gamma measures listing startup cost and +skips sampling when its projected process-launch cost cannot repay the maximum test work it could +save. A census that proceeds is bounded by that same maximum saving, and sampling stops early when +every relevant site already reaches more than half the binary's tests. Only a complete census may exclude tests or establish that a site is uncovered. Positive reach observations from a budget-limited census are checked hints: the named cases run first, and any result -other than a kill falls back to the whole binary. Failed samples are discarded. Set -`whole-test-binaries = true` (or pass `--whole-test-binaries`) when reachability depends on threads, -clocks, randomness or hash iteration order. The opt-out keeps target and package filters intact; it -only stops filtering reachable binaries down to individual cases. +other than a kill falls back to the whole binary. Failed samples are discarded. +`whole-test-binaries = true` (or `--whole-test-binaries`) explicitly forbids case-level selection +and conflicts with the census opt-in. Both modes keep target and package filters intact. ## Baseline diff --git a/crates/cargo-gamma/docs/DESIGN.md b/crates/cargo-gamma/docs/DESIGN.md index 8935adce3..16758254d 100644 --- a/crates/cargo-gamma/docs/DESIGN.md +++ b/crates/cargo-gamma/docs/DESIGN.md @@ -236,6 +236,22 @@ For `cfg_attr`, a definitely false predicate leaves the nested directive inactiv predicate applies it, and an unknown predicate applies it conservatively rather than manufacturing a survivor the author believed suppressed. +The same selector language also supports `#[gamma::expect_survived(...)]` and +`#[gamma::expect_killed(...)]`, with equivalent comment spellings for statements and expressions. +These are assertions about the test oracle, not suppressions: governed mutants still run and still +count normally. Once a governed mutant has a score-bearing outcome, a disagreement fails the +campaign's correctness gate. `expect_killed` requires `killed`; +`expect_survived` accepts every undetected outcome — `survived`, `uncovered`, `timeout`, or +`outofmem` — because its assertion is that the suite did not detect the mutant, not that execution +completed normally. Unviable, ignored, not-built, flaky, and pending mutants prove neither +expectation. An expectation that currently governs no mutant is not reported as an idle +suppression. + +`#[gamma::test_timeout_multiplier(...)]` and its `timeout_multiplier` compatibility spelling apply +a positive per-site multiplier to the normal baseline-derived timeout. They change how long the +mutant is allowed to run, not how it is scored, and may be combined with a skip or expectation +directive only when the site states one unambiguous multiplier. + Every uncertainty fails toward **keeping** work. Running an unnecessary mutant costs time; silently dropping a valid mutant improves the score without evidence. @@ -346,40 +362,92 @@ specific replacement that caused it. ## The scratch workspace -The checkout is never instrumented in place. cargo-gamma maintains a scratch area containing: +The checkout is never instrumented in place. cargo-gamma maintains two coordinated scratch areas. +The external per-workspace area contains: - a synchronized source workspace under `workspace/`; - the vendored guard runtime; +- the stable process-held workspace lock. + +A configured platform cache home that physically resolves inside the original workspace is +refused. In the split layout the source walk excludes the target-resident campaign cache, not the +external scratch destination; accepting that placement would let an all-files copy recurse into +the workspace it is creating. + +The resolved Cargo target directory contains +`cargo-gamma/cache//`, which contains: + - Cargo build artifacts under `target/`; -- incremental campaign records and transient execution data. +- incremental campaign records and transient execution data, including census files, + `last-gamma-run.json`, and `gamma-progress.log`. Normal runs publish `gamma-report.json`, `gamma-report.html`, `gamma-report.sarif`, `gamma-perf-advice.md`, and `gamma-diagnostics.json` under the original workspace's -`target/cargo-gamma/`. `last-gamma-run.json` and `gamma-progress.log` remain cache state. An explicit -`--cache-dir` relocates only reusable cache state. `--artifact-dir` relocates all five published -artifacts together, and its directory is created when absent. - -Those five files are the completed-run set. A baseline that fails before a campaign can complete -instead publishes `baseline-failure.json` and `gamma-diagnostics.json`. The baseline record uses -`schemaVersion: 1` and records the failure kind and reason; package, target, runner, executable, and -working directory; cargo-gamma's explicit environment overrides; failing and last-observed tests; -termination, elapsed time, budget, peak, and memory limit; and safely encoded stdout and stderr -tails. Each stream retains at most 64 KiB and 2,000 lines, and the record says when output was -truncated. Both early-failure artifacts are written before the failed scratch workspace is removed. +`target/cargo-gamma/`. `last-gamma-run.json` and `gamma-progress.log` remain reusable cache state +rather than published artifacts. An explicit `--cache-dir` retains the all-in-one layout and +relocates the synchronized workspace, Cargo artifacts, and campaign state together. `--artifact-dir` +relocates all five published artifacts together, and its directory is created when absent. + +The diagnostics bundle contains aggregate algorithm-health telemetry rather than one row per +mutant. Build rounds attribute newly withdrawn mutants to packages while retaining the round's +actual workspace-wide elapsed time; they do not invent per-package build durations. Census +telemetry records candidate binaries and sites, listing attempts and successes, the estimated walk +cost and economic-gate decision, sample launches, and complete versus partial evidence. Sweep +telemetry records whole, case-selected, hinted-fallback, and uncovered +decisions; named tests available and selected; exact and generalized candidate/probe/hit funnels +split into item, reach, file, and census tiers; and each package's first mutant start and final +completion relative to the sweep start. Package CPU time remains in the package breakdown, while +the package sweep span is wall time and may overlap other packages under concurrency. + +Those five files are the completed-run set. Before a build starts, cargo-gamma removes the prior +`baseline-failures/` tree; inability to remove it stops the run so stale records cannot be mistaken +for current failures. A baseline failure publishes one stable, filesystem-safe directory per +failed test beneath +`baseline-failures///tests//`. Unnamed binary-level failures use +categorical leaves such as `timeout`, `out-of-memory`, `enumeration-failure`, +`environment-failure`, and `anonymous-failure`. Components are length-bounded and valid on Windows +and Unix. The common path stays readable; when sanitized, truncated, case-folded, or duplicate +identities collide, a short BLAKE3 suffix derived from package, target, package-id, executable, +failure kind, and test identity disambiguates them deterministically. Each failure directory +contains `failure.json` and `diags.json`. + +The baseline record uses `schemaVersion: 1` and records the failure kind and reason; package, +target, runner, executable, and working directory; cargo-gamma's explicit environment overrides; +failing and last-observed tests; termination, elapsed time, budget, peak, and memory limit; and +safely encoded stdout and stderr tails. Each stream retains at most 64 KiB and 2,000 lines, and the +record says when output was truncated. Direct libtest baselines run to completion within their time +and memory budgets instead of stopping at the first `FAILED` announcement, so every named failure +and libtest's trailing captured output are retained. Mutant attempts still stop at the first +killing test. All retained binaries settle before one concise aggregate error reports the failure +count and directs the reader to `baseline-failures/`. The canonical diagnostics and each +successfully published `failure.json` and `diags.json` are announced with a `Wrote` line using the +platform's native path separator, while the verbose per-failure summaries are not repeated. Both +early-failure artifacts are written before the failed scratch workspace is removed. +The diagnostics retain the settled plan from the completed instrumented build, so population, +unviable, pending, mutator, and package data already known before the baseline failure are not +replaced by an empty survey skeleton. The source tree preserves symlinks and honors workspace ignore rules. Relative path dependencies that leave the workspace are anchored to their original locations so moving the workspace does not change Cargo's dependency graph. +The 0.3 compatibility boundary and adopter actions are recorded in +[the migration guide](MIGRATION.md). In particular, case-level census is +opt-in, whole-binary mode explicitly disables case selection, promoted hints +use YAML, and baseline failures use a per-failure directory tree. + Only one cargo-gamma command may operate on an original workspace at a time. A process-held lock in -that workspace's default external cache applies even when `--cache-dir` redirects reusable state. +that workspace's default external scratch area applies even when `--cache-dir` redirects reusable state. Conditional source, configuration, and hints publication uses this lock on every platform, so Windows never needs persistent sibling lock files in the checkout. -The default cache base lives under the user cache directory as `cargo-gamma/`, where the -identity is the first sixty-four bits of the BLAKE3 digest of the resolved physical workspace root, -rendered as sixteen hex characters. Filesystem aliases of the same existing root therefore share -one cache and lock domain. The algorithm is pinned by cargo-gamma rather than borrowed from the +The default external scratch base lives under the user cache directory as +`cargo-gamma/`. The target-resident campaign base is +`/cargo-gamma/cache/`. The identity is the first sixty-four bits of the +BLAKE3 digest of the resolved physical workspace root, rendered as sixteen hex characters. +Filesystem aliases of the same existing root therefore share one cache and lock domain, while +workspaces configured to share a Cargo target directory retain separate campaign state. The +algorithm is pinned by cargo-gamma rather than borrowed from the standard library's default hasher, which is explicitly free to change between releases: this name is where the lock serializing every source-changing command for one workspace lives, so two binaries that derived different names for one workspace would rewrite one tree concurrently while each @@ -389,6 +457,13 @@ landing on the same name is refused with a usage error naming both roots and sug `--cache-dir`. An unmarked cache containing anything other than the lock created while claiming it is refused rather than adopted. +Before creating, claiming, or cleaning default state, cargo-gamma independently verifies both +derived paths. The external scratch must be an identity directory directly beneath the dedicated +`cargo-gamma` namespace; the campaign cache must be the same identity directly beneath +`/cargo-gamma/cache`. A malformed path is refused before a lock, ownership marker, +synchronized workspace, Cargo target, or removal can touch it. These checks are deliberately +separate from path construction so a defect there cannot redefine what counts as a valid cache. + An explicit `--cache-dir` names the cache base itself and must be empty on first use. cargo-gamma writes an ownership marker tying it to the original workspace and takes a second process-held lock for that cache. An unmarked non-empty directory and a cache owned by another workspace are refused @@ -417,7 +492,7 @@ access-control lists (ACLs), which the standard library does not expose, so carg ownership test there and claims none; a redirected cache on Windows is trusted exactly as far as the directory the user named is. -Successful campaigns retain the synchronized tree and build artifacts. A later campaign performs a +Successful campaigns retain the external synchronized tree and target-resident build artifacts. A later campaign performs a delta synchronization: - byte-identical inputs remain untouched, preserving Cargo's incremental state; @@ -425,10 +500,12 @@ delta synchronization: - inputs removed from the checkout are removed from the cached workspace; - generated artifacts remain outside the synchronized source tree. -`cargo gamma clean` takes the campaign lock and removes the current workspace-specific cache -contents. It does not remove published reports under `target/cargo-gamma`, durable hints, or source -suppressions. The cleaned directory is named in the output; a workspace with nothing cached is -told so. Cache identity uses the current stable naming scheme without a migration path. +`cargo gamma clean` takes the campaign lock and removes both the current workspace-specific +external scratch contents and target-resident campaign-cache contents. It preserves the external +lock and ownership markers and does not remove published reports under `target/cargo-gamma`, +durable hints, or source suppressions. Both cache locations are named in the output; a workspace +with nothing cached is told so. Cache identity uses the current stable naming scheme without a +migration path, and state from the former all-external layout is neither read nor migrated. Correct invalidation is more important than avoiding a copy. Preserving an old timestamp on changed bytes could let Cargo reuse an artifact compiled from stale source. @@ -441,8 +518,16 @@ so tests in unrelated workspace packages are not presented as costs of the run. ### Baseline -The unmutated test binaries run first. A red baseline stops the campaign: if a test already fails, -every mutant appears detected and the mutation score becomes meaningless. +The unmutated test binaries run first. Direct libtest binaries are allowed to complete after a +failure announcement, within the existing time and memory budgets, so one pass discovers every +failure the harness reports and retains its final panic and captured-output section. A test-failing +binary receives one clean retry so that a transient host or tool failure does not discard an +otherwise valid campaign; failures observed across the attempts remain represented. Timeouts, +stalls, resource failures, and infrastructure failures are not retried because repeating them +cannot establish a trustworthy calibration. A terminal failure does not cancel other retained +binaries: all settle, then one error reports the failure count and artifact directory. The red +baseline still stops the campaign before mutants run, because a test that already fails makes every +mutant appear detected and the mutation score meaningless. The baseline also measures: @@ -456,18 +541,29 @@ independent constant. The baseline and mutant runs use the same harness and exec ### Harnesses By default, cargo-gamma launches libtest binaries directly. Direct launch avoids invoking Cargo for -every mutant. +every mutant. Before the first launch, cargo-gamma reconstructs Cargo's test-process environment +once from the successful build stream and `cargo metadata`. Each binary receives its package's +`CARGO_MANIFEST_*` and `CARGO_PKG_*` values, build-script `OUT_DIR` and `rustc-env` values, and, +for integration tests and benchmarks, `CARGO_BIN_EXE_*` paths. The shared environment carries the +Cargo and rustup toolchain selection and reproduces Cargo's executable and dynamic-library search +paths. Test listing, the baseline, and mutant attempts all use that same environment. Nextest mode provides process isolation for suites that cannot run safely on libtest's shared threaded process. cargo-gamma prepares nextest's description of the already-built binaries once, then reuses it; allowing nextest to rebuild for every mutant would reintroduce compilation into the -inner loop. +inner loop. Cargo-gamma supplies the same Cargo package and toolchain context to nextest, while +nextest remains responsible for its runner-specific `NEXTEST_*` values and may normalize values +according to its own compatibility contract. ## Selecting only tests that can matter After removing per-mutant builds, test execution is the dominant cost. cargo-gamma narrows it using evidence that preserves the verdict. +The complete operational sequence—from loading hints through census admission, mutant queue +construction, and per-mutant test selection—is summarized in +[Scheduling](SCHEDULING.md). + ### Package reachability By default, each mutant is judged only by test binaries from the package that owns it. A @@ -476,8 +572,18 @@ letting reverse dependents improve another package's score. `--test-package` nam oracle, and `--test-workspace` admits every workspace package. Within the admitted package set, a test binary cannot execute code it does not link. The Cargo -dependency graph identifies binaries that cannot reach a mutated package, and those binaries are -omitted. Uncertain relationships are treated as reachable. +dependency graph first identifies binaries that cannot reach a mutated package. Cargo Gamma then +interposes on the successful preflight's rustc invocations and combines their exact artifact, +primary-source, dependency-file, and `--extern` relationships with Cargo's artifact messages. Test +targets proven not to link any pending mutated source are omitted from subsequent builds, baseline +measurement, census, and mutant judgement. + +Compiler capture is an optimization, never an oracle by itself. A missing or corrupt capture, +ambiguous artifact association, unsupported target kind, opaque path dependency, or untraceable +workspace `--extern` abandons target-level narrowing and retains package-level behavior. If a build +using exact Cargo target selectors fails, the same build is retried with all test targets before +the failure can affect a verdict. Unknown relationships therefore run or build more tests; they +never hide one. ### Guard census @@ -485,23 +591,36 @@ Package reachability is coarse: many tests link a crate but never execute a part guard runtime therefore has a census mode in which guards record that their sites were reached while always returning the original branch. +The census is an experimental optimization disabled by default. Passing +`--optimize-test-execution`, or setting `optimize-test-execution = true`, requests it; the request +still has to pass the economic gate below. A default run performs no census listing or sampling. +Exact killer hints, persisted generalized reach hints, and in-run item/file learning remain active, +and anything they do not kill conservatively falls back to the complete reachable binary. +`--whole-test-binaries` explicitly suppresses all case-level selection and conflicts with the +census opt-in. Diagnostics distinguish a disabled census from one declined by the economic gate, +and distinguish incomplete checked-hint evidence from a complete census. + Only test binaries that can reach selected pending mutants are census candidates, and only those -mutants' sites are retained. Each test is run separately when the census proceeds. Its recorded site -set becomes the exact candidate set for that test under deterministic execution: +mutants' sites are retained. The census first runs deterministic groups: top-level libtest module +prefixes when test names expose a hierarchy, or stable contiguous chunks otherwise. A group's +recorded sites are conservatively attributed to every test in that group. Mixed groups are +subdivided only when their measured launch cost is clearly less than the remaining mutant work +that finer attribution could save. This produces the same safe relation as an exact per-case walk: - if the baseline test reaches a site, it can observe that site's mutant; - if it does not reach the site, activating the site cannot change anything before the site is reached, so that test remains irrelevant. -Case selection must pay for itself. Listing launch time is multiplied by the number of listed cases -as a startup-cost estimate. The census is skipped when that estimate is at least the serial upper -bound on everything selection could save: one whole baseline duration per reachable -mutant/binary pair. If it proceeds, that upper bound is also the census deadline. Sampling a binary -stops once every selected site has been reached by more than half its tests, because the sweep would -run that binary whole for every such site regardless of further attribution. +Case selection must pay for itself. Listing launch time and observed group costs estimate the +sampling work. The census is skipped when that estimate is at least the serial upper bound on +everything selection could save: one whole baseline duration per reachable mutant/binary pair. If +it proceeds, that upper bound is also the census deadline. Refinement stops when its extra launches +cannot conservatively repay themselves, or once every selected site has been attributed to more +than half the suite, because the sweep would run that binary whole for those sites regardless. -Only a complete, non-empty census can exclude a test or establish that a site is uncovered. Positive -reach observations collected before the deadline are retained as checked hints. A filtered census +Only a complete, internally consistent census hierarchy can exclude a group or establish that a +site is uncovered. Positive reach observations collected before the deadline, or before a failed +or inconsistent subdivision, are retained as checked hints. A filtered census failure is provisional and the whole binary is rerun before assigning its canonical outcome, because filtering changes runtime, peak memory, and failure order. Incomplete-census cases run first only when filtering cannot bypass another outcome from that binary, and any result other than @@ -537,6 +656,34 @@ binary cannot instead produce a resource, confirmation-flake, or metering outcom cannot be used or does not convict, normal testing continues. Stale hints can waste work but cannot settle or change a verdict. +Learning generalizes successful exact probes within one run and across promoted run records. Exact +tests learned from the same `(source file, enclosing item)` are ranked ahead of test binaries that +killed another mutant in the source file. Hits, misses, and observed cost rank candidates; two +misses demote an atypical candidate. + +Workers choose mutants at assignment time rather than advancing through a fixed queue. The first +unhinted assignment for an item is its scout. While it runs, workers prefer files with no active +mutant and then inactive items in the least-contended file. If only still-cold siblings of that +active item remain, workers wait on a scheduler state change instead of starting redundant work or +sleeping for a duration. The scout publishes its exact-test and file/reach learning before releasing +the reservation, so every awakened sibling sees the result. Hinted work is already informed and may +share an active item. + +The durable generalized-hint schema stores those item and file rankings plus interned census reach +sets keyed by stable source-site identity. It is independently versioned and shared by the run +record and checked-in hints artifact. Unsupported generalized tiers are ignored without discarding +exact per-mutant probes. Diagnostics report candidates, attempts, and hits separately for exact +mutant hints and for generalized item, reach, file, and census tiers. Every generalized candidate +is rerun before use; persistence never turns reach or historical ordering into a verdict. + +Ordinary mutant launches reuse the census wire protocol to report whether the active guard was +reached, without another subprocess. Positive observations promote that binary for later mutants +in the same item or file. A sealed, passing, whole-binary observation that did not reach the guard +may exclude that binary only for another replacement of the exact same stable source site, and only +while deterministic reach narrowing is enabled. Filtered, failed, incomplete, or nondeterministic +observations never establish absence. Reports count launches avoided by sweep-derived reach +evidence separately from other learned-order savings. + The first observed test failure settles a mutant, so remaining tests are stopped. This is safe only when harness output is unambiguous; modes that interleave user output with harness protocol disable early interpretation and fall back to the process exit status. @@ -640,7 +787,7 @@ SARIF findings, and incremental records. ### Incremental knowledge -The scratch area stores facts and hints learned by an earlier campaign: +The target-resident campaign cache stores facts and hints learned by an earlier campaign: | Knowledge | How it is reused | Why it is safe | |---|---|---| @@ -665,7 +812,24 @@ hash the workspace, or load a prior campaign record. Build-order and killer hints can be promoted into a version-controlled artifact because they never settle a verdict without being checked. Deleting that artifact can cost time but cannot change the -answer. +answer. `gamma-hints.yaml` groups exact hints by source file and interns repeated killer identities. +Ordinary promotion updates knowledge produced by the selected run and preserves everything else; +`--replace` is the explicit request to rebuild from only that selected population. The artifact's +context is provenance, not an admission gate: it records the repository HEAD SHA and UTC generation +date, while every retained hint remains subject to execution or compilation. + +Automatic hint consumption remains best-effort: malformed or unsupported knowledge is ignored +because an optimization cannot be allowed to stop a run. Explicit incremental promotion has the +opposite failure policy. It refuses an existing artifact it cannot understand rather than replacing +unknown knowledge with a partial generation; `--replace` is the explicit permission to discard it. +That refusal includes an unsupported independently versioned generalized section, whose future +fields cannot be preserved by today's typed serializer. Publication and legacy migration cleanup +compare against the exact YAML and JSON bytes used for the merge, so another writer's intervening +generation causes a conflict instead of being overwritten. + +Legacy JSON formats remain read-only migration inputs while no YAML artifact exists. YAML is +published atomically and read back before the JSON input is removed, so interruption cannot leave +the workspace without a complete artifact. Suppression is different. It is a reviewed policy decision and therefore lives in source or configuration, not in an ephemeral cache. A cache directory must always be safe to delete without @@ -738,6 +902,11 @@ One verdict model feeds every output surface: - the diagnostics bundle records campaign phases and measurements; - the progress journal preserves completed verdict lines if a campaign is interrupted. +`--only-survivors-from` reads a compatible cargo-gamma JSON report and intersects its genuine +survivor IDs with the population discovered from the current source. Timeout and memory-limit +outcomes are not selected even though the interchange schema exports them as `Survived`. This +supports focused confirmation after tests are added without carrying any prior verdict forward. + Command help follows the workspace Cargo-tool convention: green bold headings and usage, cyan bold literals, cyan placeholders, and package author/version metadata. @@ -778,6 +947,13 @@ local to the run. Reports are projections, not independent calculations. The console, JSON, HTML, merged report, and score gate must agree because they consume the same outcomes and scoring rules. +Process exit status is another projection of that model: `0` means the command and every requested +gate or expectation passed, `1` is invalid usage or configuration, `2` is a completed command whose +correctness or score gate failed, `3` means the requested answer could not be completed, and `70` +marks an internal cargo-gamma panic. A score gate also fails with `2` when the denominator is empty +or selected mutants remain pending; without a score gate those states are reportable results rather +than implicit grading policy. + Limits imposed by CI platforms are explicit. Truncating annotations or SARIF silently would make a successful upload look like the complete result. @@ -829,9 +1005,33 @@ that cannot supply what it needs. A test that returns early and reports success the coverage, not just the absence of the capability. Tests that change process-wide state which cannot be restored — an interrupt registry that has been -told a run is ending, a fixed set of watch slots — run in a process of their own. Left in the shared -one, they decide what unrelated tests are able to do next, and which tests those are depends on the -harness's scheduling rather than on anything the suite states. +told a run is ending, a fixed set of watch slots — must run in a process of their own or against an +isolated injected instance. Left in the shared one, they decide what unrelated tests are able to do +next, and which tests those are depends on the harness's scheduling rather than on anything the +suite states. The remaining production-handler isolation gap is tracked explicitly in +[TODO.md](TODO.md#t1-isolate-tests-from-the-production-interrupt-registry). + +### Live completion estimate + +The testing progress display estimates remaining work rather than extrapolating from the number of +mutants completed. Before workers start, each pending mutant is priced from the same reachable +binary baselines, census selections, durable killer hints, timeout budgets, and confirmation policy +used by scheduling. Exact probes, selected tests, hinted fallbacks, whole-binary work, and +zero-work uncovered sites retain separate calibration because their costs differ materially. + +Worker start events distinguish queued work from work already in flight. Time already spent by an +active worker is subtracted from that mutant's predicted service time, while an active mutant that +has outlived its ordinary estimate retains a resource-exhaustion tail in the high estimate. +Predicted residuals are assigned across the configured worker lanes and the longest lane determines +the displayed wall-time tail; a serial workload is not merely divided by the job count. + +Completed mutants calibrate killed, full-suite, and timeout or memory-limit outcomes independently. +A bounded-memory exponentially weighted observation gives recent results more influence when the +campaign's cost composition changes. The measured pre-sweep model remains a prior, so a few unusual +results cannot immediately dominate it; as representative evidence accumulates, observed outcome +shares and service times narrow and move the range. No estimate is shown until either enough +predicted work or a larger minimum population has completed. The display presents a low-to-high +range while meaningful uncertainty remains instead of implying point accuracy. ## Costs and limitations diff --git a/crates/cargo-gamma/docs/IMPLEMENTATION.md b/crates/cargo-gamma/docs/IMPLEMENTATION.md index 1c6ab173a..0ccd7908d 100644 --- a/crates/cargo-gamma/docs/IMPLEMENTATION.md +++ b/crates/cargo-gamma/docs/IMPLEMENTATION.md @@ -10,13 +10,40 @@ The binary implements the real terminal host and calls direct and Cargo subcommand argument shapes, then compare its complete version output with the package version. +The command layer normalizes Cargo's inserted `gamma` argument and inserts +`run` only for a bare option-first invocation. Clap owns syntax and generated +help; configuration is resolved afterward so split settings such as shard count +in `gamma.toml` and shard index on the command line can be validated as one +effective value. The top-level boundary maps help and success to `0`, usage to +`1`, failed score or source-expectation gates to `2`, inability to proceed to +`3`, and an uncaught internal panic to `70`. + ## Scratch layout -The coordinator synchronizes sources, vendors the dependency-free guard -runtime, and places Cargo artifacts and campaign state under the selected cache -base. The default base is selected from a stable physical workspace identity; -published reports remain under the artifact directory rather than reusable -cache state. +The coordinator synchronizes sources and vendors the dependency-free guard +runtime under an external per-workspace scratch base. By default, Cargo +artifacts and campaign state live under +`/cargo-gamma/cache/`. An explicit cache +directory keeps the all-in-one layout. Published reports remain under the +artifact directory rather than reusable cache state. + +The default cache name is a pinned BLAKE3-derived physical-workspace identity +used by both locations. The stable process-held lock remains under the platform +cache home, so deleting the Cargo target cannot create a second lock domain. +Ownership markers prevent two workspaces from sharing mutable state +accidentally. An explicit cache directory is validated before use and must be +empty when first claimed. + +Completed runs always publish JSON, self-contained HTML, SARIF, Markdown +performance advice, and a versioned diagnostics bundle. Before a build, +cargo-gamma clears stale `baseline-failures/` records. Each named baseline test +failure receives a readable +`baseline-failures///tests//` directory containing +`failure.json` and `diags.json`; categorical leaves represent unnamed +binary-level failures. Filesystem sanitization and length limits are +collision-checked, with a short identity digest added only when needed. +Artifact publication is separate from the cache, and `--artifact-dir` moves +the complete user-facing set. ## Runtime protocol @@ -26,9 +53,31 @@ construction. Startup acquisition failures use a fixed marker and reserved exit status so the coordinator cannot mistake an unselected mutant for a baseline run. +The same guard protocol records sealed reach observations. The opt-in census +groups and subdivides test scopes under an economic deadline; incomplete +observations are positive checked hints only. During the sweep, workers claim +mutants from an assignment-time scheduler that tracks active files and items. +Cold same-item siblings wait for their scout to publish exact-test, file, and +safe same-site negative reach learning before they become eligible. + +Checked-in hints use version-3 YAML grouped by source file, with repeated killer +identities interned per file. Promotion joins the run record to the current +selected population. Incremental promotion upserts that knowledge and preserves +other scopes; `--replace` rebuilds from the selection. Both modes publish +against the exact generation read, verify the replacement, and remove legacy +JSON only if its generation is unchanged. + ## Test fixtures Cross-process tests use owned temporary directories and explicit environment markers. Concurrency tests observe channels, process completion, or ownership state where those transitions are controllable; watchdogs remain only as last-resort harness protection outside mutation campaigns. + +Tests requiring a host capability are ignored with an explicit reason when the +suite is run generally and fail when invoked specifically without that +capability. Registry mechanics use isolated instances where the call path +permits injection. The remaining tests that call the production interrupt +handler against process-global state are recorded as correctness work in +[`TODO.md`](TODO.md#t1-isolate-tests-from-the-production-interrupt-registry), +rather than being described as isolated before they are. diff --git a/crates/cargo-gamma/docs/MIGRATION.md b/crates/cargo-gamma/docs/MIGRATION.md new file mode 100644 index 000000000..69d6b1e3b --- /dev/null +++ b/crates/cargo-gamma/docs/MIGRATION.md @@ -0,0 +1,42 @@ +# Migrating to the next cargo-gamma release + +The next cargo-gamma release is breaking. Upgrade every developer and CI +installation that shares configuration, hints, or artifacts before promoting +new hints. + +## Test selection and uncovered verdicts + +The reachability census is now opt-in. A default run still uses checked exact +and generalized hints, but otherwise falls back to running each reachable test +binary as a whole. Consequently, the up-front case selection and immediate +`uncovered` classifications supplied by the census no longer occur by default. +A default run can still establish `uncovered` later from a complete, sealed +whole-binary observation learned while evaluating another mutant at the same +site. + +Pass `--optimize-test-execution`, or set +`optimize-test-execution = true` in `gamma.toml`, to restore census behavior. +The census remains subject to its economic gate and may be declined when its +projected launch cost cannot repay the work it could save. + +`--whole-test-binaries` previously opted out of the census. It now explicitly +disables all case-level selection, including selection from checked hints. It +conflicts with `--optimize-test-execution`; use it when tests have +non-deterministic reachability and every selected case in a reachable binary +must run for each mutant. + +## Hints artifact + +`cargo gamma hints` now writes `gamma-hints.yaml`. The new version can read a +legacy `gamma-hints.json` while no YAML artifact exists, then migrates it on +the next successful promotion and removes the verified JSON input. Older +cargo-gamma versions cannot read the YAML artifact, so mixed-version +installations do not share a compatible promoted-hints format. + +## Baseline-failure artifacts + +The single `baseline-failure.json` artifact has been replaced by a +`baseline-failures/` tree. Each failed test now has a stable directory beneath +`baseline-failures///tests//` containing +`failure.json` and `diags.json`; unnamed binary failures use a categorical +leaf. Update artifact collectors and links that depended on the old filename. diff --git a/crates/cargo-gamma/docs/MUTATORS.md b/crates/cargo-gamma/docs/MUTATORS.md index 2ab736fb7..4bf5ace14 100644 --- a/crates/cargo-gamma/docs/MUTATORS.md +++ b/crates/cargo-gamma/docs/MUTATORS.md @@ -128,8 +128,12 @@ fn item_count(order: &Order) -> u32 { 0 } fn shipping_zone(order: &Order) -> Zone { Zone::Domestic } ``` -A function returning `impl Trait` gets no mutant, and neither does anything evaluated in a `const` context — both are explained under "What the catalog deliberately omits" in the README. A site that -gets no mutant, or the wrong one, can [state the value itself](#stating-the-value-yourself). +A function returning a non-iterator `impl Trait` gets no mutant, and neither does anything evaluated +in a `const` context — both are explained under +[What the catalog deliberately omits](#what-the-catalog-deliberately-omits). A site that gets no +mutant, or the wrong one, can [state the value itself](#stating-the-value-yourself). A function +returning `impl Iterator` is the exception: the schema wraps original and replacement iterators in +its shared `Either` type, as described below. ### `relational` @@ -730,9 +734,11 @@ types, so it is absent — as is dropping a `filter`, which would turn `Filter`, `Once` and whatever the author -actually wrote are three different types that cannot be two arms of one `if`. +**A non-iterator `impl Trait` return gets no return-value mutants.** An `impl Trait` return is a +single concrete type chosen by the body, so an arbitrary replacement and whatever the author +actually wrote cannot be two arms of one `if`. `impl Iterator` is the supported exception because +the schema can wrap both concrete iterator types in `gamma_rt::Either`; the synthesis rules below +describe the bounds that wrapper preserves. **The perturbation mutators only fire where the source says the value is a number.** `+ 1` and `- 1` need an integer, and without type resolution the only evidence available is what the source diff --git a/crates/cargo-gamma/docs/SCHEDULING.md b/crates/cargo-gamma/docs/SCHEDULING.md new file mode 100644 index 000000000..29c1dd355 --- /dev/null +++ b/crates/cargo-gamma/docs/SCHEDULING.md @@ -0,0 +1,504 @@ +# Scheduling + +This document describes how cargo-gamma chooses test work, beginning with +target-linkage discovery before the unmutated baseline. It covers the current +implementation, not a proposed replacement. + +## Contents + +1. [Target-linkage discovery](#1-target-linkage-discovery) +2. [Baselining](#2-baselining) +3. [Loading hints](#3-loading-hints) +4. [Census admission](#4-census-admission) +5. [Census walk](#5-census-walk) +6. [Projecting census results](#6-projecting-census-results) +7. [Scheduling mutant work](#7-scheduling-mutant-work) +8. [Testing one mutant](#8-testing-one-mutant) +9. [Learning during the sweep](#9-learning-during-the-sweep) +10. [Persistence and reporting](#10-persistence-and-reporting) + +```mermaid +flowchart TD + build[1. Build and target-linkage discovery] + baseline[2. Baseline measurements] + hints[3. Loaded execution hints] + candidates[4. Census candidates and budget] + census[5. Per-binary reach observations] + selections[6. Mutant/binary selections] + queue[7. Assignment-time scheduler] + tests[8. Mutant verdicts] + learning[9. Updated in-memory knowledge] + persistence[10. Run record and diagnostics] + + build --> baseline + baseline --> candidates + hints --> candidates + candidates --> census --> selections + baseline --> queue + hints --> queue + selections --> queue --> tests --> learning --> persistence +``` + +## 1. Target-linkage discovery + +**Goal:** avoid building, baselining, censusing, or running test binaries that +can be proven unrelated to every pending mutant. + +This is a logical scheduling phase within the existing build/preflight work; it +does not currently have its own progress-display label. Its purpose is to +remove test targets proven unable to link any pending mutated source before +paying to baseline or census them. + +### 1.1. Coarse package admission + +**Goal:** establish the broad set of test binaries policy and Cargo's package +graph permit to judge each mutant. + +- The configured test scope first admits packages: + - package-local testing admits the mutant's own package; + - `--test-package` admits named oracle packages; + - `--test-workspace` admits the workspace. +- Cargo dependency analysis then removes admitted package/binary relationships + that cannot reach the mutated package. +- Unknown package relationships fail open and remain admitted. + +This is crate/package-level reachability. It says that a binary may link the +mutated crate, not that it links a particular source file or executes a +particular mutation site. + +**Output:** a conservative mapping from each mutant's package to the test +binaries permitted to judge it. + +### 1.2. Compiler-captured exact source linkage + +**Goal:** refine package-level candidates to test binaries that actually link +each pending mutated source file. + +Phase 1.2 cannot replace phase 1.1: + +- package admission is policy: a reverse-dependent package may link the source + but is not allowed to judge it unless `--test-package` or `--test-workspace` + admits that package; +- exact linkage is optional evidence and can be unavailable or ambiguous, so + phase 1.1 is the conservative fallback; +- exact linkage only narrows the admitted set; it never introduces a binary + excluded by package policy. + +Conceptually, final candidates are the package-policy candidates intersected +with proven source-linked binaries when exact evidence is available. Without +that evidence, the package-policy candidates remain unchanged. + +During the successful Cargo preflight, cargo-gamma installs itself as a +`RUSTC_WRAPPER`. The wrapper: + +- forwards every invocation to the configured original wrapper or `rustc`; +- returns that compiler process's representable exit code to Cargo unchanged + (or failure when it cannot launch the compiler or obtain an exit code); +- records only successful compiler invocations; +- records the crate name and type, `--test` state, primary Rust source, + output directory, extra filename, and every path-bearing `--extern`; +- marks an invocation opaque when an external dependency cannot be associated + with a concrete artifact path. + +If Cargo configuration declares either `build.rustc-wrapper` or +`build.rustc-workspace-wrapper`, cargo-gamma conservatively stands down from +compiler interposition. A relative configured wrapper is resolved from the +configuration that declared it, and moving that path into the scratch +workspace could invoke a different program. Package-level reachability remains +the safe fallback when exact compiler capture is unavailable. + +Cargo's JSON `compiler-artifact` messages independently identify each package, +target kind, target source, executable, and emitted artifact. Cargo-gamma +associates a test artifact with a compiler capture only when: + +- the target source matches; +- the capture is a test compilation; +- output directory, crate name, and extra filename identify the artifact; and +- every artifact Cargo reported for that compilation yields the same answer. + +Starting at that test compilation, cargo-gamma walks the captured `--extern` +graph: + +- registry and Git artifacts terminate traversal because their source is + outside the workspace; +- workspace artifacts are resolved to exactly one captured compiler + invocation and traversed recursively; +- each invocation's dep-info file contributes its workspace-relative Rust + source dependencies; +- the dep-info must include the invocation's primary source. + +The result is a set of workspace source files proven to feed each test binary. +Cargo-gamma uses it twice: + +- derive exact `--test ` Cargo selectors for integration-test targets; +- retain package-level `--tests` selection for library, binary, and example + unit-test harnesses, which `cargo build` cannot name exactly; +- discard built test binaries whose proven linked-source set contains no + pending mutated file. + +This analysis is an optimization, never exclusion by assumption. Missing or +corrupt captures, ambiguous artifact matches, opaque workspace dependencies, +missing dep-info, inconsistent Cargo artifacts, or unsupported target kinds +abandon exact narrowing. The run retains the coarser package-level result. If +the exact-selector build fails, cargo-gamma retries the build with all test +targets before that failure can affect a mutant. + +**Output:** + +- each test binary annotated with either a proven set of linked workspace + source files or `unknown`; +- exact Cargo target selectors when every relevant association is known; +- the retained test-binary set, after removing only binaries proven unrelated + to every pending mutant. + +## 2. Baselining + +**Goal:** prove that the unmutated test oracle is green and measure the +execution characteristics later mutant runs must be compared against. + +Cargo-gamma runs every retained test binary without an active mutant. + +**Output:** for each test binary: + +- package, target, executable, and the linked-source result established above; +- whole-binary duration; +- number of tests, when the harness reported it; +- timeout, stall, and memory calibration; +- the binary's candidate mutated source files: proven linked files when exact + capture succeeded, or conservative package-level candidates when linkage is + unknown. Neither case proves that a test executes a particular mutation + site; that is the census's job. + +## 3. Loading hints + +**Goal:** start with previously learned test ordering instead of rediscovering +every likely killer and useful binary from scratch. + +When incremental behavior is enabled, cargo-gamma merges: + +- `gamma-hints.yaml`, the checked-in hints artifact; and +- `last-gamma-run.json`, the local run record, which wins on conflicts. + +A mutant ID is the content-derived identifier of one specific generated +replacement. It is derived from the workspace-relative source file, enclosing +item, mutator, normalized original site text, occurrence, and replacement +index. It is independent of the run-local ordinal and source line number, so +unrelated edits elsewhere in a file do not invalidate it. + +Hints can contain: + +- an exact previously killing `{ package, target, test }` for a mutant ID; +- ranked exact tests for a stable `(source file, enclosing item)`; +- ranked test binaries for a source file; +- test sets known to reach a stable source site; +- likely compiler-unviable mutants, used only for build ordering. + +Hints are guesses, not verdicts. A test or binary named by a hint is run again +before it can affect the result. Missing, stale, corrupt, or unsupported hints +fall back to colder scheduling. + +The version-3 YAML artifact groups exact mutant hints by workspace-relative source +file. Each file group contains a deterministic table of distinct killer +identities, and its mutant entries refer to those identities by index. The +source path and repeated package, target, and test strings therefore occur +once per shared group instead of once per mutant. Generalized item, file, and +reach hints retain their independently versioned representation and interned +reach-test sets. + +Its `context` contains the repository HEAD SHA and UTC generation date only. +Those fields explain where the artifact generation came from; they do not gate +score-neutral hints or attribute incrementally retained knowledge to that +commit. Legacy JSON versions 1 and 2 remain readable while no YAML artifact +exists. The next successful promotion publishes and verifies YAML before +removing JSON. Malformed artifacts, foreign producers, and unsupported +versions are ignored rather than partially trusted. + +**Output:** + +- mutant ID to exact candidate killer; +- `(source file, item)` to ranked candidate tests; +- source file to ranked candidate binaries; +- stable source site to previously observed reaching tests; +- likely-unviable mutant IDs for build ordering only. + +## 4. Census admission + +**Goal:** decide whether spending test launches now to learn site reachability +is likely to avoid more test execution during the mutant sweep. + +The census is disabled by default. `--optimize-test-execution` or the equivalent +`optimize-test-execution = true` configuration enables this experimental phase; +without the opt-in, cargo-gamma performs no census listing or sampling launches. +`--whole-test-binaries` conflicts with the opt-in and explicitly suppresses all +case-level selection. + +When enabled, the census asks which baseline tests execute each pending mutation site. +Here, **cost** is the estimated time spent listing tests and launching census +scopes. **Savings** is the upper bound on future whole-binary baseline time +that narrower test selections could avoid across all pending mutants. + +- Only binaries that may link pending mutated code are candidates. +- A mutant with a usable exact killer hint does not add to the census's + potential savings, although its site may ride along in a census justified by + other mutants. +- Maximum possible savings is the sum of whole-binary baseline durations over + eligible mutant/binary pairs. +- Each binary is asked to list its tests, with a 30-second listing limit. +- Initial scopes are top-level test-module groups when names expose that + structure; otherwise they are deterministic contiguous chunks. +- Estimated initial census cost is: + + ```text + max(test-listing duration, 5 ms) * initial scope count + ``` + +- The census is skipped when that estimate is not less than the maximum + possible savings. +- If admitted, the maximum possible savings also becomes the global census + deadline. + +**Output:** + +- a mapping from each pending `(mutated package, source file)` to its potential + test binaries; +- a mapping from each census-candidate binary to the pending site ordinals it + should observe; +- initial test scopes for each candidate binary; +- estimated census cost, maximum possible savings, and the admission decision. + +When census is disabled or declined, the empty census carries no negative +reachability evidence. Exact and generalized probes remain active, and a probe +that does not kill falls back to the complete reachable binary. + +Diagnostics classify census as `disabled`, `declined`, `incomplete`, or +`complete`. Attempted census timing, candidate binary and site counts, listing +attempts and successes, estimated walk cost and admission, sampling launches, +and complete versus partial binary evidence accompany the latter two states, +allowing its sweep savings to be compared with its cost. + +## 5. Census walk + +**Goal:** measure which baseline test groups execute which pending mutation +sites, without changing program behavior. + +The current census walk is serial: binaries and their scopes are sampled one +after another even though `jobs` is passed into the census API. + +For each scope: + +- No mutant is active. +- Every reached guard writes its site ordinal to the census stream. +- The scope must pass and produce a complete, sealed, internally consistent + stream. +- Every reached site is conservatively attributed to every test in that + scope. + +A scope is subdivided only when: + +- it contains more than one test; +- it reaches some, but not all, wanted sites; and +- twice the estimated subdivision launch cost is less than the remaining + mutant-test work that subdivision could save. + +The resulting per-binary data contains: + +- ordered test names; +- mutation-site ordinal to reaching-test-set mappings; +- deduplicated reaching-test sets; +- measured scope costs; +- whether the hierarchy completed; +- the number of sample processes launched. + +**Output:** per test binary, a site-ordinal-to-reaching-test-set map, measured +scope costs, a completeness flag, and the total number of census launches. + +## 6. Projecting census results + +**Goal:** turn raw reach observations into conservative instructions the +mutant sweep can execute safely. + +For each mutant and test binary, census data becomes one of: + +| Selection | Meaning | Sweep behavior | +|---|---|---| +| `Whole` | No usable narrowing | Run the complete binary | +| `Uncovered` | A complete census proved no test reaches the site | Skip the binary | +| `Selected` | A complete census identified the reaching tests | Run only those tests | +| `Hinted` | An incomplete census observed some reaching tests | Try them first, then fall back to the whole binary | + +Additional rules: + +- A reaching set containing more than half the binary's tests becomes `Whole`. +- Missing, malformed, failed, or inconsistent evidence never proves absence. +- A non-passing `Selected` run is repeated against the whole binary before its + outcome is accepted because filtering can change resource use and failure + order. + +**Output:** a `(mutant, test binary) -> Whole | Uncovered | Selected(tests) | +Hinted(tests)` selection map used by cost estimation and execution. + +## 7. Scheduling mutant work + +**Goal:** overlap independent work, expose useful learning before related work +starts, and avoid leaving expensive work as a long serial tail. + +Cargo-gamma estimates each pending mutant's serial test cost: + +- exact killer hint: baseline duration of the hinted binary; +- `Selected`: measured duration of the selected tests; +- `Whole`: whole-binary baseline duration; +- `Hinted`: whole-binary baseline duration because fallback may be required; +- `Uncovered`: zero. + +The cost order is still partitioned into package queues and interleaved. That +order supplies deterministic package-fair, longest-work-first secondary +priority, but workers no longer claim it through a fixed cursor. A worker asks +the scheduler for an assignment only when it is ready to run one. + +Each package keeps an ordered queue of its currently eligible candidates, and +the global frontier contains only the best candidate from each package. +Selection reads the first global entry instead of rescanning all mutants. +Claims and completions rekey only candidates in the affected source file; +package-turn fairness updates only that package's global entry. Claimed work is +removed permanently, and a separate remaining count distinguishes an exhausted +sweep from a cold same-item tail that is waiting for its scout. + +For unhinted work the scheduler ranks distance first: + +1. an item in a file with no active mutant; +2. an inactive item in an active file, preferring the least-contended file; +3. no assignment for a still-cold item that already has an unhinted scout + active. + +The third rule is stronger than file separation because an exact same-item +test is more reusable than file-level binary evidence. Within the same +distance tier the scheduler preserves package turns, prefers greater learning +leverage per estimated evaluation cost, retains longest-work-first value, and +finally uses the stable pre-sweep order. Learning leverage is the number of +pending siblings that can reuse the scout. + +A mutant with an exact killer hint is already informed and may share an active +item. It still participates in file contention so cold work is steered toward +more independent files when possible. + +The explicit tail policy is **wait for learning**: when only unhinted +same-item conflicts remain for a cold item, capacity stays idle until the +active item changes state. Once that scout publishes, its informed siblings +may run concurrently. The waiter holds no file or item reservation and blocks +on the scheduler condition variable; there is no duration-based sleep or +timeout. + +**Output:** immutable work metadata and a synchronized assignment-time +scheduler tracking remaining work and active file/item reservations. + +The same immutable work metadata seeds the live completion estimate. Worker +assignment and completion events let it distinguish queued work from in-flight +residuals. It calibrates exact, selected, hinted, whole-binary, and uncovered +predictions against recent killed, full-suite, and resource-limited outcomes, +then places the remaining costs across the configured worker lanes. The +progress display therefore reports a range for the projected wall-time tail +rather than scaling completed-mutant count, which would be biased whenever +cheap or expensive work is scheduled first. + +## 8. Testing one mutant + +**Goal:** reach the first trustworthy verdict with the least test work while +preserving canonical failure, resource, and metering precedence. + +Reachable binaries have a canonical order: + +1. binaries from the mutant's own package; +2. binaries from other selected test packages; +3. shorter baseline duration first within each tier; +4. stable package, target, and path tie-breakers. + +Evidence is attempted in this order: + +1. The mutant's exact checked-in or local killer hint. +2. Persisted exact-site reach candidates. +3. Ranked same-item exact tests. +4. Binaries observed reaching the same item. +5. Binaries observed reaching another site in the same file. +6. Binaries that killed another mutant in the same file. +7. Canonical census-selected or whole-binary execution. + +The first valid detection stops testing that mutant. Candidate results from a +later binary are held until canonical iteration reaches that binary, so they +cannot bypass an earlier timeout, resource failure, flake, or metering error. + +**Output:** one mutant outcome, elapsed time, optional killing test, and +optional diagnostic note. + +## 9. Learning during the sweep + +**Goal:** let completed mutant work improve the ordering of related mutants +that have not yet committed to their test work. + +The scheduler makes the first assigned unhinted mutant in an item its scout. +Same-item siblings remain unreserved while it runs. Workers use unrelated +files first, then inactive items in the least-contended active file. If no +independent item remains, they wait for a scheduler state-change notification +rather than for an elapsed duration. + +A completed mutant publishes: + +- its exact killing test for later mutants in the same item; +- its killing or reaching binary for later mutants in the same file; +- safe negative reach evidence for another replacement at the exact same + stable source site. + +The worker publishes all exact-test, reaching-binary, file-binary, and safe +negative-reach learning before releasing its file/item reservation. Releasing +the reservation wakes waiters, so a related follow-on assignment observes the +completed learning. Hinted mutants are not spaced, but their checked result is +published before their reservation is released in the same way. + +**Output:** updated in-memory exact killers, ranked item/file candidates, and +safe exact-site reach exclusions for work that has not started yet. + +## 10. Persistence and reporting + +**Goal:** preserve score-neutral scheduling knowledge for later campaigns and +report whether census and hints repaid their execution cost. + +After the sweep: + +- exact mutant killers and generalized item/file/reach knowledge are stored in + the local run record; +- `cargo gamma hints` incrementally promotes applicable knowledge into + `gamma-hints.yaml`, preserving entries outside its selection; `--replace` + deliberately rebuilds it from the selected population; +- build-round diagnostics attribute each round's withdrawals to packages. The + elapsed time remains the measured workspace-wide Cargo invocation and is not + divided into fictitious package durations; +- census diagnostics report admission size, listing and sampling work, and + complete versus partial evidence; +- selection diagnostics count whole, case-selected, hinted-fallback, and + uncovered decisions, plus selected and available named tests; +- hint funnels report candidates, attempts, and hits for exact mutant hints and + generalized item, reach, file, and census tiers; +- package sweep timelines report first start, final completion, and wall span + relative to sweep start. These spans can overlap under concurrency and are + distinct from the package CPU totals; and +- diagnostics retain total launches and launches saved, including the subset + saved by learned reach evidence. + +Promotion writes version 3 YAML atomically. File groups, mutant entries, killer +tables, generalized identities, and interned reach sets use canonical ordering, +so equivalent knowledge produces identical reviewable bytes regardless of +discovery or completion order. A no-op preserves `generated_on` and produces no +file change. A changed generation records the current HEAD SHA and UTC date. +Incremental promotion refuses a malformed, foreign, or unsupported existing +artifact rather than treating it as empty; `--replace` is the explicit +permission to discard such a generation. This includes unsupported +independently versioned generalized data, which today's serializer cannot +round-trip without losing future fields. Publication and legacy cleanup compare +against the exact YAML and JSON bytes used by the merge, so a concurrent update +is left intact and reported as a conflict. + +Persisted knowledge changes ordering and selection only. It never carries a +verdict into a new campaign without executing the relevant test again. + +**Output:** `last-gamma-run.json`, promoted `gamma-hints.yaml` when requested, +final reports, and diagnostics containing census and sweep effectiveness +metrics. diff --git a/crates/cargo-gamma/docs/TODO.md b/crates/cargo-gamma/docs/TODO.md index 12e925183..ea3a589ca 100644 --- a/crates/cargo-gamma/docs/TODO.md +++ b/crates/cargo-gamma/docs/TODO.md @@ -6,62 +6,17 @@ deleted; this file is not a changelog or a record of rejected work. ## Contents ### Performance -- [P1](#p1) — Publish killers found after a file-learning fallback -- [P2](#p2) — Compare equal files correctly across short reads - [P3](#p3) — Amortize per-mutant process launch with a fork server ### Features - [F2](#f2) — Checkpoint and resume long-running campaigns - [F3](#f3) — Native fork-server test harness as a `cargo test`/nextest replacement -### Documentation -- [D1](#d1) — Correct the cgroup watch-state documentation - ### Testing - [T1](#t1) — Isolate tests from the production interrupt registry ## Performance - -### P1 — Publish killers found after a file-learning fallback - -**Area:** `cargo-gamma-lib::exec::sweep` · **Priority:** Low · **Effort:** Small - -When a worker times out waiting for another file learner, or sees `Learning::Exhausted`, it runs -the full ordered judgement itself. Unlike the hinted and designated-learner paths, these fallback -paths return without publishing a killer they discover. Later mutants in the same file therefore -repeat the full binary order even though this run already found a reusable probe. - -- `crates/cargo-gamma-lib/src/exec/sweep.rs:746-749` and - `crates/cargo-gamma-lib/src/exec/sweep.rs:788-790` — the two normal paths publish or complete - learning -- `crates/cargo-gamma-lib/src/exec/sweep.rs:762-784` — timeout and exhausted-state fallbacks return - their judgement without either operation - -**Done when:** every fallback judgement publishes a newly found killer without overwriting an -already learned one, and a regression test starts from `InProgress`, forces the bounded wait to -expire, returns a killing judgement, and observes `Learning::Learned`. - ---- - - -### P2 — Compare equal files correctly across short reads - -**Area:** `cargo-gamma-lib::exec::sync` · **Priority:** Low · **Effort:** Small - -`same_contents` reads two files independently and treats unequal read lengths as unequal file -contents. `Read::read` may legally return a short non-EOF result, so identical files on a -filesystem that gives different chunk sizes can be needlessly recopied, changing timestamps and -invalidating Cargo fingerprints. - -- `crates/cargo-gamma-lib/src/exec/sync.rs:308-330` — independent reads are compared as though both - must fill equally sized chunks - -**Done when:** comparison handles independent short reads without misaligning bytes, and a unit -test uses two readers with different chunk schedules over identical content. - ---- - ### P3 — Amortize per-mutant process launch with a fork server @@ -69,11 +24,11 @@ test uses two readers with different chunk schedules over identical content. **Effort:** Large The design accepts per-mutant process launch as an unavoidable floor: "process launch remains -per mutant... activating several mutants together would confound causality" (`docs/DESIGN.md:835` -in the "Costs and limitations" section). For workspaces with many small, fast-running tests, that -launch/link/static-init cost dominates both the census walk (one subprocess per `(binary, test)` -pair) and the mutant sweep, and currently cannot be amortized: no machinery in this crate reuses -a warm process across launches. +per mutant... activating several mutants together would confound causality" (the +"Costs and limitations" section of `docs/DESIGN.md`). For workspaces with many small, fast-running +tests, that launch/link/static-init cost dominates both the census walk (one subprocess per sampled +scope, including every subdivision) and the mutant sweep (one per selected binary or probe), and +currently cannot be amortized: no machinery in this crate reuses a warm process across launches. A fork-server model can remove that floor without weakening isolation: install a pre-main constructor (the existing hook point already used for guard installation) that, in the runtime @@ -84,20 +39,23 @@ mutant ordinal can be set by direct memory write in the child (inherited via cop env/argv needed); libtest-driven test selection needs the fork server's constructor to run before std's argv-capturing constructor so each child's argv can be patched before libtest reads it. -- `crates/cargo-gamma-rt/src/runtime.rs:1708` (`install()`) and the `.init_array`/ - `__DATA,__mod_init_func`/`.CRT$XCU` link-section statics around it (`runtime.rs:1725-1892`) — +- `crates/cargo-gamma-rt/src/runtime.rs:1736` (`install()`) and the `.init_array`/ + `__DATA,__mod_init_func`/`.CRT$XCU` link-section statics around it — the existing pre-main constructor mechanism to extend - `crates/cargo-gamma-lib/src/exec/census.rs` (`walk_with`) and `crates/cargo-gamma-lib/src/exec/sweep.rs` — the two call sites that currently launch one fresh - process per `(binary, test)` or per mutant -- `crates/cargo-gamma/docs/DESIGN.md:835` — the documented limitation this would relax + process per sampled scope or mutant/binary attempt +- `crates/cargo-gamma/docs/DESIGN.md` — the documented limitation this would relax **Done when:** census and sweep launches on Linux reuse a warm forked process instead of a fresh -`execve` per launch, with measured wall-clock improvement on a many-small-tests workspace, and a +`execve` per launch, a test proves the forked child observes no repeated dynamic-link or +static-init work (e.g. a constructor-run counter stays at one across many forked launches), and a documented, tested fallback to today's spawn-per-launch behavior on platforms without `fork()` (Windows) or without a dynamic loader step (statically linked binaries). -**See also:** F3 (shares the same fork-server engine) +**See also:** F3 (shares the same fork-server engine). Landing this changes the per-launch cost +used by census admission and subdivision, assignment-time cost estimates, and learning-value +priority; revisit those heuristics' thresholds once this ships. --- @@ -169,25 +127,6 @@ their primary test runner. --- -## Documentation - - -### D1 — Correct the cgroup watch-state documentation - -**Area:** `cargo-gamma-unsafe::cgroup` · **Priority:** Low · **Effort:** Trivial - -The documentation on `Cgroup::is_watched` says the method records a published kill descriptor, -but the method only queries whether a watch exists. That description belongs to `watched_at`, -whose current one-line documentation omits the descriptor-lifetime invariant. - -- `crates/cargo-gamma-unsafe/src/cgroup.rs:794-805` — the two adjacent methods carry each other's - intended descriptions - -**Done when:** `is_watched` documents its boolean query and `watched_at` documents publication and -lifetime ownership. - ---- - ## Testing @@ -212,10 +151,10 @@ later tests also inherit interrupt state they did not arrange. - `crates/cargo-gamma-unsafe/src/interrupt.rs:469-471` and `crates/cargo-gamma-unsafe/src/interrupt.rs:575-581` — production paths supply a real `kill(-group, SIGKILL)` -- `crates/cargo-gamma-unsafe/src/interrupt.rs:755-769` — tests call the production handler against +- `crates/cargo-gamma-unsafe/src/interrupt.rs:755-777` — tests call the production handler against the global registry -- `crates/cargo-gamma-unsafe/src/cgroup.rs:913-914` and - `crates/cargo-gamma-unsafe/src/cgroup.rs:966-1050` — cgroup tests register IDs 41 and 42 through +- `crates/cargo-gamma-unsafe/src/cgroup.rs:932-933` and + `crates/cargo-gamma-unsafe/src/cgroup.rs:976-1080` — cgroup tests register IDs 41 and 42 through that registry **Done when:** handler tests mutate only an isolated registry or run in child processes, cgroup diff --git a/crates/cargo-gamma/docs/gamma.toml b/crates/cargo-gamma/docs/gamma.toml index db426dfb6..6785636c6 100644 --- a/crates/cargo-gamma/docs/gamma.toml +++ b/crates/cargo-gamma/docs/gamma.toml @@ -164,11 +164,16 @@ # # test-workspace = true -# Disable the default case-level reachability census and run each reachable test binary whole. +# Experimentally measure case-level reachability before testing mutants. # Default: false. # -# Use this for suites whose reachability depends on threads, clocks, randomness or hash iteration -# order. It does not override package or target filters. +# The command-line equivalent is `--optimize-test-execution`. The census runs only when its +# economic gate predicts that case selection can repay the additional listing and sampling work. +# +# optimize-test-execution = false + +# Explicitly suppress case-level selection and run each reachable test binary whole. +# This conflicts with optimize-test-execution. # # whole-test-binaries = false diff --git a/crates/cargo-gamma/src/main.rs b/crates/cargo-gamma/src/main.rs index d952b1d7c..2da9599ef 100644 --- a/crates/cargo-gamma/src/main.rs +++ b/crates/cargo-gamma/src/main.rs @@ -64,6 +64,7 @@ //! | --- | --- | //! | [docs/CMDLINE.md](docs/CMDLINE.md) | Every subcommand and option, grouped by category. | //! | [docs/CONFIG.md](docs/CONFIG.md) | Every configuration key, with examples. | +//! | [docs/MIGRATION.md](docs/MIGRATION.md) | Breaking changes and upgrade guidance. | //! | [docs/MUTATORS.md](docs/MUTATORS.md) | Every mutator and profile, and what each one asks of a suite. | //! | [docs/DESIGN.md](docs/DESIGN.md) | How the tool works internally. | //! | [docs/gamma.toml](docs/gamma.toml) | A fully documented configuration file to copy as a starting point. | @@ -150,6 +151,16 @@ //! Once you know what all the surviving mutants are in your codebase, your next task is to add more tests to //! your test suite to kill those mutants. //! +//! After adding those tests, use the completed run's JSON report to check only the mutants that +//! genuinely survived: +//! +//! ```bash +//! cargo gamma run --only-survivors-from target/cargo-gamma/gamma-report.json +//! ``` +//! +//! Mutant identities remain stable when only tests change. Timeout and memory-limit outcomes are +//! not selected, even though the report format represents them as survived. +//! //! ## Mutators //! //! `cargo-gamma` supports a large set of mutators. These are selected to represent real-world errors that can @@ -366,19 +377,22 @@ //! is paid for exactly once, so a build that never finishes costs the whole run; `--build-timeout` and //! `--build-timeout-multiplier` bound it, and a build that outstays its budget is stopped. //! -//! The workspace is copied to `workspace/` under cargo-gamma's cache before anything is rewritten, -//! and Cargo artifacts stay beside it in `target/` so repeated runs compile incrementally. -//! `--cache-dir` moves the reusable state: it gets the copy off a slow or network filesystem. The -//! path names the cache itself and must be empty on first use; cargo-gamma marks it as belonging to -//! that workspace and refuses to let another workspace adopt or share it. A workspace-specific lock -//! in cargo-gamma's default external cache serializes commands targeting the same original -//! workspace, while a second lock protects redirected cache state. -//! -//! `cargo gamma clean` deletes the workspace-specific cache after taking the same lock as a run. -//! It leaves published reports under `target/cargo-gamma`, checked-in hints and source suppressions -//! untouched. -//! -//! As soon as a measured run acquires that directory, it truncates its `gamma-progress.log`. Every +//! The workspace is copied to `workspace/` under cargo-gamma's external scratch area before +//! anything is rewritten. By default, Cargo artifacts and campaign state live under +//! `/cargo-gamma/cache//`, so repeated runs compile incrementally, +//! shared Cargo target directories keep workspaces separate, and `cargo clean` can reclaim the +//! potentially large build cache. `--cache-dir` retains the all-in-one layout and moves the +//! synchronized workspace, build artifacts, and campaign state together. The path names the cache +//! itself and must be empty on first use; cargo-gamma marks it as belonging to that workspace and +//! refuses to let another workspace adopt or share it. A workspace-specific lock in cargo-gamma's +//! default external scratch area serializes commands targeting the same original workspace, while +//! a second lock protects redirected cache state. +//! +//! `cargo gamma clean` deletes the workspace-specific external scratch and target-resident campaign +//! cache after taking the same lock as a run. It leaves published reports under +//! `target/cargo-gamma`, checked-in hints and source suppressions untouched. +//! +//! As soon as a measured run acquires its campaign cache, it truncates `gamma-progress.log`. Every //! mutant verdict is appended and flushed there as it //! arrives, using the console's outcome-line format but without color or redraw escapes. Unlike the //! console, the journal includes ordinary killed mutants as well as survivors, timeouts, memory exhaustion, @@ -402,7 +416,7 @@ //! the same compiler, Cargo configuration, and //! build policy plus unchanged compilation inputs. See //! [What a run remembers](#what-a-run-remembers) for the details; `--incremental no` performs a cold -//! run. `cargo gamma hints` promotes the parts that cannot move a score into `gamma-hints.json`, +//! run. `cargo gamma hints` promotes the parts that cannot move a score into `gamma-hints.yaml`, //! which you can commit so a fresh CI container starts warm. //! //! Control how the tree is compiled and how the tests are invoked: @@ -1110,8 +1124,9 @@ //! Mutation testing with schemas is orders of magnitude faster than rebuilding per mutant because the //! build is paid once for the entire population. Even so, running thousands of mutants against a large //! test suite takes time. Improving performance means knowing where time is spent and applying the -//! right combination of levers: checking in hints for warm CI runs, the default case-level test -//! selection, incremental runs with `--incremental`, and tuning timeouts and harness options. +//! right combination of levers: checking in hints for warm CI runs, optional case-level test +//! selection with `--optimize-test-execution`, incremental runs with `--incremental`, and tuning +//! timeouts and harness options. //! //! ### Where the time goes //! @@ -1226,32 +1241,57 @@ //! //! Every cold run — such as a fresh CI container where `target/` is not preserved — starts with an //! empty killer map and an unguided build, on exactly the runs that cost the most. -//! `cargo gamma hints` promotes the two pieces of information that cannot move a score into a file you +//! `cargo gamma hints` promotes scheduling information that cannot move a score into a file you //! can commit: //! //! ```bash //! cargo gamma run # learn killer tests and unviable mutants //! cargo gamma hints --dry-run # see what would be promoted -//! cargo gamma hints # write gamma-hints.json +//! cargo gamma hints # update gamma-hints.yaml //! ``` //! -//! Later runs read `gamma-hints.json` automatically without any command-line flags. Only two -//! kinds of information are promoted into the hints file, and neither can change an answer: +//! Later runs read `gamma-hints.yaml` automatically without any command-line flags. Three +//! kinds of information are promoted into the hints file, and none can change an answer: //! //! - **Killer hints** — which test caught each mutant. Canonical binary order is preserved, and the //! named test narrows its own binary only when filtering cannot replace another outcome. It is run //! rather than believed, so a stale hint costs one filtered process before falling back to the //! standard whole-binary sweep. +//! - **Generalized scheduling hints** — ranked candidate tests for an item, candidate binaries for +//! a source file, and test sets observed reaching a stable source site. Every candidate is run +//! again and falls back conservatively when stale; no prior verdict is carried forward. //! - **Build order** — which mutants failed to compile for whoever promoted the file. These are *not* //! carried as verdicts. They are spliced in and offered to the compiler first, on their own, so a //! mutant that really is unviable is blamed in a single probe round without another mutant's error //! hiding it. A hint that is wrong produces a mutant that compiles, stays live, and is judged exactly //! as if it had never been named. //! +//! The version-3 YAML layout groups mutants by workspace-relative source file. Within each file, +//! repeated killer identities are stored once in a table and mutants refer to them by index, so a +//! large run does not repeat the same path, package, target, and test for every adjacent mutant. +//! Groups and tables are sorted deterministically for stable reviewable diffs. Ordinary promotion +//! merges the selected run's knowledge into the artifact and preserves everything outside that +//! selection; `--replace` intentionally rebuilds it from only the selected population. Its +//! `context` contains only the generating repository's full HEAD SHA and UTC date. These identify +//! the artifact generation rather than gating hints or attributing retained entries to that commit. +//! Incremental promotion refuses an existing artifact it cannot understand rather than replacing +//! unknown knowledge with a partial generation; `--replace` is the explicit permission to discard +//! it. This includes a newer independently versioned generalized section, whose future fields +//! cannot be round-tripped by today's serializer. YAML or legacy JSON changed by another writer +//! after loading is left intact and reported as a conflict. +//! Legacy JSON versions 1 and 2 remain readable while YAML is absent and are removed only after a +//! YAML replacement has been published and verified. Malformed, foreign, and unsupported artifacts +//! remain safe to ignore. +//! //! ### Running only the tests that reach the mutant //! -//! By default gamma narrows a mutant to the test cases that actually execute its line, instead of every -//! test in every binary that links its package. +//! By default gamma skips the reachability census and runs complete reachable test binaries after +//! exact and generalized test hints have been tried. Pass `--optimize-test-execution` to +//! experimentally narrow mutants to the test cases observed executing their sites: +//! +//! ```bash +//! cargo gamma run --optimize-test-execution +//! ``` //! //! It needs no coverage instrumentation and no second build, because the instrumented tree is already //! carrying the probe. Every mutation site is a call into the gamma runtime, so running the suite once @@ -1277,17 +1317,16 @@ //! because those sites will use the whole binary anyway. //! //! Reachability can vary in a suite whose control flow depends on threads, the clock, randomness or -//! hash iteration order. Use `--whole-test-binaries` for that uncommon case. It skips the census and -//! runs every selected test in each reachable binary, trading speed for a conservative oracle: +//! hash iteration order. `--whole-test-binaries` explicitly suppresses case-level selection and +//! conflicts with `--optimize-test-execution`: //! //! ```bash //! cargo gamma run --whole-test-binaries //! ``` //! -//! The default assumes a test reaches the same code every time it runs. A suite whose control flow +//! The optimization assumes a test reaches the same code every time it runs. A suite whose control flow //! turns on threads, the clock, the network or hash iteration order can be censused on a run where some -//! test did not reach a site it usually does, and the mutant that test would have caught is then -//! reported as surviving. Only a complete census may exclude tests or establish that a site is +//! test did not reach a site it usually does. Only a complete census may exclude tests or establish that a site is //! uncovered. A test positively observed before the economic budget expires is retained only as a //! checked hint: gamma tries it when filtering cannot replace another outcome, accepts an actual //! failure as a kill, and otherwise falls back to the whole binary. A failure from a complete census @@ -1322,7 +1361,7 @@ //! end //! //! subgraph Hints [Version Control] -//! C -->|cargo gamma hints| D[(gamma-hints.json
Checked-in hints)] +//! C -->|cargo gamma hints| D[(gamma-hints.yaml
Checked-in hints)] //! end //! //! subgraph Run2 [Run N+1 / Fresh CI: Accelerated Sweep] @@ -1335,7 +1374,7 @@ //! | | Lives in | Lasts | Believed | //! |---|---|---|---| //! | The run record | cache `last-gamma-run.json` | Until the cache is deleted | Matching compiler unviability; killer tests are checked hints | -//! | The hints file | `gamma-hints.json` | Forever, and through review | Never — every hint is checked | +//! | The hints file | `gamma-hints.yaml` | Forever, and through review | Never — every hint is checked | //! | A skip directive | Your source | Forever, and through review | Always — you wrote it | //! //! The record is the tool's own memory and it is written on every run. It holds compiler unviability @@ -1349,7 +1388,7 @@ //! a finding into the source, where it is reviewed, committed, and survives a clean checkout. That is a //! claim you stand behind. Everything in the record — and everything in the hints file, committed or //! not — is a convenience that must be safe to delete: removing the cargo-gamma cache and -//! `rm gamma-hints.json` cost you time and nothing else. +//! `rm gamma-hints.yaml` cost you time and nothing else. //! //! ### Diagnosing a slow run //! @@ -1446,6 +1485,13 @@ //! //! The file carries its own `schemaVersion`, independent of the mutation-testing-elements version the //! JSON report follows, so a diagnostic tool can tell what it is reading. +//! Its aggregate telemetry is intended to answer whether the algorithms paid off without making the +//! bundle scale one row per mutant. Build rounds show package-attributed withdrawals against the real +//! workspace-wide round duration. Census fields show admission size, listing success, estimated walk +//! cost and admission, sampling work, and evidence completeness. Sweep fields show whole versus narrowed decisions, selected versus available +//! tests, candidate/probe/hit funnels by hint tier, launches saved, and overlapping package wall spans. +//! Package CPU totals and wall spans are deliberately separate: concurrent packages can occupy the same +//! wall-clock interval, and Cargo does not expose a truthful per-package share of a workspace build round. //! //! ### What to reach for //! @@ -1454,7 +1500,7 @@ //! | If the time is going to | Try | What it costs | //! |---|---|---| //! | the suite itself | make the suite faster; check for per-test fixtures, sleeps and network calls | nothing | -//! | cold CI runs starting from scratch | check in `gamma-hints.json` with `cargo gamma hints` | nothing | +//! | cold CI runs starting from scratch | check in `gamma-hints.yaml` with `cargo gamma hints` | nothing | //! | the build, on a narrow run | incremental execution (`--incremental`) | nothing | //! | non-deterministic test reachability | `--whole-test-binaries` | every selected case in a reachable binary is repeated for every mutant | //! | unviable convergence across checkouts | `cargo gamma hints` or `cargo gamma suppress` | nothing | @@ -1621,12 +1667,18 @@ use cargo_gamma_lib::run; use real_host::RealHost; #[cfg(not(miri))] -#[global_allocator] -static ALLOCATOR: mimalloc::MiMalloc = mimalloc::MiMalloc; +rallocator::rallocator!(); #[cfg_attr(coverage_nightly, coverage(off))] -fn main() { +fn main() -> process::ExitCode { + #[cfg(not(miri))] + rallocator::initialize(); + + if let Some(code) = cargo_gamma_lib::run_rustc_wrapper_if_requested(env::args_os()) { + return code; + } + // `run` returns the process exit code rather than exiting itself, so that every code path // through the CLI is reachable from an ordinary integration test. - process::exit(run(&mut RealHost, env::args_os())); + u8::try_from(run(&mut RealHost, env::args_os())).map_or(process::ExitCode::FAILURE, process::ExitCode::from) } diff --git a/crates/cargo-gamma/tests/binary.rs b/crates/cargo-gamma/tests/binary.rs index 761010c9d..e82284be2 100644 --- a/crates/cargo-gamma/tests/binary.rs +++ b/crates/cargo-gamma/tests/binary.rs @@ -27,6 +27,14 @@ fn gamma(arguments: &[&str]) -> Output { .expect("the built cargo-gamma binary runs") } +fn wrapper(arguments: &[&str]) -> Output { + Command::new(env!("CARGO_BIN_EXE_cargo-gamma")) + .env("CARGO_GAMMA_RUSTC_CAPTURE_DIR", env!("CARGO_MANIFEST_DIR")) + .args(arguments) + .output() + .expect("the built cargo-gamma binary runs as a rustc wrapper") +} + /// The exit status as a code, insisting the process exited rather than dying to a signal. #[track_caller] fn code(output: &Output) -> i32 { @@ -92,3 +100,14 @@ fn an_unknown_command_exits_with_the_usage_code_and_explains_itself_on_standard_ "a diagnostic reached standard output, where it would corrupt piped report output" ); } + +#[test] +fn the_installed_binary_preserves_rustc_wrapper_status() { + #[cfg(windows)] + let (success, failure) = (wrapper(&["cmd", "/c", "exit 0"]), wrapper(&["cmd", "/c", "exit 7"])); + #[cfg(not(windows))] + let (success, failure) = (wrapper(&["sh", "-c", "exit 0"]), wrapper(&["sh", "-c", "exit 7"])); + + assert_eq!(code(&success), 0); + assert_eq!(code(&failure), 7); +} diff --git a/gamma-hints.yaml b/gamma-hints.yaml new file mode 100644 index 000000000..2103c808b --- /dev/null +++ b/gamma-hints.yaml @@ -0,0 +1,325295 @@ +version: 3 +tool: cargo-gamma 0.2.1 +context: + repo_sha: 98c91fc7d619745726fe6d541c2ce43eff518f3b + generated_on: '2026-09-16' +files: +- path: crates/cargo-anvil/src/anvil/artifacts/ado.rs + killers: + - package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + - package: cargo-anvil + target: snapshots + test: ado_backend_tree + mutants: + - id: 01ba9dccaa6f + killer: 1 + - id: 0ac112a395d1 + killer: 1 + - id: 1ac97d59f57a + killer: 1 + - id: 20b666bf6ea6 + killer: 1 + - id: 20b7a5dfe6be + killer: 1 + - id: 251db096d4dd + killer: 1 + - id: 360eac468381 + killer: 1 + - id: 381a5321d2fd + killer: 1 + - id: 3cbbaa244823 + killer: 1 + - id: 3e388dd00b88 + killer: 1 + - id: 4133201c67b3 + killer: 1 + - id: 417330c37927 + killer: 1 + - id: 4d8417647781 + killer: 1 + - id: 4f6572a0a0c6 + killer: 0 + - id: 5ae13853f5d5 + killer: 1 + - id: 694ea1f7d9d8 + killer: 1 + - id: 7cc209f1859a + killer: 0 + - id: 7de11e291b83 + killer: 0 + - id: 85dcac2f9d4e + killer: 1 + - id: 8630cbc83a5c + killer: 1 + - id: 8872d4b419ab + killer: 1 + - id: 8ca179bbeb52 + killer: 1 + - id: 8ec631ba3d66 + killer: 1 + - id: 9207c7d48c6f + killer: 0 + - id: 9228e878bd5f + killer: 1 + - id: 975f29023281 + killer: 0 + - id: 9e587e5a34f7 + killer: 1 + - id: 9ecc560ce318 + killer: 1 + - id: 9fa62ae6954c + killer: 0 + - id: a45cf5e723f1 + killer: 1 + - id: a5bb7dc96959 + killer: 1 + - id: a6fff779907a + killer: 0 + - id: aba3c7f687ab + killer: 1 + - id: add709e0911c + killer: 0 + - id: b7621361ed5d + killer: 0 + - id: beb47cea3c13 + killer: 1 + - id: c3dead308fa5 + killer: 1 + - id: c64a20fcc193 + killer: 1 + - id: c79eebd326eb + killer: 1 + - id: c892c75896f3 + killer: 1 + - id: ca4a9953cd37 + killer: 1 + - id: ce1fca1887f1 + killer: 1 + - id: d2cb0624f70a + killer: 0 + - id: d3a5af891f70 + killer: 1 + - id: dff7f5488939 + killer: 1 + - id: e20db2231dae + killer: 0 + - id: e5be22386890 + killer: 1 + - id: f07757f49e7b + killer: 1 + - id: f3bfc1d73737 + killer: 1 + - id: f6e5ebfd510b + killer: 0 +- path: crates/cargo-anvil/src/anvil/artifacts/container.rs + killers: + - package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + - package: cargo-anvil + target: snapshots + test: ado_backend_tree + mutants: + - id: 11a349bd2300 + killer: 0 + - id: 1256df81a3a3 + killer: 0 + - id: 1c63eba5012f + killer: 0 + - id: 1ec1a22efa91 + killer: 0 + - id: 2b84389bdd93 + killer: 0 + - id: 3c2b84ec67f4 + killer: 1 + - id: 4bd8ea688703 + killer: 0 + - id: 4c6ef86ae8df + killer: 1 + - id: 5f8420600f0d + killer: 1 + - id: 92f09e7e532b + killer: 0 + - id: 9bf7dc0774df + killer: 1 + - id: 9f89e0b1fa33 + killer: 1 + - id: a28b5e32f38e + killer: 1 + - id: c4dc8b47a402 + killer: 0 + - id: d80581e4bad8 + killer: 1 + - id: eaf52c97946e + killer: 1 + - id: eb57d49b2015 + killer: 0 + - id: f05c22d5fe13 + killer: 0 +- path: crates/cargo-anvil/src/anvil/artifacts/github.rs + killers: + - package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + - package: cargo-anvil + target: schemas + test: emitted_powershell_scripts_disable_profiles + - package: cargo-anvil + target: snapshots + test: github_backend_tree + mutants: + - id: 085b91fba516 + killer: 0 + - id: 16b614af1723 + killer: 2 + - id: 2cf1ecbab05c + killer: 2 + - id: 375847cc2d83 + killer: 2 + - id: 3e37785f338f + killer: 0 + - id: 4612b20c40bb + killer: 2 + - id: 50242b4e91f3 + killer: 0 + - id: 5448a458da08 + killer: 0 + - id: 6f5cb3b343f9 + killer: 2 + - id: 731f43940b64 + killer: 2 + - id: 780d56222aae + killer: 1 + - id: 83da50f36ef5 + killer: 2 + - id: 84fa6f4b1582 + killer: 2 + - id: 8729be35137c + killer: 0 + - id: 92009c8b3764 + killer: 2 + - id: 9610555a3e41 + killer: 2 + - id: 993c518c766e + killer: 2 + - id: a04a8657744a + killer: 0 + - id: a750fe9d64d8 + killer: 0 + - id: b3656620d539 + killer: 2 + - id: b3d16fdef4f3 + killer: 1 + - id: ba60f1e2d1f6 + killer: 2 + - id: bac03be90290 + killer: 2 + - id: c1f5251dd09b + killer: 2 + - id: c29bb470f225 + killer: 2 + - id: e476673332bc + killer: 2 + - id: f0ff2e33ceb4 + killer: 2 + - id: f1a9db615bb6 + killer: 0 + - id: f7bab933fc42 + killer: 0 + - id: fa4ebba0804f + killer: 2 + - id: fcf0dad27008 + killer: 0 +- path: crates/cargo-anvil/src/anvil/artifacts/instructions.rs + killers: + - package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + - package: cargo-anvil + target: snapshots + test: ado_backend_tree + mutants: + - id: 06a37c523e15 + killer: 1 + - id: 3dfc98b4b7a7 + killer: 0 + - id: c0d4b5d4715d + killer: 1 + - id: f7e5f0943fbc + killer: 0 +- path: crates/cargo-anvil/src/anvil/artifacts/justfile.rs + killers: + - package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + mutants: + - id: 501dc97e3515 + killer: 0 + - id: d730068fb346 + killer: 0 + - id: df5bf8e18e14 + killer: 0 +- path: crates/cargo-anvil/src/anvil/artifacts/mod.rs + killers: + - package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + - package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + - package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + - package: cargo-anvil + target: schemas + test: emitted_powershell_scripts_disable_profiles + - package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + - package: cargo-anvil + target: snapshots + test: ado_backend_tree + mutants: + - id: 03cc4cf9b0ae + killer: 5 + - id: 04d2d49ce216 + killer: 5 + - id: 06c740ec681d + killer: 5 + - id: 28d9ff476d60 + killer: 5 + - id: 2c63a79e1af8 + killer: 4 + - id: 2e49ac831876 + killer: 5 + - id: 3127f9b083bb + killer: 5 + - id: 3198b42390f2 + killer: 5 + - id: 32b650c4086f + killer: 4 + - id: 3f51cdfa174a + killer: 4 + - id: 3f9ff27c9094 + killer: 5 + - id: 48fdec33d179 + killer: 5 + - id: 51309e93058a + killer: 5 + - id: 5d73879de70e + killer: 1 + - id: 5e0287ffc01b + killer: 5 + - id: 6364e0070505 + killer: 5 + - id: 6c0b7cc32ac2 + killer: 4 + - id: 76085864d0ef + killer: 5 + - id: 77800b4d953d + killer: 1 + - id: 8255507a64ca + killer: 2 + - id: 8c4398e1843f + killer: 4 + - id: 9ee4ad1af206 + killer: 4 + - id: ab2624522a75 + killer: 5 + - id: b0c1d3d1f356 + killer: 5 + - id: bb60da2a9cf9 + killer: 4 + - id: bf2f8a75d7c0 + killer: 2 + - id: c35e83215a8a + killer: 4 + - id: d808913d40cd + killer: 5 + - id: e90370c7cbe4 + killer: 5 + - id: e975b8887734 + killer: 4 + - id: eca1466df2a7 + killer: 5 + - id: ecca8b613238 + killer: 5 + - id: ed0dc033c1ca + killer: 4 + - id: f2572b4d9122 + killer: 5 + - id: f4d3554fdc9e + killer: 3 + - id: f97b8212fa2d + killer: 5 + - id: fd6991c2df16 + killer: 0 +- path: crates/cargo-anvil/src/anvil/artifacts/region.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::single_crate_body_prepends_lints_header + - package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + - package: cargo-anvil + target: snapshots + test: ado_backend_tree + mutants: + - id: 06e2e06558b7 + killer: 0 + - id: 0b1daedfca4e + killer: 2 + - id: 10d52e6ff0b0 + killer: 2 + - id: 1b88c560cb4d + killer: 2 + - id: 3346bea7cd0b + killer: 2 + - id: 387ab88ff61a + killer: 0 + - id: 5dfa430aba5f + killer: 0 + - id: a01610a82596 + killer: 2 + - id: a769d8e1269d + killer: 2 + - id: b50fad94aad5 + killer: 0 + - id: df1215abb39a + killer: 1 + - id: fef0a4e49429 + killer: 1 +- path: crates/cargo-anvil/src/anvil/mod.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + mutants: + - id: 70445e6f61a4 + killer: 0 + - id: 89d09cd71dda + killer: 0 + - id: a82a7ccb0c7f + killer: 0 + - id: af5864ea1cfc + killer: 1 + - id: c989c7800478 + killer: 1 + - id: f36f9e6dfcc6 + killer: 0 +- path: crates/cargo-anvil/src/backend.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_ado + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_github + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_handles_garbage + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_https + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::origin_output_reports_each_failure_boundary + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_explicit_backends_deduplicate + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_explicit_backends_skip_autodetect + - package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + - package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + - package: cargo-anvil + target: snapshots + test: local_only_tree + mutants: + - id: 00e14a330b53 + killer: 2 + - id: 09bc6092bcd2 + killer: 4 + - id: 1017f84863ba + killer: 0 + - id: 14b4d55d09f4 + killer: 3 + - id: 15bd9f7aa307 + killer: 0 + - id: 16f0e4531814 + killer: 1 + - id: 2b85287b77b2 + killer: 0 + - id: 30a5500ae9cb + killer: 1 + - id: 32af22a020b5 + killer: 3 + - id: 3a7445151990 + killer: 8 + - id: 3c774faff1ba + killer: 1 + - id: 3f31b2398c7c + killer: 8 + - id: 400e8c07918f + killer: 1 + - id: 4052f7941880 + killer: 1 + - id: 406815cfca7f + killer: 8 + - id: 4857211b410b + killer: 1 + - id: 4a11e47937e5 + killer: 0 + - id: 4d0bb282f6aa + killer: 0 + - id: 4f6074314c83 + killer: 1 + - id: 513b4fc00bdb + killer: 0 + - id: 5ec8a22fd3e2 + killer: 0 + - id: 65e93db42aeb + killer: 8 + - id: 6723776b792e + killer: 1 + - id: 682a8a4a8cea + killer: 0 + - id: 69f2d49a7b1d + killer: 4 + - id: 6bd111c22cb9 + killer: 7 + - id: 6e54f8bfdae1 + killer: 4 + - id: 6fdd0b65ed49 + killer: 1 + - id: 8496f0ef8006 + killer: 4 + - id: 855aac1fc838 + killer: 1 + - id: 871e29da683c + killer: 4 + - id: 8a0a66131260 + killer: 1 + - id: 8b5d2190d270 + killer: 4 + - id: 8cef4f4e87bc + killer: 7 + - id: 8e473b16a4dd + killer: 5 + - id: 918fef82b8e5 + killer: 1 + - id: 961bc339e798 + killer: 7 + - id: 97b2677a39c9 + killer: 9 + - id: 99d02ad06287 + killer: 1 + - id: 9cb03df5e31b + killer: 1 + - id: a77ef326c7f6 + killer: 1 + - id: afb26b683707 + killer: 1 + - id: b0c6bcbf258a + killer: 0 + - id: b0d47815ae8e + killer: 1 + - id: b20a007c2bf1 + killer: 0 + - id: b91551bfcb99 + killer: 7 + - id: b953a063663c + killer: 6 + - id: bacbf77a3b48 + killer: 1 + - id: bda772bfd35d + killer: 1 + - id: bdc63d8c78d4 + killer: 1 + - id: c85f5f06a43d + killer: 1 + - id: ce0b29525ed8 + killer: 0 + - id: d370b959eb50 + killer: 4 + - id: d407deed3e10 + killer: 0 + - id: d8f7a1e4900a + killer: 4 + - id: dd4f28448b0b + killer: 2 + - id: e2752b1591f9 + killer: 2 + - id: e775357412d5 + killer: 0 + - id: eacc5e3d12d7 + killer: 1 + - id: eb979f32f2c5 + killer: 8 + - id: ef7e24684e8b + killer: 1 + - id: f7a3768989db + killer: 1 +- path: crates/cargo-anvil/src/catalog/artifact.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::region_id_round_trips + - package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::with_body_preserves_owned_file_path_and_gate + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: multi_level_chain_composes + - package: cargo-anvil + target: snapshots + test: ado_backend_tree + mutants: + - id: 0d98624ef9f2 + killer: 3 + - id: 19d289838950 + killer: 4 + - id: 41214d32261d + killer: 1 + - id: 8a14bb964416 + killer: 0 + - id: b2362a71d032 + killer: 2 + - id: d3bb9a30c8a0 + killer: 3 +- path: crates/cargo-anvil/src/catalog/builder.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::canonical_repr_uses_explicit_stable_tags + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_uses_the_matched_index + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: multi_level_chain_composes + - package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + mutants: + - id: 02a1c3466bc5 + killer: 4 + - id: 0a2c4e06c838 + killer: 5 + - id: 0a38cf399e94 + killer: 7 + - id: 0ff3e7b8a792 + killer: 7 + - id: 1a1ed623353e + killer: 1 + - id: 2484948571e2 + killer: 1 + - id: 24a476244b52 + killer: 1 + - id: 27838a428fbe + killer: 0 + - id: 3b5952426d6e + killer: 7 + - id: 483aeb3e0ddd + killer: 5 + - id: 4b86c263a8c7 + killer: 7 + - id: 5263047ff521 + killer: 7 + - id: 5b8b5fe885bf + killer: 1 + - id: 5b94a1520aa3 + killer: 0 + - id: 63c68d6c20bc + killer: 7 + - id: 66e9aefcb44a + killer: 7 + - id: 6b7d15587e14 + killer: 1 + - id: 6bdf7b4bcac6 + killer: 8 + - id: 6f8e916afb32 + killer: 7 + - id: 739e6703b66f + killer: 6 + - id: 7b8e3e9c7213 + killer: 1 + - id: 7b9139e0a655 + killer: 0 + - id: 7d61b0719e68 + killer: 7 + - id: 7edf1cd290f8 + killer: 2 + - id: 84bf62cc36df + killer: 7 + - id: 84deb04504c5 + killer: 7 + - id: 84eee1e88424 + killer: 7 + - id: 8544674cf6e9 + killer: 5 + - id: 87b36346039c + killer: 6 + - id: 87ded30527f7 + killer: 1 + - id: 8e53da0e7a3f + killer: 7 + - id: 92a2e4e90830 + killer: 7 + - id: 93aeb9cf1762 + killer: 5 + - id: 98a8282e7bd9 + killer: 7 + - id: 98cd0dba6919 + killer: 7 + - id: 9ac01e2a6e00 + killer: 7 + - id: 9d89ab31f590 + killer: 7 + - id: 9dd9d47b7323 + killer: 7 + - id: 9e3a848e64ac + killer: 7 + - id: a091318f8c13 + killer: 1 + - id: a0ece5185196 + killer: 1 + - id: a1af641563ed + killer: 0 + - id: b191b357c739 + killer: 3 + - id: b52b1fee1e16 + killer: 1 + - id: b5bff7b0884b + killer: 5 + - id: b8b7a2788b01 + killer: 1 + - id: b8d07ec5248e + killer: 1 + - id: baa4eb0682be + killer: 0 + - id: bd52cf4ba97a + killer: 1 + - id: bf9ed04d07f0 + killer: 1 + - id: c0b2a28f4ec6 + killer: 5 + - id: c67ba601f0ac + killer: 2 + - id: d3284dbc265e + killer: 1 + - id: d37a8963c82b + killer: 0 + - id: d541b7165379 + killer: 8 + - id: d836a477e83b + killer: 8 + - id: da8f2356f166 + killer: 7 + - id: dd3de8073f1a + killer: 0 + - id: e60695067034 + killer: 1 + - id: f2c73530561f + killer: 9 + - id: f36507e47545 + killer: 8 + - id: f7d0835a6589 + killer: 1 + - id: f8aeeb6cb48f + killer: 7 + - id: f9ab9d5ebcb4 + killer: 1 + - id: fa155b605b7e + killer: 7 + - id: ffec68979b54 + killer: 7 +- path: crates/cargo-anvil/src/catalog/meta.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: catalog::meta::tests::new_derives_only_the_binary_name_and_documented_defaults + mutants: + - id: 2b793a0a0f5d + killer: 0 + - id: 5f29192b7ddf + killer: 0 +- path: crates/cargo-anvil/src/checksum.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::crlf_and_lf_yield_same_checksum + - package: cargo-anvil + target: cli + test: dry_run_fails_when_only_the_lockfile_is_stale + - package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + - package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + mutants: + - id: 05dd2e960cbd + killer: 3 + - id: 0614b2c787e2 + killer: 4 + - id: 06b7acff68f8 + killer: 3 + - id: 094cf7e0cb00 + killer: 1 + - id: 09ef62d93ebc + killer: 1 + - id: 0a4f03a2aacb + killer: 0 + - id: 140d16b3bdd3 + killer: 0 + - id: 16e73dd55de3 + killer: 4 + - id: 202ce1c761e4 + killer: 4 + - id: 24418a4636af + killer: 1 + - id: 274e384be5f2 + killer: 4 + - id: 34296db8cc0c + killer: 1 + - id: 3599420faa6c + killer: 4 + - id: 3810d8e2f253 + killer: 0 + - id: 3eb8c926318b + killer: 4 + - id: 3f59755cd183 + killer: 0 + - id: 408ebdcaf3ba + killer: 1 + - id: 41a7c81120b5 + killer: 4 + - id: 4379de2e8285 + killer: 2 + - id: 4a7b5102c04e + killer: 0 + - id: 525cd17c8566 + killer: 1 + - id: '596545160062' + killer: 4 + - id: 602b1e1fdd6f + killer: 1 + - id: 618dd673be33 + killer: 2 + - id: 64b41f230b14 + killer: 4 + - id: 657ff3ae0462 + killer: 1 + - id: 784dd4ce532f + killer: 4 + - id: 7d23bcdbdfce + killer: 1 + - id: 7d6d23da020e + killer: 4 + - id: 86a56cb8c6cf + killer: 4 + - id: 91425f15335c + killer: 1 + - id: 91858ae88fd5 + killer: 1 + - id: 937c638832bd + killer: 4 + - id: 988b88361cab + killer: 0 + - id: 9b73c05875b7 + killer: 0 + - id: 9d86eb72b22b + killer: 4 + - id: a5eb7ef6691c + killer: 3 + - id: a9ea1700d8a8 + killer: 0 + - id: ab019a6429fb + killer: 4 + - id: ab72bde78ac9 + killer: 4 + - id: ac3db068b4bb + killer: 2 + - id: acd45a048416 + killer: 0 + - id: ae73a1a9e727 + killer: 1 + - id: b832e8289b80 + killer: 0 + - id: b8c1e6ecd0be + killer: 1 + - id: bd9a73a61d7e + killer: 3 + - id: beb4aa1cfd6d + killer: 1 + - id: c68bae66d0ca + killer: 2 + - id: c7b8e66552fb + killer: 0 + - id: c823a4cb1190 + killer: 2 + - id: d864ecff8770 + killer: 0 + - id: df3f6f617aa8 + killer: 2 + - id: e3251cf0460b + killer: 0 + - id: e3f32532a482 + killer: 4 + - id: f1d354813204 + killer: 4 + - id: f3bf0a03fd0b + killer: 1 + - id: f7aefaaa8dee + killer: 0 + - id: fc5a21b5ccf5 + killer: 4 + - id: fcbbd8956e52 + killer: 0 +- path: crates/cargo-anvil/src/cli.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_works_without_subcommand_token + - package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + mutants: + - id: 1c0a5887686e + killer: 1 + - id: '258837445908' + killer: 1 + - id: 71809b997769 + killer: 1 + - id: 97b30ca3d1d5 + killer: 1 + - id: 98e5c02662c1 + killer: 1 + - id: ac03c4bb69ff + killer: 1 + - id: c36c32a97a1f + killer: 1 + - id: d08f066e138c + killer: 0 +- path: crates/cargo-anvil/src/decision.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::disk_matches_last_template_changed_writes + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::opt_out_via_empty_with_template_change_proposes + - package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + mutants: + - id: 0372f43eb24e + killer: 1 + - id: 170b3b9129bc + killer: 4 + - id: 247603c84e7c + killer: 5 + - id: 475c3a16c4ce + killer: 2 + - id: 507cbdb7d28d + killer: 5 + - id: 593bdf06282c + killer: 3 + - id: 9b3639903b5d + killer: 4 + - id: a83259077890 + killer: 5 + - id: acc5193ec8c9 + killer: 2 + - id: dc55bd6bec00 + killer: 5 + - id: e4f6cdf35c8b + killer: 0 + - id: fe399f30729f + killer: 5 +- path: crates/cargo-anvil/src/emit/managed_region.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + - package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + - package: cargo-anvil + target: snapshots + test: ado_backend_tree + mutants: + - id: 063b11c60d25 + killer: 0 + - id: 06617603b42e + killer: 4 + - id: 0889ef33d0e4 + killer: 4 + - id: 2fc7150bf3e3 + killer: 5 + - id: 316abae749b4 + killer: 0 + - id: 589f3b0908a5 + killer: 3 + - id: 5f2e95c6d7e6 + killer: 3 + - id: 6890c14d508d + killer: 4 + - id: 6ffd85786f7e + killer: 3 + - id: 90c8e4b7a039 + killer: 1 + - id: 9997c3cea763 + killer: 2 + - id: 9b546383b6d0 + killer: 0 + - id: b7b29444a5a9 + killer: 3 + - id: bfed6e037fd3 + killer: 3 + - id: e06a236d3b50 + killer: 0 + - id: ea5cbdc76c18 + killer: 3 + - id: f7cc97629b8e + killer: 1 +- path: crates/cargo-anvil/src/io.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: io::tests::exact_case_wins_over_an_earlier_case_insensitive_candidate + - package: cargo-anvil + target: cargo_anvil + test: io::tests::read_file_if_present_propagates_non_not_found_errors + - package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_a_composed_host_is_refused_and_changes_nothing + - package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + - package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + - package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + - package: cargo-anvil + target: snapshots + test: ado_backend_tree + mutants: + - id: 01ed3aad43bf + killer: 4 + - id: 02190e20111c + killer: 4 + - id: 0366dcf99ff7 + killer: 4 + - id: 066111310493 + killer: 2 + - id: 092b66e2a518 + killer: 0 + - id: 0f8fa2f8842c + killer: 6 + - id: 10036a9bd3fc + killer: 2 + - id: 122bac8c3bb9 + killer: 3 + - id: 148d6297e182 + killer: 1 + - id: 1d8889e0f83a + killer: 3 + - id: 257b4532401c + killer: 6 + - id: 2cad6c1b231f + killer: 2 + - id: 362bb951acec + killer: 2 + - id: 38a213c364e2 + killer: 4 + - id: 38dfdf3ba08a + killer: 3 + - id: 4d89c8bdfd78 + killer: 5 + - id: 5d76068bf30d + killer: 1 + - id: 67a9d0de94ae + killer: 2 + - id: 879cdb896cd3 + killer: 3 + - id: 99138e3bfb85 + killer: 3 + - id: a201742a3dfc + killer: 3 + - id: a3fb769f5c84 + killer: 2 + - id: a6da2aad6d4a + killer: 2 + - id: c1c58ebe29d8 + killer: 3 + - id: c32e56cca6c0 + killer: 3 + - id: d1193f35de46 + killer: 2 + - id: dd3cd1be150a + killer: 5 + - id: e7d76cc69b54 + killer: 2 + - id: f4bf1e24bf1a + killer: 4 + - id: f6fde9b9de4a + killer: 4 + - id: fd781c71ad56 + killer: 3 +- path: crates/cargo-anvil/src/lib.rs + killers: + - package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + - package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + mutants: + - id: 6632663324ed + killer: 1 + - id: ae54394b3585 + killer: 1 + - id: fd562d8d3031 + killer: 0 +- path: crates/cargo-anvil/src/main.rs + killers: + - package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + mutants: + - id: da7eca8c6cee + killer: 0 +- path: crates/cargo-anvil/src/manifest.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::containment_errors_name_the_manifest_entry_kind + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::empty_manifest_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::legacy_rendered_by_parses_without_setting_tool + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::malformed_toml_reports_the_parser_context + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_file_path_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_path_that_names_no_file + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_newer_schema + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_clears_a_stale_temporary_sibling + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_stops_when_the_temporary_sibling_cannot_be_cleared + - package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + - package: cargo-anvil + target: cli + test: dry_run_fails_when_only_the_lockfile_is_stale + - package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_an_owned_file_is_not_deleted + - package: cargo-anvil + target: container_upgrade + test: a_case_variant_repository_dockerfile_is_refused_too + - package: cargo-anvil + target: container_upgrade + test: a_composed_host_that_lost_its_regions_is_told_to_restore_it + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + - package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + mutants: + - id: 0362123690f1 + killer: 11 + - id: 085b3a70d5cc + killer: 20 + - id: 0bbacd215d05 + killer: 5 + - id: 0c5700f2cc3d + killer: 10 + - id: 0cf1f786dd75 + killer: 3 + - id: 149e81ca6130 + killer: 18 + - id: 1b4e68156f97 + killer: 11 + - id: 1db83bb5a82b + killer: 9 + - id: 20e79e7810b7 + killer: 1 + - id: 2111ec6c42c4 + killer: 19 + - id: 214ffa23082d + killer: 2 + - id: 21de2ebf1325 + killer: 20 + - id: 22389131310d + killer: 11 + - id: 22a23f62efa1 + killer: 12 + - id: 241bc48d965b + killer: 0 + - id: 2555c5d50ed0 + killer: 18 + - id: 2615dc347384 + killer: 11 + - id: 2794031b97d0 + killer: 11 + - id: 283f51c30664 + killer: 4 + - id: 28e8a2199028 + killer: 11 + - id: 2a28993d320b + killer: 4 + - id: 2b18d9e47ce6 + killer: 20 + - id: 2f53f32c9301 + killer: 15 + - id: 3b0a688e41ff + killer: 11 + - id: 3ba363fa411e + killer: 1 + - id: 431e2e54d790 + killer: 17 + - id: 432d0e42c2f3 + killer: 8 + - id: 4ab73a6c969c + killer: 11 + - id: 4c44c6dde4ed + killer: 11 + - id: 4cf92ee33787 + killer: 1 + - id: 506b0735079e + killer: 11 + - id: 50fc26c1390e + killer: 11 + - id: 54a6c0a3b5b1 + killer: 12 + - id: 54ca24df6aca + killer: 11 + - id: 55cbfc44cc3b + killer: 11 + - id: 5673347eb775 + killer: 19 + - id: '575794261123' + killer: 18 + - id: 5792b6de2a6e + killer: 11 + - id: 5c12fae0e4a3 + killer: 20 + - id: 632cd874ccc8 + killer: 2 + - id: 63af8b66a5a8 + killer: 11 + - id: 63b7aef5176d + killer: 17 + - id: 64dba3d27c1a + killer: 2 + - id: 65025ad7c2c7 + killer: 20 + - id: 650d63371332 + killer: 20 + - id: 6bb658209750 + killer: 11 + - id: 6d99df662682 + killer: 19 + - id: 717c861eb77b + killer: 11 + - id: 72002e3e4d16 + killer: 20 + - id: 733997366ccc + killer: 10 + - id: 735feb7751d0 + killer: 6 + - id: 748c01ff2914 + killer: 11 + - id: 769ad405ae62 + killer: 11 + - id: 7959bb82bd1e + killer: 11 + - id: 7a6aa8c041e6 + killer: 19 + - id: 7ab50d1bf317 + killer: 7 + - id: 7bb937861b70 + killer: 11 + - id: 7bdca5c873c2 + killer: 18 + - id: 7d0b6fbee5e6 + killer: 18 + - id: 7db6f298e108 + killer: 20 + - id: 8041d8f2d930 + killer: 20 + - id: 8140132ce0d4 + killer: 7 + - id: 81bdedaced4d + killer: 11 + - id: 839143fcb718 + killer: 20 + - id: 848d524f7a9d + killer: 20 + - id: 84d2198195ed + killer: 20 + - id: 84eebb348b40 + killer: 11 + - id: 894a29dbbcbc + killer: 11 + - id: 8a02a6fd4aa3 + killer: 16 + - id: 8b1a45f5838e + killer: 7 + - id: 8c20fb4fd9bd + killer: 21 + - id: 8c9ff3de4b19 + killer: 21 + - id: 8cc7f4a351cf + killer: 17 + - id: 8d1d1bde3f62 + killer: 16 + - id: 8e5c84997480 + killer: 11 + - id: 92ad0aa962c6 + killer: 19 + - id: 92bf1e161bf1 + killer: 15 + - id: 9368cdb73f20 + killer: 11 + - id: 93c2246538b7 + killer: 19 + - id: 944174c5485b + killer: 18 + - id: 9510a26c7f9e + killer: 18 + - id: 96cd4c482943 + killer: 11 + - id: 9922a93af194 + killer: 21 + - id: 998d3ae4f22c + killer: 11 + - id: 9a4eae2bc5a5 + killer: 19 + - id: 9b14286ac7d6 + killer: 6 + - id: 9b2c205de52f + killer: 11 + - id: 9b8b284e0085 + killer: 11 + - id: 9d58346bb770 + killer: 13 + - id: 9e0a4b07b79e + killer: 19 + - id: 9ec65e62a7a8 + killer: 21 + - id: 9f6011ac5dac + killer: 21 + - id: a00d43337eac + killer: 11 + - id: a0ad5f70e719 + killer: 2 + - id: a18db7cc3ed1 + killer: 12 + - id: a54c128ac4c7 + killer: 1 + - id: a81caf86e03f + killer: 11 + - id: b0ed225bb158 + killer: 11 + - id: b1cbb8191a1d + killer: 8 + - id: b39f645654e6 + killer: 11 + - id: b3ab652e0554 + killer: 20 + - id: b5244147dff3 + killer: 19 + - id: bafa3e4a70a8 + killer: 11 + - id: bb7cc188b46d + killer: 11 + - id: beab2890d917 + killer: 11 + - id: bf321a6b0336 + killer: 11 + - id: c00f76059a8d + killer: 0 + - id: c035acc25797 + killer: 1 + - id: c4471e0c5227 + killer: 11 + - id: c65210a1069e + killer: 11 + - id: c81e343b065d + killer: 20 + - id: ca65b0218bd8 + killer: 2 + - id: cb0f812b9c1b + killer: 11 + - id: cbbfa0b79680 + killer: 11 + - id: cfc8195c962b + killer: 11 + - id: d44c918910c9 + killer: 2 + - id: d55ac0944a02 + killer: 11 + - id: d5d9584d17b9 + killer: 11 + - id: dbf67ec5e7e5 + killer: 11 + - id: e8a4f623eede + killer: 11 + - id: eb1a53da6dcb + killer: 7 + - id: efbf95406d18 + killer: 21 + - id: f01a05418eed + killer: 17 + - id: f43cb697dab3 + killer: 21 + - id: f77c4e011788 + killer: 14 + - id: f80f7c3c1f02 + killer: 3 + - id: f9fe6e3208d9 + killer: 19 + - id: fdcc74357803 + killer: 19 +- path: crates/cargo-anvil/src/plan.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_component_that_cannot_be_resolved_is_an_error_not_an_absence + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_path_that_resolves_outside_the_repository_is_refused + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_temporary_sibling_that_cannot_be_cleared_stops_the_write + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_carries_provenance_forward + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_without_checksum_preserves_manifest_entry + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::empty_plan_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_categorizes_items + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_distinguishes_create_from_update + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_planning_notes + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_propose_and_leave_alone_sections + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_removal_and_orphan_sections + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + - package: cargo-anvil + target: cli + test: dry_run_fails_when_only_the_lockfile_is_stale + - package: cargo-anvil + target: cli + test: dry_run_refusal_exits_1_without_writing + - package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_a_composed_host_is_refused_and_changes_nothing + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + - package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + - package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + mutants: + - id: 0181fe3bf458 + killer: 8 + - id: 02265b2a2ab0 + killer: 10 + - id: 0302e2b74216 + killer: 9 + - id: 03293c7583ed + killer: 13 + - id: 03cdecc5cee1 + killer: 19 + - id: 0bb2d817ddf2 + killer: 27 + - id: 107bac8f5b73 + killer: 19 + - id: 17edc8aaf68c + killer: 20 + - id: 25a358613759 + killer: 16 + - id: 29e39166601d + killer: 27 + - id: 2c3d340077cd + killer: 19 + - id: 2f15b8c758d2 + killer: 14 + - id: 2faff4e40dd2 + killer: 27 + - id: 2fd2b2f2cef3 + killer: 14 + - id: 35ccdbfa141d + killer: 21 + - id: 36999df14444 + killer: 11 + - id: 388b0fb1dca1 + killer: 19 + - id: 3ba283bf236c + killer: 11 + - id: 3e0aa44822d0 + killer: 10 + - id: 3f0fe6b9217f + killer: 19 + - id: 4071a0e5d3e6 + killer: 11 + - id: 40c13987497c + killer: 27 + - id: 41fb2fe53d4c + killer: 27 + - id: 428869f8997b + killer: 19 + - id: 428d597f291e + killer: 11 + - id: 465949b1ec35 + killer: 16 + - id: 46ae0240353e + killer: 16 + - id: 47c1a8dadcd3 + killer: 19 + - id: 480dbf445141 + killer: 20 + - id: 482081ce0bfc + killer: 20 + - id: 4e2b351589c2 + killer: 19 + - id: 4e4d2016230a + killer: 3 + - id: 50f74deb6e64 + killer: 15 + - id: 518950c3c447 + killer: 3 + - id: 53babbab5424 + killer: 19 + - id: 54183312f3dd + killer: 28 + - id: 5536e0276379 + killer: 10 + - id: 5905804c3c05 + killer: 28 + - id: 5ac9d77ccd71 + killer: 13 + - id: 5bcc1b6f4b1a + killer: 10 + - id: 5f986bbda546 + killer: 26 + - id: 61bd0bcb7f47 + killer: 27 + - id: 622758c3ee44 + killer: 11 + - id: 62dba42b604a + killer: 15 + - id: 63a08f6c0237 + killer: 11 + - id: 657b1d4e052f + killer: 15 + - id: 6bdf124f2829 + killer: 19 + - id: 6f872687ae80 + killer: 27 + - id: 6ff37b72883d + killer: 10 + - id: 7825edd8af7f + killer: 16 + - id: 78781a777b90 + killer: 10 + - id: 788cc3897e9c + killer: 20 + - id: 7f353cfef411 + killer: 3 + - id: 8331702669ed + killer: 20 + - id: 844342fcf0cf + killer: 25 + - id: 84c4c9074550 + killer: 11 + - id: 8720e2d68b8a + killer: 17 + - id: 88cd26ec3668 + killer: 21 + - id: 88d1088fd10e + killer: 11 + - id: 8d81cd368e10 + killer: 27 + - id: 8e2794e36295 + killer: 6 + - id: 8f66368ba8fd + killer: 19 + - id: 90d34a2395b9 + killer: 25 + - id: 91d07203edae + killer: 19 + - id: 94260de5fbaf + killer: 19 + - id: 96d9717086df + killer: 14 + - id: 9a359cbe2317 + killer: 11 + - id: 9ae586306dbd + killer: 0 + - id: 9d42d36fadb0 + killer: 2 + - id: 9eb85e5bb4a7 + killer: 19 + - id: a5e2719268e3 + killer: 19 + - id: a709b10e1cbe + killer: 27 + - id: a83b4e95ddf0 + killer: 10 + - id: a9303b98f88d + killer: 11 + - id: aedc4031ee8c + killer: 22 + - id: b1873f1257e1 + killer: 7 + - id: b53371f46e0c + killer: 20 + - id: b90493cbb7ed + killer: 18 + - id: ba93503311f0 + killer: 20 + - id: bd6e587ae993 + killer: 11 + - id: bdc2dbfcf065 + killer: 21 + - id: bf22ca4a9010 + killer: 13 + - id: c2dc8cbe0526 + killer: 16 + - id: c3cf92fb597c + killer: 19 + - id: c4bf44c1dd66 + killer: 27 + - id: c61b805c8c70 + killer: 21 + - id: ca047ab5f863 + killer: 15 + - id: ca1545a5cce2 + killer: 19 + - id: cb50dffe5e57 + killer: 27 + - id: cc001febb309 + killer: 4 + - id: cdd1595b5833 + killer: 10 + - id: ce3369ecf8d4 + killer: 11 + - id: cef51d48012c + killer: 3 + - id: cf1a98de4c91 + killer: 11 + - id: cf2e376cbbb2 + killer: 28 + - id: cf7a9504b807 + killer: 9 + - id: d002bb507f03 + killer: 12 + - id: d446c1306b17 + killer: 26 + - id: d5403bf9e145 + killer: 24 + - id: d643e11af153 + killer: 15 + - id: d673703a3dcf + killer: 19 + - id: d6ae321c0fd1 + killer: 3 + - id: d7bae1a2bd6d + killer: 11 + - id: d81c4690f5d2 + killer: 20 + - id: dbb190e57c35 + killer: 1 + - id: dce5959342c2 + killer: 13 + - id: de11b574645d + killer: 8 + - id: e3c080969efc + killer: 21 + - id: e4b34e702e2b + killer: 19 + - id: ec4aacf118f3 + killer: 15 + - id: ecd1f5a82848 + killer: 5 + - id: eee4990ad832 + killer: 16 + - id: f0e9eab233f4 + killer: 19 + - id: f16ef41ce8ad + killer: 27 + - id: f23ac7c07a3b + killer: 20 + - id: f27d00119092 + killer: 28 + - id: f2f4136482cb + killer: 11 + - id: f3623cf93ba8 + killer: 1 + - id: f66c1b9c1732 + killer: 10 + - id: f680a893bff6 + killer: 10 + - id: f8fd4a67ca49 + killer: 23 + - id: f98aa201ef33 + killer: 11 + - id: fe93d1172cc4 + killer: 13 +- path: crates/cargo-anvil/src/region.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_literal_multi_line_string_declines_adoption_entirely + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_multi_line_string_declines_adoption_entirely + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_into_empty_text_adds_no_leading_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::closer_before_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_closing_sentinel_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::managed_markers_exclude_their_complete_body_from_adoption_candidates + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::render_region_adds_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_comments_are_excluded_when_scanning_slash_syntax + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::strip_trailing_comment_tracks_quoting + - package: cargo-anvil + target: cargo_anvil + test: region::tests::unterminated_region_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + - package: cargo-anvil + target: cli + test: dry_run_refusal_exits_1_without_writing + - package: cargo-anvil + target: container_upgrade + test: a_malformed_sentinel_is_named_in_the_refusal + - package: cargo-anvil + target: container_upgrade + test: a_newly_added_region_is_inserted_in_order_not_appended + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + - package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + - package: cargo-anvil + target: fixtures + test: migration_preserves_user_content + - package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + - package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + - package: cargo-anvil + target: snapshots + test: ado_backend_tree + mutants: + - id: 013b7f30133c + killer: 43 + - id: 019da13dd3e9 + killer: 47 + - id: 0303f1c9ff43 + killer: 40 + - id: 030d6cd78642 + killer: 46 + - id: 03a38d588857 + killer: 47 + - id: 045d6129fb57 + killer: 45 + - id: 04de4ac12707 + killer: 1 + - id: 0675ee71d2b0 + killer: 47 + - id: 06a5dfc43de0 + killer: 39 + - id: 09c05ad03d53 + killer: 46 + - id: 0a042b185214 + killer: 0 + - id: 0aa50cccb4b4 + killer: 43 + - id: 0abeea1008a4 + killer: 6 + - id: 0b59d4459aad + killer: 47 + - id: 0c4147e28148 + killer: 45 + - id: 0cb1ce0104e2 + killer: 32 + - id: 0da2b6737fcb + killer: 0 + - id: 0ef9f5e612dd + killer: 45 + - id: 10348c23b393 + killer: 45 + - id: 139f83ac4aa4 + killer: 47 + - id: 1403e5e991e0 + killer: 41 + - id: 1439530cc232 + killer: 6 + - id: 14948df20864 + killer: 28 + - id: 154d82830046 + killer: 47 + - id: 16031bd843e7 + killer: 47 + - id: 1639add955c8 + killer: 46 + - id: 16fcf1b80358 + killer: 47 + - id: 17283712f1b7 + killer: 47 + - id: 17417928d39b + killer: 0 + - id: 183782c169c7 + killer: 47 + - id: 1a61a39cb49f + killer: 41 + - id: 1a708be9e44e + killer: 47 + - id: 1be4268dabeb + killer: 0 + - id: 1cbc75f32026 + killer: 8 + - id: 1d821ea16f42 + killer: 47 + - id: 1defddfe6f51 + killer: 47 + - id: 1e21b9351c1f + killer: 9 + - id: 1e2bed3e9c7c + killer: 37 + - id: 1f7646343224 + killer: 23 + - id: 2030af1947af + killer: 44 + - id: 205b6668bb1c + killer: 47 + - id: 21878ba08f26 + killer: 47 + - id: 224e88b522b4 + killer: 47 + - id: 227fe46f7993 + killer: 0 + - id: 2298291c6c7d + killer: 47 + - id: 230703bf21db + killer: 47 + - id: 23dcfbe39fe0 + killer: 47 + - id: 246b1eed6933 + killer: 47 + - id: 259ca36da2eb + killer: 0 + - id: 265b61de3012 + killer: 1 + - id: 26d0cfa19a4f + killer: 47 + - id: 27ecc8eb6a21 + killer: 43 + - id: 28b2bd44e117 + killer: 46 + - id: 28b44c1a4c80 + killer: 47 + - id: 28f935471c1c + killer: 47 + - id: 2c129c8f7062 + killer: 0 + - id: 2c7cc69a1ff0 + killer: 11 + - id: 2cde84d0c35e + killer: 16 + - id: 2cf6cd93ffe6 + killer: 35 + - id: 2d88177680b5 + killer: 17 + - id: 2eac97f80eab + killer: 43 + - id: 2f391c6a7fa5 + killer: 0 + - id: 31045c6b0047 + killer: 47 + - id: 310963b3fc4f + killer: 30 + - id: 31284af23d35 + killer: 20 + - id: 31f116f235c0 + killer: 33 + - id: 32372f64f237 + killer: 47 + - id: 33b5a61df3eb + killer: 32 + - id: 33bbbc7edab2 + killer: 45 + - id: 341e8258fbc8 + killer: 0 + - id: 34c58923151b + killer: 2 + - id: 34e2ba5fb6e5 + killer: 47 + - id: 3525d0beff84 + killer: 33 + - id: 3789356680a1 + killer: 3 + - id: 3871acb52b21 + killer: 47 + - id: 3aee09b84956 + killer: 0 + - id: 3bc7c106481c + killer: 44 + - id: 3c4b602e5b2a + killer: 0 + - id: 3ed9370e17d6 + killer: 0 + - id: 3f3fad3d3bbd + killer: 47 + - id: 3f678f5e6263 + killer: 37 + - id: 3fa46e5fb234 + killer: 47 + - id: 3fb38388036f + killer: 0 + - id: 41d7341f4796 + killer: 47 + - id: 4232d2b701a2 + killer: 47 + - id: 42a082a49f0b + killer: 47 + - id: 42cd66300cc3 + killer: 0 + - id: 43d5ba27253e + killer: 37 + - id: 43fcc1a17a1b + killer: 4 + - id: 441a2381b3ee + killer: 0 + - id: 444bd0968b36 + killer: 0 + - id: 45dda97ac565 + killer: 47 + - id: 4608cd5c8517 + killer: 45 + - id: 46654c47dd94 + killer: 45 + - id: 46bf87fa5545 + killer: 41 + - id: 475484bf9c2c + killer: 47 + - id: 489fece2a691 + killer: 33 + - id: 48a88cec6dfc + killer: 43 + - id: 48fbe8f5a81c + killer: 0 + - id: 49a74d9633ae + killer: 4 + - id: 4babdee9b393 + killer: 29 + - id: 4c40dc96b877 + killer: 34 + - id: 4e530729de71 + killer: 37 + - id: 4ec103da66ca + killer: 37 + - id: 51645f4988bc + killer: 29 + - id: 52153d5a2d39 + killer: 0 + - id: 525fdc8b2132 + killer: 47 + - id: 527941c1c451 + killer: 32 + - id: 52ab1eb6c60f + killer: 0 + - id: 53a1119425eb + killer: 15 + - id: 53acddcc6373 + killer: 47 + - id: 53b6b4082a7b + killer: 6 + - id: 53f5a97bb1ca + killer: 45 + - id: 54ebe2d56489 + killer: 47 + - id: 550e4ad40f06 + killer: 28 + - id: 5540d4848d1d + killer: 33 + - id: 560400f8a8fb + killer: 0 + - id: 567535730cca + killer: 2 + - id: 569644a82b70 + killer: 45 + - id: 5742c8f49977 + killer: 13 + - id: 585f19af0412 + killer: 47 + - id: 58c12f976fac + killer: 16 + - id: 59956207745d + killer: 13 + - id: 59b660b9418c + killer: 28 + - id: 5ac03afc0030 + killer: 47 + - id: 5acb7fad4209 + killer: 0 + - id: 5c74a6d6c764 + killer: 2 + - id: 5d436a5b953e + killer: 0 + - id: 5dbd2ce0b0fe + killer: 44 + - id: 5dede2014ccb + killer: 6 + - id: 5e03bb2f0a25 + killer: 0 + - id: 5e3866286cdf + killer: 25 + - id: 5e58b5c99a46 + killer: 47 + - id: 5e5d0c00c1e5 + killer: 47 + - id: 5fefd318c1a6 + killer: 46 + - id: 60548e56cfb2 + killer: 46 + - id: 611b57b73f41 + killer: 27 + - id: 612cb1d5fef9 + killer: 0 + - id: 6133d179641e + killer: 40 + - id: 61423ffd1375 + killer: 47 + - id: 6145ffdfb08c + killer: 0 + - id: 6294d71f828d + killer: 47 + - id: 6428621161f3 + killer: 44 + - id: 648e59e26bcf + killer: 43 + - id: 64a8d273404c + killer: 7 + - id: 651e31377cd2 + killer: 45 + - id: 6589c91b46ba + killer: 15 + - id: 65aa623e0408 + killer: 31 + - id: 666e53428dfd + killer: 32 + - id: 674347b505d8 + killer: 47 + - id: 678051b5f6f4 + killer: 36 + - id: 6817be438008 + killer: 47 + - id: 68f21c825ee5 + killer: 8 + - id: 6964f56090f5 + killer: 36 + - id: 699ca577061e + killer: 47 + - id: 69e4db669236 + killer: 8 + - id: 6a2b50aa5c14 + killer: 47 + - id: 6a5333ada0d3 + killer: 45 + - id: 6c4809f87981 + killer: 14 + - id: 6c8109401bc5 + killer: 8 + - id: 6ca3e8955d2e + killer: 47 + - id: 6d4a25a74d61 + killer: 12 + - id: 6f937a2e8c41 + killer: 41 + - id: 7007baedb15b + killer: 27 + - id: 708f85b9094d + killer: 46 + - id: 709c8fc6d699 + killer: 16 + - id: 72309bbc21d9 + killer: 0 + - id: 74bafebf51f4 + killer: 32 + - id: 766a7b871f03 + killer: 37 + - id: 7740b41233fd + killer: 47 + - id: 777f9b402ee0 + killer: 0 + - id: 77e1b76e3241 + killer: 45 + - id: 78bba07120f3 + killer: 47 + - id: 78e7f771db68 + killer: 47 + - id: 79d6388e3d7e + killer: 18 + - id: 79df899a54af + killer: 36 + - id: 79e0f385118b + killer: 47 + - id: 7bc42459222e + killer: 43 + - id: 7bd4652674c4 + killer: 45 + - id: 7c8915f12a4b + killer: 44 + - id: 7c9fa9abde2a + killer: 47 + - id: 7ccb4fb7236c + killer: 1 + - id: 7ce67b57a68f + killer: 47 + - id: 7d19c0b532a1 + killer: 45 + - id: 7d75a345dcb5 + killer: 9 + - id: 7d80b02fba7a + killer: 47 + - id: 7dc8dfc5c43e + killer: 33 + - id: 7e1a3027649b + killer: 47 + - id: 806158ac5d15 + killer: 0 + - id: 81f70681f322 + killer: 33 + - id: 82d5c2b9420b + killer: 0 + - id: 83e2305979a2 + killer: 47 + - id: 8478ae8f2d28 + killer: 21 + - id: 84d65456e42a + killer: 47 + - id: 85726bb66cd8 + killer: 47 + - id: 869e4beb7808 + killer: 45 + - id: 87d7e5979c36 + killer: 16 + - id: 88158e0c22e7 + killer: 41 + - id: 881873f77e22 + killer: 26 + - id: 8961735f6965 + killer: 9 + - id: 8afe64ba7ed8 + killer: 0 + - id: 8bea042922ce + killer: 36 + - id: 8cecea7bbaa4 + killer: 18 + - id: 8e21fb9f6720 + killer: 6 + - id: 8e76b6fe71d8 + killer: 28 + - id: 8eccb90ac4c0 + killer: 47 + - id: 8f8e52ae18d8 + killer: 47 + - id: 9023e6dfe9ef + killer: 0 + - id: 90369fffec0f + killer: 9 + - id: 90e8255aaec6 + killer: 47 + - id: 91a1fd5baa2c + killer: 0 + - id: 929800d15c48 + killer: 47 + - id: 9428cc024057 + killer: 47 + - id: 94a7420c6cb5 + killer: 29 + - id: 954c91b58642 + killer: 0 + - id: 9627b179d299 + killer: 47 + - id: 962e08f5c2d8 + killer: 5 + - id: 96589b3fa451 + killer: 47 + - id: 975a7fb99cc3 + killer: 13 + - id: 988bd173c4be + killer: 10 + - id: 99581e1651a9 + killer: 33 + - id: 99cee2ac1c4c + killer: 47 + - id: 9b0e6c1c5856 + killer: 47 + - id: 9d3f88433dc4 + killer: 47 + - id: 9d408c9c53ce + killer: 47 + - id: 9d74c82d11b0 + killer: 28 + - id: 9dcbde28875c + killer: 0 + - id: 9e07355aa14c + killer: 31 + - id: 9ec1580c4f98 + killer: 37 + - id: a250ae034eea + killer: 0 + - id: a2d4fcd5cb36 + killer: 47 + - id: a2e851c7a44c + killer: 17 + - id: a30ce3d3cd9d + killer: 47 + - id: a31401b76b2d + killer: 44 + - id: a615eb0cb246 + killer: 0 + - id: a736782462dd + killer: 47 + - id: a737737c96c9 + killer: 47 + - id: a8b72cdbaf7d + killer: 33 + - id: a8f9cd43eae0 + killer: 32 + - id: a9eb749adb99 + killer: 9 + - id: a9f9ada07345 + killer: 47 + - id: aa4af862efde + killer: 0 + - id: aa94669e0f3a + killer: 47 + - id: ac07e93d3ea7 + killer: 47 + - id: ad7211bfdb45 + killer: 33 + - id: adc4325bf872 + killer: 0 + - id: aec5a9123ec6 + killer: 44 + - id: aee4d06c7963 + killer: 15 + - id: af49f8181e9a + killer: 28 + - id: af501a10c59a + killer: 0 + - id: aff62f415007 + killer: 0 + - id: b130111214c7 + killer: 0 + - id: b207d6e1c737 + killer: 31 + - id: b2167862236c + killer: 47 + - id: b29cbc0555c1 + killer: 33 + - id: b2acbd05d7f3 + killer: 45 + - id: b2e68f1f6993 + killer: 10 + - id: b3550f53d6db + killer: 47 + - id: b37cfd0b0b94 + killer: 35 + - id: b4998d820221 + killer: 29 + - id: b4e3b81278df + killer: 45 + - id: b50b4ae9903a + killer: 47 + - id: b53abca00fcd + killer: 8 + - id: b55bab15cf9f + killer: 46 + - id: b68da62af72c + killer: 45 + - id: b6ce811fb1ab + killer: 47 + - id: b8179298bcf7 + killer: 28 + - id: b86798f4a1e5 + killer: 47 + - id: ba3f12b293b7 + killer: 47 + - id: bb12420f1ae1 + killer: 47 + - id: bbd9b52b7715 + killer: 0 + - id: bcaafa3bdf02 + killer: 45 + - id: bcb31d8fab0c + killer: 15 + - id: bd4fa4b92f77 + killer: 20 + - id: bdf1a9aa97fd + killer: 28 + - id: c084c4fbef2f + killer: 10 + - id: c196bc62f9c3 + killer: 28 + - id: c1ca251a4858 + killer: 45 + - id: c23708dd8acc + killer: 47 + - id: c27067503ca4 + killer: 47 + - id: c31496cc7f56 + killer: 27 + - id: c347060235ae + killer: 47 + - id: c3961e749f98 + killer: 0 + - id: c4459b8ff41d + killer: 0 + - id: c4cf877ff0c9 + killer: 41 + - id: c61be56e393a + killer: 47 + - id: c7812468bdc6 + killer: 28 + - id: c7a4c5dc7b64 + killer: 37 + - id: c850950b0d77 + killer: 0 + - id: c94b3875a4e0 + killer: 43 + - id: cab428a481ad + killer: 15 + - id: cc3f2599ecb9 + killer: 41 + - id: cd361fe0338c + killer: 19 + - id: cf5d61c370fe + killer: 41 + - id: d00945cba2e1 + killer: 9 + - id: d1fcc05319ee + killer: 46 + - id: d45732a85bac + killer: 45 + - id: d5396b509bb1 + killer: 33 + - id: d54d916193a8 + killer: 47 + - id: d553ea4e910b + killer: 23 + - id: d5633286d195 + killer: 47 + - id: d5c620cfb333 + killer: 47 + - id: d63dd3cbef11 + killer: 45 + - id: d66772e4e066 + killer: 18 + - id: d6af911fd528 + killer: 37 + - id: d6c2fe803acd + killer: 38 + - id: d6ef831e8d9e + killer: 45 + - id: d70f5a2db558 + killer: 30 + - id: d764ec0201ba + killer: 33 + - id: d8f010f6b3e9 + killer: 22 + - id: d9395073c3c6 + killer: 33 + - id: d9b8c922d7ec + killer: 45 + - id: da2f750aee1a + killer: 46 + - id: da50bb38d4bc + killer: 47 + - id: db5fcd452d7f + killer: 0 + - id: dd89383fc54a + killer: 8 + - id: df83859a1db2 + killer: 8 + - id: e0149ac882f6 + killer: 45 + - id: e070e46c37aa + killer: 28 + - id: e22ca6acdc3a + killer: 0 + - id: e250c51e40b5 + killer: 45 + - id: e27d6ac7f068 + killer: 0 + - id: e298d0efa99a + killer: 47 + - id: e31604d79f26 + killer: 45 + - id: e3f7023c44c9 + killer: 45 + - id: e41d3a53d20c + killer: 9 + - id: e501b72a1ea4 + killer: 8 + - id: e5af74ba69a8 + killer: 0 + - id: e62e47ac7ac0 + killer: 42 + - id: e633341194a0 + killer: 2 + - id: e6765dd30fb5 + killer: 0 + - id: e7ee594b39d1 + killer: 0 + - id: e7f612e2c53f + killer: 27 + - id: e98366acb936 + killer: 24 + - id: e9cf3820e320 + killer: 0 + - id: eb8b600f81a1 + killer: 33 + - id: ec15b9628dc7 + killer: 47 + - id: ec5aa4bbb5c8 + killer: 8 + - id: ec64eb340a68 + killer: 0 + - id: ecaef97c7df1 + killer: 28 + - id: ed46499bc905 + killer: 15 + - id: edc3c30f4b7e + killer: 45 + - id: ee5025a64558 + killer: 30 + - id: eea08990416e + killer: 46 + - id: efe3ace2ec29 + killer: 45 + - id: f07e26cbf118 + killer: 0 + - id: f14f94613918 + killer: 46 + - id: f15aa507371c + killer: 45 + - id: f24c669b7ccc + killer: 33 + - id: f29d31e849d0 + killer: 33 + - id: f3c07ffbcdce + killer: 46 + - id: f3d673255394 + killer: 45 + - id: f4d826eace87 + killer: 47 + - id: f5a0fee0f6b8 + killer: 43 + - id: f68ef113273c + killer: 16 + - id: f7e89be6ff2f + killer: 0 + - id: f96238da4b6a + killer: 37 + - id: fa7f3772e175 + killer: 37 + - id: fa83dbbe72c7 + killer: 47 + - id: fb6594ea600f + killer: 8 + - id: fc165374dbac + killer: 33 + - id: fc27c2732279 + killer: 0 + - id: fc4928f061ca + killer: 47 + - id: fc8ceee901e9 + killer: 29 + - id: fd1832ef4d20 + killer: 27 + - id: fdc987b0a170 + killer: 0 +- path: crates/cargo-anvil/src/run.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_parser_directive_without_a_trailing_newline_uses_its_full_length + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::host_text_cache_reads_a_host_only_once + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + - package: cargo-anvil + target: cli + test: dry_run_fails_when_only_the_lockfile_is_stale + - package: cargo-anvil + target: cli + test: dry_run_refusal_exits_1_without_writing + - package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_a_composed_host_is_refused_and_changes_nothing + - package: cargo-anvil + target: container_upgrade + test: a_case_variant_repository_dockerfile_is_refused_too + - package: cargo-anvil + target: container_upgrade + test: a_composed_host_that_lost_its_regions_is_told_to_restore_it + - package: cargo-anvil + target: container_upgrade + test: a_malformed_sentinel_is_named_in_the_refusal + - package: cargo-anvil + target: container_upgrade + test: a_newly_added_region_is_inserted_in_order_not_appended + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - package: cargo-anvil + target: container_upgrade + test: a_reordered_composed_dockerfile_is_refused_with_one_diagnostic + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: container_upgrade + test: an_edited_superseded_dockerfile_is_never_overwritten + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_spares_a_retired_region_entry_too + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_owned_dockerfile_reseeds_the_composed_host + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + - package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + - package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + - package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + - package: cargo-anvil + target: snapshots + test: ado_backend_tree + mutants: + - id: 0090c1a4a07c + killer: 34 + - id: 01613aa7fe51 + killer: 31 + - id: 048f95bb9720 + killer: 34 + - id: 05aabae0a015 + killer: 25 + - id: 06d48ac4de1e + killer: 10 + - id: 083937920725 + killer: 18 + - id: 0910e47738ac + killer: 0 + - id: 09d29d8c62f4 + killer: 24 + - id: 0a64815d6fe7 + killer: 33 + - id: 0a718584208e + killer: 24 + - id: 0de8a336fcf3 + killer: 13 + - id: 0e83017f74cb + killer: 29 + - id: 0f80bcb0ebf4 + killer: 21 + - id: 0fb42ab6b928 + killer: 4 + - id: 0fcbc1b814a7 + killer: 19 + - id: 10e6893d39e0 + killer: 34 + - id: 11f91d01f28f + killer: 34 + - id: 156c8d8593cd + killer: 34 + - id: 1733c503f32d + killer: 0 + - id: 1776124edc12 + killer: 10 + - id: 188f90d35bfa + killer: 0 + - id: 18b2f63a7c2b + killer: 17 + - id: 1a8f1f8249dc + killer: 31 + - id: 1b64ce4cda00 + killer: 25 + - id: 1cc295bda4ff + killer: 21 + - id: 1ce1ee0b8148 + killer: 6 + - id: 1e20f37f7fc3 + killer: 7 + - id: 1fb347b30e11 + killer: 34 + - id: 22a603fbb440 + killer: 12 + - id: 23fce0a8751e + killer: 27 + - id: 25a910787d9b + killer: 34 + - id: 263aef5c5959 + killer: 26 + - id: 268edba66f93 + killer: 17 + - id: 27f1ef0cf9ca + killer: 4 + - id: 288df10be177 + killer: 13 + - id: 29bcec908367 + killer: 32 + - id: 2b2133c07512 + killer: 34 + - id: 2b4a03e051b6 + killer: 13 + - id: 2b57187b5c00 + killer: 16 + - id: 2fbbf785929e + killer: 29 + - id: 35ad6dd3290e + killer: 13 + - id: 37156a1ad85e + killer: 34 + - id: 37c0a8438121 + killer: 13 + - id: 395d77e2fc1f + killer: 21 + - id: 3a60ada4da61 + killer: 32 + - id: 3c9cd50cfe2f + killer: 34 + - id: 3dbd455f00c5 + killer: 13 + - id: 3e701763e4ab + killer: 13 + - id: 3f0b9f42b211 + killer: 34 + - id: 41ecba4a03d3 + killer: 25 + - id: 4286705cb27f + killer: 9 + - id: 42f7601eef16 + killer: 21 + - id: 456fa4a0072b + killer: 4 + - id: 478bdc78512e + killer: 13 + - id: 48012d472c6f + killer: 34 + - id: 496fc9dbe2a6 + killer: 32 + - id: 4ad3e4a2e774 + killer: 8 + - id: 4b0ed9b2fa0c + killer: 34 + - id: 4d8ed8a71699 + killer: 13 + - id: 4fa2c0d791d7 + killer: 13 + - id: 4faec7729d47 + killer: 13 + - id: 50190433c3e7 + killer: 14 + - id: 52599418d775 + killer: 10 + - id: 530efcf7fb8f + killer: 3 + - id: 541512be31ed + killer: 28 + - id: 55c9d966913f + killer: 20 + - id: 560de8bb6a0a + killer: 34 + - id: 571e55963ec3 + killer: 34 + - id: 5a31f09eb787 + killer: 33 + - id: 5d2d425926a3 + killer: 16 + - id: 5d30bd4b2fa1 + killer: 17 + - id: 5da20ba7f8e8 + killer: 26 + - id: 60068e437f0c + killer: 13 + - id: 62321b06b87b + killer: 32 + - id: 62a51f73456f + killer: 21 + - id: 62f7bc9b1bae + killer: 17 + - id: 63d46d42d0e2 + killer: 21 + - id: 65c6aeaf48a7 + killer: 34 + - id: 65db35f6a579 + killer: 13 + - id: 677bc6164593 + killer: 34 + - id: 67e5e347fc9b + killer: 12 + - id: 67eb90926374 + killer: 18 + - id: 6bce75ad6157 + killer: 25 + - id: 6f3358a2c67d + killer: 34 + - id: 72e38f0a8b6f + killer: 10 + - id: 77212269ecd2 + killer: 4 + - id: 77b044580dbb + killer: 4 + - id: 79291a10e4b7 + killer: 14 + - id: 7a6a3408d5d4 + killer: 30 + - id: 7b6ba54e02d9 + killer: 11 + - id: 7e1450c02e33 + killer: 22 + - id: 7e272da7da68 + killer: 1 + - id: 7eaa0276360c + killer: 0 + - id: 803bf6cbe295 + killer: 27 + - id: 81637957db97 + killer: 21 + - id: 83f31fe34e7e + killer: 13 + - id: 8617d454b026 + killer: 28 + - id: 87525367de1c + killer: 13 + - id: 87d9f86181a6 + killer: 13 + - id: 88d66722525a + killer: 34 + - id: 8a5b9639b35d + killer: 10 + - id: 8b4048652a49 + killer: 34 + - id: 8c9e2e0f4cda + killer: 25 + - id: 8fcd1017157e + killer: 13 + - id: 926e8856aba2 + killer: 14 + - id: 9640fa779506 + killer: 15 + - id: 9675f1e7f26f + killer: 24 + - id: 9b30441278fb + killer: 34 + - id: 9bffe4a7487e + killer: 15 + - id: 9c2f6990cb09 + killer: 34 + - id: a18d1763adc3 + killer: 33 + - id: a5db015ea988 + killer: 34 + - id: a5e9f6c829ae + killer: 13 + - id: a706bd27d009 + killer: 32 + - id: a780b5574e33 + killer: 34 + - id: a8958b15444b + killer: 30 + - id: a8df979e20ea + killer: 9 + - id: a8dfd5e1bd05 + killer: 1 + - id: a9bc1e459d38 + killer: 3 + - id: b32cc3297c9c + killer: 34 + - id: b3e31d37e919 + killer: 13 + - id: b434f19ec832 + killer: 29 + - id: b5447f625f8d + killer: 33 + - id: b5dd62eb384f + killer: 21 + - id: b7321b71b84e + killer: 34 + - id: b8626062d27a + killer: 34 + - id: b8d0c8b5b1e5 + killer: 14 + - id: b960741d1075 + killer: 4 + - id: b9b987e451fd + killer: 34 + - id: bd962c6b8632 + killer: 13 + - id: bf43b41b8a26 + killer: 16 + - id: c040fcf8a51d + killer: 0 + - id: c305c9b92a36 + killer: 16 + - id: c3080e24ddb9 + killer: 11 + - id: c3c62efdfe53 + killer: 14 + - id: c504359aec6d + killer: 13 + - id: c9a4a63272d5 + killer: 10 + - id: ca1d9d51d950 + killer: 25 + - id: cc118bef2a3c + killer: 25 + - id: cc73e1b344f2 + killer: 16 + - id: cfabb6ed8a38 + killer: 32 + - id: d0b733d1ce59 + killer: 13 + - id: d15c1a823003 + killer: 1 + - id: d1f52655e2a8 + killer: 20 + - id: d34aed4aa68b + killer: 13 + - id: d5767cbb7896 + killer: 21 + - id: d59fae65909f + killer: 17 + - id: d5f0502b4b11 + killer: 10 + - id: d6c213dddd27 + killer: 34 + - id: d6cd3d002c11 + killer: 28 + - id: dd823536ff0c + killer: 34 + - id: e1c7748f8ddb + killer: 32 + - id: e39cafb07cac + killer: 14 + - id: e5312b86276d + killer: 13 + - id: e761668ce009 + killer: 21 + - id: e9f0200ce715 + killer: 17 + - id: ea338f13b2b4 + killer: 13 + - id: ecf6018d87f9 + killer: 23 + - id: ed8f5835345a + killer: 29 + - id: ee063cde9e50 + killer: 4 + - id: eedf856706da + killer: 9 + - id: ef797ebe7d06 + killer: 5 + - id: f15729b7df53 + killer: 30 + - id: f167efc48f1e + killer: 24 + - id: f3df534cb29a + killer: 2 + - id: f5dd3cb13052 + killer: 16 + - id: f6d0ad32c593 + killer: 18 + - id: f6edb21823eb + killer: 29 + - id: f789033bddd8 + killer: 3 + - id: f858b74d1ee7 + killer: 29 + - id: f93532ba2a06 + killer: 30 + - id: fa760d46e59c + killer: 34 + - id: fc4ad0518bb2 + killer: 12 + - id: fc87963e4bcc + killer: 14 + - id: fd04b757f22e + killer: 34 + - id: fd7ba67946bc + killer: 13 + - id: ff1b27240be9 + killer: 34 +- path: crates/cargo-anvil/src/workspace.rs + killers: + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_explicit_members + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_single_crate_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::empty_member_pattern_errors + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::errors_when_explicit_member_missing + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::glob_member_sorting_is_independent_of_directory_iteration_order + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::glob_with_existing_parent_but_no_member_dirs_resolves_empty + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::manifest_without_workspace_or_package_errors + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::nearest_package_manifest_wins_without_a_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::unsupported_glob_pattern_errors + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::walks_up_to_workspace_root + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::workspace_resolving_to_zero_members_errors + - package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + - package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + - package: cargo-anvil + target: snapshots + test: ado_backend_tree + mutants: + - id: 072a97177b63 + killer: 13 + - id: 08a03817b2ae + killer: 6 + - id: 0912c01c9f1b + killer: 0 + - id: 09e220cf6367 + killer: 0 + - id: 0c6c495e63ba + killer: 13 + - id: 0d9d972c4829 + killer: 8 + - id: 0e5838b9bba3 + killer: 10 + - id: 10f29e842b0f + killer: 12 + - id: 115fee5c0f60 + killer: 12 + - id: 12454a6b300d + killer: 11 + - id: 13002e5135e2 + killer: 13 + - id: 13d185bf4d39 + killer: 0 + - id: 13e5a934c5ee + killer: 13 + - id: 153835e31af6 + killer: 13 + - id: 18533d368283 + killer: 10 + - id: 1a61a69207e6 + killer: 1 + - id: 1d42fa07f602 + killer: 13 + - id: 269e8f16a06d + killer: 0 + - id: 286d5e83016e + killer: 13 + - id: 287f3f1cc852 + killer: 12 + - id: 2b7ac4287e69 + killer: 2 + - id: 2d2cf19e3fcd + killer: 5 + - id: 36208386b8f6 + killer: 13 + - id: 39339620df42 + killer: 12 + - id: 3ea98336e8c7 + killer: 13 + - id: 3eb05c9901ee + killer: 13 + - id: 41bc601cab80 + killer: 13 + - id: 42f72ac39627 + killer: 13 + - id: 472c3180f2be + killer: 7 + - id: 47f60861a442 + killer: 12 + - id: 4991ec9514b7 + killer: 10 + - id: 4a81abd76cc1 + killer: 13 + - id: 4fede8a1509f + killer: 13 + - id: 4ffb4daf2e60 + killer: 12 + - id: 576faa543e2d + killer: 12 + - id: 57c3bd36dd66 + killer: 13 + - id: 6302115d2a23 + killer: 4 + - id: 69c6a2af10ef + killer: 12 + - id: 6ceede230a91 + killer: 12 + - id: 6e9df38ef027 + killer: 13 + - id: 7177ab8067ab + killer: 12 + - id: 792ddf5089a2 + killer: 13 + - id: 7b6f44612f8c + killer: 14 + - id: 7ec9f41e4051 + killer: 12 + - id: 7fc9a25fa460 + killer: 13 + - id: 80af2a19f0f9 + killer: 9 + - id: 82ae02237b11 + killer: 13 + - id: 85c0e780b5c2 + killer: 3 + - id: 86dcd9c67a89 + killer: 14 + - id: 89ac1dadbd55 + killer: 12 + - id: 8cc9e119bc18 + killer: 13 + - id: 938aea8680ea + killer: 13 + - id: 9439d04d1fb6 + killer: 13 + - id: 9993502aad03 + killer: 0 + - id: 9b2a5e663e56 + killer: 13 + - id: a1923466090a + killer: 13 + - id: a60ab9677e7f + killer: 10 + - id: b07f6bee5495 + killer: 13 + - id: b813909b9a7f + killer: 5 + - id: bb6742d54110 + killer: 13 + - id: be8e8cd37993 + killer: 12 + - id: bec4605264d4 + killer: 13 + - id: bf72fc1ae91a + killer: 13 + - id: c0257db21503 + killer: 10 + - id: c29b39d8b0f9 + killer: 0 + - id: cb4f464daa20 + killer: 0 + - id: d0b97f990193 + killer: 0 + - id: e89e96172b1e + killer: 13 + - id: efe187f71091 + killer: 14 + - id: f01dbe6c93f1 + killer: 13 + - id: f216ff66affd + killer: 13 + - id: fa92f0f9f041 + killer: 13 + - id: fcc1312afea1 + killer: 13 +- path: crates/cargo-aprz-lib/src/commands/cache_dir.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::an_empty_variable_counts_as_unset + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::the_process_environment_is_consulted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::windows_uses_the_local_application_data_directory + mutants: + - id: 0307f045a7d2 + killer: 2 + - id: 189da24dae90 + killer: 2 + - id: 3bed86fde9c8 + killer: 1 + - id: 8df7e1f80dc8 + killer: 2 + - id: ad61d3b808f8 + killer: 0 + - id: e737062ac070 + killer: 2 +- path: crates/cargo-aprz-lib/src/commands/common.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::cache_directory_failure_has_actionable_context + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::cache_directory_uses_the_override_or_platform_default + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::common_new_reports_metadata_context + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::logger_builder_includes_target_for_debug_and_trace + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::logger_builder_omits_timestamp_module_and_low_level_target + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_append_non_passing_outcomes_caps_and_omits_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_append_non_passing_outcomes_reports_each_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_endpoints_apply_every_override + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_partial_console_modes_include_rejection_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_report_unanalyzable_crates_lists_suggestions + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_misspelled_crate_shows_suggestions + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 00094f32d1f8 + killer: 29 + - id: 0136daa0a9ee + killer: 22 + - id: 015ec923fb29 + killer: 8 + - id: 04d801147369 + killer: 5 + - id: 0502f4c8dd46 + killer: 33 + - id: 07e54d5e5a11 + killer: 8 + - id: 0a0cdb7f12c2 + killer: 12 + - id: 0bc5b0f37b3d + killer: 16 + - id: 0c5cd35c88a0 + killer: 8 + - id: 0f6acacc8c7d + killer: 15 + - id: 122b546c6f9e + killer: 31 + - id: 134a0bfc75e3 + killer: 33 + - id: 14b386e6e6d4 + killer: 25 + - id: 15fef929919f + killer: 8 + - id: 174dc2f277bf + killer: 8 + - id: 17c26db7bddd + killer: 14 + - id: 182985a1349f + killer: 20 + - id: 1a36c83ba64e + killer: 6 + - id: 1a57dbc05fa2 + killer: 24 + - id: 1acabc4a8ba5 + killer: 27 + - id: 1bca7e9e29a7 + killer: 8 + - id: 1cea8678cf8a + killer: 33 + - id: 1d6a3a9c3cf7 + killer: 33 + - id: 1d92ce87acfb + killer: 10 + - id: 20d6c902bede + killer: 6 + - id: 23e3c58e52e0 + killer: 8 + - id: 241644d80ae1 + killer: 23 + - id: 2670fc0ab7cb + killer: 30 + - id: 281e7ba4c494 + killer: 22 + - id: 2841020686cd + killer: 11 + - id: 29935b482efb + killer: 31 + - id: 2d953222179e + killer: 31 + - id: 2e3d405105ae + killer: 28 + - id: 2efad34bee04 + killer: 7 + - id: 2f5f32b4c142 + killer: 12 + - id: 30cf6847234e + killer: 20 + - id: 318168e48e34 + killer: 29 + - id: 3281772c0395 + killer: 31 + - id: 32fb5e83db20 + killer: 20 + - id: 34ed8297f8d2 + killer: 24 + - id: 3800931efea5 + killer: 10 + - id: 384e370d6fdc + killer: 13 + - id: 3b60e3c673f0 + killer: 13 + - id: 3bb47cd1f9eb + killer: 11 + - id: 3d1f8216451b + killer: 30 + - id: 4195735b9e5c + killer: 33 + - id: 4338ccb802b0 + killer: 12 + - id: 4364040b3325 + killer: 28 + - id: 4436730567dc + killer: 13 + - id: 4458864f7f6a + killer: 28 + - id: 4492f3be6b2e + killer: 33 + - id: 44e3bf82e3c7 + killer: 31 + - id: 461f17b3bcbf + killer: 33 + - id: 46796127ebb0 + killer: 8 + - id: 48c3c335ad33 + killer: 7 + - id: 4a882ba4a5b0 + killer: 31 + - id: 4c2c481da551 + killer: 15 + - id: 4f368abaac98 + killer: 31 + - id: 4f41e4c7530c + killer: 17 + - id: 53d4683bf5e0 + killer: 8 + - id: 562e8c33bd47 + killer: 33 + - id: 598c7f19a566 + killer: 6 + - id: 5a2c5207def5 + killer: 6 + - id: 5adb0e36f56b + killer: 7 + - id: 5bf9bb88ba0f + killer: 7 + - id: 5e4c64a1d4b8 + killer: 14 + - id: 60715d82b413 + killer: 23 + - id: 6531c082cec2 + killer: 12 + - id: 65336ec30a02 + killer: 17 + - id: 6606ddd77934 + killer: 12 + - id: 69a384821a93 + killer: 8 + - id: 6ccdec91c564 + killer: 20 + - id: 6fd07e72696a + killer: 23 + - id: 71798c5b8878 + killer: 7 + - id: 71f1a5348f72 + killer: 12 + - id: 72aba0785ab6 + killer: 14 + - id: 765d83ee98e8 + killer: 21 + - id: 78a174d4a03a + killer: 1 + - id: 78e5d62a6b32 + killer: 13 + - id: 7b7bc6c1b37d + killer: 3 + - id: 7ce4089b74d8 + killer: 17 + - id: 7d3264df9dc8 + killer: 32 + - id: 7fbd0e4f4466 + killer: 9 + - id: 8166dfa0c3d2 + killer: 11 + - id: 81b0c1f71432 + killer: 33 + - id: 8270dd6462f2 + killer: 9 + - id: 886541d5e4df + killer: 8 + - id: 890ae483e527 + killer: 26 + - id: 89eeef54468f + killer: 33 + - id: 8cc6b13b36f0 + killer: 26 + - id: 8ce1b30c3c35 + killer: 8 + - id: 8f74cce18ac3 + killer: 31 + - id: 8fcb1b73b459 + killer: 7 + - id: 90d6c998f93a + killer: 8 + - id: 91325136e8de + killer: 33 + - id: 913d26381d04 + killer: 33 + - id: 9213faffec89 + killer: 30 + - id: 959cbbde947c + killer: 21 + - id: 95eaaf04b1e5 + killer: 23 + - id: 97891f6cc86c + killer: 28 + - id: 9887c85ef4f8 + killer: 9 + - id: 9b741e69b0d8 + killer: 19 + - id: 9bcfcd44b5c1 + killer: 12 + - id: 9c5de6b6c164 + killer: 30 + - id: a1cb96dc6405 + killer: 31 + - id: a49ee6e1cec0 + killer: 32 + - id: a816006dcc61 + killer: 8 + - id: a96923eb5a01 + killer: 0 + - id: ab5012c84b6d + killer: 31 + - id: ac21d9c047fd + killer: 23 + - id: ac43c083ce3a + killer: 9 + - id: ac7e42a52df4 + killer: 6 + - id: acb0b4dd66a9 + killer: 8 + - id: afd9a7bfd9d5 + killer: 20 + - id: b011f42a18d2 + killer: 32 + - id: b0e107ace2f9 + killer: 4 + - id: b258dcaffb9a + killer: 8 + - id: b270cd3a5169 + killer: 12 + - id: b4875d6dfddb + killer: 13 + - id: b49d356921f8 + killer: 31 + - id: b5b8db9c3018 + killer: 6 + - id: b78de2316af4 + killer: 8 + - id: b9ff4b492b30 + killer: 10 + - id: bb627a0aa18c + killer: 24 + - id: bdc72697ca14 + killer: 8 + - id: beafc51e5f4a + killer: 6 + - id: bf4b32b6c184 + killer: 21 + - id: c2c63e633112 + killer: 30 + - id: c4d7ecb2654b + killer: 30 + - id: c51e49849b7b + killer: 1 + - id: c7f4f1752e2a + killer: 8 + - id: c83b87293dfb + killer: 32 + - id: caec73cfb1a9 + killer: 10 + - id: d0b36ebfa266 + killer: 8 + - id: d3f8d9b4dd30 + killer: 33 + - id: d688490b52b7 + killer: 23 + - id: d9c6d142a3d7 + killer: 2 + - id: d9cebbcbfad5 + killer: 23 + - id: dd38ae57d025 + killer: 18 + - id: dde9eb309612 + killer: 33 + - id: e223eb041f57 + killer: 32 + - id: e36fed104bc9 + killer: 0 + - id: e59b63629298 + killer: 26 + - id: e692f5a1128a + killer: 8 + - id: e7feda6aa749 + killer: 7 + - id: e81c0cc7859c + killer: 33 + - id: e91dc4253890 + killer: 30 + - id: e9febf83f4f9 + killer: 30 + - id: eaa9e8e650b1 + killer: 14 + - id: eaacb9b71be5 + killer: 25 + - id: eae028de75fe + killer: 33 + - id: eba5d5bff256 + killer: 33 + - id: ec2c0fc049bd + killer: 11 + - id: eedaf3d60141 + killer: 6 + - id: f2568bae8713 + killer: 31 + - id: f2b11510b927 + killer: 6 + - id: f61111d55199 + killer: 24 + - id: fba3567f6041 + killer: 2 + - id: ff6b8e4222f9 + killer: 12 +- path: crates/cargo-aprz-lib/src/commands/config.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_default_when_absent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_invalid_bug_label_regex_is_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_reports_a_non_missing_read_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - package: cargo-aprz-lib + target: init_command_integration + test: init_command_writes_a_default_configuration + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 000152298298 + killer: 0 + - id: 00a2b723182b + killer: 4 + - id: 03a5ff2b7666 + killer: 13 + - id: 0501655688ae + killer: 7 + - id: 06815436113d + killer: 4 + - id: 07c30a9da3d0 + killer: 4 + - id: 0b554bc552e0 + killer: 1 + - id: 0f584335a750 + killer: 2 + - id: 12b6b9357eaa + killer: 0 + - id: 14f412b5ffb9 + killer: 10 + - id: 151e6d99d34d + killer: 7 + - id: 167f135e3e91 + killer: 13 + - id: 21af7cefe37b + killer: 7 + - id: 240661700bf0 + killer: 10 + - id: 437c7e21f1c4 + killer: 7 + - id: 4934f49b7f48 + killer: 9 + - id: 573fab516ffe + killer: 0 + - id: 57c729755de3 + killer: 7 + - id: 5e67dc5bf721 + killer: 1 + - id: 698a370e9ba4 + killer: 0 + - id: '715516513903' + killer: 2 + - id: 7640c19c4c12 + killer: 2 + - id: 81ec23cbcc5e + killer: 0 + - id: 8211203658a1 + killer: 3 + - id: 828d06b7d422 + killer: 11 + - id: 832656d944a6 + killer: 0 + - id: 8605242d9d8a + killer: 7 + - id: 89dc812e3ff3 + killer: 7 + - id: 99504c1a214a + killer: 10 + - id: 9abe3e1a0047 + killer: 9 + - id: 9bcc607caf1d + killer: 0 + - id: 9dd8ffb8067a + killer: 5 + - id: a2a3e2214f04 + killer: 7 + - id: c53c10e30228 + killer: 2 + - id: c9cfc66abb08 + killer: 3 + - id: cca6470a41cd + killer: 7 + - id: cd584a3cfc07 + killer: 12 + - id: ce3776756840 + killer: 8 + - id: d28177039ea0 + killer: 9 + - id: eeb147b308fe + killer: 6 +- path: crates/cargo-aprz-lib/src/commands/crates.rs + killers: + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: ddfedce9cc5c + killer: 0 +- path: crates/cargo-aprz-lib/src/commands/deps.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_respects_the_requested_first_hop_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_walks_every_edge_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::compute_dep_features_basic + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::compute_dep_features_no_default + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::compute_dep_features_propagates_from_parent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::expand_features_skips_dep_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::expand_features_transitive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::find_dep_declaration_by_name_and_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_bare_dep_name_in_feature + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_dep_colon_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_ignores_unrelated_bare_feature_activations + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_implicit_feature + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_slash_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_failure_has_exact_operation_context + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_feature_flags_are_applied_exactly + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_dev_deps_only + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_explicit_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_no_default_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_nonexistent_package + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_package_flag_on_leaf_member + mutants: + - id: 0015ea0b922e + killer: 9 + - id: 018bfaff46e5 + killer: 16 + - id: 03370fea7f72 + killer: 7 + - id: 03e3e653c790 + killer: 2 + - id: 0469247a5917 + killer: 10 + - id: 048b3762a32a + killer: 1 + - id: 052777d8f8b6 + killer: 20 + - id: 0d1dcfc21590 + killer: 16 + - id: 0e1db67bcbbb + killer: 2 + - id: 0ef6af34e240 + killer: 11 + - id: 0fa9119a5720 + killer: 15 + - id: 124f3e4def11 + killer: 7 + - id: 12e4cfc3dca1 + killer: 21 + - id: 1408001c5e4c + killer: 2 + - id: 14b6f40c55f6 + killer: 21 + - id: 158caee7ee9b + killer: 16 + - id: 15ed36c378dc + killer: 9 + - id: 16409ab153ca + killer: 21 + - id: 17c5a9c97d9d + killer: 22 + - id: 17ca42b08fd8 + killer: 2 + - id: 181c6f5b4f97 + killer: 1 + - id: 1969eb7e6b0d + killer: 16 + - id: 1974bcd5d8ee + killer: 19 + - id: 19d35e8bc8d6 + killer: 6 + - id: 1e91208562c1 + killer: 19 + - id: 2118778e8b8d + killer: 6 + - id: 21441a181f09 + killer: 16 + - id: 232d8dce4de5 + killer: 6 + - id: 2786b75ff5de + killer: 3 + - id: 2d3d18a0243f + killer: 4 + - id: 2f50777618aa + killer: 19 + - id: 3570081891d5 + killer: 9 + - id: 36012bc9b2d4 + killer: 19 + - id: 37bc00859c8a + killer: 16 + - id: 393a41aadb2b + killer: 16 + - id: 3b4c7382ef34 + killer: 16 + - id: 3d76a9370ebf + killer: 19 + - id: 3dd1ee71d218 + killer: 9 + - id: 410ea6f55ada + killer: 10 + - id: 41c2fcb90186 + killer: 16 + - id: 464b53a5ca6d + killer: 10 + - id: 49be57559eb2 + killer: 16 + - id: 4ea714d63b60 + killer: 21 + - id: 4edea454bfaf + killer: 20 + - id: 52b4f56163be + killer: 6 + - id: 53d9b69031c6 + killer: 18 + - id: 5434538cf486 + killer: 14 + - id: 54671ad0db44 + killer: 6 + - id: 5485caaeca62 + killer: 16 + - id: 54a7b49ccc74 + killer: 16 + - id: 57e45cefaff7 + killer: 8 + - id: 5bab03b30352 + killer: 21 + - id: 5dfeb9071e1a + killer: 5 + - id: 6700b4f6cd91 + killer: 6 + - id: 684712d26fb2 + killer: 16 + - id: 68a8d24c5e63 + killer: 16 + - id: 68db9e2d3abc + killer: 20 + - id: 6de59511de0c + killer: 10 + - id: 6f745ec3995c + killer: 5 + - id: 702169d6889a + killer: 17 + - id: 72f85859eb52 + killer: 15 + - id: 7401855d319b + killer: 16 + - id: 74c290c876f2 + killer: 16 + - id: 7550e9770547 + killer: 9 + - id: 75c8463b76c4 + killer: 20 + - id: 78c85a09ae29 + killer: 2 + - id: 78e0ec2b32e2 + killer: 16 + - id: 7967186a0921 + killer: 16 + - id: 79680b236b7e + killer: 16 + - id: 7a6d9bdea408 + killer: 2 + - id: 7d4655ce09a9 + killer: 16 + - id: 7e24d06a9654 + killer: 16 + - id: 80c1067f1b71 + killer: 3 + - id: 817687defef4 + killer: 22 + - id: 840aa8775956 + killer: 20 + - id: 844501b41407 + killer: 3 + - id: 84566d20928c + killer: 2 + - id: 887934de0279 + killer: 5 + - id: 8991b0f0182e + killer: 19 + - id: 8b46fd1cab4c + killer: 2 + - id: 8d3eea772b00 + killer: 16 + - id: 8da813d37f5c + killer: 18 + - id: 91a55622f6c4 + killer: 5 + - id: 962c2c6d515f + killer: 12 + - id: 98a8323ee954 + killer: 20 + - id: 9a244c5a1c89 + killer: 16 + - id: 9cfc94d35ca4 + killer: 19 + - id: 9d97ad13b8eb + killer: 3 + - id: 9e2911a18088 + killer: 16 + - id: a39ba470b779 + killer: 2 + - id: a5b074a2d1f4 + killer: 2 + - id: a6d83453233c + killer: 12 + - id: a917e43bbb07 + killer: 16 + - id: a9363ecbf4a0 + killer: 6 + - id: aa5219aae9cb + killer: 16 + - id: abf94a5a0505 + killer: 16 + - id: af3926a0bc6a + killer: 18 + - id: b4371dcce8f6 + killer: 17 + - id: b525e10d3491 + killer: 15 + - id: b60c974d4916 + killer: 21 + - id: b68bca40e04f + killer: 2 + - id: b709f9a717c5 + killer: 2 + - id: b70ae0a3d479 + killer: 21 + - id: bb3e7b6b8a5b + killer: 19 + - id: bb546e0de973 + killer: 3 + - id: c132a35a862a + killer: 16 + - id: c2c8e5e37bb0 + killer: 2 + - id: c39da83e5a38 + killer: 21 + - id: c871d310d477 + killer: 2 + - id: ca450f274abf + killer: 13 + - id: cd0aa3f02028 + killer: 16 + - id: cd6796280b20 + killer: 1 + - id: cf9d567619b7 + killer: 16 + - id: d120140413b7 + killer: 3 + - id: d295fe900d98 + killer: 0 + - id: d97b287edccc + killer: 19 + - id: dca3f804e0ec + killer: 14 + - id: dd1d192482f0 + killer: 16 + - id: dda8989ad045 + killer: 13 + - id: dfffeef542aa + killer: 10 + - id: e15ef2f5a42c + killer: 6 + - id: e17c34809381 + killer: 9 + - id: e7930c107bcc + killer: 15 + - id: e8725af0c352 + killer: 2 + - id: ee2b837966b0 + killer: 1 + - id: ef651a59f807 + killer: 21 + - id: f0ff9001c9fa + killer: 1 + - id: f2edae75676a + killer: 22 + - id: f36a0eb06115 + killer: 2 + - id: f5a7e8ed0d6c + killer: 16 + - id: f7c6fbc26639 + killer: 13 + - id: f90996adf64e + killer: 1 +- path: crates/cargo-aprz-lib/src/commands/duration.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_pins_thresholds_and_cache_ttl + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::deserializing_reports_the_reason_a_value_was_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::durations_are_written_largest_unit_first + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::every_parse_error_has_a_message + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::malformed_input_is_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_invalid_duration_format + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 0178b6927b52 + killer: 2 + - id: 037274b5923a + killer: 2 + - id: 063bc405894d + killer: 2 + - id: 090a95df5c2d + killer: 7 + - id: 09b4c495fa09 + killer: 2 + - id: 0a6996c91c61 + killer: 4 + - id: 0b207686d023 + killer: 2 + - id: 0b9cedcc023d + killer: 4 + - id: 0ba4dfa1b4b0 + killer: 4 + - id: 0cab5c4f1025 + killer: 0 + - id: 0cd3c484a21b + killer: 7 + - id: 0d1e713457ee + killer: 5 + - id: 0d283fb6aa2b + killer: 5 + - id: 0d3ec53ce6bd + killer: 2 + - id: 0d6f3fa35440 + killer: 4 + - id: 0ec8ec905eb8 + killer: 3 + - id: 0ed2c6b3db33 + killer: 4 + - id: 1145a9a8914d + killer: 2 + - id: 11a6db6297ad + killer: 2 + - id: 14ff29e93ba2 + killer: 2 + - id: 16792515baa7 + killer: 0 + - id: 169283655f42 + killer: 7 + - id: 1810e87438e9 + killer: 4 + - id: 183d29d637c4 + killer: 2 + - id: 1aee05799e5e + killer: 4 + - id: 1b6098a3f334 + killer: 0 + - id: 1beda386edcf + killer: 4 + - id: 1d458bcd30e2 + killer: 2 + - id: 1d71d87485e9 + killer: 2 + - id: 1eda382226be + killer: 4 + - id: 1eec3e586015 + killer: 2 + - id: 2012b9fbaa22 + killer: 2 + - id: 2066e1ca61b3 + killer: 7 + - id: 23971eb8c71c + killer: 2 + - id: 243d835b7d5c + killer: 7 + - id: 26143f3ea3bf + killer: 0 + - id: 26b369ed425c + killer: 2 + - id: 287a1cb47729 + killer: 2 + - id: 29a99e738d3c + killer: 2 + - id: 2a0f9b5c8c4e + killer: 2 + - id: 2ac425207865 + killer: 2 + - id: 2d72255b2555 + killer: 2 + - id: 2d843d75dab1 + killer: 4 + - id: 2f48ff4bf145 + killer: 2 + - id: 2f895e389127 + killer: 2 + - id: 30e3c2ce1e3a + killer: 4 + - id: 32cc526b8e20 + killer: 2 + - id: 348f1784bac9 + killer: 7 + - id: 378be1393fcb + killer: 7 + - id: 37ff5a0d01d4 + killer: 2 + - id: 388eaa017dd8 + killer: 2 + - id: 3a22b243f7b9 + killer: 2 + - id: 3a8f8399f210 + killer: 0 + - id: 3b11637f1ab2 + killer: 0 + - id: 3c562dcd4163 + killer: 7 + - id: 3e4109a17fd9 + killer: 3 + - id: 3f616ff559e6 + killer: 2 + - id: 3fc433551913 + killer: 7 + - id: 403e4576b397 + killer: 2 + - id: 43262cff62b4 + killer: 2 + - id: 43fdbfb3c549 + killer: 7 + - id: 446571268a8a + killer: 0 + - id: 46392edc2944 + killer: 2 + - id: 469bdfb1a4a9 + killer: 2 + - id: 491b4d32152f + killer: 4 + - id: 493a3a2f9e4e + killer: 5 + - id: 4996af255990 + killer: 2 + - id: 4c4c9c686da1 + killer: 0 + - id: 4dbbd531a6cf + killer: 2 + - id: 4e480fcbe2b3 + killer: 2 + - id: 4ed12beccf2b + killer: 2 + - id: 4f566ba7da0c + killer: 4 + - id: 4f89d815f4cb + killer: 2 + - id: 5183c6d0de6b + killer: 4 + - id: 51db0083f519 + killer: 0 + - id: 524f5c5f723e + killer: 7 + - id: 53241d3b62fc + killer: 7 + - id: 55c72a6e93d1 + killer: 4 + - id: 55c8ca33fc80 + killer: 2 + - id: 565b6c2c0e4e + killer: 4 + - id: 5886846f164f + killer: 4 + - id: 59b81ac9e326 + killer: 4 + - id: 5b3a57529c85 + killer: 7 + - id: 5d8a15c065b9 + killer: 6 + - id: 5d922cf55ac4 + killer: 0 + - id: 5eaf3ca26f9c + killer: 2 + - id: 5ebbb76258c3 + killer: 2 + - id: 5f82306abef3 + killer: 4 + - id: 5fa3bb2889d6 + killer: 2 + - id: 5feffd44684f + killer: 2 + - id: 6129ab0a3ff4 + killer: 0 + - id: 624928a74b49 + killer: 5 + - id: 62c7ae4219dd + killer: 2 + - id: 62d0c19ed096 + killer: 4 + - id: 634779d47c12 + killer: 7 + - id: 65640e5e9ab6 + killer: 2 + - id: 669e0d3d7143 + killer: 2 + - id: '671035048834' + killer: 7 + - id: 679dfa2cac85 + killer: 4 + - id: 682b200f5b73 + killer: 2 + - id: 68c4e1783ac4 + killer: 7 + - id: 696b590a5d04 + killer: 7 + - id: 6c616bd99025 + killer: 1 + - id: 6c989f75ef93 + killer: 2 + - id: 6de6d79546e4 + killer: 7 + - id: 6e0e16c70b01 + killer: 7 + - id: 6f45c6bc5c97 + killer: 5 + - id: 6f7c93b31bfa + killer: 7 + - id: 6f8e1c30ae22 + killer: 2 + - id: 704ce2d97fc8 + killer: 4 + - id: 739a3ffc7d47 + killer: 4 + - id: 73ab1de99c30 + killer: 0 + - id: 754bc1630f18 + killer: 2 + - id: 75a7ff828f8b + killer: 2 + - id: 77044fadb084 + killer: 0 + - id: 77cb1e745794 + killer: 2 + - id: 77dbd9f546d6 + killer: 2 + - id: 7938bf063002 + killer: 7 + - id: 798c2c4e381c + killer: 4 + - id: 7bec91a63229 + killer: 2 + - id: 7c05d6c75d28 + killer: 2 + - id: 7ce4a7845ed5 + killer: 2 + - id: 7cfbe319e452 + killer: 7 + - id: 7e11dde96f42 + killer: 0 + - id: 7e8bae7ac33c + killer: 2 + - id: 7ebcd5515fb5 + killer: 4 + - id: 818dafcd4da5 + killer: 4 + - id: 81bc5756db1c + killer: 4 + - id: 827434618f31 + killer: 2 + - id: 84bd5aa9522e + killer: 0 + - id: 865cf9bb42f9 + killer: 2 + - id: 8679ebf21b8a + killer: 4 + - id: 883663259ca7 + killer: 2 + - id: 8981e386a587 + killer: 7 + - id: 8b3c046f2307 + killer: 2 + - id: 8d9b7710c28f + killer: 2 + - id: 8e9cc2fcab27 + killer: 2 + - id: 915ad59f5f06 + killer: 2 + - id: 91b0567e9511 + killer: 7 + - id: 934127deae97 + killer: 2 + - id: 94a68d3735b6 + killer: 4 + - id: 952642e43dc2 + killer: 2 + - id: 9712f5864f24 + killer: 7 + - id: 978698ba5c39 + killer: 4 + - id: 9a253c1c94ba + killer: 2 + - id: 9b07052b40f6 + killer: 2 + - id: 9b6fc1844471 + killer: 2 + - id: 9bf574c06c65 + killer: 5 + - id: 9c409d60dcb4 + killer: 2 + - id: 9c51234a34d6 + killer: 4 + - id: 9e0613ca499a + killer: 2 + - id: a1f0c0bdbd4c + killer: 7 + - id: a1f2658f700e + killer: 2 + - id: a2521b8ca2c7 + killer: 7 + - id: a3238b9a8995 + killer: 4 + - id: a3fc174d1ad7 + killer: 3 + - id: a55f47346d33 + killer: 7 + - id: a710d8d168d9 + killer: 2 + - id: a94fd362fcc8 + killer: 2 + - id: a96b42cc9e4a + killer: 2 + - id: aa2fb3daf8b8 + killer: 0 + - id: ab05d4819440 + killer: 2 + - id: ababed48eb57 + killer: 4 + - id: acbc6d2e254b + killer: 4 + - id: b05adf20eb31 + killer: 2 + - id: b306672322e8 + killer: 7 + - id: b4115d6bae56 + killer: 2 + - id: b523bd7dcf46 + killer: 7 + - id: bda5fabd89d9 + killer: 1 + - id: be5ee56b9a5d + killer: 0 + - id: bf4c60c04bc9 + killer: 4 + - id: c039a3b49e1e + killer: 4 + - id: c59629ce7093 + killer: 4 + - id: c6156d7a657f + killer: 5 + - id: ca574a7c4716 + killer: 4 + - id: cb1788e90d1a + killer: 4 + - id: cce7f1f0f7e8 + killer: 7 + - id: cd7def94dc5e + killer: 2 + - id: cda80d2d51ef + killer: 2 + - id: cdcf5987a4ba + killer: 4 + - id: ce8f172660e7 + killer: 4 + - id: ceaaefb913e4 + killer: 4 + - id: d56fc28ae160 + killer: 7 + - id: d6595313767b + killer: 7 + - id: d70aadecc20a + killer: 3 + - id: d7e0aa4aa988 + killer: 2 + - id: d7f78b3a17fe + killer: 7 + - id: d830d1f90ef6 + killer: 4 + - id: d86d4f54a6b4 + killer: 3 + - id: d9422f95dd57 + killer: 2 + - id: da2908e221fe + killer: 4 + - id: dba380cec0ad + killer: 2 + - id: dc34ffb389aa + killer: 2 + - id: dceb4ceaf4d6 + killer: 2 + - id: dd9d767b6d43 + killer: 2 + - id: ddc61f4f5db6 + killer: 2 + - id: e0631cc19cb1 + killer: 2 + - id: e0960739bdbe + killer: 2 + - id: e1a4f7927bdd + killer: 2 + - id: e20778300d0e + killer: 2 + - id: e2ed7f0e6c5a + killer: 4 + - id: e3a2725e6005 + killer: 5 + - id: e45404a2b292 + killer: 2 + - id: e54289823d23 + killer: 2 + - id: e6777c2cbc42 + killer: 2 + - id: e6f5b7a94647 + killer: 7 + - id: eb11cb6683c8 + killer: 2 + - id: eb4826192b18 + killer: 7 + - id: eb85fdcc7349 + killer: 2 + - id: ebad6200c58c + killer: 4 + - id: eeb0843e4e80 + killer: 1 + - id: efd1b775a189 + killer: 2 + - id: f0356cf8a71d + killer: 4 + - id: f1c06d3b9a82 + killer: 4 + - id: f5d68251c56f + killer: 1 + - id: f6bfe06bb655 + killer: 2 + - id: f8e5426b4ac4 + killer: 4 + - id: f91aa9f5939f + killer: 2 + - id: f9401fd0cc09 + killer: 4 + - id: faebfef5b4b9 + killer: 2 + - id: fd030009d569 + killer: 0 +- path: crates/cargo-aprz-lib/src/commands/init.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::init::tests::test_init_config_default_output_path + - package: cargo-aprz-lib + target: init_command_integration + test: init_command_writes_a_default_configuration + mutants: + - id: 1f523fe474d0 + killer: 1 + - id: 54a2c119b6db + killer: 0 + - id: 6ef343c15617 + killer: 0 +- path: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::bar_stays_hidden_until_the_delay_elapses + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_becomes_visible_and_tracks_callback + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_with_zero_length_leaves_bar_untouched + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::done_aborts_the_refresh_task + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::indeterminate_progress_prefixes_elapsed_seconds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::println_emits_each_line_through_the_configured_sink + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 0077bd5fcf0e + killer: 1 + - id: 0d82c89305bc + killer: 0 + - id: 11ffa8c90452 + killer: 1 + - id: 12bec83a25ad + killer: 1 + - id: 1e4a560b20bb + killer: 4 + - id: 1eda10484d8a + killer: 0 + - id: 23f33068a249 + killer: 0 + - id: 26873cf81de0 + killer: 2 + - id: 2a85c18b0d95 + killer: 1 + - id: 2b6e80ffd3b7 + killer: 1 + - id: 3203c15a47bb + killer: 3 + - id: 3fb327e61767 + killer: 4 + - id: 53278f6186bf + killer: 0 + - id: 57990f19f1e3 + killer: 1 + - id: 5849f432eeb8 + killer: 3 + - id: 5987e831f87a + killer: 0 + - id: 5c118e70a4ed + killer: 1 + - id: 5c2fc6beaaff + killer: 4 + - id: 5e35f5ca041e + killer: 1 + - id: 624bc1a70dc0 + killer: 1 + - id: 63e5f2f2d800 + killer: 1 + - id: 6ad0d160bf7f + killer: 4 + - id: 867c6f9b906d + killer: 1 + - id: 888445a8f640 + killer: 1 + - id: 8ddd80234d2f + killer: 2 + - id: 8e5aaf2a89fb + killer: 1 + - id: 8edbdd3726d5 + killer: 4 + - id: 9112e28778e1 + killer: 1 + - id: 9e2884e05206 + killer: 4 + - id: 9ec759a53d6b + killer: 1 + - id: a87ef81da3d8 + killer: 5 + - id: a96d99e9ca1a + killer: 2 + - id: ada236e604e9 + killer: 5 + - id: ae748233c1c6 + killer: 1 + - id: aec6ee42a184 + killer: 1 + - id: b02d7b45bb14 + killer: 0 + - id: b348dfba91f5 + killer: 6 + - id: b40c1341304c + killer: 2 + - id: ba7bc0b18f0a + killer: 1 + - id: be785c31e263 + killer: 4 + - id: bf42965f4455 + killer: 0 + - id: cb42f3080bb3 + killer: 0 + - id: cbe96dd29175 + killer: 2 + - id: cc526bb493d0 + killer: 1 + - id: cd087616a1a1 + killer: 1 + - id: e55e5f605824 + killer: 1 + - id: eaaafb84e9c9 + killer: 2 + - id: f71704ae3faa + killer: 1 +- path: crates/cargo-aprz-lib/src/commands/run.rs + killers: + - package: cargo-aprz-lib + target: validate_command_integration + test: test_validate_without_config_file_errors + mutants: + - id: 146350f50a79 + killer: 0 + - id: 3fd5fd7cb489 + killer: 0 + - id: 5b0622d2be24 + killer: 0 + - id: efa4677fd439 + killer: 0 +- path: crates/cargo-aprz-lib/src/commands/validate.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_equal_thresholds_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: validate_command_integration + test: test_validate_without_config_file_errors + mutants: + - id: 02536f4cec3b + killer: 2 + - id: 296cc4b797e7 + killer: 3 + - id: 3ecc7bcbee1d + killer: 4 + - id: 5ff91cd11da7 + killer: 0 + - id: 649a2f77b602 + killer: 1 + - id: 79df417ca181 + killer: 4 + - id: 7a4312c8fe7e + killer: 2 + - id: 7d124cc5fc5a + killer: 2 + - id: 81bf18a329e1 + killer: 4 + - id: b9d18d4f350d + killer: 4 + - id: bf470a4a8843 + killer: 2 + - id: c3b781df5513 + killer: 4 + - id: e30b99d588e9 + killer: 4 + - id: f4481ebfff0b + killer: 2 +- path: crates/cargo-aprz-lib/src/expr/appraisal.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_returns_zero_points + mutants: + - id: 234785916a2d + killer: 0 + - id: 534897129e51 + killer: 1 + - id: b24c49a844c1 + killer: 1 + - id: be45ead8694f + killer: 0 +- path: crates/cargo-aprz-lib/src/expr/evaluator.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_basic_comparison + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_expression_returns_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_now_variable_available + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_expressions_keep_default_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 0021489a6e96 + killer: 22 + - id: 0872d1d7fc27 + killer: 15 + - id: 0ee41082a5be + killer: 8 + - id: 10a069f7b176 + killer: 3 + - id: 120f782b744f + killer: 3 + - id: 18142a4782d0 + killer: 2 + - id: 190e83c6e6e0 + killer: 0 + - id: 1938687f196c + killer: 19 + - id: 1f6bc95b608d + killer: 3 + - id: 2305fdd5e022 + killer: 8 + - id: 2552c08d86f2 + killer: 4 + - id: 29bea5dc5692 + killer: 5 + - id: 2bd9d1634be1 + killer: 5 + - id: 2d0236757781 + killer: 19 + - id: 2f63d811a621 + killer: 18 + - id: 308e0b21ff41 + killer: 13 + - id: 325431ac4b08 + killer: 3 + - id: 36c9a11cc276 + killer: 3 + - id: 379f9a4bf23b + killer: 3 + - id: 3ae15593ff9b + killer: 19 + - id: 3bcb7a527566 + killer: 16 + - id: 418bfa01dc82 + killer: 11 + - id: 42059cda718d + killer: 18 + - id: 424fb82022d8 + killer: 22 + - id: 42fb5b5fd692 + killer: 19 + - id: 456d7b658f27 + killer: 1 + - id: 480e448426d2 + killer: 0 + - id: 54e42a76c475 + killer: 8 + - id: 56c082625999 + killer: 22 + - id: 59cc4b5015c4 + killer: 3 + - id: 5a5574ec5b29 + killer: 17 + - id: 5b8b393d63be + killer: 18 + - id: 5f4250a9d639 + killer: 8 + - id: 634578269b12 + killer: 20 + - id: 63a4acf84471 + killer: 14 + - id: 64595445b9a4 + killer: 3 + - id: 75f0973e5635 + killer: 18 + - id: 7b2d8a199d61 + killer: 18 + - id: 7da7438fb5f3 + killer: 22 + - id: 7de11962d2e2 + killer: 8 + - id: 825a4a42835d + killer: 18 + - id: 8b471e045c28 + killer: 5 + - id: 8baf38d5c1a9 + killer: 3 + - id: 8e8c7eba068b + killer: 10 + - id: 92ed77c033c5 + killer: 5 + - id: 941b0b72de2d + killer: 8 + - id: 98efaa953221 + killer: 5 + - id: 9994fb337e47 + killer: 3 + - id: 9c39f1735fb5 + killer: 3 + - id: ac7cfeb7bf6f + killer: 8 + - id: ae40e74d7d9e + killer: 22 + - id: aeb348fa3442 + killer: 19 + - id: aed4cb6f2051 + killer: 0 + - id: b3031eb39187 + killer: 20 + - id: b33bc85392b4 + killer: 16 + - id: b488c884ebf3 + killer: 12 + - id: b8f8bb801209 + killer: 5 + - id: b9f2daddb886 + killer: 16 + - id: bd729841aa4b + killer: 20 + - id: bf6abd1a4de7 + killer: 3 + - id: c1ff9d9c15dc + killer: 2 + - id: c26e5611ebb9 + killer: 8 + - id: c7b163211e8c + killer: 14 + - id: c7ff768cfe0c + killer: 3 + - id: cb678d0237b0 + killer: 1 + - id: d8bc14ccd7ee + killer: 14 + - id: d97c1da40428 + killer: 9 + - id: daa9b89b4b29 + killer: 18 + - id: db54b0057f82 + killer: 9 + - id: dbfd440951f7 + killer: 6 + - id: e29f44300a14 + killer: 6 + - id: e8b870603787 + killer: 0 + - id: ef5830c21f8e + killer: 18 + - id: f38587e9a2a8 + killer: 3 + - id: f4253e098885 + killer: 10 + - id: f5aae3e9b5c2 + killer: 9 + - id: f99014675f21 + killer: 7 + - id: fdc89bcc2249 + killer: 21 + - id: ffb731254fa6 + killer: 10 +- path: crates/cargo-aprz-lib/src/expr/expression.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_roundtrip_with_description + - package: cargo-aprz-lib + target: config_expressions_test + test: test_load_config_with_expressions + mutants: + - id: 00159ce02d5e + killer: 0 + - id: 0b4d0f9fc8c2 + killer: 1 + - id: 166ef520f23d + killer: 0 + - id: 1befafa701de + killer: 0 + - id: 278e03a094e0 + killer: 0 + - id: 4423bf230e2a + killer: 0 + - id: 693dbee152bf + killer: 1 + - id: 71ba0068ae1c + killer: 1 + - id: 8f1f334ca96a + killer: 0 + - id: 96e90384a662 + killer: 1 + - id: b06077691d2d + killer: 1 + - id: f2ef0b02838c + killer: 0 +- path: crates/cargo-aprz-lib/src/expr/risk.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + mutants: + - id: b429650f34b5 + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + killers: + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_cache_reuse + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_counts_informational_warnings + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_historical_vs_per_version + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_maps_each_severity + mutants: + - id: 055da2bfca5c + killer: 0 + - id: 0dd282660800 + killer: 4 + - id: 24fba378fc98 + killer: 0 + - id: 29bac4ba45d6 + killer: 0 + - id: 2c7ea1b850d9 + killer: 3 + - id: 304a33318eae + killer: 2 + - id: 3355d49210ee + killer: 0 + - id: 386c67a30f22 + killer: 0 + - id: 47ee31529b26 + killer: 2 + - id: 49b8cac64100 + killer: 2 + - id: 621d7f7e3096 + killer: 0 + - id: 7530c8251cc4 + killer: 2 + - id: 7a96b47db11d + killer: 4 + - id: 7ba1e5d4f5d3 + killer: 2 + - id: 86cee60108bb + killer: 0 + - id: 9e1a63c740c6 + killer: 4 + - id: 9e8f51a4c070 + killer: 0 + - id: 9ef830a42467 + killer: 0 + - id: a637ec9624c9 + killer: 2 + - id: af06116b8e14 + killer: 4 + - id: af987088d89f + killer: 4 + - id: b0298f23a35d + killer: 0 + - id: b0ac601857a8 + killer: 3 + - id: bd82c04881cd + killer: 4 + - id: c03a9e6b8b90 + killer: 0 + - id: d4c850bb3431 + killer: 0 + - id: e319121912fa + killer: 2 + - id: f05a084592bd + killer: 2 + - id: f140df91f67d + killer: 1 +- path: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + killers: + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_fetches_when_the_marker_is_missing + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_historical_vs_per_version + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_ignores_withdrawn_advisories + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_reports_a_missing_database_directory + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::advisories::provider::tests::a_successful_fetch_marks_the_database_as_synchronized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::advisories::provider::tests::scan_summary_log_reports_checked_and_matched_counts + mutants: + - id: 04ae43916655 + killer: 5 + - id: 0aacdc9baee5 + killer: 6 + - id: 129e0be650fc + killer: 4 + - id: 17a873ead284 + killer: 5 + - id: 2c1f3df008a8 + killer: 6 + - id: 32446f63983e + killer: 1 + - id: 37863069ab21 + killer: 6 + - id: 37a6324d3af3 + killer: 3 + - id: 3b27882ff36c + killer: 6 + - id: 4839c5d42997 + killer: 0 + - id: 4f0dd38fc782 + killer: 0 + - id: 5b26d0a545a6 + killer: 6 + - id: 5e676a68473a + killer: 0 + - id: 6386a117587c + killer: 2 + - id: 71d79f484ad2 + killer: 0 + - id: 796e22cb9d1e + killer: 6 + - id: 804fe02893b5 + killer: 0 + - id: 8a700b011ea6 + killer: 3 + - id: 8f61c5f7dd02 + killer: 6 + - id: 8f805a7d110e + killer: 0 + - id: 92a8d7d4e334 + killer: 6 + - id: 98565e425591 + killer: 1 + - id: 9a240cdd54d0 + killer: 6 + - id: 9d3babc1446f + killer: 6 + - id: 9d5fd0af5d10 + killer: 0 + - id: a767990bb329 + killer: 6 + - id: a81f1054ce97 + killer: 4 + - id: acd5106a80fa + killer: 5 + - id: ad6c0fd4abcf + killer: 1 + - id: b3ec0cc632c7 + killer: 1 + - id: b40f73a701cb + killer: 1 + - id: c690704c1b98 + killer: 6 + - id: c8c940e978f6 + killer: 0 + - id: cfe3f7149064 + killer: 5 + - id: d8fa60eadb66 + killer: 0 + - id: db477da2be01 + killer: 0 + - id: e74ad5157ebb + killer: 5 + - id: ef50035bdeea + killer: 0 + - id: f075469ced35 + killer: 0 + - id: f561347626c8 + killer: 0 + - id: f71547319bde + killer: 0 + - id: fa4aafa189ee + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/cache.rs + killers: + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::cache::tests::exactly_at_ttl_boundary_is_miss + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::cache::tests::load_future_timestamp_treated_as_fresh + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_ignore_cached_bypasses_cache + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_reports_an_error_when_caching_a_negative_result_fails + mutants: + - id: 14e5167dcc28 + killer: 4 + - id: 4325f9ab1e2e + killer: 1 + - id: 5ced877e2f2b + killer: 0 + - id: 635b5732911b + killer: 2 + - id: 75fc31f9fcd1 + killer: 3 + - id: 76596ae991e8 + killer: 1 + - id: 7bb780c8af07 + killer: 0 + - id: 8e7b377f2fe9 + killer: 1 + - id: 94e2073cfe38 + killer: 0 + - id: 9f1ae5232c2c + killer: 0 + - id: b2bf8d357dba + killer: 0 + - id: bd11d0cb2440 + killer: 0 + - id: d94fe7a04e1e + killer: 0 + - id: ebfedeeb5fa4 + killer: 1 +- path: crates/cargo-aprz-lib/src/facts/cache_lock.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::cache_lock::tests::test_acquire_lock_creates_lock_file + - package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + mutants: + - id: c4e0a40a744b + killer: 1 + - id: d005b80acee4 + killer: 0 + - id: d9c8a14a2a17 + killer: 1 + - id: feaf4e7ce0f2 + killer: 1 +- path: crates/cargo-aprz-lib/src/facts/codebase/git.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_check_git_output_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_check_git_output_success + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_clone_removes_the_directory_left_behind_by_a_failed_clone + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_count_contributors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_count_contributors_counts_distinct_authors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_count_contributors_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_commit_stats_basic + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_commit_stats_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_commit_stats_windows + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_repo_clone_from_bare + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_repo_fails_when_fetch_and_reclone_both_fail + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_repo_updates_existing_clone_without_recloning + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_is_repo_not_found_case_insensitive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_summarize_commit_timestamps_skips_unparsable_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_repository_not_found_is_unavailable + mutants: + - id: 02eb878f844a + killer: 10 + - id: 0306e1fee1a2 + killer: 8 + - id: 0b59670a2671 + killer: 3 + - id: 0b709e1a2d07 + killer: 0 + - id: 0bfc30c05893 + killer: 6 + - id: 0dad9f7fc6fd + killer: 10 + - id: 0f6fac66ecee + killer: 2 + - id: 125c83a06e3a + killer: 8 + - id: 1870d417843d + killer: 14 + - id: 1d07c6c22123 + killer: 11 + - id: 1d315ffc2414 + killer: 6 + - id: 1e888cf1bf20 + killer: 12 + - id: 1fdc07a2c885 + killer: 6 + - id: 2011e4008ffc + killer: 3 + - id: 226f92d8ade6 + killer: 6 + - id: 254a3ab76896 + killer: 12 + - id: 2e188b9b506f + killer: 6 + - id: 2ecc8c9eec27 + killer: 9 + - id: 2ed3ba99ab2d + killer: 8 + - id: 36e5f30e7612 + killer: 8 + - id: 37bb31fff1ea + killer: 9 + - id: 3916891e61c9 + killer: 11 + - id: 3c281dd118a5 + killer: 2 + - id: 3e2c2d3b83c6 + killer: 6 + - id: 3fe82e44e41a + killer: 12 + - id: 4a1925c28ed8 + killer: 9 + - id: 4a2bd575c79a + killer: 9 + - id: 53e59d67f5c1 + killer: 7 + - id: 5a6529ce93da + killer: 9 + - id: 612dd591dd9b + killer: 6 + - id: 6249565942e8 + killer: 3 + - id: 64528e8fc453 + killer: 1 + - id: 655fe6c1d317 + killer: 6 + - id: 694b820594c1 + killer: 3 + - id: 6b53744d54e1 + killer: 6 + - id: 6c6c406db7fd + killer: 2 + - id: 6d6bd9ca8ad2 + killer: 10 + - id: 6db7312dc73d + killer: 6 + - id: 6e68ed45423c + killer: 6 + - id: 6e76ce03c59c + killer: 6 + - id: 72b7cc2b9c01 + killer: 4 + - id: 795b84a32d0c + killer: 2 + - id: 7af66a387194 + killer: 11 + - id: 7f7fadfebcb4 + killer: 3 + - id: 80012dc189b9 + killer: 2 + - id: 85a005609704 + killer: 10 + - id: 88f4f6c89cc0 + killer: 9 + - id: 90155a551407 + killer: 0 + - id: 904eee7c14d0 + killer: 6 + - id: 9f21f4a7444d + killer: 13 + - id: 9f952350c10e + killer: 10 + - id: a09af66889df + killer: 6 + - id: a0f31eb6b3db + killer: 13 + - id: a4210ddf6912 + killer: 9 + - id: a59b68c34921 + killer: 9 + - id: a7fd588b55ce + killer: 6 + - id: a825a193b9b2 + killer: 5 + - id: ab74d46d3ad7 + killer: 11 + - id: ac92f965d3e8 + killer: 6 + - id: ace08a2788f0 + killer: 9 + - id: ae33856d1a8c + killer: 6 + - id: aebc6a7bbeb8 + killer: 10 + - id: b132ed04c6ba + killer: 6 + - id: b40d3dea45ee + killer: 8 + - id: b745ebd86f59 + killer: 9 + - id: bbd684e97782 + killer: 0 + - id: c0ef658be3d5 + killer: 3 + - id: c16c18986af3 + killer: 6 + - id: c1e91b2d50c4 + killer: 11 + - id: c85d52cc6c9b + killer: 10 + - id: cab9a4df0df5 + killer: 9 + - id: cda18d599453 + killer: 6 + - id: ce191681cb51 + killer: 3 + - id: d09bd527fede + killer: 9 + - id: d447a6e8312b + killer: 6 + - id: e4c2c6fae683 + killer: 10 + - id: e4ffb7823fb4 + killer: 6 + - id: e548e164cfb6 + killer: 6 + - id: e65e0ecf66c6 + killer: 12 + - id: ee9c143ec888 + killer: 13 + - id: f237aa24b595 + killer: 6 + - id: f652832b3911 + killer: 8 + - id: f7c438fcbee3 + killer: 6 + - id: f8d70adaffba + killer: 12 + - id: f9ff905e923f + killer: 3 + - id: fa547ee4ed0e + killer: 2 + - id: fbcb8a5f41b7 + killer: 9 + - id: fbf8325022fd + killer: 6 + - id: fdd2f9309bba + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/codebase/github_workflow_analyzer.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::matches_needles_regardless_of_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_case_insensitive_detection + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_empty_workflows_directory + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_hundredth_workflow_file_is_still_scanned + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_malformed_yaml_is_still_scanned + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_multiple_workflow_files + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_nested_workflow_directories_are_scanned + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_no_workflows_directory + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_non_yaml_files_ignored + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_workflow_file_after_limit_is_not_scanned + mutants: + - id: 025c9a14109b + killer: 1 + - id: 0304024a8296 + killer: 1 + - id: 0ddfe1fc4b41 + killer: 0 + - id: 0fd2134fff81 + killer: 9 + - id: 1092eae79d2e + killer: 9 + - id: 12e8d7b1bc44 + killer: 1 + - id: 14d90bcb9af3 + killer: 1 + - id: 163d2eb4f318 + killer: 1 + - id: 165ea94f07c0 + killer: 1 + - id: 17ffd3118d27 + killer: 1 + - id: 1bbeb209d7f6 + killer: 5 + - id: 1c40e28d1cc5 + killer: 1 + - id: 1e2330479813 + killer: 1 + - id: 2150fdc35907 + killer: 5 + - id: 26b7cf39194e + killer: 1 + - id: '298732329936' + killer: 1 + - id: 2b2bf8f8f26b + killer: 0 + - id: 2cdeffaa762a + killer: 1 + - id: 32558f747a0d + killer: 0 + - id: 389ca72e12a3 + killer: 3 + - id: 3bbb8177f57f + killer: 8 + - id: 3eed24ef2f42 + killer: 7 + - id: '413028564074' + killer: 1 + - id: 42d5ad1c9dc4 + killer: 8 + - id: 4320235337f2 + killer: 4 + - id: 441065f85075 + killer: 0 + - id: 441f80c9e441 + killer: 1 + - id: 493e68b386a4 + killer: 1 + - id: 67811b2d4674 + killer: 1 + - id: 67978ebc07c1 + killer: 4 + - id: 67dc4e490ca9 + killer: 2 + - id: 69b7ca29bf1c + killer: 1 + - id: 6a8db5b454c1 + killer: 2 + - id: 6b20801bdd25 + killer: 2 + - id: 6de98ec87ed8 + killer: 9 + - id: 72b37ae9ff01 + killer: 3 + - id: 79a9d31088fe + killer: 1 + - id: 7ae0246f7d15 + killer: 1 + - id: 7b33b2a2eb84 + killer: 1 + - id: 7d1f45d6b8bc + killer: 1 + - id: 7e2d613bac2f + killer: 1 + - id: 8292bbc75d77 + killer: 1 + - id: 8d6a2b2372bb + killer: 8 + - id: a05b1fca7681 + killer: 1 + - id: a25dd3783fb8 + killer: 1 + - id: a291159b1a80 + killer: 5 + - id: a7bedd134e28 + killer: 1 + - id: ac7be99b315c + killer: 9 + - id: ad2672ef17d8 + killer: 6 + - id: ad700c842708 + killer: 8 + - id: adb4856118c9 + killer: 0 + - id: ae85922c9177 + killer: 1 + - id: b6dc4e5bbcb0 + killer: 1 + - id: c19899d94022 + killer: 1 + - id: c8acfe3a5d7d + killer: 1 + - id: c8f3cbedbc4d + killer: 0 + - id: cddaae485e5b + killer: 1 + - id: d0211560e414 + killer: 1 + - id: d329a4d5222d + killer: 3 + - id: d6d993fb1f81 + killer: 1 + - id: dde0c60c3fce + killer: 1 + - id: de5d23a92201 + killer: 1 + - id: e0c45db374b5 + killer: 4 + - id: e201cf05686f + killer: 1 + - id: ebe78b948c67 + killer: 0 + - id: ed401d8fe297 + killer: 1 + - id: ffb922a5d6ff + killer: 1 +- path: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_counts_unparsable_files + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_does_not_log_limit_before_limit + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_includes_file_at_size_limit + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_skips_oversized_files + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_stops_at_the_file_limit + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_count_transitive_dependencies_for_unknown_package + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_get_data_filename + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_get_repo_cache_path + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_missing_root_manifest_is_unavailable + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_repo_data_tolerates_a_non_git_directory + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_repository_analysis_failure_is_written_as_no_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_second_call_is_served_from_cache + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 007669f10cec + killer: 0 + - id: 01710e1846cd + killer: 0 + - id: 036228e51714 + killer: 2 + - id: 03f39bde6c52 + killer: 1 + - id: 04f8637ada67 + killer: 0 + - id: 073afc648ac8 + killer: 0 + - id: 07a730588242 + killer: 0 + - id: 08692ebecbfa + killer: 7 + - id: 0c100eca47e6 + killer: 0 + - id: 0d1f310ad7c6 + killer: 0 + - id: 0f6400830dca + killer: 0 + - id: 0f6a685198bd + killer: 0 + - id: 0fc45e2def09 + killer: 7 + - id: 18662f43055d + killer: 12 + - id: 186eb2f48969 + killer: 0 + - id: 19507e80a371 + killer: 0 + - id: 1a58a559fadf + killer: 1 + - id: 219fd155a8b1 + killer: 4 + - id: '244322594478' + killer: 0 + - id: 2538e3b1ae5c + killer: 0 + - id: 2cdbc159b419 + killer: 3 + - id: 2e65a2791148 + killer: 0 + - id: 3146129f018d + killer: 10 + - id: 327e7b4935eb + killer: 0 + - id: 3290755662c0 + killer: 7 + - id: 3398832d35f8 + killer: 10 + - id: 3d97a2418ec1 + killer: 0 + - id: 3ee636c7a617 + killer: 0 + - id: 3fafcf4ce8d9 + killer: 0 + - id: 40f61c27d979 + killer: 0 + - id: 43658c5bc370 + killer: 2 + - id: 4747da9cf4d0 + killer: 0 + - id: 480b58e093bd + killer: 7 + - id: 4ba71e5fd7d0 + killer: 0 + - id: 4bda3307168e + killer: 0 + - id: 4fe9bafe4604 + killer: 0 + - id: 51c903c138cf + killer: 0 + - id: 51fdc58016c2 + killer: 0 + - id: 549e981d8c24 + killer: 4 + - id: 57c93ddf6f83 + killer: 0 + - id: 5a707d95167f + killer: 6 + - id: 5c42cf1c1224 + killer: 9 + - id: 5e44c4a05770 + killer: 0 + - id: 5f826b8cdcf1 + killer: 0 + - id: 618ddd371844 + killer: 11 + - id: 62282271f212 + killer: 0 + - id: 6c19c021371e + killer: 8 + - id: 703b05e836fb + killer: 0 + - id: 718cbddce201 + killer: 5 + - id: 7213f3c3f86b + killer: 0 + - id: 74ca189b97cf + killer: 6 + - id: 7c2ee0f083ef + killer: 0 + - id: 7fa35e552f60 + killer: 12 + - id: 8086a30980a5 + killer: 0 + - id: 82791af73248 + killer: 10 + - id: 89aa8a625d44 + killer: 7 + - id: 89ec67c09a4f + killer: 0 + - id: 90686cdaff46 + killer: 0 + - id: 91e0c06246b2 + killer: 0 + - id: 9262d14899bf + killer: 0 + - id: 9319d435add0 + killer: 0 + - id: 93b448855b7f + killer: 7 + - id: 9429fdac6ab0 + killer: 7 + - id: 970457f3f2d4 + killer: 0 + - id: 9c8d63854796 + killer: 0 + - id: 9d1ac4965b90 + killer: 1 + - id: a3e62042d771 + killer: 0 + - id: a481f4884c6e + killer: 0 + - id: a5403d778e6e + killer: 0 + - id: a6e3aaefb76c + killer: 0 + - id: a7bd1cdabf38 + killer: 1 + - id: a973a8e153d6 + killer: 0 + - id: aad78c3794b1 + killer: 0 + - id: ad03bd95dc3c + killer: 5 + - id: ade0328aae64 + killer: 7 + - id: af4b94ae3eaa + killer: 0 + - id: b594d0c21816 + killer: 8 + - id: b758cf6411c2 + killer: 7 + - id: bc2d7f39b464 + killer: 0 + - id: bc52ef79922d + killer: 12 + - id: bd1361c55a38 + killer: 9 + - id: be953c8833b5 + killer: 0 + - id: c5ceb6b8c215 + killer: 9 + - id: c6e9fc64c5b0 + killer: 0 + - id: cb298cc098c4 + killer: 0 + - id: cfe37273f1ab + killer: 0 + - id: d11ed16b4dce + killer: 0 + - id: d386f3231e9a + killer: 0 + - id: d9ba3c1a7f28 + killer: 3 + - id: df6033a17adb + killer: 0 + - id: dfd3c0334682 + killer: 2 + - id: dfe9e9774acf + killer: 0 + - id: e113858d741a + killer: 13 + - id: f1d306ce4f5e + killer: 1 + - id: f247912f8fd1 + killer: 0 + - id: f54de028b943 + killer: 0 + - id: f6783708c3af + killer: 0 + - id: f7d8e597e1d2 + killer: 0 + - id: fb2a0d9185ec + killer: 0 + - id: fc51408e2335 + killer: 0 + - id: fe4bbca786bc + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_counts_only_rust_extension + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_attribute_marks_test + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_blank_line_detection_uses_real_line_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_attr_test_is_production_code + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_not_test_is_production_code + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_predicate_is_test_only + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_test_module_context_does_not_leak_to_following_items + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_malformed_test_attribute_with_arguments_is_production_code + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_test_function_attribute + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_with_comments + mutants: + - id: 00af2b70d793 + killer: 4 + - id: 012bc0867a96 + killer: 0 + - id: 06782069a88a + killer: 4 + - id: 07f72e944808 + killer: 2 + - id: 094b55ff9ed1 + killer: 10 + - id: 0a2f06e21876 + killer: 0 + - id: 0bbc2252a133 + killer: 0 + - id: 0ed92a6ef607 + killer: 4 + - id: 0ee0cd8ea93b + killer: 6 + - id: 0ef9ce58f8c8 + killer: 0 + - id: 0f10762e554a + killer: 5 + - id: 10507a634330 + killer: 0 + - id: 10d22ae137cd + killer: 0 + - id: 117564b43478 + killer: 6 + - id: 11c15cc3b0d9 + killer: 6 + - id: 135a1888ffb1 + killer: 0 + - id: 14b73fe78f6c + killer: 4 + - id: 158652cadf22 + killer: 7 + - id: 166efabb56d6 + killer: 0 + - id: 196e7479a5d1 + killer: 2 + - id: 1a9f36419ced + killer: 0 + - id: 1b7c0139d82c + killer: 0 + - id: 1cac0d5c9f09 + killer: 3 + - id: 1e49dc5978b3 + killer: 6 + - id: 23e043e79d3f + killer: 6 + - id: 269ef7c533ef + killer: 6 + - id: 28e7c362a4f8 + killer: 6 + - id: 29fa93e35e92 + killer: 6 + - id: 2be58e3e6b7d + killer: 0 + - id: 2c10e8fbd79d + killer: 2 + - id: 2e861fb9955c + killer: 0 + - id: 2e8a357b9ee2 + killer: 0 + - id: 2fe79518a5fe + killer: 0 + - id: 30a9e572da79 + killer: 4 + - id: 31c8468efeb8 + killer: 0 + - id: 35cd88481629 + killer: 0 + - id: 35d2b5d42591 + killer: 0 + - id: 365f72ca59da + killer: 0 + - id: 38691b9818c5 + killer: 0 + - id: 3a9799c011a3 + killer: 0 + - id: 3a9c3c1fce5f + killer: 7 + - id: 3c841f8793ba + killer: 6 + - id: 3d7e14600ee2 + killer: 0 + - id: 3f44c293c4fc + killer: 0 + - id: 40c4cc74be9e + killer: 6 + - id: 42470de7f45f + killer: 6 + - id: 476426cc1dd2 + killer: 0 + - id: 49a25326055e + killer: 6 + - id: 4a556f542888 + killer: 0 + - id: 4b55fed3b837 + killer: 0 + - id: 4df28431db49 + killer: 0 + - id: 4e6539d40887 + killer: 0 + - id: 5009b5e2e6ac + killer: 0 + - id: 5179ba1a6361 + killer: 6 + - id: 596c69d353a7 + killer: 0 + - id: 5b001a9f9130 + killer: 0 + - id: 5cbd5c7e9c26 + killer: 4 + - id: 5cc1eeb079b4 + killer: 0 + - id: 5ddb6538e30c + killer: 0 + - id: 5f1637600d03 + killer: 9 + - id: 5f3def34466c + killer: 6 + - id: 6104103b601e + killer: 0 + - id: 653f84cb7e28 + killer: 0 + - id: 65a15b9be4ab + killer: 6 + - id: 67403243ed20 + killer: 3 + - id: 6992c2dff31d + killer: 2 + - id: 6cabde284f61 + killer: 0 + - id: 6cd49ae016be + killer: 6 + - id: 708226a05ff0 + killer: 8 + - id: 71eff8d95014 + killer: 0 + - id: 72364c9b0e70 + killer: 6 + - id: 737bd8c508f2 + killer: 6 + - id: 74143dc75e7f + killer: 9 + - id: 7531441f72fa + killer: 6 + - id: 757e0f3bf5ea + killer: 0 + - id: 7612252a1dea + killer: 6 + - id: 777eee6f870a + killer: 0 + - id: 79aafcf8447b + killer: 0 + - id: 7c51e227a3ef + killer: 4 + - id: 7c599d0b20aa + killer: 2 + - id: 7e5428317480 + killer: 6 + - id: 8002a6ea8db7 + killer: 0 + - id: 80f47542305a + killer: 0 + - id: 81f756196952 + killer: 0 + - id: 846bd0bbb670 + killer: 2 + - id: 84cf45d30e8c + killer: 0 + - id: 873d5c6128d9 + killer: 0 + - id: 886e66427eb4 + killer: 0 + - id: 88d21c93dc39 + killer: 0 + - id: 89ef981a906f + killer: 4 + - id: 8bc604603ae9 + killer: 2 + - id: 8c564fbc532f + killer: 0 + - id: 8c74ac00b2ee + killer: 6 + - id: 8c8917a4df2b + killer: 0 + - id: 8d34f699366c + killer: 0 + - id: 8e9f2fbe6bcc + killer: 7 + - id: 8f5c327b77ee + killer: 0 + - id: 923790b51d5d + killer: 7 + - id: 92e94b02f5bd + killer: 0 + - id: 9398f2084a3f + killer: 0 + - id: 93a56a3dbf04 + killer: 0 + - id: 9739683f9e55 + killer: 0 + - id: 977d5adfae91 + killer: 0 + - id: 986deb7fd4be + killer: 1 + - id: 9ca2cce55d03 + killer: 0 + - id: 9e374544d13f + killer: 0 + - id: 9ffcf0385064 + killer: 6 + - id: a1433eec7e9d + killer: 0 + - id: a3b7e6bceae3 + killer: 0 + - id: a5fb0a0e7f8c + killer: 0 + - id: a697f3da47d2 + killer: 7 + - id: a7c241bfeaed + killer: 4 + - id: aa5348e920ff + killer: 0 + - id: aa71fa2e4f7a + killer: 6 + - id: ad6bb59ebe2e + killer: 2 + - id: b54f2847d647 + killer: 6 + - id: b8b165536a31 + killer: 6 + - id: b8c4c1c4c6e1 + killer: 0 + - id: ba4aa1847421 + killer: 0 + - id: baa9103473a4 + killer: 0 + - id: bb1f8a1a823f + killer: 0 + - id: bd7f6be446ab + killer: 2 + - id: c058ea7988dd + killer: 0 + - id: c5f2ce16c982 + killer: 4 + - id: c6c8f3166b20 + killer: 0 + - id: c73b05b3b524 + killer: 0 + - id: c7a47dbbb8b2 + killer: 0 + - id: c85ef2f93b2b + killer: 0 + - id: ca546370154d + killer: 7 + - id: cc46a68e667f + killer: 6 + - id: d01e0c4d78a5 + killer: 0 + - id: d615f26f4b3b + killer: 6 + - id: da3e65907e21 + killer: 0 + - id: daa8181a7146 + killer: 0 + - id: dbe3ee4afb0c + killer: 0 + - id: dd42946b8d81 + killer: 9 + - id: df12a92588a4 + killer: 6 + - id: df38fe73105f + killer: 2 + - id: e08458c41fa5 + killer: 2 + - id: e08599d2274a + killer: 6 + - id: ea97be6154cb + killer: 3 + - id: ed09e18884ed + killer: 4 + - id: f20522dc1475 + killer: 0 + - id: f235a9771992 + killer: 2 + - id: fa5e2c70f573 + killer: 0 + - id: fb3797917398 + killer: 6 + - id: fb6b315ddb5e + killer: 2 + - id: fb6fa27122cd + killer: 0 + - id: ffb95f1f649c + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/collector.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::collector::portable_tests::query_providers_runs_for_found_crates + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 07fe9e57c149 + killer: 0 + - id: 0d9372bb49f9 + killer: 0 + - id: 17449d130335 + killer: 0 + - id: 1f0effdaf041 + killer: 1 + - id: 296464d13f81 + killer: 0 + - id: 2b188e7ca359 + killer: 1 + - id: 3e5a4dc78bcf + killer: 1 + - id: 408df66cc293 + killer: 0 + - id: 4b99bd7577d6 + killer: 0 + - id: 4bb3b8e10f11 + killer: 0 + - id: 5899b0bb837d + killer: 1 + - id: 59989cbb43e0 + killer: 0 + - id: 662b37648862 + killer: 1 + - id: 6b5afad7a705 + killer: 0 + - id: 7bfd161800e3 + killer: 0 + - id: 950ce4b19129 + killer: 0 + - id: 95ea3ce2180f + killer: 1 + - id: 9ae8fbb7f7b6 + killer: 0 + - id: 9cb6f9566687 + killer: 0 + - id: a8037585db76 + killer: 1 + - id: b32d94c9f341 + killer: 0 + - id: be94530f8d7b + killer: 0 + - id: c56cb8efa0c3 + killer: 0 + - id: db2e27a2533d + killer: 1 + - id: db3d6cf80bb4 + killer: 0 + - id: f83d637a9ecc + killer: 0 + - id: fe157a806f21 + killer: 0 + - id: ff3fe0eea8c2 + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + killers: + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_handles_badge_without_a_percentage + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_reports_an_error_for_persistent_server_failures + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_reports_an_error_when_caching_a_negative_result_fails + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_skips_unsupported_forge_and_caches_the_answer + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_unknown_coverage + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 083e704ea6a6 + killer: 0 + - id: 09221ed3dcf9 + killer: 0 + - id: 0c0b94275245 + killer: 2 + - id: 0d9128268c7c + killer: 0 + - id: 1dad25b4c5bf + killer: 0 + - id: 2acb0671568f + killer: 0 + - id: 31bc0e00c900 + killer: 0 + - id: 44692f5ea9fe + killer: 0 + - id: 573f9200d308 + killer: 0 + - id: 60898ee16063 + killer: 0 + - id: 643cd0441e66 + killer: 0 + - id: 6a83a19f6958 + killer: 0 + - id: 6c24fc18117f + killer: 0 + - id: 71cd78acbb56 + killer: 2 + - id: 7511fc1a4634 + killer: 0 + - id: 807d5655f574 + killer: 1 + - id: 82a5b7450bd3 + killer: 0 + - id: 82bac454c306 + killer: 6 + - id: 9a66a96ff426 + killer: 0 + - id: 9c5bf6dc0c5c + killer: 0 + - id: a1ffc78d4976 + killer: 0 + - id: a4fb1adb502e + killer: 0 + - id: a62da2b23a46 + killer: 1 + - id: a82aee130b55 + killer: 0 + - id: b1d319f1960c + killer: 5 + - id: bf5e5f4945ef + killer: 0 + - id: c069958967e3 + killer: 0 + - id: ca5e08fea62d + killer: 4 + - id: d518e4753da7 + killer: 0 + - id: e4e63dc8ef77 + killer: 0 + - id: e4ed447adb1b + killer: 3 + - id: f5ddb615d712 + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/crate_ref.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crate_ref::tests::test_display_from_str_roundtrip_with_version + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crate_ref::tests::test_to_spec_with_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_version + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_missing_crates_and_versions + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 14d34fe345a5 + killer: 1 + - id: 1559b0f1cd9f + killer: 4 + - id: 4bfc215a4148 + killer: 4 + - id: 9b7768d6eb15 + killer: 0 + - id: 9c8e83ff41d7 + killer: 1 + - id: b211c8eabfa0 + killer: 4 + - id: ca6c1c04e4c5 + killer: 3 + - id: fc463c1b963c + killer: 2 +- path: crates/cargo-aprz-lib/src/facts/crate_spec.rs + killers: + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crate_spec::tests::test_partial_cmp + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 1a17cc14e681 + killer: 0 + - id: 30fc5a678d98 + killer: 1 + - id: 74179ef084a8 + killer: 0 + - id: aa3551c4c832 + killer: 3 + - id: ed29f687fe22 + killer: 1 + - id: fb3bc86fb96f + killer: 2 +- path: crates/cargo-aprz-lib/src/facts/crates/provider.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::exact_version_lookup_is_not_overwritten_during_a_mixed_latest_query + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::exact_version_lookup_reads_the_matched_table_row + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::exact_version_lookup_stops_before_later_duplicate_rows + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::latest_version_lookup_uses_the_preferred_stable_row + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::normalize_name_skips_each_separator_independently + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::suggestions_keep_the_first_three_equal_best_matches + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::suggestions_replace_the_lowest_scoring_full_slot + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::version_age_buckets_include_each_exact_boundary + - package: cargo-aprz-lib + target: crates_provider_integration + test: handles_an_empty_request_list + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_only_the_closest_suggestions + - package: cargo-aprz-lib + target: crates_provider_integration + test: logs_diagnostics_while_downloading_and_reusing_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: normalizes_repository_urls + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_both_kinds_of_owner + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_missing_crates_and_versions + - package: cargo-aprz-lib + target: crates_provider_integration + test: resolves_latest_version_skipping_prereleases_and_yanked_versions + - package: cargo-aprz-lib + target: crates_provider_integration + test: resolves_the_latest_version_when_versions_ascend + - package: cargo-aprz-lib + target: crates_provider_integration + test: tolerates_dangling_references_in_the_dump + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 00d3da9a0fd6 + killer: 4 + - id: 0226c0f46895 + killer: 10 + - id: 02ad9752f0e5 + killer: 14 + - id: 02afd7c8f666 + killer: 5 + - id: 030795b6e803 + killer: 14 + - id: 05fdbb1d86db + killer: 14 + - id: 087a44eae7b8 + killer: 6 + - id: 09f09fe72261 + killer: 14 + - id: 0b956d8b1ee0 + killer: 14 + - id: 0d6d5e184459 + killer: 19 + - id: 0e2f9751f689 + killer: 14 + - id: 0ec671eb9064 + killer: 10 + - id: 0f6a2c870a99 + killer: 2 + - id: 11522b42c6cc + killer: 19 + - id: 12c852e5c42e + killer: 8 + - id: 1409fde4221f + killer: 9 + - id: 14763568bad8 + killer: 11 + - id: 149c6e251001 + killer: 16 + - id: 14f3327acc68 + killer: 19 + - id: 17fbbbed7c45 + killer: 13 + - id: 1810498026f7 + killer: 13 + - id: 1a6887299d1c + killer: 10 + - id: 1ad6a915cd2a + killer: 0 + - id: 1c7c494c7cdd + killer: 4 + - id: 1cc5dcf3ac13 + killer: 4 + - id: 1e81f1070039 + killer: 13 + - id: 220adeaf612b + killer: 14 + - id: 221fc92189ff + killer: 19 + - id: 223f83236631 + killer: 10 + - id: 22dbcbe082ba + killer: 13 + - id: 2505530bed58 + killer: 5 + - id: 263b676c094c + killer: 14 + - id: 26989ada413d + killer: 10 + - id: 27423f057aa3 + killer: 19 + - id: 284321e3cf0c + killer: 5 + - id: 29b2a26fcdcd + killer: 10 + - id: 2ca1fd01f861 + killer: 13 + - id: 2cd716764d41 + killer: 6 + - id: 2d505c1c7845 + killer: 7 + - id: 310f77108e50 + killer: 8 + - id: 33347e08f581 + killer: 14 + - id: 3501a6feeb15 + killer: 4 + - id: 35ddc2d232b5 + killer: 0 + - id: 35f76a2130a5 + killer: 13 + - id: 3838dc9dfefb + killer: 0 + - id: 399d4864f9a3 + killer: 14 + - id: 3ab7586e21bd + killer: 14 + - id: 3b0b2755e459 + killer: 10 + - id: 3c2a786dd395 + killer: 14 + - id: 3d27f8935996 + killer: 10 + - id: 3fb569901e8b + killer: 10 + - id: 416e8b150201 + killer: 9 + - id: 41ea13e0428c + killer: 10 + - id: '420135215061' + killer: 7 + - id: 42db7e9c5acc + killer: 14 + - id: 4850e0a911ea + killer: 10 + - id: 48a3fa2ff484 + killer: 14 + - id: 48ebc54307e4 + killer: 19 + - id: 4a51eec7983a + killer: 14 + - id: 4de2cd32a40b + killer: 14 + - id: 4def283e6e40 + killer: 14 + - id: 4f5d7a40bd49 + killer: 13 + - id: 4ff94a0391b1 + killer: 14 + - id: 5009f1d2318e + killer: 14 + - id: 528e3dae522a + killer: 10 + - id: 52c22a870ce9 + killer: 0 + - id: 538d65b703be + killer: 10 + - id: 55e3130313f9 + killer: 1 + - id: 573b900ce85e + killer: 10 + - id: 5d40183971af + killer: 0 + - id: 5d64ae818b58 + killer: 10 + - id: 5d95d3789239 + killer: 10 + - id: 5e114ebd5561 + killer: 19 + - id: 5e2a792dbc41 + killer: 19 + - id: 5f5cc4e1f669 + killer: 14 + - id: 5fde52ff6d44 + killer: 10 + - id: 5ff03225360f + killer: 14 + - id: 60007421e5f2 + killer: 8 + - id: 610a01e0c107 + killer: 14 + - id: 618b82855736 + killer: 14 + - id: 630df257cc40 + killer: 6 + - id: 63c8fd9d4726 + killer: 19 + - id: 6487f51394e2 + killer: 14 + - id: 6691772b6e8a + killer: 14 + - id: 66dcd0b4e0ee + killer: 10 + - id: 677285188dd9 + killer: 14 + - id: 6801dbaa74e3 + killer: 2 + - id: 682ab6a35bb7 + killer: 4 + - id: 685dad2b7459 + killer: 14 + - id: 68a64b83e6d0 + killer: 1 + - id: 693a36095673 + killer: 14 + - id: 6a2cb60f4dec + killer: 0 + - id: 6b574f1b361a + killer: 2 + - id: 6b85606ea6bf + killer: 5 + - id: 6be5d7fad3a0 + killer: 2 + - id: 6d3922b35130 + killer: 10 + - id: 6e32da849224 + killer: 12 + - id: 6e620848f298 + killer: 3 + - id: 6e795737fd03 + killer: 14 + - id: 7004f70396f8 + killer: 7 + - id: 71899ad4be29 + killer: 2 + - id: 71b9e8044c3a + killer: 2 + - id: 739b10d1a64f + killer: 14 + - id: 74b41ac0c362 + killer: 13 + - id: 74c74cbde70b + killer: 9 + - id: 753afd2b79e9 + killer: 19 + - id: 75fcd953c48a + killer: 10 + - id: 7674885d84a3 + killer: 14 + - id: 78853879bf43 + killer: 17 + - id: 7ac02af5793e + killer: 16 + - id: 7de6f36ce1df + killer: 14 + - id: 7e2fa45ee086 + killer: 10 + - id: 7f0fe608eeb3 + killer: 10 + - id: 7f6a9386856d + killer: 5 + - id: 7f796bf20649 + killer: 14 + - id: 814cc13f6b57 + killer: 7 + - id: 81a30a0d6e33 + killer: 19 + - id: 834ac235a739 + killer: 9 + - id: 864e29a02682 + killer: 18 + - id: 868ee4c6288d + killer: 15 + - id: 86e8e01e8aab + killer: 12 + - id: 8d7d37eab2dd + killer: 1 + - id: 8fdc2858c042 + killer: 19 + - id: 8ff5c5a5f990 + killer: 13 + - id: 91e535a9cce8 + killer: 2 + - id: 97124c932ba9 + killer: 7 + - id: 97ff2ca0575f + killer: 14 + - id: 98306d4e9512 + killer: 13 + - id: 98c796ae9379 + killer: 5 + - id: 9a0fcfd07550 + killer: 19 + - id: 9a791054359e + killer: 14 + - id: 9b0978667729 + killer: 12 + - id: 9bce2391af97 + killer: 16 + - id: 9cdc41ba0f8e + killer: 7 + - id: 9d4627e425fe + killer: 10 + - id: a25c50fe0875 + killer: 14 + - id: a875c4f3f00a + killer: 9 + - id: ab1dba9efee0 + killer: 1 + - id: acf403a03ec0 + killer: 17 + - id: ae67708ff7d1 + killer: 0 + - id: ae9561f8339b + killer: 14 + - id: af399bf4ad74 + killer: 13 + - id: af4f015b9d0a + killer: 10 + - id: af6f2566a987 + killer: 14 + - id: afab9b28e403 + killer: 1 + - id: afdfda940e46 + killer: 13 + - id: b36f05e0aa9f + killer: 14 + - id: b419e32093b6 + killer: 19 + - id: b4d6ed017f7b + killer: 9 + - id: b4d799a37f09 + killer: 13 + - id: b7bf0cd97f40 + killer: 0 + - id: b8ff13e4d6e7 + killer: 13 + - id: b9d832cae8c1 + killer: 7 + - id: b9e1eaad00a0 + killer: 14 + - id: bb09ac5df78c + killer: 10 + - id: bb80070e402f + killer: 14 + - id: bc7ea79d6a17 + killer: 14 + - id: bcd72e275f31 + killer: 7 + - id: bdfa604e469b + killer: 19 + - id: be9ef041e4b1 + killer: 14 + - id: beb18c254322 + killer: 10 + - id: bedf19717907 + killer: 14 + - id: bf662c758eab + killer: 10 + - id: c053e2be3ee9 + killer: 10 + - id: c09112b4c000 + killer: 14 + - id: c110afde2467 + killer: 14 + - id: c1cdbfa336ce + killer: 8 + - id: c22a487f1a79 + killer: 14 + - id: c332db20a444 + killer: 2 + - id: c3cd0dbab248 + killer: 13 + - id: c3f93cc5d741 + killer: 14 + - id: c571abc81881 + killer: 0 + - id: c72a2e11fe7c + killer: 13 + - id: c7d43232f0f2 + killer: 12 + - id: c8a8181ac609 + killer: 19 + - id: c93b48533e22 + killer: 16 + - id: cafc8ed035df + killer: 0 + - id: cbc72c0595a0 + killer: 19 + - id: cc46a6ce4384 + killer: 19 + - id: d1f57b9a215d + killer: 7 + - id: d2b7bd6b758b + killer: 7 + - id: d2d500baaaf2 + killer: 14 + - id: d411ad688128 + killer: 13 + - id: d5512f42de7f + killer: 10 + - id: d5590c5e40ab + killer: 6 + - id: d655de855b76 + killer: 10 + - id: d71e074c4847 + killer: 0 + - id: d808d8824fd7 + killer: 19 + - id: d939c8e69d71 + killer: 4 + - id: d9559ae9f9ba + killer: 9 + - id: da55951fcf00 + killer: 7 + - id: da9e2c67c33f + killer: 10 + - id: db71fc45ab5b + killer: 14 + - id: de088bea7582 + killer: 16 + - id: debde4917c39 + killer: 10 + - id: e2a0fc30f271 + killer: 6 + - id: e2a9e3e5a658 + killer: 10 + - id: e8fc2cc3b44a + killer: 10 + - id: ecad206e7730 + killer: 10 + - id: ed6fcb6c5ccb + killer: 10 + - id: ee57f0f6590a + killer: 10 + - id: eef48d365c64 + killer: 10 + - id: efd891145327 + killer: 18 + - id: f3490cbe7bd3 + killer: 14 + - id: f3eb561787c7 + killer: 14 + - id: f56e49bccbc0 + killer: 8 + - id: f6311be340e1 + killer: 2 + - id: f6f1d48f1285 + killer: 14 + - id: f71617c028c5 + killer: 14 + - id: f83a327ebfe7 + killer: 0 + - id: f93cf71a1322 + killer: 0 + - id: fc5f0aa48e85 + killer: 14 + - id: fd04036c069a + killer: 14 + - id: ff470942f1c9 + killer: 19 + - id: ff71f206b2d5 + killer: 8 +- path: crates/cargo-aprz-lib/src/facts/crates/tables/crate_owners_table.rs + killers: + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 98dfac667e6a + killer: 0 + - id: dffb09c6c87d + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/crates/tables/crates_table.rs + killers: + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 24228a811375 + killer: 0 + - id: 469bcd23df3e + killer: 1 + - id: 645d80f0e837 + killer: 1 + - id: 741a9fa10f79 + killer: 0 + - id: ae100fd68f7c + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/crates/tables/row_iter.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::row_iter::tests::size_hint_reports_the_remaining_rows + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 022a3008dc35 + killer: 2 + - id: 064ca1da8ade + killer: 2 + - id: 1d6ccc7ff49f + killer: 0 + - id: 331e0c846dfe + killer: 2 + - id: 4d0928ea0c74 + killer: 0 + - id: 5fb9082fb6e4 + killer: 0 + - id: 659b43c1c951 + killer: 2 + - id: 67aab3ae7a9e + killer: 0 + - id: 7809e0fa324b + killer: 2 + - id: 80cac6235637 + killer: 0 + - id: 83fa64562756 + killer: 2 + - id: c2cdc80d01ba + killer: 2 + - id: cddfb4d67b01 + killer: 0 + - id: d184b0447a4f + killer: 1 + - id: d712afdff002 + killer: 0 + - id: e8c471b2bde5 + killer: 0 + - id: ebebe61d81cb + killer: 2 + - id: ef4808eeeb08 + killer: 2 + - id: f2ac212dcca4 + killer: 2 + - id: fa12eda2d682 + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/crates/tables/row_reader.rs + killers: + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 002d8d9f6e49 + killer: 2 + - id: 0cf16d1379ef + killer: 2 + - id: 0fd0de386a65 + killer: 2 + - id: 11ad24089aa9 + killer: 0 + - id: 17fc47fa706b + killer: 2 + - id: 1cccb862561a + killer: 2 + - id: 1cf91c939827 + killer: 2 + - id: 2002f1301849 + killer: 2 + - id: 2adf093ac849 + killer: 2 + - id: 2ee84623e6b0 + killer: 2 + - id: 32001fc5873d + killer: 2 + - id: 322f90d8f544 + killer: 2 + - id: 38bf75f4e6a4 + killer: 1 + - id: 41c9c5c0838d + killer: 2 + - id: 45700223a9ab + killer: 2 + - id: 49cb417dd52a + killer: 1 + - id: 4b1ff51c820f + killer: 1 + - id: 4de9f98ee08b + killer: 2 + - id: 4e243144d79c + killer: 0 + - id: 5562237db2de + killer: 2 + - id: 5819ee96b9b4 + killer: 2 + - id: 5a54e6108fab + killer: 2 + - id: 630d8cbe96b2 + killer: 1 + - id: 67ade1d0e904 + killer: 2 + - id: 6c95fc6443d9 + killer: 2 + - id: 6d2101bdaf50 + killer: 2 + - id: 7f1fd3e518bb + killer: 2 + - id: 85b37ddc8a06 + killer: 2 + - id: 88be7c2fa42e + killer: 2 + - id: 8a287fc307f5 + killer: 2 + - id: 8d4d8199eed5 + killer: 2 + - id: 917605d28271 + killer: 2 + - id: 98b2b2060275 + killer: 2 + - id: 98ddf9693ef1 + killer: 2 + - id: a62e6287ee44 + killer: 2 + - id: a8afeb87b3ad + killer: 2 + - id: adcbc2ed1aa1 + killer: 0 + - id: ae4096231eb8 + killer: 2 + - id: ae50b9bdca8c + killer: 2 + - id: b40cfe4a8426 + killer: 2 + - id: be1918b50706 + killer: 2 + - id: c12e10055717 + killer: 2 + - id: c1b701081e91 + killer: 2 + - id: c776ec305361 + killer: 2 + - id: c93ab0aebd9f + killer: 2 + - id: ce95733c8d7a + killer: 2 + - id: d00d407d08a5 + killer: 2 + - id: d65a8d3fd424 + killer: 2 + - id: d79f21145fcc + killer: 2 + - id: da99677463d3 + killer: 2 + - id: dbd2f8378945 + killer: 2 + - id: fa07d02018c1 + killer: 2 +- path: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::exact_version_lookup_reads_the_matched_table_row + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::latest_version_lookup_uses_the_preferred_stable_row + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::row_writer::tests::absent_optional_u64_is_a_single_zero_byte + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::row_writer::tests::pre_epoch_dates_and_timestamps_clamp_to_zero + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::row_writer::tests::writes_optional_and_url_discriminants_exactly + - package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + - package: cargo-aprz-lib + target: crates_provider_integration + test: normalizes_repository_urls + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_every_edition_and_drops_unparseable_version_urls + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 015318ddee7d + killer: 10 + - id: 0427c2f671ab + killer: 5 + - id: 061de4c02a6d + killer: 10 + - id: 080b4d5613de + killer: 10 + - id: 08aaca433ad2 + killer: 7 + - id: 0c4f981677e6 + killer: 5 + - id: 0c4fcff15c3c + killer: 10 + - id: 124fcdf72c05 + killer: 10 + - id: 12aee4ce7d3c + killer: 3 + - id: 13310fe26950 + killer: 9 + - id: 15aa0b64b51f + killer: 10 + - id: 15b737e0bb70 + killer: 9 + - id: 1c8e51e6c6a0 + killer: 8 + - id: 20d8717040e1 + killer: 5 + - id: 28ad1bf92259 + killer: 10 + - id: 29e1ca9320ff + killer: 10 + - id: 2d5ba97424c4 + killer: 6 + - id: 2f365bb7d7a1 + killer: 10 + - id: 335dacf7d814 + killer: 10 + - id: 33af6151604b + killer: 2 + - id: 3554c9ca8491 + killer: 10 + - id: 3816f2278fb3 + killer: 10 + - id: 395eae27e308 + killer: 5 + - id: 3c3959888a72 + killer: 5 + - id: 4263a532c079 + killer: 7 + - id: 42e687cc7aef + killer: 6 + - id: 4a35397f4d2d + killer: 5 + - id: 4af103b694f6 + killer: 8 + - id: 4d1a5bb3f5e1 + killer: 10 + - id: 506fd6b7407d + killer: 10 + - id: 529a21431075 + killer: 3 + - id: 551188cabdae + killer: 9 + - id: 6016ef62afb5 + killer: 10 + - id: 60624c094e5e + killer: 4 + - id: 635c469ef015 + killer: 7 + - id: 67f2dc8f3e4f + killer: 10 + - id: 69acdd354ede + killer: 5 + - id: 6c7fd0d6b070 + killer: 10 + - id: 6f5a03eff90a + killer: 7 + - id: 78354bbfd29a + killer: 5 + - id: 78a450a61bac + killer: 10 + - id: 7fb348c04c15 + killer: 10 + - id: 81987d953ebb + killer: 10 + - id: 8b572f8b75ce + killer: 10 + - id: 8ba8271a9bdd + killer: 2 + - id: 8f0606c2de88 + killer: 10 + - id: 8f6acab34632 + killer: 10 + - id: 9092644ff037 + killer: 10 + - id: 90e7d9eca800 + killer: 1 + - id: 995cfc0baf02 + killer: 9 + - id: 9d62d950c0c4 + killer: 10 + - id: 9fd4b2f7b76b + killer: 9 + - id: a6f7a201e5b7 + killer: 10 + - id: a7294d7fe21e + killer: 7 + - id: acf7f51dd18d + killer: 10 + - id: bab62e1f7dbc + killer: 10 + - id: bb35bbc02fbb + killer: 9 + - id: bbc23d053a42 + killer: 6 + - id: bde336878fc3 + killer: 5 + - id: c06bee257b40 + killer: 9 + - id: c1590711075a + killer: 10 + - id: c1c7dd890236 + killer: 0 + - id: c47d8e4aec5a + killer: 10 + - id: c6b74ae145a4 + killer: 10 + - id: c6c30bb5b971 + killer: 10 + - id: ceef00ffc5f6 + killer: 10 + - id: d6d89a2d1705 + killer: 3 + - id: d8ba53fa8dd6 + killer: 3 + - id: d9b5536ff7ad + killer: 7 + - id: d9cce42a4787 + killer: 5 + - id: dcd454a4816a + killer: 5 + - id: ddeb5bf72a28 + killer: 10 + - id: e77c3bea971a + killer: 3 + - id: e9f227e5ade5 + killer: 8 + - id: ee4f2c48e9b9 + killer: 5 + - id: eed81d77e980 + killer: 5 + - id: f0af6dcbec7f + killer: 10 + - id: f12bcc2aa369 + killer: 10 + - id: f1bc9bac2e53 + killer: 10 + - id: f2b14551327a + killer: 6 + - id: f5d8e0fbdd1c + killer: 10 + - id: f7019d7ea678 + killer: 10 + - id: f798d483b072 + killer: 10 + - id: f8db602c9f6d + killer: 4 + - id: f93473db9844 + killer: 10 + - id: fbfd10620171 + killer: 9 + - id: feefcfb5f2e4 + killer: 10 +- path: crates/cargo-aprz-lib/src/facts/crates/tables/table.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table::tests::exactly_sized_table_headers_are_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table::tests::rejects_bad_magic_and_out_of_range_timestamp + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table::tests::table_age_equal_to_ttl_is_still_fresh + - package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + - package: cargo-aprz-lib + target: crates_provider_integration + test: logs_diagnostics_while_downloading_and_reusing_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_a_cached_table_is_too_short + - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_cached_tables_are_stale + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 0346b5f21305 + killer: 3 + - id: 098462955469 + killer: 3 + - id: 1246523a0ba4 + killer: 2 + - id: 13f3c44767b1 + killer: 0 + - id: 140dc6cd3522 + killer: 3 + - id: 15c5e18b1b2d + killer: 3 + - id: 1600b84f33df + killer: 3 + - id: 3034c653ab2c + killer: 8 + - id: 30d233fc169b + killer: 3 + - id: 32dbc9309cb8 + killer: 3 + - id: 35cd311a4b2d + killer: 3 + - id: 38aac4767f13 + killer: 3 + - id: 3992f6f49ecc + killer: 3 + - id: 44dd8ac7ef05 + killer: 3 + - id: 4f5b3534d2aa + killer: 3 + - id: 53ed65aad5f7 + killer: 3 + - id: 5a4a52dd2dff + killer: 1 + - id: 62e29ed1ad79 + killer: 3 + - id: 646dfd9dabf8 + killer: 1 + - id: 6ae53fc3597e + killer: 3 + - id: 702450f94940 + killer: 3 + - id: 72c82b8a3eb1 + killer: 3 + - id: 77080a5fbba0 + killer: 7 + - id: 7bf130c18824 + killer: 3 + - id: 7cda6e3dca18 + killer: 3 + - id: 7e60f26b5902 + killer: 2 + - id: 81c18ce9e7d7 + killer: 3 + - id: 8f27cb5aae57 + killer: 7 + - id: 8fc2d0138015 + killer: 4 + - id: 96b8ab6c33b0 + killer: 3 + - id: 9810d53fdd2e + killer: 3 + - id: 9ac29b460a2c + killer: 0 + - id: 9fc31d97e5ce + killer: 3 + - id: a03baac510ff + killer: 3 + - id: a82b0bee52e2 + killer: 1 + - id: a933da17bf0c + killer: 5 + - id: ac8dc7245099 + killer: 3 + - id: b0d34877deab + killer: 3 + - id: b8e1da0a35c1 + killer: 3 + - id: be21a27950b6 + killer: 2 + - id: be337502be08 + killer: 3 + - id: c8aeb4139532 + killer: 8 + - id: d1c959069691 + killer: 3 + - id: d2b5eece08d2 + killer: 3 + - id: da72d7b288f9 + killer: 3 + - id: de939f6b57a0 + killer: 5 + - id: e5265473d239 + killer: 0 + - id: eadec86852a7 + killer: 3 + - id: ec7a575c1c8c + killer: 0 + - id: ee68204d0fc3 + killer: 3 + - id: f1a2234eb8eb + killer: 3 + - id: f276252aa830 + killer: 3 + - id: f58f368dbea5 + killer: 3 + - id: f8c076c68580 + killer: 3 + - id: f8d3c738715e + killer: 3 + - id: fc3326fb8968 + killer: 3 + - id: fe3acc428567 + killer: 1 + - id: fec3d5c6a15a + killer: 3 + - id: fff904ba4d14 + killer: 6 +- path: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::a_locked_table_file_is_reported_instead_of_failing_the_delete + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::a_successful_removal_leaves_nothing_locked + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::any_other_removal_failure_is_an_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::channel_reader_crosses_chunk_boundaries_without_losing_bytes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::cleanup_tables_caps_sleep_at_remaining_wait_time + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::cleanup_tables_retries_locked_files_with_exponential_backoff + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::cleanup_timing_helpers_use_their_real_fallbacks_without_hooks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::download_progress_messages_report_mebibytes + - package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + - package: cargo-aprz-lib + target: crates_provider_integration + test: logs_diagnostics_while_downloading_and_reusing_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_cache_is_ignored + - package: cargo-aprz-lib + target: crates_provider_integration + test: rejects_a_dump_that_is_not_served + - package: cargo-aprz-lib + target: crates_provider_integration + test: renders_the_progress_callbacks + - package: cargo-aprz-lib + target: crates_provider_integration + test: retries_a_response_without_a_content_length_that_dies_mid_body + mutants: + - id: 0401d5ac124d + killer: 4 + - id: 064d643336ee + killer: 5 + - id: 0b566f9ff4b7 + killer: 0 + - id: 0d9ac8e9f7bc + killer: 8 + - id: 148cd5267ec1 + killer: 8 + - id: 197b3c00f9c5 + killer: 3 + - id: 1cf2bddbbef9 + killer: 4 + - id: 2006e33b3673 + killer: 7 + - id: 22afd6a09f3f + killer: 7 + - id: 27aa6615692f + killer: 8 + - id: 28afee2402ce + killer: 8 + - id: 3216e837eb78 + killer: 8 + - id: 33fc52dd6e0f + killer: 7 + - id: 35a056d01b0d + killer: 7 + - id: 3611808d4f60 + killer: 7 + - id: 3774132fdd2e + killer: 7 + - id: 3a8afbff2fb2 + killer: 8 + - id: 3b964ca742ac + killer: 13 + - id: 3c098fef087b + killer: 7 + - id: 3c86f563f600 + killer: 8 + - id: 3e933820e08a + killer: 4 + - id: 3fc34c2da50b + killer: 4 + - id: 3fd7cb299209 + killer: 7 + - id: 4038b1915e83 + killer: 10 + - id: 42b372b2eff2 + killer: 4 + - id: 4600e15d3ea0 + killer: 5 + - id: 4740bfa0d4d6 + killer: 4 + - id: 48e2b7f23f69 + killer: 7 + - id: 49dd12963b62 + killer: 4 + - id: 4a28b5c8a1f2 + killer: 4 + - id: 4edd5ee55bee + killer: 7 + - id: 5013eec2d752 + killer: 4 + - id: 5055eb902717 + killer: 9 + - id: 50c0ed996a97 + killer: 4 + - id: 5175d71d26be + killer: 13 + - id: 541414556a39 + killer: 4 + - id: 559ec8e50516 + killer: 4 + - id: 5905e905127e + killer: 7 + - id: 5a4003f3d715 + killer: 7 + - id: 5d2ad696f4a7 + killer: 8 + - id: 627b0300cfd6 + killer: 7 + - id: 67057d42da2e + killer: 9 + - id: 6c727f03ec2a + killer: 8 + - id: 6c95b453608a + killer: 7 + - id: 6e242e3f53c0 + killer: 2 + - id: 701ef9c1836e + killer: 7 + - id: 711249644b04 + killer: 4 + - id: 726af8a455ae + killer: 4 + - id: 759428fa0684 + killer: 4 + - id: 75f2af378168 + killer: 8 + - id: 77698f60f0fa + killer: 8 + - id: 7a5eb861e81c + killer: 5 + - id: 80e79adbea94 + killer: 7 + - id: 84f5c9e70348 + killer: 3 + - id: 875e1296f765 + killer: 2 + - id: 87fcb1a8542a + killer: 8 + - id: 88ca59ff9ccd + killer: 8 + - id: 89c25017f2e8 + killer: 4 + - id: 89d350c87e8c + killer: 8 + - id: 8aa6c1eed21e + killer: 8 + - id: 8c5d7d293919 + killer: 8 + - id: 8e767d85f000 + killer: 7 + - id: 8f5d5563dd8c + killer: 5 + - id: 8fdc6bd7a743 + killer: 7 + - id: 9282c883fa0e + killer: 8 + - id: 96362426cd51 + killer: 12 + - id: 96e2c6cf9c80 + killer: 8 + - id: 978b653846ae + killer: 7 + - id: 98fb57d7f89a + killer: 6 + - id: 9af2a2d410fe + killer: 7 + - id: 9b036dd4d547 + killer: 5 + - id: 9d1726c79215 + killer: 3 + - id: 9dac96b7a16a + killer: 4 + - id: 9e6bbf0d068e + killer: 8 + - id: a03eac171a3e + killer: 7 + - id: a128d6345c0e + killer: 7 + - id: a48d9538e0e5 + killer: 4 + - id: a520a5edeb92 + killer: 8 + - id: ac7bc6755f16 + killer: 12 + - id: acc9150a3bd0 + killer: 8 + - id: ace7e74ad2ef + killer: 7 + - id: af0fe7db212c + killer: 8 + - id: b2123795ba33 + killer: 8 + - id: b77d296dd35a + killer: 8 + - id: b8c5edcd40a3 + killer: 8 + - id: b909675891b6 + killer: 8 + - id: b99e46f63166 + killer: 4 + - id: ba69c520a0a5 + killer: 7 + - id: bafed22d1311 + killer: 1 + - id: bf98b532c704 + killer: 8 + - id: c04082afd0b0 + killer: 7 + - id: c07ed6d62bfb + killer: 7 + - id: c27dd92ec9ca + killer: 4 + - id: c30485bbe042 + killer: 8 + - id: c3a624250ea2 + killer: 13 + - id: c3ef8ddd78e9 + killer: 7 + - id: c8ba715ed7bf + killer: 7 + - id: cc0227a51344 + killer: 13 + - id: cca6100a00a7 + killer: 8 + - id: cd6958247369 + killer: 0 + - id: cf12c4a08658 + killer: 5 + - id: cfd1b119b77b + killer: 0 + - id: d0baabb6fac0 + killer: 8 + - id: d188cbfa19cc + killer: 9 + - id: d36a3cfc0523 + killer: 8 + - id: d4147c905cac + killer: 8 + - id: d63989fc76c9 + killer: 0 + - id: dc05428303c6 + killer: 11 + - id: e5b9a58b5221 + killer: 8 + - id: e790f7b4a3a1 + killer: 1 + - id: e91b75f375f3 + killer: 4 + - id: e9b8555c31c1 + killer: 7 + - id: eb31a9c51d2d + killer: 7 + - id: ed39ed6b619d + killer: 5 + - id: ee5ff3bd497f + killer: 5 + - id: efc2de9040f7 + killer: 8 + - id: f0dcfe7c94ec + killer: 12 + - id: f1450819fd47 + killer: 12 + - id: f1f9d8047fbd + killer: 7 + - id: f20a3e17a619 + killer: 12 + - id: f4febd7a23f4 + killer: 7 + - id: f7b4fbe96914 + killer: 7 + - id: f86c465f2050 + killer: 8 + - id: fdda80308723 + killer: 4 +- path: crates/cargo-aprz-lib/src/facts/crates/tables/version_downloads_table.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::version_downloads_table::tests::download_rows_round_trip_date_as_epoch_days + mutants: + - id: 8149a2b8d66a + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/crates/tables/versions_table.rs + killers: + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + - package: cargo-aprz-lib + target: crates_provider_integration + test: resolves_latest_version_skipping_prereleases_and_yanked_versions + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 05237082d6ab + killer: 3 + - id: 0a376e388d4b + killer: 3 + - id: 0cee60ef9c8e + killer: 3 + - id: 1203caf671e6 + killer: 3 + - id: 132fd34e2e9b + killer: 3 + - id: 13ee45eb3648 + killer: 3 + - id: 202ec7b1461c + killer: 1 + - id: 2f95b7c2fa97 + killer: 3 + - id: 3497ef5034ec + killer: 3 + - id: 354666e21eb4 + killer: 1 + - id: 3a3adc288e50 + killer: 1 + - id: 415af3c088a3 + killer: 3 + - id: 5e1575b2b306 + killer: 0 + - id: 69b48ac5546b + killer: 3 + - id: 6d9e971d5d6e + killer: 3 + - id: 78d7c828e8a4 + killer: 0 + - id: 7ea89ad9a173 + killer: 1 + - id: 89bc7cb09412 + killer: 2 + - id: 9b533379f9fb + killer: 0 + - id: 9b9fe0ebae09 + killer: 1 + - id: 9be687571d53 + killer: 2 + - id: a37f917159ba + killer: 3 + - id: a458b82f4e27 + killer: 3 + - id: a5ae17eaddcf + killer: 3 + - id: aa185285ed2e + killer: 0 + - id: abdaabe3d0a6 + killer: 3 + - id: bec7a74260aa + killer: 3 + - id: c5d931b2ac3d + killer: 2 + - id: c91880849a1f + killer: 1 + - id: ccb1a8738ccd + killer: 3 + - id: d2c4a5f8651c + killer: 1 + - id: d8665832a245 + killer: 3 + - id: daab68969b17 + killer: 3 + - id: e4eda2d41243 + killer: 3 + - id: e5f121fcc165 + killer: 3 + - id: e67b34e02c44 + killer: 2 + - id: e749bd3b487e + killer: 1 + - id: e9d3f861edeb + killer: 3 + - id: ef4aa996cffb + killer: 3 + - id: f0b9835519c1 + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::backtick_quoted_key_resolves_link + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::broken_links_are_reported_through_metrics + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::counts_code_examples_in_docs + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::coverage_counts_public_items + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::coverage_is_full_when_there_is_no_public_api + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::crate_level_docs_detected_for_simple_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::crate_level_docs_detected_when_name_has_hyphens + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::crate_level_docs_false_when_root_docs_are_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::directly_resolved_link_is_not_broken + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::every_supported_format_version_is_parsed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::external_links_are_skipped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::full_coverage_when_all_items_documented + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::inline_links_are_skipped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::inline_reference_target_resolves_link + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::item_classification_log_reports_private_and_use_counts + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::last_path_component_resolves_link + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::last_path_component_resolves_through_reference_definition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::link_analysis_log_reports_each_classification_count + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::method_link_resolves_to_backtick_quoted_key_without_trailing_parens + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::method_link_resolves_without_trailing_parens + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::mixed_item_metrics_are_reported_exactly + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::unresolved_qualified_path_counts_as_broken + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_ignore_cached_bypasses_cache + mutants: + - id: 0369fa465322 + killer: 15 + - id: 04055cea96b3 + killer: 14 + - id: 0494eaae9ee0 + killer: 14 + - id: 063089bebdd2 + killer: 0 + - id: 063cae22b51e + killer: 17 + - id: 073d8ef5763f + killer: 0 + - id: 07538a5f7ae0 + killer: 0 + - id: 0a74898349f7 + killer: 0 + - id: 0bb29acaf513 + killer: 3 + - id: 0e40cb008269 + killer: 1 + - id: 12600d72f131 + killer: 14 + - id: 14a0ff0fe218 + killer: 17 + - id: 14f796edc0d8 + killer: 17 + - id: 16b7bd3df240 + killer: 17 + - id: 18766b048e1f + killer: 14 + - id: 187af869af1e + killer: 17 + - id: 18fbfbdaa705 + killer: 14 + - id: 1b6d0a5296d8 + killer: 4 + - id: 1c1b924818bf + killer: 17 + - id: 1cf3800bce61 + killer: 0 + - id: 1f08d212e57f + killer: 12 + - id: 1f466e41318a + killer: 9 + - id: '200147355411' + killer: 17 + - id: 24bfbbdeed36 + killer: 17 + - id: 25ca8b23d7f7 + killer: 8 + - id: 260342ba1f12 + killer: 14 + - id: 2d8a83f3d1a3 + killer: 14 + - id: 2e526235ee87 + killer: 2 + - id: 2ee013bb653b + killer: 9 + - id: 2f66b1bc02fc + killer: 1 + - id: 31fb120573d8 + killer: 1 + - id: 321545d9da15 + killer: 17 + - id: 32eeb644b62a + killer: 17 + - id: 34421eebaccf + killer: 10 + - id: 34fff77d9da2 + killer: 19 + - id: 370548e4b2a7 + killer: 1 + - id: 3799cf6bffe3 + killer: 0 + - id: 391f24ccb381 + killer: 17 + - id: 3aee22c0ae8d + killer: 9 + - id: 3b8daebf704f + killer: 5 + - id: 3cf482849eb8 + killer: 17 + - id: 3d593da3540b + killer: 17 + - id: 3f319eb5ef7c + killer: 2 + - id: 3fbc859322fb + killer: 2 + - id: 4026daf5ee3e + killer: 14 + - id: 4186bd7e99a2 + killer: 14 + - id: 421d7f3407e1 + killer: 22 + - id: 422282d20fb3 + killer: 5 + - id: 449c911f4313 + killer: 20 + - id: 452303ac29d4 + killer: 11 + - id: 4b1c392e05cb + killer: 0 + - id: 4b929dbcffc7 + killer: 11 + - id: 4d97a8ca7c0c + killer: 4 + - id: 4dcc76ea1312 + killer: 22 + - id: 4ec214888682 + killer: 17 + - id: 502583d7aa4e + killer: 1 + - id: 50bd84a8f81e + killer: 1 + - id: 53c2e8c866c0 + killer: 3 + - id: 541ecda2c982 + killer: 14 + - id: 56b80af3c4d6 + killer: 1 + - id: 5a6dc7f43314 + killer: 14 + - id: 5b94a7dec4db + killer: 0 + - id: 5c15e8d79f33 + killer: 17 + - id: 5efd8286b6b5 + killer: 16 + - id: 5fc43ae216ff + killer: 21 + - id: '666261456189' + killer: 22 + - id: 680a59008c5b + killer: 2 + - id: 6896f79a415d + killer: 2 + - id: 6b182506bd45 + killer: 15 + - id: 6c059ccfcdb3 + killer: 12 + - id: 6c54730068ac + killer: 12 + - id: 6e311f21753e + killer: 5 + - id: 70367e170155 + killer: 18 + - id: 7125345ddd05 + killer: 17 + - id: 71a61dd0a08d + killer: 22 + - id: 71b1ef326c75 + killer: 4 + - id: 7986bda6fa7d + killer: 16 + - id: 7a43dd210e7d + killer: 6 + - id: 7b5a29a20bdd + killer: 17 + - id: 7cbd293e953e + killer: 1 + - id: 7d6f052e2805 + killer: 17 + - id: 7f6ac0df5554 + killer: 18 + - id: 80cfc9eff01e + killer: 1 + - id: 815cf48decc7 + killer: 10 + - id: 81a9d325690f + killer: 1 + - id: 82c2dda5b30e + killer: 17 + - id: 83b988988eab + killer: 1 + - id: 83bd778938d2 + killer: 17 + - id: 84765c2d6d08 + killer: 2 + - id: 848d846e2f32 + killer: 1 + - id: 85c515007d96 + killer: 12 + - id: 8625a73d4f81 + killer: 11 + - id: 863bb43912f2 + killer: 4 + - id: 86d0ccecd32c + killer: 4 + - id: 87898971e2c7 + killer: 10 + - id: 8959bef16189 + killer: 22 + - id: 8cd4b9174be9 + killer: 1 + - id: 91386204534f + killer: 2 + - id: 91daa88b8c1f + killer: 13 + - id: 9503274693f8 + killer: 2 + - id: 9516a26881cc + killer: 14 + - id: 9604a0612150 + killer: 14 + - id: 97de50144ad6 + killer: 0 + - id: 97f709f962e8 + killer: 1 + - id: 9b8407ee18b5 + killer: 22 + - id: 9f7b3ed55985 + killer: 1 + - id: a0644968738c + killer: 10 + - id: a4b2743a63c8 + killer: 17 + - id: a5f723d7b6a5 + killer: 22 + - id: aa75f81e80dd + killer: 0 + - id: aac292906a72 + killer: 14 + - id: aaca4081050e + killer: 17 + - id: ab643a726e15 + killer: 14 + - id: ad2ace3f9363 + killer: 17 + - id: afa735a5d25c + killer: 17 + - id: b07a76b5009d + killer: 17 + - id: b22969345f0f + killer: 17 + - id: b4e1cd630f82 + killer: 15 + - id: b6467a7250ed + killer: 16 + - id: b965d995879d + killer: 22 + - id: be5ed09b1338 + killer: 1 + - id: c0ae0bc2f1df + killer: 6 + - id: c19e1d81ae9f + killer: 1 + - id: c37609e054ab + killer: 9 + - id: c50c2229a110 + killer: 22 + - id: c53209183b02 + killer: 1 + - id: c74f0184eeeb + killer: 1 + - id: c96ec192c289 + killer: 4 + - id: cae52b375db7 + killer: 11 + - id: cbc3f7fa24dd + killer: 12 + - id: cf4a00efab6a + killer: 1 + - id: cf6edf6fb1e5 + killer: 3 + - id: d0085106a1a9 + killer: 0 + - id: d0bb66174c75 + killer: 17 + - id: d83d1baea526 + killer: 7 + - id: d91976190fdb + killer: 2 + - id: daf0573eb849 + killer: 22 + - id: dc71a60604ba + killer: 5 + - id: e174662ea3d5 + killer: 9 + - id: e2f163f6f3f7 + killer: 3 + - id: e3acc3804f31 + killer: 17 + - id: e3db992d996a + killer: 12 + - id: e92abb4cf33d + killer: 22 + - id: ea54f7808c38 + killer: 9 + - id: ec5a6783b159 + killer: 22 + - id: ed374e1b060d + killer: 10 + - id: eda30c84cca6 + killer: 1 + - id: ee2099227bf8 + killer: 1 + - id: ee617f6a36db + killer: 1 + - id: efc1533c79ca + killer: 5 + - id: f188db2a8c8a + killer: 15 + - id: f197e3b06b5b + killer: 1 + - id: f218c1b79b35 + killer: 17 + - id: f50a8816a48b + killer: 20 + - id: f618d4494850 + killer: 16 + - id: f7bef0b2d66e + killer: 22 + - id: f7fbcfb609b1 + killer: 17 + - id: f8446e7f8ed2 + killer: 8 + - id: f8958a89e92f + killer: 17 + - id: faf70746678f + killer: 1 + - id: fb1f332f8c7d + killer: 14 + - id: fb5d7b5c27ed + killer: 3 +- path: crates/cargo-aprz-lib/src/facts/docs/provider.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::provider::tests::batch_request_accounting_balances_issued_and_completed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::provider::tests::download_log_reports_exact_byte_count + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::provider::tests::temp_zst_path_is_unique_per_download + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_ignore_cached_bypasses_cache + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_not_found + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_reports_an_error_for_an_unexpected_status + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_uses_cache + mutants: + - id: 0e4e462c3937 + killer: 3 + - id: 10d08cd7ecd1 + killer: 4 + - id: 1d6f250211b1 + killer: 0 + - id: 213ee5a1dbb7 + killer: 2 + - id: 2fffb9dc2f75 + killer: 5 + - id: 3fdc748759a6 + killer: 3 + - id: 48e38a9dd261 + killer: 5 + - id: 58cd9ec950ef + killer: 3 + - id: 5e4717a8e274 + killer: 3 + - id: 604117b163d1 + killer: 0 + - id: 63da70286957 + killer: 6 + - id: 6cce1dd1cb0f + killer: 3 + - id: 7e7418308bb8 + killer: 1 + - id: 8b1bea3b9acf + killer: 3 + - id: 989db1820df5 + killer: 3 + - id: 99da195bb3fa + killer: 1 + - id: 9f983e6361f8 + killer: 3 + - id: ad56bc51cf46 + killer: 3 + - id: b7d92c46f1ab + killer: 3 + - id: dd3ae7696632 + killer: 4 + - id: e14283e3f2fe + killer: 3 + - id: e1658e0222cd + killer: 4 + - id: e50cc75be34f + killer: 5 + - id: e55f4ba312ec + killer: 0 + - id: fd91ca0b48f8 + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/endpoints.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_endpoints_apply_every_override + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::endpoints::tests::unknown_host_has_no_override + - package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_cache_write_failure_is_reported_as_an_error + - package: cargo-aprz-lib + target: hosting_provider_integration + test: codeberg_reports_watchers_as_subscribers + mutants: + - id: 04fb73e518e8 + killer: 4 + - id: '132091150574' + killer: 4 + - id: 16e3c99f2a87 + killer: 2 + - id: 22304c83d774 + killer: 0 + - id: 24af3e1aa163 + killer: 0 + - id: 39da58557797 + killer: 0 + - id: 51de25873c15 + killer: 0 + - id: 5d177cd01957 + killer: 0 + - id: 690c42b00a40 + killer: 0 + - id: 828a3fc0fa75 + killer: 4 + - id: 8977225b3ac2 + killer: 1 + - id: 99298456455b + killer: 3 + - id: a2f812b29cc5 + killer: 3 + - id: a5e7b805d5d9 + killer: 0 + - id: cbeccdedc436 + killer: 0 + - id: d174bdfc2633 + killer: 2 + - id: d94a2052e18a + killer: 2 + - id: e19754de7e86 + killer: 3 + - id: e245617dac82 + killer: 3 + - id: e323f148005e + killer: 0 + - id: f7065b7b9ad8 + killer: 3 + - id: f9137788ea91 + killer: 4 +- path: crates/cargo-aprz-lib/src/facts/hosting/bug_labels.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_regex_bug_labels_are_compiled + - package: cargo-aprz-lib + target: hosting_provider_integration + test: bug_labels_select_which_issues_count_as_bugs + mutants: + - id: 369c088bb3cc + killer: 0 + - id: acad0ee9a62f + killer: 1 + - id: e49e0223b231 + killer: 1 + - id: fbfcfbfc5eae + killer: 1 +- path: crates/cargo-aprz-lib/src/facts/hosting/cached_repo.rs + killers: + - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_reopened_issue_counts_only_towards_the_open_ages + - package: cargo-aprz-lib + target: hosting_provider_integration + test: bug_labels_select_which_issues_count_as_bugs + - package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + mutants: + - id: 526abbb1b602 + killer: 1 + - id: 57b9c1a234f7 + killer: 1 + - id: d190f937276b + killer: 0 + - id: ff5c90ad4b38 + killer: 2 +- path: crates/cargo-aprz-lib/src/facts/hosting/client.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::client::tests::classify_403_no_headers_no_retry_after + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::client::tests::classify_403_no_rate_limit_headers_with_retry_after + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::client::tests::classify_429_remaining_positive_no_retry_after + - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_cache_write_failure_is_reported_as_an_error + - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + - package: cargo-aprz-lib + target: hosting_provider_integration + test: missing_repository_is_unavailable_and_cached + - package: cargo-aprz-lib + target: hosting_provider_integration + test: server_errors_are_reported_as_errors + mutants: + - id: 0016f0ecc4bc + killer: 3 + - id: 02bda7c3e048 + killer: 4 + - id: 04c507a716ac + killer: 6 + - id: 07484e81578a + killer: 4 + - id: 0b3797e347b0 + killer: 5 + - id: 134e8f1c7b2f + killer: 3 + - id: 165f501c23f7 + killer: 0 + - id: 20ead1aa5e24 + killer: 5 + - id: 210feb6c6560 + killer: 2 + - id: 34b2f5402da8 + killer: 5 + - id: 35450e4efa21 + killer: 4 + - id: '360926338898' + killer: 1 + - id: 5961bf7cb3a6 + killer: 3 + - id: 69e76ee7eb6a + killer: 5 + - id: 6c4bf646c9d7 + killer: 2 + - id: 719e5cbdbe7c + killer: 2 + - id: 7428fdb64fbf + killer: 0 + - id: 7a863a41a8cd + killer: 2 + - id: 8202130a97b1 + killer: 4 + - id: 821eb78b215b + killer: 0 + - id: 83caff47d3a2 + killer: 1 + - id: 90707f146ab4 + killer: 5 + - id: a62502d18675 + killer: 5 + - id: a763ff7e06ce + killer: 4 + - id: cd4043924c19 + killer: 2 + - id: cee56ae67b29 + killer: 4 + - id: dda0312ef08a + killer: 0 + - id: df879b775326 + killer: 5 + - id: e37f66f25135 + killer: 4 + - id: f568ec76930f + killer: 3 +- path: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::a_paused_throttler_skips_the_http_calls_entirely + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::a_rate_limit_pauses_the_throttler_and_the_request_is_retried + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::age_buckets_only_fill_the_windows_an_event_falls_into + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::issue_pagination_uses_ten_year_lookback_next_page_number_and_request_count + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::pagination_stops_when_another_task_pauses_the_throttler + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::rate_limit_progress_waits_until_the_throttler_resumes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_compute_age_stats_divides_seconds_into_days + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_compute_age_stats_filters_nan_and_negative + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_compute_age_stats_open_issues + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_get_cache_filename + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_increment_window_old + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_increment_window_recent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_percentile_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_percentile_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_rate_limit_wait_helpers_cap_and_use_strict_future + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::unsupported_host_miss_is_saved_as_negative_cache_entry + - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_cache_write_failure_is_reported_as_an_error + - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_reopened_issue_counts_only_towards_the_open_ages + - package: cargo-aprz-lib + target: hosting_provider_integration + test: bug_labels_select_which_issues_count_as_bugs + - package: cargo-aprz-lib + target: hosting_provider_integration + test: codeberg_reports_watchers_as_subscribers + - package: cargo-aprz-lib + target: hosting_provider_integration + test: consumes_every_page_advertised_by_the_link_header + - package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + - package: cargo-aprz-lib + target: hosting_provider_integration + test: negative_and_missing_counts_become_zero + - package: cargo-aprz-lib + target: hosting_provider_integration + test: stops_paginating_at_the_page_limit + - package: cargo-aprz-lib + target: hosting_provider_integration + test: unsupported_hosts_are_unavailable_and_cached + mutants: + - id: 01a3944ab76b + killer: 18 + - id: 01ba2d26e9bf + killer: 22 + - id: 027f5a29eb6e + killer: 18 + - id: 033212851d4d + killer: 11 + - id: 04419fd1976b + killer: 22 + - id: 058f10731be3 + killer: 6 + - id: 0597b7c2a0ba + killer: 17 + - id: 08f1cd708d3f + killer: 23 + - id: 09c86741d7e5 + killer: 22 + - id: 0a8b5552ac96 + killer: 1 + - id: 0cdeae4b83d6 + killer: 3 + - id: 0f79128b995e + killer: 6 + - id: 0fc19dcb5af8 + killer: 18 + - id: 10f9ff5079b5 + killer: 22 + - id: 116f58e6cf48 + killer: 8 + - id: 1214bb5c51e0 + killer: 18 + - id: 15c3d88494f3 + killer: 1 + - id: 164bea204bde + killer: 1 + - id: 176fe1d2d7d0 + killer: 22 + - id: 17aa7acd0e4b + killer: 22 + - id: 17f03fdee79a + killer: 22 + - id: 187fc0b319d0 + killer: 22 + - id: 18d2d42b76d0 + killer: 22 + - id: 1a63ca75c004 + killer: 18 + - id: 1b5dbf2ece5a + killer: 6 + - id: 1c619ea58e09 + killer: 22 + - id: 1e99f568bf2a + killer: 17 + - id: 2252af5abc52 + killer: 5 + - id: 23a69673320d + killer: 16 + - id: 24c695405eeb + killer: 2 + - id: 25fd1e25d341 + killer: 22 + - id: 26fc5de36e3f + killer: 25 + - id: 27476b026cb1 + killer: 17 + - id: 2a066fb7586e + killer: 22 + - id: 2b16c08f60db + killer: 5 + - id: 2c375744c086 + killer: 22 + - id: 2dc6841d2aa3 + killer: 15 + - id: 2f92b6543632 + killer: 1 + - id: 304593191b0e + killer: 18 + - id: 32bb588a2bd0 + killer: 12 + - id: 34b443152359 + killer: 16 + - id: 353c47254937 + killer: 19 + - id: 354b01c8a460 + killer: 18 + - id: 378e0269af96 + killer: 24 + - id: 380427981d3d + killer: 16 + - id: 3994ffa15652 + killer: 12 + - id: 3db994e9c637 + killer: 22 + - id: 3e43ff337656 + killer: 18 + - id: 3f4b6211ff95 + killer: 16 + - id: 40065d3e8898 + killer: 6 + - id: 401a7e8c8afb + killer: 16 + - id: 434827420e67 + killer: 19 + - id: 4618fafe6db7 + killer: 22 + - id: 4681c8a5c54a + killer: 16 + - id: 46e73795a9cb + killer: 17 + - id: 492b5823a73a + killer: 16 + - id: 4a088fadb0cd + killer: 22 + - id: 4a8ecf2a023d + killer: 20 + - id: 4ab8417fd481 + killer: 17 + - id: 4ae872f88bb9 + killer: 17 + - id: 4aea446e8d37 + killer: 22 + - id: 4d25ea298462 + killer: 22 + - id: 4d3e4ecc2652 + killer: 17 + - id: 4e92c0e15514 + killer: 11 + - id: 4fe3488519af + killer: 5 + - id: 50e5027d6bec + killer: 22 + - id: 51828af01ed4 + killer: 16 + - id: 51885525cc8e + killer: 22 + - id: 51cf6df23cfa + killer: 6 + - id: 52b97160bcd1 + killer: 2 + - id: 537a037dcd8e + killer: 22 + - id: 545ad71a9b3e + killer: 5 + - id: 55ca4ace952b + killer: 1 + - id: 567c35cb1d72 + killer: 18 + - id: 575814b014d0 + killer: 22 + - id: 57c5b2b5e36c + killer: 6 + - id: 5927c87f314e + killer: 22 + - id: 5a970c770f71 + killer: 22 + - id: 5d188c7e6fee + killer: 22 + - id: 5d7de40ce763 + killer: 22 + - id: 5e0f2d24f349 + killer: 6 + - id: 5eeb36cb8cbb + killer: 18 + - id: 5fcc52cded3a + killer: 22 + - id: 60f5924c9f02 + killer: 17 + - id: 6192199bf91a + killer: 22 + - id: 63b36e628b34 + killer: 19 + - id: 657798f92a8c + killer: 22 + - id: 65aabcf306b6 + killer: 5 + - id: 65c9d2b0e360 + killer: 18 + - id: 66f5b6488d67 + killer: 18 + - id: 6803ebdc35aa + killer: 22 + - id: 6ed85f4ecc6a + killer: 1 + - id: 6fd5b42b1ea6 + killer: 2 + - id: 703d8c730d2b + killer: 6 + - id: 711ec4f429a3 + killer: 23 + - id: 71976a6a9a30 + killer: 18 + - id: 720c68a9211b + killer: 6 + - id: 725256eb30f8 + killer: 18 + - id: 72b536820a34 + killer: 3 + - id: 72bf2d4bd37a + killer: 0 + - id: 75809400106c + killer: 18 + - id: 76173f8ac447 + killer: 18 + - id: 778444521d35 + killer: 19 + - id: 77cd8020711b + killer: 21 + - id: 786ee37d3b73 + killer: 21 + - id: 78b63876bc21 + killer: 22 + - id: 78ef7c4734aa + killer: 18 + - id: 7a31fca630d4 + killer: 4 + - id: 7a44f45335a1 + killer: 22 + - id: 7b2219a43515 + killer: 18 + - id: 7d1b0247a59a + killer: 16 + - id: 7e60505dbb4a + killer: 22 + - id: 829bd6599191 + killer: 2 + - id: 8311cdd5ae8a + killer: 21 + - id: 8526944e4913 + killer: 22 + - id: 8653904df49d + killer: 6 + - id: 87b3aaeb8b97 + killer: 6 + - id: 886ff6c48b52 + killer: 5 + - id: 891eee72fd7c + killer: 22 + - id: 8bcdb950fcb1 + killer: 16 + - id: 8c85757d30b4 + killer: 16 + - id: 8c9956de437c + killer: 22 + - id: 8d2e8fce9d18 + killer: 21 + - id: 8e0b474dd83e + killer: 18 + - id: 911dec48467e + killer: 22 + - id: 91b6c0ab350a + killer: 22 + - id: 9239e7b6216e + killer: 22 + - id: 930a1cfbf71d + killer: 22 + - id: 97d415d724a4 + killer: 19 + - id: 9825d6f369ce + killer: 19 + - id: 9a799c2f12b3 + killer: 23 + - id: 9af2d0b4149e + killer: 18 + - id: 9b06b1f76323 + killer: 22 + - id: 9c20baeb40a3 + killer: 3 + - id: 9c83a0a18481 + killer: 22 + - id: 9d1b3638d873 + killer: 9 + - id: 9d4973a35cda + killer: 18 + - id: 9e0d6663b279 + killer: 3 + - id: 9f581ad73059 + killer: 22 + - id: 9fb63e6098c4 + killer: 19 + - id: a4b295aaae07 + killer: 16 + - id: a5b9a8df8d2c + killer: 20 + - id: a656771cb84f + killer: 16 + - id: a69d7e6600d6 + killer: 18 + - id: a907b06235e8 + killer: 22 + - id: a993d43705bd + killer: 22 + - id: a9ae034fd2b4 + killer: 17 + - id: ab6f30ee5f06 + killer: 21 + - id: ac9ea7a8d6ca + killer: 22 + - id: ad9f4cf75875 + killer: 22 + - id: b11f1622def7 + killer: 22 + - id: b2d4ad384666 + killer: 22 + - id: b3ca0db448d7 + killer: 14 + - id: b464056c4c30 + killer: 18 + - id: b5b91a0a4e54 + killer: 17 + - id: b6f9f2a3aaa8 + killer: 10 + - id: b75ddf5bb017 + killer: 22 + - id: b81514ab26d0 + killer: 19 + - id: b8ed703549a9 + killer: 1 + - id: ba090f197c5c + killer: 23 + - id: ba3561388ad6 + killer: 18 + - id: ba37e49298c7 + killer: 22 + - id: ba3aab26b60b + killer: 1 + - id: bba0dcc7724b + killer: 7 + - id: bbb6dec6a148 + killer: 22 + - id: bd05809576a4 + killer: 22 + - id: bf2a0b3e5f8a + killer: 22 + - id: bfbb1bd83515 + killer: 1 + - id: c12fa9752dd0 + killer: 5 + - id: c268e75eed85 + killer: 22 + - id: c2b12f920ff3 + killer: 19 + - id: c3c6bd0eec5b + killer: 20 + - id: c51385186660 + killer: 19 + - id: c59c6648883d + killer: 18 + - id: c673af5b441b + killer: 22 + - id: c71ea36f7acf + killer: 17 + - id: cb49ae3f4bbe + killer: 18 + - id: cfee40bfb7d9 + killer: 22 + - id: d14bd0b61fec + killer: 17 + - id: d6e88926a938 + killer: 17 + - id: d7429054c98d + killer: 1 + - id: dc3394a6a788 + killer: 18 + - id: dc36bb849bf2 + killer: 22 + - id: e0a5826c30ed + killer: 22 + - id: e0fe8fff27f5 + killer: 21 + - id: e1c4f792ddc1 + killer: 3 + - id: e6bc535eecb7 + killer: 16 + - id: ea63076552a3 + killer: 18 + - id: eaf3c8946319 + killer: 19 + - id: eb866a05229a + killer: 18 + - id: ebc7bf7e1d56 + killer: 22 + - id: ecc56f97c569 + killer: 3 + - id: ee4f4a4b616d + killer: 23 + - id: f1030095d579 + killer: 20 + - id: f188d5a1ac3e + killer: 22 + - id: f419bad0ef68 + killer: 2 + - id: f4aa922982dc + killer: 22 + - id: f513abb180ab + killer: 11 + - id: f553b5d2c3aa + killer: 22 + - id: f9325c452e56 + killer: 13 + - id: fa57b7641930 + killer: 18 + - id: fc0a07e491d1 + killer: 12 + - id: fd05f2db0a8d + killer: 22 + - id: ff98eb44151f + killer: 14 +- path: crates/cargo-aprz-lib/src/facts/path_utils.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::path_utils::tests::test_sanitize_combined + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_reports_an_error_when_caching_a_negative_result_fails + mutants: + - id: 211bbc1c1641 + killer: 2 + - id: 483fdf183987 + killer: 0 + - id: 64af9c288279 + killer: 0 + - id: 72d7fff86325 + killer: 1 + - id: 98ca95e254c7 + killer: 0 + - id: a07294a39983 + killer: 2 + - id: aafef5b1d15f + killer: 0 + - id: d49f11356a47 + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/progress.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::advisories::provider::tests::the_recording_progress_reporter_captures_every_callback + mutants: + - id: 1d71420e9762 + killer: 0 + - id: adce2d312b41 + killer: 0 +- path: crates/cargo-aprz-lib/src/facts/repo_spec.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::repo_spec::tests::test_display_trait + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::repo_spec::tests::test_git_extension_with_path_stripped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::repo_spec::tests::test_parse_invalid_url_empty_owner + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::repo_spec::tests::test_parse_invalid_url_empty_repo + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + mutants: + - id: 05395e21e77b + killer: 3 + - id: 163a4f64b4a9 + killer: 4 + - id: 1ca5018cbd57 + killer: 4 + - id: 2cccf95d2923 + killer: 4 + - id: 3249efe73c8e + killer: 4 + - id: 36c80de76168 + killer: 4 + - id: 416f9d7bf1d7 + killer: 4 + - id: 4d110c98fd6e + killer: 4 + - id: 629f2d721524 + killer: 2 + - id: 6b37e5100380 + killer: 5 + - id: 6ed9241ce0a0 + killer: 4 + - id: 6ff694fb1722 + killer: 4 + - id: 8d8310fb3663 + killer: 4 + - id: 904991ec5079 + killer: 4 + - id: 97e491012c02 + killer: 2 + - id: 997be2c2a99c + killer: 0 + - id: 9e56134b78f2 + killer: 4 + - id: aed2b3cc88ae + killer: 4 + - id: af208d324dac + killer: 5 + - id: bdec42032324 + killer: 1 + - id: c7ff71c9cec6 + killer: 2 + - id: cad41698e132 + killer: 5 + - id: ce29edd50881 + killer: 1 + - id: d9870f5ab772 + killer: 5 + - id: e08bea9dc5b1 + killer: 4 + - id: f47f40c5eaec + killer: 4 + - id: ffad484bad56 + killer: 4 +- path: crates/cargo-aprz-lib/src/facts/request_tracker.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::provider::tests::batch_request_accounting_balances_issued_and_completed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::rate_limit_progress_waits_until_the_throttler_resumes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::completing_the_boundary_request_marks_only_that_topic_done + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::completing_without_issued_requests_does_not_mark_done + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::constructing_tracker_registers_its_progress_callback + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::test_add_single_request + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::test_all_requests_completed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::test_blocked_topic_blinks_yellow + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::test_println_delegates_to_progress + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 00726eb3eb23 + killer: 2 + - id: 024768863f9f + killer: 2 + - id: 0294b0d0c65d + killer: 2 + - id: 02b9c7712638 + killer: 2 + - id: 02c0a141d3d9 + killer: 2 + - id: 03fe733224de + killer: 6 + - id: 046322b476b7 + killer: 5 + - id: 0623a47d20d8 + killer: 5 + - id: 06dc9822dfd0 + killer: 2 + - id: 106a2770d29c + killer: 2 + - id: 11e982a854f5 + killer: 7 + - id: 14e7d3e74cc2 + killer: 2 + - id: 23c3be97dcf1 + killer: 2 + - id: 26425cb71019 + killer: 2 + - id: 32db95a43b3b + killer: 2 + - id: 336d38a3839f + killer: 2 + - id: 35709d1ff1bf + killer: 2 + - id: 37a70e09be50 + killer: 2 + - id: 4a9bae042fe4 + killer: 2 + - id: 4ac1a1a8bd81 + killer: 9 + - id: 51c1d78c74fb + killer: 5 + - id: 540d288534ec + killer: 2 + - id: 5cd08fa9f419 + killer: 2 + - id: 62628d8b75b4 + killer: 2 + - id: 6537ddf1c8ec + killer: 2 + - id: 676db5c0ed80 + killer: 7 + - id: 69439b91ac72 + killer: 2 + - id: 71215fd87068 + killer: 1 + - id: 763315b9db54 + killer: 2 + - id: '767641897958' + killer: 4 + - id: 780dbfe1dcf3 + killer: 2 + - id: 78e8ddcbdde1 + killer: 3 + - id: 7f4c9a6b4a30 + killer: 9 + - id: 83fe2524aa07 + killer: 7 + - id: 874cb45cdfd7 + killer: 2 + - id: 87a64386a183 + killer: 7 + - id: 8994bd44de65 + killer: 2 + - id: 8c9c7db64a1c + killer: 0 + - id: '993699747571' + killer: 2 + - id: 99e4641338e2 + killer: 7 + - id: 9a82a209315a + killer: 0 + - id: 9e36d2359fa2 + killer: 2 + - id: a07f5491da11 + killer: 2 + - id: a0dc13b4166b + killer: 8 + - id: a277dfba89db + killer: 2 + - id: a6c090b4e5b5 + killer: 2 + - id: a7b540a3faa0 + killer: 2 + - id: abc6fc5a7082 + killer: 7 + - id: b4133aa1aff0 + killer: 3 + - id: b71761abe859 + killer: 2 + - id: bd069574af8a + killer: 2 + - id: bf1ddb628611 + killer: 5 + - id: c0f85a20728c + killer: 0 + - id: c6a5118bb90c + killer: 2 + - id: cbccf07e1d45 + killer: 3 + - id: cbd5c1eb6a9b + killer: 2 + - id: d513444f9c09 + killer: 5 + - id: d5f497d02976 + killer: 3 + - id: d7d852760d0a + killer: 0 + - id: d7d9a16c7424 + killer: 7 + - id: dbecd686aff9 + killer: 2 + - id: e22dd5adc4ad + killer: 2 + - id: e65720a2e7c1 + killer: 2 + - id: e65e6d445d8a + killer: 7 + - id: e6a2739d9eb2 + killer: 0 + - id: e7514b7b7132 + killer: 2 + - id: eb06593edff7 + killer: 2 + - id: eb0ab2955f02 + killer: 2 + - id: ee12577b4053 + killer: 8 + - id: ef36513ee66f + killer: 2 + - id: f271e2c84b45 + killer: 3 + - id: f7134ff4cd71 + killer: 2 +- path: crates/cargo-aprz-lib/src/facts/resilient_http.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::client::tests::classify_403_no_rate_limit_headers_with_retry_after + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::client_errors_with_retry_after_are_not_retried + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::forbidden_with_retry_after_is_retried + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::network_errors_are_classified_as_retryable + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::parses_http_date + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::past_dates_do_not_underflow + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::rate_limited_responses_are_retried + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::retry_attempt_limit_is_exact + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::server_errors_are_retried + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_undecodable_payload_is_unavailable_and_cached + mutants: + - id: 465453f30f13 + killer: 7 + - id: 4d7c26d5a88b + killer: 1 + - id: 57fb8f7a319f + killer: 4 + - id: 5e82e86d3f8c + killer: 0 + - id: 5f27960768fe + killer: 9 + - id: 69c12901414e + killer: 0 + - id: 6eb262eaa7cf + killer: 4 + - id: 7eead96f3ee2 + killer: 7 + - id: 80609c62a3d5 + killer: 3 + - id: a186e4ad6239 + killer: 2 + - id: a56955f75d8c + killer: 5 + - id: a6e9b75516ce + killer: 9 + - id: b5cf84030adc + killer: 4 + - id: b7dd2cfce584 + killer: 8 + - id: ba7e3f00a6b9 + killer: 6 + - id: ca226f9fd257 + killer: 4 + - id: cca7673332bc + killer: 1 + - id: d1d2674f62b9 + killer: 5 + - id: d4908dc5fc5b + killer: 2 + - id: ec9e9e6d1d1d + killer: 4 + - id: fccb7fccebf4 + killer: 4 +- path: crates/cargo-aprz-lib/src/facts/throttler.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::a_paused_throttler_skips_the_http_calls_entirely + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::throttler::tests::a_permit_acquired_during_a_pause_is_released_again + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::throttler::tests::a_shorter_pause_does_not_override_a_longer_one + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::throttler::tests::a_similar_extension_within_the_minimum_extension_is_ignored + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::throttler::tests::longer_pause_wins + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::throttler::tests::pause_resume_state_machine_is_bounded + mutants: + - id: 182903df90f2 + killer: 0 + - id: 53fbf4f01ae6 + killer: 0 + - id: 58395450319c + killer: 0 + - id: 62e7e5c95744 + killer: 2 + - id: 653ebc434255 + killer: 4 + - id: 6d5651e0a71f + killer: 1 + - id: 70189be6d1e0 + killer: 5 + - id: 722194b02ce7 + killer: 1 + - id: 7510835363bd + killer: 0 + - id: 8796ff4d435c + killer: 3 + - id: 92cca08e7747 + killer: 0 + - id: 9bb8beda46ce + killer: 0 + - id: 9ec950f6cf78 + killer: 2 + - id: c128d3690a65 + killer: 0 + - id: d214043a723c + killer: 0 + - id: f5bc26c2f856 + killer: 2 + - id: f60eac1226c8 + killer: 2 +- path: crates/cargo-aprz-lib/src/lib.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_empty + mutants: + - id: 7007cc803845 + killer: 0 +- path: crates/cargo-aprz-lib/src/metrics/metric.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + mutants: + - id: 4358ca203621 + killer: 0 + - id: 78036f7b6ffe + killer: 1 +- path: crates/cargo-aprz-lib/src/metrics/metric_def.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric_def::tests::recent_downloads_sum_all_available_months + mutants: + - id: 76f14addc412 + killer: 0 + - id: b453d2ff4a97 + killer: 0 +- path: crates/cargo-aprz-lib/src/reports/common.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_supports_custom_separator + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_keywords_or_categories_with_prefix + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_keywords_or_categories_with_prefix_empty_input + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_metric_value_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_multiple_categories + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_is_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_is_keywords_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_is_url + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_outcome_icon_name_includes_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_distinguish_failures_and_inconclusive_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_ignore_weighted_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_counts_are_pluralized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_describes_a_countless_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + mutants: + - id: 03ca891c5f7b + killer: 20 + - id: 04e06cdc07a5 + killer: 0 + - id: 04eae2125b02 + killer: 0 + - id: 0a736668bea4 + killer: 17 + - id: 0c1c85c4d3ed + killer: 0 + - id: 147b6e400fdc + killer: 22 + - id: 179807ecae10 + killer: 8 + - id: 18a8735c34f8 + killer: 4 + - id: 1a7fafe1ee76 + killer: 8 + - id: 1ee112848fbc + killer: 2 + - id: 2022f7d7b78e + killer: 23 + - id: 2070eb98f4a4 + killer: 17 + - id: 212aed995501 + killer: 15 + - id: 23cfa4c349b9 + killer: 1 + - id: 293227c6b5e6 + killer: 8 + - id: 29f21569bc65 + killer: 9 + - id: 2a3da63a2910 + killer: 24 + - id: 2cb40678fe6a + killer: 1 + - id: 2d0b4f1feac2 + killer: 15 + - id: 2e6fb354033f + killer: 16 + - id: 2e9e4637d1f1 + killer: 1 + - id: 2f03717210b8 + killer: 21 + - id: 303f3a8b3162 + killer: 0 + - id: 32d2e5af7a9a + killer: 22 + - id: 35b8717b3b0d + killer: 12 + - id: 36ef1dafe532 + killer: 22 + - id: 3789abcb5b39 + killer: 12 + - id: 39378e9f87cc + killer: 20 + - id: 3ae8f0b55997 + killer: 1 + - id: 3b713bba49c2 + killer: 20 + - id: 41651b9dec68 + killer: 7 + - id: 42f09b30ef15 + killer: 16 + - id: 44d62bc4d788 + killer: 0 + - id: 47ca372338ad + killer: 24 + - id: 4a0bc89818b4 + killer: 2 + - id: 4d1236f2b53b + killer: 1 + - id: 4daec820bb81 + killer: 0 + - id: 4e73b1ef9d2e + killer: 0 + - id: 5134eb3520d3 + killer: 24 + - id: 56ae54f9352f + killer: 1 + - id: 5717d58abfc7 + killer: 1 + - id: 58a42aedfc5e + killer: 18 + - id: 590d290ff65e + killer: 10 + - id: 5d414b175639 + killer: 7 + - id: 5de1c46d0063 + killer: 4 + - id: 5eb1e764ccec + killer: 8 + - id: 610388e3732c + killer: 1 + - id: 6111091dc355 + killer: 0 + - id: 665d6e585868 + killer: 17 + - id: 6a5660ca8233 + killer: 17 + - id: 6b25debe7960 + killer: 1 + - id: 6bc2400c73d7 + killer: 0 + - id: 6c84276b18ee + killer: 2 + - id: 6f02fd631b1e + killer: 11 + - id: 71bfbf0c11e1 + killer: 9 + - id: 73a12b26ca26 + killer: 22 + - id: 74ef59e53996 + killer: 19 + - id: 75b5be16c1d7 + killer: 22 + - id: 763efc357196 + killer: 2 + - id: 7cf912ccbe6b + killer: 2 + - id: 7d9fb7dbaa2d + killer: 1 + - id: 7ebc50c40ae7 + killer: 7 + - id: 7fcbbbec9dca + killer: 16 + - id: 807774434b97 + killer: 22 + - id: 83f3e561302b + killer: 24 + - id: 85b99fe830d7 + killer: 2 + - id: 870b5da24d69 + killer: 22 + - id: 89d932f914cc + killer: 1 + - id: 8b0ec6df9ed0 + killer: 12 + - id: 8ea05a957331 + killer: 2 + - id: 9076da436c91 + killer: 1 + - id: 916ca19e1073 + killer: 4 + - id: 9460b6d5c770 + killer: 11 + - id: 96064cee3f99 + killer: 1 + - id: 9964f408e784 + killer: 14 + - id: 9a0215b9a8cb + killer: 3 + - id: 9d7e14d9ae0e + killer: 0 + - id: 9e061358c160 + killer: 11 + - id: 9f890c2ba018 + killer: 15 + - id: 9fe40018b97e + killer: 9 + - id: a16d86a5a33e + killer: 0 + - id: a2f3e7572058 + killer: 19 + - id: a5ad2168a7d4 + killer: 0 + - id: a6923a4213f5 + killer: 19 + - id: a79daae5b4ba + killer: 2 + - id: a929854d0bd2 + killer: 4 + - id: a95eafb41f4b + killer: 1 + - id: afe3a87a46c9 + killer: 6 + - id: b097a217453c + killer: 12 + - id: b0f6e11db2b5 + killer: 22 + - id: b1d3360887fe + killer: 9 + - id: b349506d757b + killer: 0 + - id: b6f55e91ce24 + killer: 11 + - id: b714bac83d45 + killer: 23 + - id: b8f7d9dab3f3 + killer: 0 + - id: bd1a6a957cf1 + killer: 9 + - id: be03c849df1f + killer: 15 + - id: c0b302b14228 + killer: 22 + - id: c1b45def92e8 + killer: 2 + - id: c233aedd4bc3 + killer: 7 + - id: c8fe337893e6 + killer: 23 + - id: c96e12a48851 + killer: 15 + - id: cc3d30bfec6b + killer: 2 + - id: cc7b68dc495e + killer: 19 + - id: cca689c51541 + killer: 2 + - id: ceabd1ada9da + killer: 2 + - id: ceb99831c438 + killer: 2 + - id: d279e853b3a5 + killer: 14 + - id: d47a24dcd77f + killer: 1 + - id: d55605167535 + killer: 1 + - id: d7c34fc52f19 + killer: 1 + - id: d8811cc89d10 + killer: 8 + - id: dc8fb90e87a2 + killer: 23 + - id: ddb8b7e1746c + killer: 20 + - id: e0cb003198f9 + killer: 2 + - id: e5e5bb48b57d + killer: 0 + - id: e6f9c75f0da3 + killer: 13 + - id: eb3f130ebf0b + killer: 9 + - id: f21530ac1dcc + killer: 20 + - id: f3b2c8e5cf2a + killer: 7 + - id: f42ab75de6f2 + killer: 13 + - id: f8878f8edebb + killer: 5 + - id: f96f90298517 + killer: 2 + - id: fb4a04778049 + killer: 11 + - id: fc65f4b61509 + killer: 1 + - id: fe1150604903 + killer: 24 +- path: crates/cargo-aprz-lib/src/reports/console.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::reasons_only_output_still_separates_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_exact_fit + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_long + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_short + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_when_indent_exceeds_width + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::wrap_text_wraps_at_width_boundary_and_keeps_continuation_words_together + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + mutants: + - id: 00cd10012713 + killer: 11 + - id: 07b7a5606e27 + killer: 1 + - id: 0958085b0c84 + killer: 3 + - id: 0a98fa15219a + killer: 0 + - id: 0b465adeaf66 + killer: 1 + - id: 0f114ea0aa10 + killer: 2 + - id: 0fe46e22b74e + killer: 4 + - id: 1475f0cd59d4 + killer: 4 + - id: 14ff7ebb3ba7 + killer: 4 + - id: 18015dd95d25 + killer: 1 + - id: 20f774cab68d + killer: 1 + - id: 235020023be3 + killer: 1 + - id: 236d410a2ef0 + killer: 5 + - id: 249c81931678 + killer: 4 + - id: 2655d503a7fb + killer: 9 + - id: 2dd54b317a90 + killer: 4 + - id: 2e40685e7a92 + killer: 4 + - id: 317349390d3b + killer: 1 + - id: 395ec0b687ce + killer: 5 + - id: 3a6167fee018 + killer: 4 + - id: 3af07233ffa0 + killer: 10 + - id: 3c330a995638 + killer: 6 + - id: 3f7cbb300459 + killer: 9 + - id: 41244b058f3d + killer: 0 + - id: 437f57cdb7f8 + killer: 1 + - id: 461584a08c84 + killer: 1 + - id: 4fe2e2b1e61e + killer: 6 + - id: 5c13f25c16df + killer: 1 + - id: 6006467f0b43 + killer: 10 + - id: 62cc4bca8681 + killer: 1 + - id: '652729561328' + killer: 9 + - id: 72bf7f30e882 + killer: 2 + - id: 731642feb59a + killer: 8 + - id: 7660df751668 + killer: 5 + - id: 78a7c0979194 + killer: 5 + - id: 78b2ef65d3c1 + killer: 0 + - id: 7ae4c33033cd + killer: 2 + - id: 82fcbeab4ca5 + killer: 1 + - id: 831aed28a161 + killer: 0 + - id: 86c9ac6a5d39 + killer: 5 + - id: 89b0417cc028 + killer: 1 + - id: 8ac9792d26e2 + killer: 1 + - id: 8af414e1d2c5 + killer: 4 + - id: 8c9367aa5687 + killer: 8 + - id: 973fa5bbb1bd + killer: 11 + - id: 9bc470543256 + killer: 4 + - id: 9ec8333bf9f5 + killer: 3 + - id: 9fef5ed948eb + killer: 2 + - id: a2aa78d647f6 + killer: 1 + - id: a2d513e1c28f + killer: 1 + - id: a41dfb11f460 + killer: 3 + - id: a42dd3dfbfa1 + killer: 1 + - id: a8dd7c4844e2 + killer: 3 + - id: a8efa039af87 + killer: 0 + - id: abba665b496c + killer: 0 + - id: aca216020ef7 + killer: 1 + - id: b1f3f9112dd7 + killer: 1 + - id: b5169d6178b2 + killer: 8 + - id: b599e16f6cb7 + killer: 11 + - id: b60a1a6d0bd8 + killer: 1 + - id: b66aeddfa101 + killer: 11 + - id: b741e1d56485 + killer: 2 + - id: b85bd5922bd0 + killer: 11 + - id: bfcae9e1d79e + killer: 4 + - id: c31f6f85f0a2 + killer: 8 + - id: c3978314c18e + killer: 0 + - id: c74683259835 + killer: 7 + - id: ca6ddd057f24 + killer: 2 + - id: cdb40a98ae02 + killer: 4 + - id: ce360cbbf350 + killer: 8 + - id: ce9849a65492 + killer: 6 + - id: d0a4fe5a91a9 + killer: 6 + - id: d1308c1766b3 + killer: 1 + - id: d3ddfea7cf0d + killer: 1 + - id: d93716bd4911 + killer: 2 + - id: da5ddb3e7109 + killer: 11 + - id: dd2906ae3403 + killer: 2 + - id: e0a07e1d819c + killer: 8 + - id: e564430cbc74 + killer: 1 + - id: e7c9687ead0a + killer: 9 + - id: ecb6fb7a2b48 + killer: 8 + - id: ece2df1a72e6 + killer: 0 + - id: f0df262e2dc6 + killer: 1 + - id: fe9c7a6193da + killer: 1 +- path: crates/cargo-aprz-lib/src/reports/csv.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_no_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_formula_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_whitespace_prefixed_formulas + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_preserves_non_formula_whitespace + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_quotes_neutralized_formula + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_with_quotes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_empty_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_list_metric_is_textual_when_any_value_is_textual + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + mutants: + - id: 00dcd758f687 + killer: 13 + - id: 09fa0a04b811 + killer: 9 + - id: 0cb74d57d648 + killer: 6 + - id: 1a72cda558cf + killer: 1 + - id: 1bd42aa0cdde + killer: 5 + - id: 210486bd74aa + killer: 5 + - id: 21af3e3bbcb4 + killer: 2 + - id: 2f5c8bd5617b + killer: 6 + - id: 2f68955d7c51 + killer: 6 + - id: 36832f9c1321 + killer: 0 + - id: 3b237a466762 + killer: 1 + - id: 415b709aac94 + killer: 8 + - id: 41ecdaab206f + killer: 3 + - id: 429f50f15123 + killer: 0 + - id: 42a7cc896f13 + killer: 6 + - id: 4734aad4ae23 + killer: 0 + - id: 4adec04f5266 + killer: 0 + - id: 53d77744741d + killer: 9 + - id: 5a744c3e1baa + killer: 2 + - id: 5eeacde617a1 + killer: 1 + - id: 6911446f8401 + killer: 13 + - id: 785a0c67c777 + killer: 0 + - id: 7cea74293492 + killer: 7 + - id: 7d87b4db7e13 + killer: 9 + - id: 7ff5aabad133 + killer: 1 + - id: 817cc1ed6619 + killer: 11 + - id: 83f0f396ec48 + killer: 4 + - id: 85f09194af45 + killer: 10 + - id: 8a4f1bf1259c + killer: 0 + - id: 8c7df67daed8 + killer: 9 + - id: 90727e386a9e + killer: 10 + - id: 94c7f725ddfe + killer: 1 + - id: 95a78d37306c + killer: 8 + - id: 9c0af03935ae + killer: 5 + - id: 9e522a53a12b + killer: 12 + - id: 9e861caff3a6 + killer: 2 + - id: a3b6d84a7191 + killer: 2 + - id: a7eee0ceb7e3 + killer: 13 + - id: aaf8937a87da + killer: 11 + - id: abaa725afa0a + killer: 11 + - id: ac073f526746 + killer: 5 + - id: b4beea5d00fb + killer: 13 + - id: ba723eb998cb + killer: 7 + - id: e4a6794ad2bc + killer: 5 + - id: e73f736ecd73 + killer: 6 + - id: ea2cb20b05ff + killer: 9 + - id: f04ebf261c5e + killer: 2 +- path: crates/cargo-aprz-lib/src/reports/excel.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + mutants: + - id: 019a58540aa4 + killer: 1 + - id: 0255511b6a13 + killer: 1 + - id: 02ba2ba0f3b0 + killer: 1 + - id: 04945d62dca9 + killer: 1 + - id: 057d0e5c5b8e + killer: 1 + - id: 071df7ca8bf4 + killer: 1 + - id: 07f3da08217f + killer: 1 + - id: 085ef2ea595c + killer: 1 + - id: 0e82fa4b4953 + killer: 1 + - id: 0e860aaa68b1 + killer: 1 + - id: 10afbe191952 + killer: 1 + - id: 124f1853f18a + killer: 1 + - id: 13463f8a787e + killer: 1 + - id: 159550917e77 + killer: 1 + - id: 19d009ec3acf + killer: 2 + - id: 19d5adb95035 + killer: 1 + - id: 1c1167bde6fe + killer: 3 + - id: 1c68735d8e42 + killer: 1 + - id: 1e0298491124 + killer: 1 + - id: 20d9d750c91f + killer: 2 + - id: 2109fec2c030 + killer: 1 + - id: 2488128e1f28 + killer: 1 + - id: 249d7484c7ed + killer: 3 + - id: 24ada48e2422 + killer: 1 + - id: 24d57e9838e9 + killer: 1 + - id: 25b0ea753d67 + killer: 1 + - id: 28552b8c1923 + killer: 3 + - id: 2fc437bf228d + killer: 1 + - id: 36e0c25c7d91 + killer: 1 + - id: 39b54d64b584 + killer: 1 + - id: 3cdc881d07ba + killer: 0 + - id: 435b1830bfa2 + killer: 2 + - id: 49001cbd3f03 + killer: 1 + - id: 4a8e609abe42 + killer: 1 + - id: 504e5e36ab25 + killer: 2 + - id: 51466fa2674a + killer: 1 + - id: 51c2db621f56 + killer: 1 + - id: 540c2c78b81a + killer: 1 + - id: 54bd3d897647 + killer: 1 + - id: 56430ff6ff00 + killer: 1 + - id: 593247839c29 + killer: 1 + - id: 5ad82c640073 + killer: 0 + - id: 5ea507449b02 + killer: 3 + - id: 5f0706017741 + killer: 1 + - id: 5fc94cf6e18b + killer: 1 + - id: 6789351508e4 + killer: 1 + - id: 689feff44605 + killer: 1 + - id: 705871ab0a28 + killer: 1 + - id: 73852af2186c + killer: 1 + - id: 74cac8256222 + killer: 1 + - id: 7d0771ffd1a2 + killer: 1 + - id: 7fd966981767 + killer: 1 + - id: 813b2f20f63c + killer: 1 + - id: 87bce5dcae3c + killer: 1 + - id: 88288530e000 + killer: 0 + - id: 886c75e9faf4 + killer: 1 + - id: 8899ca903e6f + killer: 1 + - id: 8b3e6ef1978a + killer: 1 + - id: 9485c07e0af4 + killer: 2 + - id: 9521c35726bf + killer: 1 + - id: 952cd7ff09ea + killer: 1 + - id: 96f741dd8517 + killer: 2 + - id: 9728067f5ed8 + killer: 1 + - id: 9d0f7bd1e3a7 + killer: 1 + - id: 9db0b2988e51 + killer: 0 + - id: a0798a40c8e2 + killer: 1 + - id: a0e43a22247a + killer: 3 + - id: a3960c055d0d + killer: 1 + - id: a54fbf502d38 + killer: 1 + - id: a65f0ce819f5 + killer: 1 + - id: a82100cc824a + killer: 1 + - id: a963b5795d99 + killer: 1 + - id: aa7e36fe3327 + killer: 3 + - id: ab074fac5c78 + killer: 3 + - id: ab1f5a4794c5 + killer: 1 + - id: ac2d462a1f05 + killer: 1 + - id: acdd3b99bb59 + killer: 1 + - id: ace462524b5b + killer: 1 + - id: add8287f085f + killer: 3 + - id: b7ad4f4da0b8 + killer: 1 + - id: c23fee9c8766 + killer: 1 + - id: c373c4fb11e6 + killer: 1 + - id: c49a40420b6e + killer: 1 + - id: c6d9a3cee50f + killer: 1 + - id: c761b33778c5 + killer: 1 + - id: ccd0b24e6137 + killer: 1 + - id: cd4bd4de55d0 + killer: 1 + - id: cd97b3360bff + killer: 1 + - id: cf4a4571be89 + killer: 1 + - id: d2ce05e201d6 + killer: 1 + - id: d751f2043fe6 + killer: 3 + - id: d9e01fd5ce39 + killer: 1 + - id: dfd55457ff52 + killer: 1 + - id: e20e1baf0406 + killer: 1 + - id: e827de47828d + killer: 1 + - id: e9f4adb53e10 + killer: 1 + - id: f0c21259ffb8 + killer: 2 + - id: f315f8cecc41 + killer: 3 + - id: f3a00ac5c68d + killer: 1 + - id: f480dead063b + killer: 1 + - id: f5d0b8176ab2 + killer: 1 + - id: f71963da6d49 + killer: 1 + - id: fa51d3bc844b + killer: 1 + - id: fb09029a217e + killer: 1 + - id: fba7f55d388e + killer: 1 + - id: fd795af38a08 + killer: 1 + - id: fdfeed5ef528 + killer: 1 +- path: crates/cargo-aprz-lib/src/reports/html.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_simple + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_special_chars_in_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_special_chars_in_version + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_categories + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_or_categories_multiple + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_with_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_all_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_pie_chart_half_circle_uses_small_arc_flag + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_pie_chart_is_a_full_circle_for_a_single_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_pie_chart_is_omitted_when_there_are_no_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_summary_omits_zero_count_not_evaluated_card + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_write_risk_crate_list_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_write_risk_crate_list_renders_entries + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + mutants: + - id: 00ce410b7c6a + killer: 27 + - id: 017a45808538 + killer: 27 + - id: 01dbb99bf0bc + killer: 9 + - id: 01e894e9c0cb + killer: 9 + - id: 029b0eb692e7 + killer: 18 + - id: 02f3eef046b1 + killer: 27 + - id: 041644d78680 + killer: 13 + - id: 0495eb3b78a8 + killer: 10 + - id: 04e338641073 + killer: 21 + - id: 051ad69e5338 + killer: 16 + - id: 057c033b41aa + killer: 11 + - id: 06dfbfaec0b1 + killer: 26 + - id: 06fb789e03b1 + killer: 0 + - id: 0889d637e410 + killer: 27 + - id: 088fde577e84 + killer: 27 + - id: 0a0cab973f3b + killer: 27 + - id: 0aa0e7de65fa + killer: 27 + - id: 0ad1e4eb081d + killer: 22 + - id: 0cde41d3abb3 + killer: 13 + - id: 0d1741fb75ae + killer: 10 + - id: 0d8295668d28 + killer: 16 + - id: 0e2b1541158e + killer: 27 + - id: 0e312d276c76 + killer: 18 + - id: 1066d5eb6bab + killer: 27 + - id: 11c2cad2de29 + killer: 7 + - id: 1265da667059 + killer: 17 + - id: 135844f0c2cc + killer: 2 + - id: 1583e52959a7 + killer: 26 + - id: 159090b41778 + killer: 9 + - id: 1733b23dbc4e + killer: 15 + - id: 17593c0f52f0 + killer: 1 + - id: 18594137a940 + killer: 27 + - id: 18e81c237020 + killer: 27 + - id: 1947e4a67b09 + killer: 27 + - id: 1a71f65b9b7d + killer: 0 + - id: 1aac7e828766 + killer: 22 + - id: 1af8486896b1 + killer: 17 + - id: 1b624e27d66b + killer: 10 + - id: 1b9e1386e81b + killer: 27 + - id: 1be46ef62100 + killer: 17 + - id: 1bedec380ac7 + killer: 27 + - id: 1e15d117efe0 + killer: 9 + - id: 1e7d2e6514f0 + killer: 9 + - id: 1e85bbf1a634 + killer: 27 + - id: 1e99dc07e815 + killer: 27 + - id: 1fb6644e9e23 + killer: 27 + - id: 20788b5f01a4 + killer: 27 + - id: 21626108154e + killer: 26 + - id: 21f91510ae05 + killer: 18 + - id: 23e8aebf221c + killer: 1 + - id: 253c0399fd46 + killer: 17 + - id: 253f90612bc4 + killer: 0 + - id: 268c1cfc6995 + killer: 13 + - id: 2746bf020a7b + killer: 27 + - id: 29636ee81f94 + killer: 27 + - id: 29a231e731f8 + killer: 21 + - id: 2b207e895aab + killer: 24 + - id: 2e5c5757a14c + killer: 7 + - id: 2e722e2e37f4 + killer: 16 + - id: 2fd85d28b056 + killer: 16 + - id: 30240df9205b + killer: 27 + - id: 306b1a8065ac + killer: 17 + - id: 3097eef3a06d + killer: 17 + - id: 310b39d6f1af + killer: 16 + - id: 312bf54870df + killer: 27 + - id: 332a578aaab4 + killer: 27 + - id: 333d7d5bdc87 + killer: 27 + - id: 3367f5623950 + killer: 27 + - id: 3371cad8be48 + killer: 16 + - id: 33be7087cd46 + killer: 17 + - id: 3448e30df952 + killer: 16 + - id: 368a2cbc175a + killer: 27 + - id: 37ea04d30938 + killer: 16 + - id: 388dd02efbc9 + killer: 27 + - id: 3917a3836fe6 + killer: 13 + - id: 3a1bcdac9773 + killer: 27 + - id: 3a3b99f46cb3 + killer: 20 + - id: 3d2be320528f + killer: 17 + - id: 3d73ba9b2cfb + killer: 19 + - id: 3e4beeefd7e7 + killer: 17 + - id: 3e7afae3af19 + killer: 27 + - id: 3f93bbf524fd + killer: 27 + - id: 3fbc889f0231 + killer: 26 + - id: 40fe7367d371 + killer: 28 + - id: 4125682eb674 + killer: 27 + - id: 42cdc2f97be2 + killer: 0 + - id: 43939e1f34e2 + killer: 16 + - id: 457129eaca4a + killer: 27 + - id: 46f2ac29a123 + killer: 21 + - id: 476a29532e3c + killer: 26 + - id: 488495526a55 + killer: 16 + - id: 48b7ea82592e + killer: 27 + - id: 4b2d5fd07a51 + killer: 25 + - id: 4cb0ec372943 + killer: 27 + - id: 4e2fdf641c6f + killer: 14 + - id: 4ed028de1ecb + killer: 17 + - id: 4edf2c1153b4 + killer: 27 + - id: 4f11e286219f + killer: 27 + - id: 4f7695f4564d + killer: 21 + - id: 51365fb10287 + killer: 27 + - id: 51e66d87b8d1 + killer: 8 + - id: 520e6452c0b4 + killer: 23 + - id: 521d6481a8cb + killer: 27 + - id: 522f30ecd2a5 + killer: 7 + - id: 52abb7162a6c + killer: 27 + - id: 53489738bdc7 + killer: 27 + - id: 53dbfc2cd467 + killer: 27 + - id: 54680b201243 + killer: 1 + - id: 552c388c9b04 + killer: 28 + - id: 5547af7c8d53 + killer: 4 + - id: 55fd05266c66 + killer: 16 + - id: 561bde712791 + killer: 1 + - id: 5621b0cda716 + killer: 27 + - id: 566d5c283fe4 + killer: 1 + - id: 568ee939c293 + killer: 28 + - id: 56c21a621bc9 + killer: 1 + - id: 5768b6925b2c + killer: 3 + - id: 5823a255b3b6 + killer: 17 + - id: 58265eaf941d + killer: 27 + - id: 591ec326262e + killer: 9 + - id: 5b2f710b140f + killer: 27 + - id: 5e2d8d50f873 + killer: 24 + - id: 5f9e04d0f525 + killer: 9 + - id: 5fa9db560fed + killer: 20 + - id: 5fd96d6d6bef + killer: 21 + - id: 6005d9b024ab + killer: 6 + - id: 60a4448e2cbf + killer: 5 + - id: 60a795aa75f2 + killer: 27 + - id: 6409fd4c8114 + killer: 27 + - id: 644ab23c8012 + killer: 16 + - id: 649aa5697ad2 + killer: 17 + - id: 6593e17c5182 + killer: 21 + - id: 65d1ec0ffd54 + killer: 20 + - id: 68835d95fab8 + killer: 12 + - id: 68e8d5a977cd + killer: 17 + - id: 6a79f0a12ea3 + killer: 27 + - id: 6b28c0e758a3 + killer: 14 + - id: 6d01659350fd + killer: 27 + - id: 6defcd659dc7 + killer: 27 + - id: 6ed670fb18d3 + killer: 9 + - id: 6ee510bb2041 + killer: 27 + - id: 6f5722874468 + killer: 8 + - id: 70700656a120 + killer: 6 + - id: 7085bf16de3f + killer: 9 + - id: 70a0cbbb4e9c + killer: 27 + - id: 725c32eb6a00 + killer: 8 + - id: 72ef11dd7637 + killer: 27 + - id: 73aab7d7b8d0 + killer: 27 + - id: 7473f0a57c0a + killer: 27 + - id: 75d111d48a8a + killer: 1 + - id: 762eab845d04 + killer: 28 + - id: 76989effe856 + killer: 5 + - id: 76cc0a3c439b + killer: 22 + - id: 775c8698f2c7 + killer: 17 + - id: 77a5a354701a + killer: 0 + - id: 784cf3bcadf5 + killer: 16 + - id: 78842adca8da + killer: 20 + - id: 78bc7b5226ce + killer: 28 + - id: 7900afaadaa0 + killer: 27 + - id: 7c91606bce21 + killer: 27 + - id: 7dd63a293a50 + killer: 14 + - id: 7ebf52b83f00 + killer: 27 + - id: 804b89db31ee + killer: 14 + - id: 81320716f8a5 + killer: 16 + - id: 81cb798d6daf + killer: 26 + - id: 81ddf874a914 + killer: 25 + - id: 81ea128a65e6 + killer: 7 + - id: 81ed5389c70a + killer: 27 + - id: 823adbba9f01 + killer: 15 + - id: 824787f371a4 + killer: 16 + - id: 84894b2a0461 + killer: 9 + - id: 866c3581530f + killer: 4 + - id: 875720dd6f5e + killer: 27 + - id: 888024eccb11 + killer: 16 + - id: 895fe1817ff3 + killer: 27 + - id: 89a083ac7192 + killer: 7 + - id: 8b4ce3b820be + killer: 23 + - id: 8bcb4c72680f + killer: 27 + - id: 8c52caf9a5ed + killer: 27 + - id: 8c76b88fc32d + killer: 16 + - id: 8c77d94ed5c2 + killer: 27 + - id: 8e2a76aba8f0 + killer: 27 + - id: 8e63181b7f43 + killer: 27 + - id: 8ecd33efdf5a + killer: 27 + - id: 912e1ac76f10 + killer: 17 + - id: 9156747ca642 + killer: 17 + - id: 92727a25ccf2 + killer: 7 + - id: 92957436d79a + killer: 28 + - id: 92bc5d442514 + killer: 13 + - id: 92f549a04646 + killer: 9 + - id: 93428f9e3840 + killer: 27 + - id: 93d7a123bffa + killer: 28 + - id: 955d25cfb9c1 + killer: 27 + - id: 963ee3124ed7 + killer: 1 + - id: 96ba66d2117e + killer: 17 + - id: 96e1bd8c48c5 + killer: 16 + - id: 985ad34f8e2a + killer: 0 + - id: 988efc6c0924 + killer: 17 + - id: 9c10f8e10880 + killer: 13 + - id: 9d4bf484dd0a + killer: 28 + - id: 9e47c542c0f9 + killer: 26 + - id: a059129de4f1 + killer: 14 + - id: a19edc6d6c0b + killer: 17 + - id: a279605150c1 + killer: 14 + - id: a3efd480de47 + killer: 27 + - id: a539b5358b1d + killer: 27 + - id: a5ebaff95532 + killer: 1 + - id: a6cdc556de92 + killer: 7 + - id: a784f4b17ba6 + killer: 14 + - id: a7d876fe7193 + killer: 27 + - id: a813d7072aad + killer: 1 + - id: a841b2e41177 + killer: 14 + - id: a8565ba51b69 + killer: 20 + - id: a97bd2226bd4 + killer: 0 + - id: a9b8ee0d26b5 + killer: 27 + - id: aabfcbcd47d7 + killer: 0 + - id: ab1a90afe868 + killer: 8 + - id: ab3acc071ea3 + killer: 13 + - id: ae9a7dc0dc2b + killer: 10 + - id: aea6d0097bcb + killer: 27 + - id: b1502ae75118 + killer: 26 + - id: b2d9abdc12ed + killer: 8 + - id: b51bab5f59cc + killer: 27 + - id: b5aaf046000c + killer: 27 + - id: b631c3c98664 + killer: 27 + - id: b632aaa207cd + killer: 1 + - id: b66a6fa72d25 + killer: 27 + - id: b7b449a3d0f2 + killer: 27 + - id: b7b4d6e4e0af + killer: 14 + - id: b9d81a06ac45 + killer: 16 + - id: ba67fa54f3f9 + killer: 21 + - id: bbfd4481d455 + killer: 14 + - id: bc611ababf60 + killer: 13 + - id: bcd30f8be3d2 + killer: 1 + - id: bdf829f0f812 + killer: 27 + - id: bf6d55ccbaed + killer: 27 + - id: c5afc2f492bb + killer: 27 + - id: c6747ba7055a + killer: 21 + - id: c6ac5a1cc3dd + killer: 17 + - id: c6ed2f61266c + killer: 14 + - id: c77b765bebe7 + killer: 17 + - id: c7cac5097e23 + killer: 27 + - id: c8d4980254c0 + killer: 27 + - id: ca1f6b4c6298 + killer: 26 + - id: ca8bb37f87d2 + killer: 7 + - id: cc5752f44903 + killer: 27 + - id: ccb9557fc168 + killer: 27 + - id: cccf5094d11c + killer: 9 + - id: ccfa35ba8e68 + killer: 14 + - id: cd3fea444fcd + killer: 14 + - id: ce8e83c5f67a + killer: 28 + - id: cf5e4c7af56d + killer: 0 + - id: d2a5d9a08205 + killer: 26 + - id: d31eeeb8319c + killer: 0 + - id: d45fe63d237b + killer: 16 + - id: d69094375c9b + killer: 1 + - id: d7329d12b718 + killer: 10 + - id: d922f49b042b + killer: 8 + - id: d9aaf85c266f + killer: 16 + - id: da07e7de05f5 + killer: 27 + - id: da6650d396fd + killer: 19 + - id: da7e8aee2913 + killer: 27 + - id: dc4000f8c0e1 + killer: 14 + - id: dc4c2cad6f2c + killer: 16 + - id: dd11ee6a8366 + killer: 9 + - id: ddf5b851a092 + killer: 27 + - id: ddf7c18157b2 + killer: 28 + - id: de7194de2faf + killer: 5 + - id: dea540f6def6 + killer: 7 + - id: e11b5839b452 + killer: 10 + - id: e1e0fa2716ee + killer: 27 + - id: e24fb664b75a + killer: 5 + - id: e2c335aec9a4 + killer: 27 + - id: e2f32fd34c05 + killer: 27 + - id: e36dc578cc67 + killer: 27 + - id: e3f5c2566318 + killer: 17 + - id: e4bf0dede3b2 + killer: 27 + - id: e4d21bc5b40d + killer: 27 + - id: e7b30699e3d2 + killer: 26 + - id: e89a3feca4dd + killer: 1 + - id: ea0f3f41781d + killer: 8 + - id: ea487c619f54 + killer: 13 + - id: ea714fc5d865 + killer: 13 + - id: eb63d224527e + killer: 27 + - id: eb8dac541f4c + killer: 24 + - id: ebaced26d9f1 + killer: 13 + - id: ec84daa60ce1 + killer: 8 + - id: ecadba21c998 + killer: 20 + - id: ecaefae5da69 + killer: 22 + - id: ecc44a6ca935 + killer: 27 + - id: ed880690769b + killer: 8 + - id: ef6e6ae5e2c3 + killer: 27 + - id: ef9cde7be780 + killer: 2 + - id: f2841c24589c + killer: 27 + - id: f290f15d22a2 + killer: 27 + - id: f29b94e3f7e7 + killer: 1 + - id: f2cc6f4076f1 + killer: 7 + - id: f2d4b0216505 + killer: 14 + - id: f56a099e9183 + killer: 0 + - id: f59fb1756aa8 + killer: 26 + - id: f685b7b08580 + killer: 0 + - id: f8019b63e5e8 + killer: 2 + - id: f843358af116 + killer: 27 + - id: faa0b110a9ca + killer: 13 + - id: fd13a186217f + killer: 27 + - id: fd9cfc9f0194 + killer: 15 + - id: fdc60f6b2bca + killer: 28 + - id: fddc41e1b096 + killer: 17 + - id: fea073686682 + killer: 9 +- path: crates/cargo-aprz-lib/src/reports/json.rs + killers: + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_metric_value_to_json_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_metric_value_to_json_datetime + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + mutants: + - id: 0f4de8d02d05 + killer: 1 + - id: 265cc207d87d + killer: 2 + - id: 27689fdaf972 + killer: 0 + - id: 27a7f8d97fac + killer: 6 + - id: 2815ceb586e7 + killer: 0 + - id: 292172e4b2bd + killer: 5 + - id: 2ae6e1c88890 + killer: 3 + - id: 2e0130fd837f + killer: 7 + - id: 349bdd5d280f + killer: 0 + - id: 386b55e8ff90 + killer: 1 + - id: 3a636634834e + killer: 1 + - id: 4a395055725b + killer: 1 + - id: 4a5eba3750d6 + killer: 8 + - id: 4b20eafb056c + killer: 5 + - id: 54abedcda638 + killer: 2 + - id: 5903050f7578 + killer: 0 + - id: 5a4a05da781f + killer: 8 + - id: 6ad4ce44c373 + killer: 5 + - id: 6d0cbee5b073 + killer: 0 + - id: 6f4c3ecf1dc7 + killer: 2 + - id: 73dcde0ae7ee + killer: 5 + - id: 7934a95a9bbf + killer: 1 + - id: 7db16e3a77ee + killer: 7 + - id: 7e789d758e8b + killer: 8 + - id: 7f291379dcb8 + killer: 2 + - id: 8513a6e37a51 + killer: 8 + - id: 902da3f6b734 + killer: 8 + - id: 9541ce7e24b1 + killer: 1 + - id: 9b79cbf3daf4 + killer: 2 + - id: a18d6b7b16c7 + killer: 7 + - id: a4c633fadb07 + killer: 1 + - id: a674209a606b + killer: 5 + - id: ac97f77b02c0 + killer: 1 + - id: add71aaa96cb + killer: 4 + - id: af5413f54c51 + killer: 0 + - id: b49c74f451cd + killer: 8 + - id: b8666cbed16d + killer: 8 + - id: c4d39f3a3dcb + killer: 5 + - id: c7d5f42464ef + killer: 1 + - id: cb45bc64da60 + killer: 5 + - id: cc70c1ab93d4 + killer: 7 + - id: d3026fd853c5 + killer: 6 + - id: d453b5a9a48b + killer: 7 + - id: ea0ed7e971cd + killer: 6 + - id: ed2eed616b84 + killer: 2 +- path: crates/cargo-coverage-gate/src/aggregate.rs + killers: + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: aggregate::tests::percent_computes_correctly + - package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + - package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + - package: cargo-coverage-gate + target: cli + test: gated_crate_with_no_data_exits_2 + - package: cargo-coverage-gate + target: cli + test: lcov_with_test_name_records_is_parsed + mutants: + - id: 0a1da669cf5f + killer: 1 + - id: 222382460e19 + killer: 1 + - id: 3e8f20c4021f + killer: 1 + - id: 4728570291b5 + killer: 0 + - id: 477c1d416328 + killer: 1 + - id: 4be35bfd7c2f + killer: 4 + - id: 5c849249618a + killer: 1 + - id: 62d89d485331 + killer: 1 + - id: 71b11f03ae35 + killer: 1 + - id: 815a0fff2891 + killer: 3 + - id: 859daf789749 + killer: 3 + - id: 883b4e55c681 + killer: 1 + - id: 8d25045e28ea + killer: 1 + - id: 937aedcc6568 + killer: 1 + - id: a5efa8edca60 + killer: 2 + - id: bc297b628afe + killer: 1 + - id: cc42472a647b + killer: 3 + - id: cf39174a02f5 + killer: 4 + - id: d69a2f919992 + killer: 1 + - id: e55ab1d98bf4 + killer: 1 + - id: f88f60001ee1 + killer: 0 +- path: crates/cargo-coverage-gate/src/attribute.rs + killers: + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::assigns_files_to_matching_crates + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::longest_prefix_wins_for_nested_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::unmatched_files_are_reported_separately + - package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + mutants: + - id: 07b842f5a0a5 + killer: 3 + - id: 0cf1f912d515 + killer: 3 + - id: 138e548882fc + killer: 1 + - id: 176328d09e7a + killer: 3 + - id: 271a5ae120e7 + killer: 3 + - id: 3518d402db86 + killer: 3 + - id: 37d296ff3180 + killer: 1 + - id: 3eb39f191165 + killer: 3 + - id: 4509af4105d7 + killer: 3 + - id: 477531f82fc1 + killer: 3 + - id: 4bdb26edd4bf + killer: 3 + - id: 4c9adc7a85b3 + killer: 3 + - id: 63f32c9b332f + killer: 3 + - id: 6f21b3a91406 + killer: 2 + - id: 78525e7c4c81 + killer: 1 + - id: 813ee3af84a4 + killer: 3 + - id: 8999085d54f3 + killer: 3 + - id: b59b1b9e2b2d + killer: 3 + - id: cdc24ab9f581 + killer: 3 + - id: d7234cb94a7d + killer: 0 + - id: dc67a5fbe233 + killer: 3 + - id: dffbe40c9443 + killer: 3 +- path: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/main.rs + killers: + - package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + - package: cargo-coverage-gate + target: cli + test: conflicting_coverage_metadata_exits_2 + mutants: + - id: 0049ee8c644e + killer: 0 + - id: 27f4e79fa009 + killer: 1 + - id: 5ad681419a6e + killer: 1 + - id: c3e136b7919f + killer: 1 +- path: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/run.rs + killers: + - package: cargo-coverage-gate + target: cargo-coverage-gate + test: run::tests::explicit_summary_file_skips_environment_lookup + - package: cargo-coverage-gate + target: cargo-coverage-gate + test: run::tests::summary_environment_falls_back_in_priority_order + - package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + - package: cargo-coverage-gate + target: cli + test: defaults_to_target_coverage_lcov_when_flag_omitted + - package: cargo-coverage-gate + target: cli + test: github_step_summary_env_is_auto_detected + - package: cargo-coverage-gate + target: cli + test: quiet_suppresses_stdout_but_still_writes_summary + mutants: + - id: 02298f2861eb + killer: 2 + - id: 0d0bf20ab145 + killer: 2 + - id: 0da02688acf8 + killer: 3 + - id: 170bff698e76 + killer: 2 + - id: 20e1cab2db4e + killer: 4 + - id: 2ca70efc55a0 + killer: 5 + - id: 39aa692f94c6 + killer: 1 + - id: 435c95eb57d5 + killer: 2 + - id: 784764cc18d5 + killer: 2 + - id: 7e1d12a5e01d + killer: 4 + - id: 7efec41c82e8 + killer: 2 + - id: 823c7b24ac6d + killer: 0 + - id: 887ec9b435b6 + killer: 0 + - id: e8134c84aed4 + killer: 1 + - id: f188636e0637 + killer: 2 + - id: feca9e82438f + killer: 2 +- path: crates/cargo-coverage-gate/src/lcov_cov.rs + killers: + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::from_strs_merges_line_counts_and_unions_lines + - package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + - package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + - package: cargo-coverage-gate + target: cli + test: lcov_with_test_name_records_is_parsed + - package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + mutants: + - id: 010f30f21840 + killer: 2 + - id: 08e24b155ed6 + killer: 1 + - id: 0d2b0fd47b5e + killer: 0 + - id: 1bd31e4dea2f + killer: 1 + - id: 315d0a43f701 + killer: 4 + - id: 43cd76800314 + killer: 1 + - id: 493f8f2ea27e + killer: 1 + - id: 53fb44be2b4a + killer: 1 + - id: 5ec05bb13cf3 + killer: 2 + - id: 6719f8c59f47 + killer: 1 + - id: 71dac8d3b9bd + killer: 1 + - id: 78b9d3dddc83 + killer: 3 + - id: 7c71d55d38f7 + killer: 2 + - id: 81c6d73941b9 + killer: 1 + - id: 88e5b3051705 + killer: 0 + - id: 94ad87ee6f0d + killer: 4 + - id: bcaa8a58ce2e + killer: 1 + - id: c117414f8e6d + killer: 1 + - id: ef955ddda7a9 + killer: 1 + - id: f8f94f9de5ca + killer: 1 +- path: crates/cargo-coverage-gate/src/lib.rs + killers: + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: tests::evaluate_many_uses_the_implicit_host_target + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: tests::evaluated_report_unattributed_count_round_trips + - package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + - package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + - package: cargo-coverage-gate + target: cli + test: gated_crate_with_no_data_exits_2 + - package: cargo-coverage-gate + target: cli + test: github_step_summary_env_is_auto_detected + mutants: + - id: 1641ae75f036 + killer: 3 + - id: 17067a3db734 + killer: 2 + - id: 1ab1b4a912d0 + killer: 0 + - id: 221c952cae97 + killer: 3 + - id: 222f9b8445e7 + killer: 4 + - id: 257e07212a16 + killer: 4 + - id: 37b432f0577c + killer: 5 + - id: 47c69ec0f7fb + killer: 1 + - id: 4be8e33da992 + killer: 2 + - id: 4cb872af2040 + killer: 2 + - id: 6e1bfc019366 + killer: 2 + - id: 898f31ea503d + killer: 2 + - id: 8abe687a6516 + killer: 2 + - id: a1ca976ec55f + killer: 3 + - id: aa09b862a242 + killer: 1 + - id: b3de09c777af + killer: 1 + - id: c142263d1b27 + killer: 2 + - id: f1d100536d04 + killer: 4 + - id: fd22940b1183 + killer: 1 +- path: crates/cargo-coverage-gate/src/render/diagnostics.rs + killers: + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::diagnostics::tests::line_ranges_compress_only_adjacent_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::diagnostics::tests::passing_statuses_have_no_failure_detail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + mutants: + - id: 020258089f54 + killer: 5 + - id: 0c0a1f0f361b + killer: 5 + - id: 0f62618f6ea6 + killer: 5 + - id: 11c2902b4051 + killer: 2 + - id: 134c8a50680b + killer: 5 + - id: 168b165254b1 + killer: 0 + - id: 2a638a8750b2 + killer: 0 + - id: 3413088a1ab4 + killer: 0 + - id: 40849a9114f6 + killer: 0 + - id: 454ae413fbec + killer: 5 + - id: 48c5caf9d984 + killer: 5 + - id: 57b4a0b19f76 + killer: 0 + - id: 5e100ee04a2f + killer: 5 + - id: 629e9fe9fafe + killer: 1 + - id: 65e6e15a41a9 + killer: 5 + - id: 6d9118497bca + killer: 0 + - id: 70280b386a35 + killer: 2 + - id: 7576f936e213 + killer: 5 + - id: 7bc19ad7384d + killer: 5 + - id: 7bd1d02c7ab2 + killer: 5 + - id: 8228d404b781 + killer: 3 + - id: 91ac735f8d0c + killer: 5 + - id: 9accafaa773d + killer: 5 + - id: bb626985ff46 + killer: 0 + - id: bf0b65f87110 + killer: 0 + - id: c06cd7a2fd59 + killer: 5 + - id: c2025afdc82d + killer: 5 + - id: c4e8c24f0086 + killer: 3 + - id: c8a10f907d09 + killer: 5 + - id: cf748e438ccd + killer: 0 + - id: d200f1f37dde + killer: 5 + - id: e0fd2f910a11 + killer: 5 + - id: e80c2689364a + killer: 3 + - id: f08c7a4afbdf + killer: 0 + - id: f223fa93a9c8 + killer: 5 + - id: fc7997c9c9e8 + killer: 4 +- path: crates/cargo-coverage-gate/src/render/markdown.rs + killers: + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cli + test: github_step_summary_env_is_auto_detected + mutants: + - id: 0325105dad5e + killer: 4 + - id: 09c72dcb5224 + killer: 1 + - id: 1261050b368c + killer: 2 + - id: 271aef1e8d63 + killer: 1 + - id: 307198b677a5 + killer: 7 + - id: 34da00161e42 + killer: 0 + - id: 37f3bd0fafca + killer: 0 + - id: 473bb743de29 + killer: 4 + - id: 5227e6e38778 + killer: 1 + - id: 56ab667e086a + killer: 1 + - id: 5737b4143e86 + killer: 1 + - id: 5e13d58c4a8a + killer: 0 + - id: 5ea7b3f696e3 + killer: 6 + - id: 62d7da2ad0b0 + killer: 0 + - id: 6da798aa3273 + killer: 0 + - id: 7083d1498d35 + killer: 2 + - id: 787d4461c9d3 + killer: 0 + - id: 865c4683a184 + killer: 1 + - id: 8e2e93ac7243 + killer: 5 + - id: 8f6b8cecb206 + killer: 2 + - id: 9c1cc052d811 + killer: 0 + - id: baecc4931d2d + killer: 1 + - id: ca431d92e076 + killer: 0 + - id: d01243889200 + killer: 0 + - id: d0cac01fae6c + killer: 1 + - id: d6d69bfbab45 + killer: 1 + - id: d8ab5364d98b + killer: 0 + - id: e8e85c8827b2 + killer: 3 + - id: f18b4cbb528d + killer: 0 + - id: f93f96a1c96b + killer: 1 +- path: crates/cargo-coverage-gate/src/render/mod.rs + killers: + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_collapses_sub_precision_noise_to_unsigned_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_negative_with_sign + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_positive_with_sign + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_returns_dash_for_no_data + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_lines_for_assertion_statuses + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_threshold_and_delta_for_assertion_statuses + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::plural_helpers_pick_singular_only_for_one + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + - package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + - package: cargo-coverage-gate + target: cli + test: expect_no_coverable_lines_fails_when_lines_present_exits_1 + - package: cargo-coverage-gate + target: cli + test: expect_no_coverable_lines_passes_with_no_data + - package: cargo-coverage-gate + target: cli + test: gated_crate_with_no_data_exits_2 + - package: cargo-coverage-gate + target: cli + test: multiple_lcov_files_merge_at_line_level + - package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + - package: cargo-coverage-gate + target: cli + test: summary_file_flag_writes_markdown + - package: cargo-coverage-gate + target: cli + test: target_zero_threshold_opts_package_out_of_gate + mutants: + - id: 0046ab5197c9 + killer: 3 + - id: 00f7d9b71a33 + killer: 14 + - id: 017c293f0cd7 + killer: 4 + - id: 01a5c838ad0b + killer: 0 + - id: 03ef90333e86 + killer: 14 + - id: 07d36610b3e8 + killer: 16 + - id: 08b932baf7c4 + killer: 3 + - id: 0c26a4b2345d + killer: 18 + - id: 0ef1f8417fc2 + killer: 14 + - id: 0ef9cd039f49 + killer: 18 + - id: 0efbf14d039d + killer: 10 + - id: 164e6e653f1a + killer: 14 + - id: 165f32f7962e + killer: 4 + - id: 1733ed075f64 + killer: 18 + - id: 18a94939c126 + killer: 12 + - id: 18cf24e9a9f1 + killer: 5 + - id: 21e31f647152 + killer: 2 + - id: 249e2118bbd4 + killer: 9 + - id: 27b8b55afe09 + killer: 18 + - id: 28d82331f065 + killer: 13 + - id: 2992521001b4 + killer: 4 + - id: 2b21192f2e16 + killer: 4 + - id: 30f112021c06 + killer: 18 + - id: 34dc3821ad38 + killer: 4 + - id: 379bcd2f1e37 + killer: 4 + - id: 37d9e00018a9 + killer: 7 + - id: 38e10ac51f64 + killer: 13 + - id: 3ba3a8b13edc + killer: 14 + - id: 3bc13430fbab + killer: 12 + - id: 3d9bb45c934e + killer: 12 + - id: 44728b6ed8b8 + killer: 12 + - id: 48d3600ecd48 + killer: 3 + - id: 4912289ad436 + killer: 12 + - id: 4972888c0766 + killer: 12 + - id: 4b6e35fc4a4a + killer: 20 + - id: 4f71d8c5181c + killer: 12 + - id: 50fc26143d12 + killer: 18 + - id: 55b95af892a0 + killer: 5 + - id: 561e6776750a + killer: 4 + - id: 566ebfae7018 + killer: 3 + - id: 56dec2c651fc + killer: 4 + - id: 578a9b2687d2 + killer: 3 + - id: 59efb33d8d38 + killer: 18 + - id: 5af96be76528 + killer: 14 + - id: 5eb1dbb683c4 + killer: 19 + - id: 604f9d7178c0 + killer: 12 + - id: 6056b67815c1 + killer: 14 + - id: 60a16826aa63 + killer: 2 + - id: 636c7781d5f1 + killer: 3 + - id: 643667a36c09 + killer: 12 + - id: 686703ca8b2a + killer: 3 + - id: 6a518e37250f + killer: 15 + - id: 6b867744e776 + killer: 8 + - id: 6bba41465015 + killer: 18 + - id: 6bf41b7556fe + killer: 12 + - id: 6c40115a2d18 + killer: 18 + - id: 76d172ba96ed + killer: 18 + - id: 79076b01e3aa + killer: 6 + - id: 7998ef0814c3 + killer: 11 + - id: 79affaee9921 + killer: 12 + - id: 7db539b767c1 + killer: 4 + - id: 7e399558f653 + killer: 16 + - id: 81b7702c2296 + killer: 2 + - id: 81d49c3d545b + killer: 12 + - id: 8382b3f6c98a + killer: 4 + - id: 860d562c7342 + killer: 17 + - id: 876045be38c2 + killer: 5 + - id: 8857747d865a + killer: 2 + - id: 88be0ea68e3a + killer: 9 + - id: 8916e2327f5d + killer: 12 + - id: 8981f00a7246 + killer: 12 + - id: 89fd922d7b4b + killer: 18 + - id: 8c4e491bb6ce + killer: 18 + - id: 8eeea32c3411 + killer: 16 + - id: 91b539f6db4c + killer: 10 + - id: 96572e12be5e + killer: 9 + - id: 975e73eb55f8 + killer: 14 + - id: 9a4841d8c81f + killer: 1 + - id: 9b493179d6ee + killer: 12 + - id: 9e6235fba2f8 + killer: 5 + - id: 9ebe74be535a + killer: 2 + - id: a0dfbe425bd9 + killer: 3 + - id: a17f3507e48f + killer: 12 + - id: a36b10440a6a + killer: 10 + - id: a37c011481f9 + killer: 15 + - id: a9c08aa8307a + killer: 4 + - id: adb24aa89660 + killer: 20 + - id: b0864fa0f9b2 + killer: 17 + - id: b1f72426d9e0 + killer: 12 + - id: b884c98c6d32 + killer: 9 + - id: b9fc65d84560 + killer: 2 + - id: bcc433292f2d + killer: 19 + - id: bd2405427532 + killer: 12 + - id: bf2577c17a19 + killer: 20 + - id: c00bccc9933c + killer: 12 + - id: c1fdfa726dff + killer: 12 + - id: c23d76e60f7e + killer: 3 + - id: c445e72c4110 + killer: 12 + - id: c4b9ca24d6e7 + killer: 18 + - id: c4da6f1073b5 + killer: 20 + - id: c54567e72d52 + killer: 11 + - id: c58bdbaacbae + killer: 4 + - id: c663a7a9b1c4 + killer: 8 + - id: c7eb2ee4725e + killer: 14 + - id: c8ccace06474 + killer: 8 + - id: d00aff103305 + killer: 19 + - id: d13dddb0e72c + killer: 5 + - id: d3be13510506 + killer: 12 + - id: d5348502f710 + killer: 18 + - id: d54431e0345e + killer: 16 + - id: d61fddeb8027 + killer: 18 + - id: d810338a0790 + killer: 18 + - id: da828bad95ab + killer: 19 + - id: dc5f2d7204f7 + killer: 12 + - id: dca1528bda5d + killer: 12 + - id: dd500477f933 + killer: 16 + - id: df39672a67fa + killer: 9 + - id: e30fa5e851ec + killer: 10 + - id: e428a7f6838e + killer: 3 + - id: e680f07a7809 + killer: 7 + - id: e72d2d477920 + killer: 1 + - id: e80b018e8b05 + killer: 16 + - id: e8a395b62eed + killer: 14 + - id: e9907fd318eb + killer: 4 + - id: ea49b9cd2656 + killer: 12 + - id: eb2b685a00f0 + killer: 16 + - id: eb36e7075e07 + killer: 5 + - id: ebe890caa82b + killer: 12 + - id: ecddeab6df66 + killer: 12 + - id: ee630395153a + killer: 8 + - id: eece002aa565 + killer: 9 + - id: efd00f79f8e6 + killer: 18 + - id: f235c4b0f6b2 + killer: 10 + - id: f3da0896fed9 + killer: 4 + - id: f883c9a55b6b + killer: 12 + - id: f8981d76c33b + killer: 0 + - id: fe2190f7de3d + killer: 18 + - id: ff3206c34064 + killer: 4 + - id: ffe41847decf + killer: 12 +- path: crates/cargo-coverage-gate/src/render/text.rs + killers: + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + - package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + - package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + mutants: + - id: 0c5d78969096 + killer: 7 + - id: 203e62640c74 + killer: 5 + - id: 205350f4c029 + killer: 1 + - id: 2241f2a51aaf + killer: 11 + - id: 23b28bdc2474 + killer: 8 + - id: 43c93bffa7cd + killer: 8 + - id: 46add9f8ce17 + killer: 2 + - id: 4d6a32d3161a + killer: 1 + - id: 51e6177e3fc4 + killer: 1 + - id: 544f243f6815 + killer: 1 + - id: 58baffedc535 + killer: 0 + - id: 5f2d88911f59 + killer: 1 + - id: 61e5db44a2ee + killer: 1 + - id: 62e0af279e3e + killer: 4 + - id: 6ecdf98abc5a + killer: 11 + - id: 7cc7218350b9 + killer: 0 + - id: 7e816c3bd0b8 + killer: 4 + - id: 825b11bfe393 + killer: 11 + - id: 842216a6b280 + killer: 1 + - id: 85121893f93f + killer: 8 + - id: 8921cdff2791 + killer: 10 + - id: 9cf9b596ce7a + killer: 0 + - id: a2f590a2a531 + killer: 9 + - id: a5407b954253 + killer: 2 + - id: a6474b2e5604 + killer: 11 + - id: ab662a7ad699 + killer: 9 + - id: b6c0599471b1 + killer: 2 + - id: c16b0d2f5460 + killer: 11 + - id: cdcd7bd6e30d + killer: 1 + - id: d23d2a5bc2a5 + killer: 6 + - id: d6b397eaece7 + killer: 6 + - id: d806d93acd80 + killer: 8 + - id: d828035baf0c + killer: 9 + - id: d885053d59af + killer: 9 + - id: d8f0d502cac8 + killer: 11 + - id: d922435636fe + killer: 1 + - id: daff4dbb9d04 + killer: 6 + - id: e0a55a016dd0 + killer: 3 + - id: e3e8b343fdfa + killer: 9 + - id: e4b525b78016 + killer: 6 + - id: e634dbbcbbbb + killer: 0 + - id: f7749fdc6b0f + killer: 0 + - id: fa1d8e646205 + killer: 9 +- path: crates/cargo-coverage-gate/src/target.rs + killers: + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_a_cfg_query_that_cannot_be_launched + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_a_failed_cfg_query + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_a_failed_host_query + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_version_output_without_a_host_line + - package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + - package: cargo-coverage-gate + target: cli + test: target_zero_threshold_package_remains_gated_when_override_does_not_match + mutants: + - id: 093c50287f0f + killer: 0 + - id: 37a02e0eca44 + killer: 3 + - id: 3874ac65af89 + killer: 4 + - id: 5a3252639a55 + killer: 0 + - id: 65e7b22ba5a1 + killer: 4 + - id: 662a265d162a + killer: 4 + - id: 7a65916a5e14 + killer: 0 + - id: 8c13ed040f24 + killer: 5 + - id: 97622e5f0e51 + killer: 1 + - id: 9ac187425cb9 + killer: 0 + - id: 9e777f2c3ac8 + killer: 5 + - id: bedc63030e97 + killer: 2 + - id: dbd5567d67f1 + killer: 4 + - id: fb1170bcb344 + killer: 4 + - id: fc402fedd6f9 + killer: 4 +- path: crates/cargo-coverage-gate/src/threshold.rs + killers: + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + - package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + mutants: + - id: 46692314355f + killer: 1 + - id: 526559cb7a80 + killer: 2 + - id: 7e2cf5f66fc8 + killer: 0 + - id: a0b8bb90dd80 + killer: 2 + - id: aa2c162dd5ae + killer: 1 + - id: b06e41a31ce2 + killer: 1 + - id: f92fc843d184 + killer: 1 + - id: fa1d325281cc + killer: 0 +- path: crates/cargo-coverage-gate/src/verdict.rs + killers: + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_collapses_sub_precision_noise_to_unsigned_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::diagnostics_are_sorted_by_path + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::diagnostics_omit_files_without_relevant_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_matcher_handles_wildcards + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::measured_rounds_down_below_threshold_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::round_to_displayed_precision_keeps_one_decimal + - package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + - package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + - package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + - package: cargo-coverage-gate + target: cli + test: expect_no_coverable_lines_fails_when_lines_present_exits_1 + - package: cargo-coverage-gate + target: cli + test: lcov_with_test_name_records_is_parsed + - package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + - package: cargo-coverage-gate + target: cli + test: package_flag_accepts_glob_pattern + - package: cargo-coverage-gate + target: cli + test: package_flag_accepts_repeated_short_form + - package: cargo-coverage-gate + target: cli + test: package_flag_with_unknown_name_exits_2 + mutants: + - id: 02ac048ed673 + killer: 14 + - id: 0570641102e7 + killer: 3 + - id: 094207dd8af6 + killer: 3 + - id: 09ee5036da18 + killer: 14 + - id: 0a3a91fc0dc0 + killer: 14 + - id: 0d2b1728e286 + killer: 3 + - id: 0d69e3a9ae37 + killer: 13 + - id: 10517a7ea3ac + killer: 9 + - id: 11a9a6367c5f + killer: 8 + - id: 128127780c2a + killer: 8 + - id: 139333eeba8d + killer: 3 + - id: 148dba6f5c60 + killer: 10 + - id: 16551c33e48b + killer: 14 + - id: 16b336db333a + killer: 14 + - id: 1723eba41a27 + killer: 14 + - id: 19db0d8d9b14 + killer: 14 + - id: 19fa13be8539 + killer: 14 + - id: 1aa8c578f484 + killer: 3 + - id: 1fe3eda34619 + killer: 3 + - id: 20650c7ac9f5 + killer: 3 + - id: 25d9b2415500 + killer: 14 + - id: 2612305fb7cf + killer: 9 + - id: 265a2614be9f + killer: 12 + - id: 2bc61a795e43 + killer: 5 + - id: 2bd380f6ae2c + killer: 8 + - id: 2d188819cb65 + killer: 6 + - id: 2df04b967e1d + killer: 0 + - id: 3355a89751a4 + killer: 14 + - id: 33ce1f78832a + killer: 8 + - id: 37d17bf337b8 + killer: 14 + - id: 3a9de0f4cdcb + killer: 10 + - id: 3ad480930928 + killer: 14 + - id: 3f6491f8477d + killer: 3 + - id: 3fc0b5d25b99 + killer: 14 + - id: 41fecc255d9f + killer: 14 + - id: 43680a8bdf00 + killer: 14 + - id: 479838ad63af + killer: 1 + - id: 488387f85e3d + killer: 14 + - id: 49bccf65640a + killer: 14 + - id: 4dfcf3235e14 + killer: 14 + - id: 4ff0cd07f7c6 + killer: 3 + - id: 5488123fcf9e + killer: 14 + - id: 55504aca8c75 + killer: 14 + - id: 563f7e3f3aa5 + killer: 16 + - id: 5c637a7d9d5e + killer: 14 + - id: 5d369bf7da94 + killer: 14 + - id: 61494ab533bc + killer: 3 + - id: 6275460d4062 + killer: 14 + - id: 635691bbff36 + killer: 9 + - id: 694a8fcab976 + killer: 14 + - id: 6c439552c7dc + killer: 14 + - id: 6d1fafdf60ff + killer: 10 + - id: 6fb5173f1740 + killer: 2 + - id: 76abbe5bc4ee + killer: 14 + - id: 78ccd0954e94 + killer: 8 + - id: 7bde861c1ee7 + killer: 3 + - id: 80d68a9c8e8b + killer: 13 + - id: 85498c4a741c + killer: 14 + - id: 85dcc96c83d7 + killer: 10 + - id: 8a93447e7a5a + killer: 9 + - id: 8ecb99c2d1c3 + killer: 8 + - id: 8ffee2a3c7ea + killer: 8 + - id: 968d3a396d37 + killer: 3 + - id: 971fce9e7264 + killer: 14 + - id: 98c667ed6058 + killer: 7 + - id: 9aaf562600e4 + killer: 3 + - id: 9acc8f87d2c2 + killer: 14 + - id: 9bd304c3f81c + killer: 3 + - id: 9f22e949766e + killer: 13 + - id: 9fbc6d5284e2 + killer: 10 + - id: a22fefb4ffae + killer: 11 + - id: a4f99b5542e9 + killer: 9 + - id: a5463024dcee + killer: 14 + - id: a8a87bba5f4e + killer: 3 + - id: aa40231ca1e6 + killer: 9 + - id: acc346cca0c7 + killer: 14 + - id: af4bdb6d240d + killer: 3 + - id: b06b9229ebcd + killer: 9 + - id: b34b63d06183 + killer: 14 + - id: b3847a05af7e + killer: 10 + - id: b6305b69c348 + killer: 9 + - id: b6cd5c472851 + killer: 3 + - id: b863cf9b4f78 + killer: 14 + - id: bb88228c86e3 + killer: 15 + - id: bc77c1b7d5ac + killer: 13 + - id: bc9c14cfc65f + killer: 14 + - id: bdebbfb179c7 + killer: 14 + - id: c1b78d097ad0 + killer: 4 + - id: c1d77f658688 + killer: 16 + - id: c227bce28d00 + killer: 8 + - id: c48276bcda9d + killer: 14 + - id: c6a7d19e1f76 + killer: 14 + - id: cbbcebcb2c0f + killer: 3 + - id: cc703a219a49 + killer: 8 + - id: cd64ffa83d35 + killer: 14 + - id: ce4438e1207c + killer: 3 + - id: ce462d4b5912 + killer: 9 + - id: d40dec6ebf2a + killer: 14 + - id: d636e3d4da88 + killer: 3 + - id: dcacaadf9b7a + killer: 14 + - id: e04f747cdc57 + killer: 3 + - id: e151b3a0927e + killer: 14 + - id: e285f5112532 + killer: 15 + - id: e325bb5b6985 + killer: 14 + - id: e33c4f995280 + killer: 9 + - id: e4cebb1cb1f9 + killer: 8 + - id: e91078c0f134 + killer: 14 + - id: ea1f59dee31e + killer: 14 + - id: ed6be6f963d5 + killer: 9 + - id: ee06329c7d34 + killer: 3 + - id: ee949bf54030 + killer: 14 + - id: eebfaa2dc924 + killer: 10 + - id: ef4106fdd996 + killer: 3 + - id: f02da5a66bba + killer: 14 + - id: f196c6050db9 + killer: 8 + - id: f1ba9c7d5c3c + killer: 9 + - id: f6fdddfbc939 + killer: 14 + - id: f7df1027e748 + killer: 3 + - id: ff4a3b6ec0fe + killer: 3 +- path: crates/cargo-coverage-gate/src/workspace.rs + killers: + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::accepts_target_derived_cfg_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::does_not_resolve_target_without_target_policies + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::metadata_command_excludes_dependencies + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_build_context_target_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_negative_workspace_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_target_policy_at_workspace_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_workspace_scoped_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_selection_skips_non_matching_candidates + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unsupported_build_context_options_are_sorted_and_deduplicated + - package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + - package: cargo-coverage-gate + target: cli + test: conflicting_coverage_metadata_exits_2 + - package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + - package: cargo-coverage-gate + target: cli + test: target_zero_threshold_opts_package_out_of_gate + - package: cargo-coverage-gate + target: cli + test: target_zero_threshold_package_remains_gated_when_override_does_not_match + mutants: + - id: 023aefb9f15f + killer: 14 + - id: 02a55fc3f77d + killer: 1 + - id: 06fa6a8df2b2 + killer: 14 + - id: 09a6bc0b1c8b + killer: 14 + - id: 0b7561e6c4e5 + killer: 4 + - id: 0bcaedf7f8c9 + killer: 14 + - id: 0ccef3bf8228 + killer: 11 + - id: 0d23d0039b14 + killer: 4 + - id: 126ceb7f17a6 + killer: 12 + - id: 1324e71386a6 + killer: 7 + - id: 13d17ce16dd7 + killer: 1 + - id: 15a278a0aa31 + killer: 12 + - id: 15fb852f4d99 + killer: 6 + - id: 162b0562365b + killer: 16 + - id: 177f8affa3fb + killer: 14 + - id: 1cc14f07811b + killer: 4 + - id: 1f6e8e3b338f + killer: 6 + - id: 2042a209416f + killer: 14 + - id: 26216f6be6cd + killer: 14 + - id: 264bbbda419a + killer: 14 + - id: 28879cdd978c + killer: 15 + - id: 2bb368d8f745 + killer: 14 + - id: 31187fb8865a + killer: 14 + - id: 314db5d700d8 + killer: 6 + - id: 31acd1acdaa5 + killer: 0 + - id: 33c549aee282 + killer: 14 + - id: 34d4aace607c + killer: 1 + - id: 3631e054879c + killer: 13 + - id: 3640a819a676 + killer: 4 + - id: 3949d76539a4 + killer: 14 + - id: 3959dfe1b451 + killer: 14 + - id: 3a53a21ae309 + killer: 3 + - id: 426bcd1a8323 + killer: 13 + - id: 44a168aa369a + killer: 8 + - id: 489faee96515 + killer: 13 + - id: 49a527e574eb + killer: 14 + - id: 49f3fbbd7954 + killer: 9 + - id: 4a0ec77f5496 + killer: 16 + - id: 4b3c8f3a80bc + killer: 14 + - id: 4c6ed0f624c1 + killer: 14 + - id: 4e804f353cfb + killer: 14 + - id: 51682e20e921 + killer: 3 + - id: 52bc192d04a1 + killer: 7 + - id: 54d180617255 + killer: 13 + - id: 550f78f82d5c + killer: 14 + - id: 5c5ded9a1373 + killer: 4 + - id: 5d5274aac93d + killer: 13 + - id: 648b4a8a5e1f + killer: 14 + - id: 682777fe16b0 + killer: 4 + - id: 70eef952286e + killer: 14 + - id: 72633f80c984 + killer: 3 + - id: 7a885bd23272 + killer: 3 + - id: 7d2c1ebc9227 + killer: 12 + - id: 8051726ec310 + killer: 14 + - id: 80547f80a893 + killer: 12 + - id: 80f3d78dc0b4 + killer: 4 + - id: 82eb1d8be4cf + killer: 11 + - id: 83407024f6b9 + killer: 14 + - id: 84cf43e41455 + killer: 14 + - id: 8516176bf85b + killer: 2 + - id: 852a55a8e460 + killer: 12 + - id: 881970c0dbda + killer: 14 + - id: 88f3c8055355 + killer: 16 + - id: 8982c1f55d30 + killer: 12 + - id: 89f5bae9333d + killer: 6 + - id: 8d355c8d74f6 + killer: 4 + - id: 8fddcc382157 + killer: 13 + - id: 93184b5f1d26 + killer: 1 + - id: 9365d364f030 + killer: 12 + - id: 96b88af23968 + killer: 16 + - id: 96d9455f9146 + killer: 12 + - id: 9e370afb4d53 + killer: 15 + - id: 9f26ad2d6688 + killer: 14 + - id: 9f6918bd2f93 + killer: 5 + - id: a224aacd0046 + killer: 14 + - id: a4e31681fca2 + killer: 11 + - id: a7b8b3ecc0e9 + killer: 14 + - id: ae0f9b7d46fa + killer: 9 + - id: b0c8ae31bbb1 + killer: 14 + - id: b1007401a2da + killer: 12 + - id: b2833d323265 + killer: 14 + - id: b6f1bedccc34 + killer: 10 + - id: b7a006d2bcc2 + killer: 12 + - id: b9d3e9a4d455 + killer: 4 + - id: bf8e14b74b8e + killer: 13 + - id: c05c9e9c9947 + killer: 14 + - id: c28589e2bbc6 + killer: 14 + - id: c313907aaba5 + killer: 12 + - id: c4d2057b14cb + killer: 14 + - id: cbdeb2b259a2 + killer: 14 + - id: cd36fff851c4 + killer: 14 + - id: cf1e6b9b99bf + killer: 14 + - id: d2897d3b1cc8 + killer: 12 + - id: d5926cd0da66 + killer: 14 + - id: ddaf43885b80 + killer: 14 + - id: dec9ef46b3a0 + killer: 14 + - id: e05dc2e12b58 + killer: 14 + - id: e344a2c86bcb + killer: 12 + - id: e5c8de4d62c1 + killer: 14 + - id: e5dd5bf1f9b2 + killer: 12 + - id: e6a20c501f57 + killer: 12 + - id: e71de244c7ed + killer: 13 + - id: e9b3f49549da + killer: 13 + - id: f1f9b7f48991 + killer: 8 + - id: f2054feecf9b + killer: 3 + - id: f8df6284c3ac + killer: 0 + - id: f98ee04b0bd7 + killer: 9 + - id: fa4ac1bc2d37 + killer: 11 + - id: fb2e275046ec + killer: 14 + - id: fbe608a02657 + killer: 9 + - id: fc554f453c81 + killer: 14 + - id: fde087af9745 + killer: 12 +- path: crates/cargo-each/src/filter.rs + killers: + - package: cargo-each + target: cargo-each + test: filter::tests::dep_predicate_matches + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_bool_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_nan_uses_string_equality + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_non_scalar_never_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_present_and_equals + - package: cargo-each + target: cargo-each + test: filter::tests::parses_dep_predicate + - package: cargo-each + target: cargo-each + test: filter::tests::parses_kind_predicates + - package: cargo-each + target: cargo-each + test: filter::tests::rejects_empty_metadata_key_before_equals + - package: cargo-each + target: cargo-each + test: filter::tests::rejects_metadata_keys_with_empty_segments + - package: cargo-each + target: cargo-each + test: filter::tests::rejects_unknown_and_empty + mutants: + - id: 03a49fd7fa1f + killer: 8 + - id: 03b7d4e19e6e + killer: 2 + - id: 0d4de52d64fa + killer: 8 + - id: 1fe39e46f412 + killer: 1 + - id: 32d35bc3a5aa + killer: 6 + - id: 37cbfc7b76db + killer: 1 + - id: 37d314c1b3a4 + killer: 7 + - id: 3b953e0ed779 + killer: 1 + - id: 44f5d8a26ea3 + killer: 7 + - id: 4967d5b2ed82 + killer: 0 + - id: 4c1d5a316671 + killer: 9 + - id: 51185e495776 + killer: 1 + - id: 563e1d4c09d8 + killer: 2 + - id: 60ea42b667f4 + killer: 2 + - id: 6aed14c8bcd1 + killer: 5 + - id: 6c28b84234f7 + killer: 1 + - id: 7143cb266dde + killer: 4 + - id: 773941f4767e + killer: 9 + - id: 7fc6e83e8a6a + killer: 1 + - id: 837c4b471020 + killer: 0 + - id: 8930e90b3a9f + killer: 1 + - id: 8cb1939d827a + killer: 9 + - id: 8d4f876439a5 + killer: 1 + - id: 8fb76a52330d + killer: 9 + - id: 9b4845eed465 + killer: 1 + - id: 9d504aab602d + killer: 9 + - id: 9e04a7767a33 + killer: 9 + - id: a5fa19c6bce2 + killer: 1 + - id: aef7b5c8b734 + killer: 4 + - id: b888efd7f85c + killer: 9 + - id: c350d4e66c72 + killer: 8 + - id: c3a407d775e1 + killer: 1 + - id: c42e7144c12b + killer: 1 + - id: c9c5fe54d6c2 + killer: 6 + - id: ca033c4979a5 + killer: 2 + - id: d5b85e85a0c0 + killer: 8 + - id: ea0da6b51ff9 + killer: 3 + - id: eb6e94ad3a57 + killer: 5 + - id: ecce2d98829a + killer: 8 + - id: f00bca88a348 + killer: 1 + - id: f18bba058ff1 + killer: 1 + - id: f4f81af0491e + killer: 1 + - id: f9534d8e54e4 + killer: 5 + - id: fa5f867a1f9b + killer: 9 +- path: crates/cargo-each/src/main.rs + killers: + - package: cargo-each + target: cli + test: bad_predicate_is_a_usage_error + mutants: + - id: 11a36ad95141 + killer: 0 + - id: a2fa2c9641ba + killer: 0 + - id: d4047a0e17de + killer: 0 + - id: dee1680f3b90 + killer: 0 +- path: crates/cargo-each/src/plan.rs + killers: + - package: cargo-each + target: cargo-each + test: plan::tests::chdir_sets_work_dir_to_crate_root + - package: cargo-each + target: cargo-each + test: plan::tests::chdir_with_once_is_a_usage_error + - package: cargo-each + target: cargo-each + test: plan::tests::empty_set_still_validates_placeholders + - package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + - package: cargo-each + target: cargo-each + test: plan::tests::once_whole_workspace_uses_workspace_flag + - package: cargo-each + target: cargo-each + test: plan::tests::per_package_builds_one_invocation_each + mutants: + - id: 1117ea74bf12 + killer: 0 + - id: 12b0c42b906c + killer: 3 + - id: 2292c9e373f9 + killer: 3 + - id: 361c46075aa7 + killer: 0 + - id: 3d83579044d2 + killer: 2 + - id: 6687f281863e + killer: 0 + - id: 66e42c2b4a68 + killer: 1 + - id: 69cc7bbf0c1a + killer: 3 + - id: 7e082693b41b + killer: 3 + - id: 82be04cf1c4a + killer: 0 + - id: 82c23632af01 + killer: 0 + - id: 8964223ca8d3 + killer: 3 + - id: 8a40e9691dec + killer: 3 + - id: 8e4b8c85016b + killer: 4 + - id: c12b18be8bfb + killer: 3 + - id: dc068203a3cb + killer: 3 + - id: e36c2626c00b + killer: 0 + - id: f355fe5728e2 + killer: 3 + - id: f5718623c935 + killer: 5 + - id: fc0a9318bc81 + killer: 3 +- path: crates/cargo-each/src/run.rs + killers: + - package: cargo-each + target: cargo-each + test: run::tests::in_range_codes_pass_through + - package: cargo-each + target: cargo-each + test: run::tests::nonzero_code_with_zero_low_byte_maps_to_one + - package: cargo-each + target: cargo-each + test: run::tests::signal_terminated_child_maps_to_one + - package: cargo-each + target: cli + test: bad_predicate_is_a_usage_error + - package: cargo-each + target: cli + test: bare_invocation_runs_only_default_members + - package: cargo-each + target: cli + test: chdir_executes_from_crate_root + - package: cargo-each + target: cli + test: chdir_with_once_is_a_usage_error + - package: cargo-each + target: cli + test: dep_filter_selects_member_with_declared_dependency + - package: cargo-each + target: cli + test: dry_run_quotes_arguments_with_whitespace + - package: cargo-each + target: cli + test: exclude_with_workspace_removes_member + - package: cargo-each + target: cli + test: executes_command_and_propagates_failure + - package: cargo-each + target: cli + test: fail_fast_stops_before_running_later_members + - package: cargo-each + target: cli + test: keep_going_runs_all_members_then_fails + - package: cargo-each + target: cli + test: keep_going_treats_spawn_failure_as_invocation_failure + - package: cargo-each + target: cli + test: missing_manifest_reports_workspace_load_context + - package: cargo-each + target: cli + test: none_is_a_successful_noop + - package: cargo-each + target: cli + test: once_whole_workspace_expands_to_workspace_flag + - package: cargo-each + target: cli + test: once_with_exclude_filter_uses_explicit_packages_not_workspace + - package: cargo-each + target: cli + test: once_with_filter_uses_explicit_packages_not_workspace + - package: cargo-each + target: cli + test: unknown_selector_is_a_usage_error + mutants: + - id: 01f9f46c953c + killer: 1 + - id: 02d51375b817 + killer: 13 + - id: 038ac5ed277e + killer: 5 + - id: 0bbaba703d86 + killer: 4 + - id: 15aacf4289f6 + killer: 4 + - id: 196b37d9c4ec + killer: 5 + - id: 1f4ab051103f + killer: 12 + - id: 1f4c40139159 + killer: 6 + - id: '226899625417' + killer: 18 + - id: 24566b7c1e21 + killer: 4 + - id: 2555e6464e86 + killer: 4 + - id: 2c95876c029c + killer: 12 + - id: 2c9f9c1d13f0 + killer: 14 + - id: 32a5e96c64af + killer: 5 + - id: 34264eda04af + killer: 4 + - id: 344c1ff27d9b + killer: 4 + - id: 3c55babd0b28 + killer: 0 + - id: 3cef5626aeda + killer: 3 + - id: 3cf85a02140c + killer: 0 + - id: 4c5382080fe7 + killer: 5 + - id: 4cc33b3c1ce1 + killer: 4 + - id: 55cbc3a86c3b + killer: 5 + - id: 56c47ebbf215 + killer: 11 + - id: 5a459b325cf6 + killer: 13 + - id: 5ad35ba909de + killer: 0 + - id: 5c7b9333126c + killer: 4 + - id: 603f8d9abd42 + killer: 0 + - id: 64f55347a3a8 + killer: 4 + - id: 6add5ad56008 + killer: 8 + - id: 6ae728140535 + killer: 4 + - id: 6b601ac62292 + killer: 3 + - id: 6b95963b05e0 + killer: 3 + - id: 6f24b6cd0b08 + killer: 13 + - id: 6fcbd6473ca5 + killer: 2 + - id: 725e8634ebf8 + killer: 17 + - id: 73e185ac845d + killer: 12 + - id: 758c1c3256a1 + killer: 11 + - id: 75ba8e3ee5b5 + killer: 5 + - id: 7747fefa6bd4 + killer: 1 + - id: 7a9b86eb1828 + killer: 0 + - id: 8140c4b100a0 + killer: 0 + - id: 827200996da7 + killer: 0 + - id: 879ed938f3b2 + killer: 13 + - id: 89588feb4b7a + killer: 11 + - id: 8ac30395a8a5 + killer: 4 + - id: 8c8f8f565516 + killer: 7 + - id: 8c8ff42ddb09 + killer: 2 + - id: 8d060ba56301 + killer: 6 + - id: 8f8f5abd17b1 + killer: 6 + - id: 914c06d0ee73 + killer: 3 + - id: 93e47a214c15 + killer: 4 + - id: 9be21ce11a7a + killer: 13 + - id: 9c0a938d477f + killer: 5 + - id: 9cc34ce6983e + killer: 15 + - id: 9cda63623bbe + killer: 12 + - id: 9d177fd6f9e1 + killer: 5 + - id: a3b9c72408a0 + killer: 12 + - id: a8535180f0eb + killer: 10 + - id: ab3c6cd0a2bc + killer: 4 + - id: ada06b99a19d + killer: 17 + - id: afebdfc88982 + killer: 12 + - id: b4abdf2363fc + killer: 19 + - id: b718e3a1f063 + killer: 0 + - id: b9df48ac3018 + killer: 14 + - id: ba7e5974d5d5 + killer: 5 + - id: bb6547d01bc5 + killer: 5 + - id: bc5eb762d272 + killer: 0 + - id: bfcd0ca944c1 + killer: 9 + - id: c0b0e423721c + killer: 3 + - id: c2aa3f78d3f1 + killer: 4 + - id: ca039648c666 + killer: 0 + - id: cb96720ea795 + killer: 7 + - id: cdf063c49802 + killer: 19 + - id: cecc2ce6de4b + killer: 16 + - id: d14a9677ef10 + killer: 0 + - id: dada2e618f52 + killer: 4 + - id: dafddbdf430b + killer: 1 + - id: de9eaa1ec56a + killer: 5 + - id: e001dc0a0a94 + killer: 0 + - id: e3b9a57bb64b + killer: 12 + - id: f2fcbcb002d7 + killer: 1 + - id: f3c27f2bcbd8 + killer: 12 + - id: f9d37c1f64ca + killer: 16 + - id: fb3f282bbe91 + killer: 0 +- path: crates/cargo-each/src/select.rs + killers: + - package: cargo-each + target: cargo-each + test: select::tests::all_selects_every_member + - package: cargo-each + target: cargo-each + test: select::tests::empty_selection_uses_default_members + - package: cargo-each + target: cargo-each + test: select::tests::exclude_removes_from_workspace + - package: cargo-each + target: cargo-each + test: select::tests::glob_matcher_advances_each_backtrack_coordinate + - package: cargo-each + target: cargo-each + test: select::tests::glob_matcher_handles_wildcards + - package: cargo-each + target: cargo-each + test: select::tests::is_whole_workspace_detects_pass_through + - package: cargo-each + target: cargo-each + test: select::tests::none_resolves_empty + - package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + - package: cargo-each + target: cargo-each + test: select::tests::unknown_selector_errors + - package: cargo-each + target: cargo-each + test: select::tests::version_matches_follows_cargo_partial_version_rule + - package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + mutants: + - id: 005dcadd20c9 + killer: 9 + - id: 00bd4a0b9ea8 + killer: 0 + - id: 0307918937e1 + killer: 9 + - id: 042764efdf8c + killer: 2 + - id: 050470aa29d2 + killer: 7 + - id: 05b37745926d + killer: 0 + - id: 066a2cae5aef + killer: 7 + - id: 070b0dfb9d85 + killer: 5 + - id: 070c2c1d63e6 + killer: 2 + - id: 074e4cd94b72 + killer: 3 + - id: 0757879f7691 + killer: 2 + - id: 08dcb5f6ec47 + killer: 7 + - id: 08de65284150 + killer: 2 + - id: 0a1479583a3e + killer: 7 + - id: 0b48da5d8e4e + killer: 9 + - id: 0ba708f2d555 + killer: 2 + - id: 0d54175b767e + killer: 2 + - id: 1067198b66dd + killer: 7 + - id: 11e002222235 + killer: 7 + - id: 12f0f08d11b3 + killer: 2 + - id: 156bc100d1fb + killer: 2 + - id: 15789c774e9e + killer: 2 + - id: 17ca3ff48f16 + killer: 1 + - id: 19110b9f9acb + killer: 2 + - id: 1aaab46eff4c + killer: 3 + - id: 1c2ec00a8275 + killer: 9 + - id: 1e10aa78ab67 + killer: 9 + - id: 1f4a49dd887d + killer: 7 + - id: 27561156d8a1 + killer: 10 + - id: 2851982e3f03 + killer: 2 + - id: 2aea579a5d42 + killer: 7 + - id: 2f41e2ffe367 + killer: 1 + - id: 30abe4980a24 + killer: 2 + - id: 30fcb877ec8d + killer: 9 + - id: 312f5d8b051c + killer: 9 + - id: 34d87925f41b + killer: 2 + - id: 35673b207959 + killer: 2 + - id: 36715603d082 + killer: 9 + - id: 36ed77f3dbad + killer: 9 + - id: 37b3bebb7be0 + killer: 3 + - id: 37e298e810cd + killer: 2 + - id: 3950b00f144f + killer: 2 + - id: 3c2122a43dd0 + killer: 2 + - id: 40afc1d3904d + killer: 1 + - id: 418bc9c07351 + killer: 0 + - id: 42c0780e32e2 + killer: 3 + - id: 4558b676f822 + killer: 2 + - id: 457ea839ee57 + killer: 3 + - id: 45bba73ca10b + killer: 9 + - id: 4b269d2c2e73 + killer: 7 + - id: 4bf54f1fe84b + killer: 9 + - id: 4d274d78fed3 + killer: 9 + - id: 4e18534214ff + killer: 2 + - id: 504c61c67dcf + killer: 9 + - id: 554a21cb54d3 + killer: 2 + - id: 556b0b69d922 + killer: 9 + - id: 55d2ebd6c0c5 + killer: 3 + - id: 58e06268ae0c + killer: 7 + - id: 5c3647f28ced + killer: 2 + - id: 5d0a7cd7e955 + killer: 7 + - id: 6007d0d2c9d9 + killer: 3 + - id: 636656616ec4 + killer: 2 + - id: 66ac80870c80 + killer: 9 + - id: 66b6186d2baf + killer: 7 + - id: 6721bf7cf3a1 + killer: 9 + - id: 6a5035fbb2cb + killer: 2 + - id: 6ba32f1f64c1 + killer: 0 + - id: 6d2cf751fb13 + killer: 8 + - id: 6df0736c56af + killer: 3 + - id: 703a3ac46670 + killer: 7 + - id: 711504dc84a3 + killer: 4 + - id: 71f309684e5a + killer: 3 + - id: 7337273bbcaa + killer: 9 + - id: 7a340a1ead83 + killer: 9 + - id: 7a4b34077365 + killer: 2 + - id: 7a7f5320092a + killer: 2 + - id: 7e1a6771709a + killer: 2 + - id: 80a251971e7b + killer: 2 + - id: 82715c6e53ad + killer: 7 + - id: 82e6d52a02c5 + killer: 3 + - id: 863631e1413b + killer: 9 + - id: 86d772081d94 + killer: 7 + - id: 888258f80d34 + killer: 2 + - id: 8b2a99eb7448 + killer: 3 + - id: 8b4e1317c1c1 + killer: 7 + - id: 8c902b50fcb8 + killer: 0 + - id: 8fb7e73c3972 + killer: 9 + - id: 908913cb36e0 + killer: 2 + - id: 93c6cf337cd9 + killer: 6 + - id: 954209d2ae9d + killer: 4 + - id: 957dfebd4bce + killer: 9 + - id: 95e9d8e5da4a + killer: 2 + - id: 9a324d9bf3b1 + killer: 1 + - id: 9b52575017ef + killer: 5 + - id: 9b82ce4987ed + killer: 2 + - id: 9c4ce9a12f83 + killer: 3 + - id: 9d47beacff94 + killer: 3 + - id: 9e23729b9c95 + killer: 2 + - id: a11ef0b3e4fa + killer: 9 + - id: a6a363ca302d + killer: 5 + - id: a7b8804cc503 + killer: 7 + - id: a7d0732f70c3 + killer: 2 + - id: a7ede190f3b3 + killer: 4 + - id: a9c0516b5397 + killer: 9 + - id: aa6d350515e1 + killer: 7 + - id: ac33d8003d55 + killer: 4 + - id: ac48dce3cc59 + killer: 7 + - id: acac5af8d414 + killer: 2 + - id: adabd7bd1151 + killer: 9 + - id: ae960958c739 + killer: 7 + - id: af0a90d74e70 + killer: 7 + - id: af767ab50d03 + killer: 4 + - id: b0b48251d313 + killer: 7 + - id: b0d97e253d2c + killer: 5 + - id: b38b43e0d83b + killer: 3 + - id: b9adc263d5b3 + killer: 9 + - id: bbe1b9f82579 + killer: 2 + - id: bef408f100da + killer: 7 + - id: c0027e92f60f + killer: 2 + - id: c0890872ec20 + killer: 8 + - id: c097a5042be8 + killer: 2 + - id: c3245b6fb020 + killer: 2 + - id: c79a31b50c3a + killer: 2 + - id: ca46725e7189 + killer: 9 + - id: caa253c1eb57 + killer: 2 + - id: cb0d41abf307 + killer: 2 + - id: cf0f213671de + killer: 9 + - id: d0210c335b4f + killer: 7 + - id: d13c6358ce7c + killer: 2 + - id: d1e375ac7c4e + killer: 9 + - id: d22629434d59 + killer: 2 + - id: d463de0b7a66 + killer: 9 + - id: d4a92dded2bf + killer: 3 + - id: d5ee80ac08cc + killer: 2 + - id: d635ec239828 + killer: 7 + - id: d68eb3b2db5b + killer: 5 + - id: d7d80fdc11c1 + killer: 7 + - id: d93f6c8fd57a + killer: 7 + - id: e12818fb47c3 + killer: 9 + - id: e1a6694af766 + killer: 7 + - id: e1db04e8a7ee + killer: 3 + - id: e3b71c9f39b4 + killer: 3 + - id: e611eaf59e2a + killer: 3 + - id: ea0743748d8c + killer: 2 + - id: eeabb9d7df35 + killer: 7 + - id: f17e6a7f3267 + killer: 7 + - id: f1b7e593bcf9 + killer: 9 + - id: f3bb2a62434c + killer: 9 + - id: f45f42028e93 + killer: 9 + - id: f4f174024eb9 + killer: 9 + - id: f60128988cd2 + killer: 7 + - id: fe63d22053c9 + killer: 7 +- path: crates/cargo-each/src/substitute.rs + killers: + - package: cargo-each + target: cargo-each + test: plan::tests::chdir_sets_work_dir_to_crate_root + - package: cargo-each + target: cargo-each + test: plan::tests::empty_set_still_validates_placeholders + - package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + - package: cargo-each + target: cargo-each + test: plan::tests::per_package_builds_one_invocation_each + - package: cargo-each + target: cargo-each + test: substitute::tests::once_rejects_embedded_packages_token + - package: cargo-each + target: cargo-each + test: substitute::tests::once_rejects_per_package_token + - package: cargo-each + target: cargo-each + test: substitute::tests::packages_token_rejected_in_per_package_mode + - package: cargo-each + target: cargo-each + test: substitute::tests::per_package_tokens_expand + mutants: + - id: 1c6e7307fd3d + killer: 6 + - id: 1e6b16d2f523 + killer: 5 + - id: 23c3bb7dfc39 + killer: 6 + - id: 25122a935c39 + killer: 1 + - id: 319518550bdd + killer: 4 + - id: 31bd57205694 + killer: 2 + - id: 389560e22026 + killer: 2 + - id: 3c9436b2dc3b + killer: 2 + - id: 3e5c0e81b809 + killer: 2 + - id: 579d2139c81c + killer: 1 + - id: 61b631d8375b + killer: 3 + - id: 66325fbd5a75 + killer: 3 + - id: 66a7f092fcdf + killer: 4 + - id: 6739ffb20823 + killer: 2 + - id: 67dec29f8ce7 + killer: 3 + - id: 717514f0dcfc + killer: 3 + - id: 747490aec9ba + killer: 1 + - id: 780e327ed5e0 + killer: 2 + - id: 7e5f70ef5185 + killer: 7 + - id: 81a4c217ff2a + killer: 1 + - id: 95fdb35f4cb6 + killer: 3 + - id: 96b18ca6dc96 + killer: 0 + - id: 9dbc4b6e2b5d + killer: 1 + - id: ab8302c2063a + killer: 5 + - id: ac2192f4cd8b + killer: 1 + - id: b21b4a48bbb6 + killer: 1 + - id: b24addaa6cae + killer: 7 + - id: b9427c68ec4d + killer: 6 + - id: b9cf67c61896 + killer: 2 + - id: bb52051093ec + killer: 2 + - id: be92398632de + killer: 0 + - id: c41feb649651 + killer: 4 + - id: c420339ace87 + killer: 1 + - id: c62d654f2347 + killer: 6 + - id: c7bbad9c880c + killer: 2 + - id: c814e95c4fd6 + killer: 2 + - id: dde25872e058 + killer: 1 + - id: deffbcd136e8 + killer: 3 + - id: e9eb17e45fff + killer: 4 + - id: f0c9c076ba37 + killer: 3 + - id: f562f70039fd + killer: 2 + - id: f8a42fde335f + killer: 3 + - id: fe21faad95cc + killer: 7 +- path: crates/cargo-each/src/workspace.rs + killers: + - package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + - package: cargo-each + target: cli + test: bare_invocation_runs_only_default_members + - package: cargo-each + target: cli + test: filter_lib_drops_bin_only_member + - package: cargo-each + target: cli + test: multiple_exclude_filters_union + - package: cargo-each + target: cli + test: multiple_filters_intersect + mutants: + - id: 3cfce3fbbbd3 + killer: 2 + - id: 4268616d44fc + killer: 1 + - id: 4aee572664d0 + killer: 3 + - id: 7fa21939094c + killer: 0 + - id: a4d160e2c89a + killer: 4 + - id: b976cf0b8a00 + killer: 3 + - id: c6970c6ec722 + killer: 2 + - id: d8c84deb0736 + killer: 3 + - id: e5cfbbd99524 + killer: 0 +- path: crates/cargo-ensure-no-default-features/src/lib.rs + killers: + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: tests::section_labels_name_both_supported_dependency_tables + - package: cargo-ensure-no-default-features + target: integration_tests + test: test_default_manifest_path + - package: cargo-ensure-no-default-features + target: integration_tests + test: test_exception_found_no_warning + - package: cargo-ensure-no-default-features + target: integration_tests + test: test_exception_not_found_warning + - package: cargo-ensure-no-default-features + target: integration_tests + test: test_invalid_default_features_true + mutants: + - id: 2047fff775ec + killer: 1 + - id: 2b3e3047d7ff + killer: 1 + - id: 2f574b86b89b + killer: 2 + - id: 2f83e4a98e76 + killer: 0 + - id: 34d2f4d7d306 + killer: 2 + - id: 37399e51fcdc + killer: 3 + - id: 71f8698342ca + killer: 0 + - id: 8140d30115c8 + killer: 0 + - id: 82072d7cd861 + killer: 4 + - id: b29d826107d1 + killer: 1 + - id: c04245106841 + killer: 1 + - id: f6d9bcf8611f + killer: 0 + - id: fa71c6eed4ad + killer: 2 +- path: crates/cargo-ensure-no-default-features/src/main.rs + killers: + - package: cargo-ensure-no-default-features + target: integration_tests + test: test_default_manifest_path + mutants: + - id: 205f729ec4c6 + killer: 0 +- path: crates/cargo-ensure-no-default-features/src/validation.rs + killers: + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::package_dependencies_must_be_a_table + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_default_features_string + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_default_features_true + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_not_a_table + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_simple_version_string + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_no_workspace_no_package + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_skip_workspace_true + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::workspace_dependencies_must_be_a_table + - package: cargo-ensure-no-default-features + target: integration_tests + test: test_invalid_toml_syntax + mutants: + - id: 097d762a5042 + killer: 9 + - id: 0a3d1f37f498 + killer: 2 + - id: 0bcb67dea8e1 + killer: 1 + - id: 0bfbd9052a11 + killer: 1 + - id: 0e822ee9842a + killer: 2 + - id: 0fcc298afabc + killer: 0 + - id: 127b7cd568a7 + killer: 2 + - id: 13bfb9e240c0 + killer: 1 + - id: 1cd215911ac5 + killer: 0 + - id: 1dafa248bd46 + killer: 1 + - id: 21f8fc6a0201 + killer: 0 + - id: 263cb4a60c63 + killer: 0 + - id: 274f4df56e9a + killer: 1 + - id: 29761745704d + killer: 4 + - id: 2992848a0a18 + killer: 0 + - id: 32d5d63ceda8 + killer: 2 + - id: 340393e3924f + killer: 0 + - id: 3c315ed8b03c + killer: 1 + - id: 42754afd44ef + killer: 1 + - id: 467dc255a973 + killer: 1 + - id: 48d573f35c6c + killer: 1 + - id: 505c306a3d21 + killer: 1 + - id: 526a86dd44be + killer: 0 + - id: 544b35bb5d02 + killer: 1 + - id: 5485dbb79ec9 + killer: 2 + - id: 58abb0ddb9f1 + killer: 11 + - id: 5b749d6e380c + killer: 2 + - id: 5e0ab6cd8f40 + killer: 1 + - id: 64205cad3b3e + killer: 1 + - id: 67adfaba286f + killer: 1 + - id: 68dc805a5148 + killer: 1 + - id: 693f742a95c9 + killer: 9 + - id: 6a3f502b02c5 + killer: 0 + - id: 778bb8b9dc91 + killer: 10 + - id: 7b516814cf49 + killer: 9 + - id: 7d33d56baea9 + killer: 0 + - id: 928c9dc9fc5d + killer: 1 + - id: 9364efafbc85 + killer: 1 + - id: 95faaaee8bbb + killer: 0 + - id: 969ce16be0fb + killer: 1 + - id: 9c17e5d01c45 + killer: 9 + - id: 9e05efc17a76 + killer: 8 + - id: a3970541d4a8 + killer: 6 + - id: a786c5144fe0 + killer: 0 + - id: a84517c86134 + killer: 0 + - id: a991b8a84f68 + killer: 1 + - id: aa1841e77846 + killer: 1 + - id: aa92aa4856b0 + killer: 1 + - id: af7c7879f386 + killer: 10 + - id: afc5bc242f58 + killer: 9 + - id: bf4211ab5e27 + killer: 1 + - id: c18436ae710d + killer: 11 + - id: d91c0cfd3794 + killer: 5 + - id: d9ac37918547 + killer: 1 + - id: dfcdfa1194c1 + killer: 0 + - id: ea876b2cadd9 + killer: 7 + - id: ebb8d65f8249 + killer: 0 + - id: eeaece3cbbc8 + killer: 1 + - id: f81ef0a52428 + killer: 8 + - id: fa164bffc585 + killer: 3 + - id: fd5d0f0f3920 + killer: 8 +- path: crates/cargo-gamma/src/real_host.rs + killers: + - package: cargo-gamma + target: cargo-gamma + test: real_host::tests::the_real_host_answers_the_same_contract_the_fakes_stand_in_for + mutants: + - id: 63f16c41eddc + killer: 0 + - id: fef0ec5e1aff + killer: 0 +- path: crates/cargo-gamma-attrs-impl/src/implementation.rs + killers: + - package: cargo-gamma-attrs-impl + target: agreement + test: agreement_support_exposes_the_parser_contract + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bare_word_value_is_rejected_as_not_a_string + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_byte_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_a_method_and_a_trait_method_are_all_functions + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_followed_by_the_wrong_punctuation_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_binary_chain_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_else_if_ladder_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_unary_chain_expands_to_a_guard_diagnostic + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_argument_inside_a_nested_group_is_still_reported + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_attribute_keeps_the_item_and_adds_one_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_function_reports_the_inheritance_problem + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_timeout_multiplier_keeps_the_item_and_names_the_macro + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_value_keeps_the_item_and_names_the_macro + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_statement_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_postfix_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::each_chain_counter_accepts_the_exact_limit + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::malformed_value_attribute_paths_are_not_recognized + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::one_expression_with_a_trailing_comma_is_not_reported_as_multiple_values + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::only_expression_ending_punctuation_makes_a_following_group_postfix + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::selector_validation_does_not_apply_timeout_only_literal_rules + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::separators_restart_the_expression_chain_budget + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_more_than_one_expression_is_rejected_by_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_nothing_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + mutants: + - id: 01c8f169ecaf + killer: 1 + - id: 01dba0a48eaa + killer: 8 + - id: 025901aba172 + killer: 1 + - id: 02eb725db56b + killer: 29 + - id: 030fcde744ba + killer: 17 + - id: 031d482cfd72 + killer: 27 + - id: 03c776b2ed98 + killer: 7 + - id: 0470d6c14c48 + killer: 17 + - id: 0476dac003c1 + killer: 3 + - id: 04dc49af9330 + killer: 17 + - id: 05ebcc7395a6 + killer: 17 + - id: 060e2d8e95fd + killer: 24 + - id: 06641c5e7def + killer: 11 + - id: 07dc04fb7ab0 + killer: 18 + - id: 0802a0ab6c2b + killer: 35 + - id: 08042490967a + killer: 35 + - id: 08e599661303 + killer: 1 + - id: 08fcdd1a30c9 + killer: 1 + - id: 0b5b17a21951 + killer: 14 + - id: 0c3724ebad01 + killer: 35 + - id: 0d6956616723 + killer: 1 + - id: 0d891e7d141d + killer: 29 + - id: 0e035b90e03d + killer: 1 + - id: 0fd1234687fd + killer: 17 + - id: 0feb1c2b8a74 + killer: 1 + - id: 10690e57e46e + killer: 17 + - id: 10a1c04baa86 + killer: 2 + - id: 12143d0f1344 + killer: 35 + - id: 1307d4d76e53 + killer: 1 + - id: 1388a8fe2dda + killer: 9 + - id: 1389419fc1c4 + killer: 1 + - id: 14f656cad0be + killer: 1 + - id: 15379240fb8f + killer: 5 + - id: 169566b24253 + killer: 31 + - id: 1707e773a250 + killer: 2 + - id: 1734ca9d7263 + killer: 1 + - id: 180645e13d7d + killer: 30 + - id: 18926fb37a9e + killer: 17 + - id: 18bc2d847119 + killer: 1 + - id: 18eaaa5d9ed2 + killer: 1 + - id: 1a63d3a06d4b + killer: 17 + - id: 1b2ce03d96a2 + killer: 0 + - id: 1b5fc9240981 + killer: 14 + - id: 1b7364bb7f5c + killer: 8 + - id: 1c2890b8e487 + killer: 26 + - id: 1d5696fef8e5 + killer: 18 + - id: 1d92f73468e8 + killer: 18 + - id: 1da027b7769a + killer: 17 + - id: 1dcdc7bc7ef1 + killer: 20 + - id: 2067fdb5486d + killer: 5 + - id: 2189e145c645 + killer: 35 + - id: 2201ef0cba2b + killer: 18 + - id: 2240559c7e01 + killer: 2 + - id: 22907c3e874c + killer: 17 + - id: 23ea3bdad06d + killer: 14 + - id: 243ab32a4a71 + killer: 1 + - id: 250a4e8eaad2 + killer: 5 + - id: 25c70c2efa02 + killer: 31 + - id: 25f55c4e5f88 + killer: 7 + - id: 2861c677d3e4 + killer: 17 + - id: 28b3884137f4 + killer: 34 + - id: 2a903c66e139 + killer: 18 + - id: 2a96e1666684 + killer: 7 + - id: 2b0cfeb520d3 + killer: 21 + - id: 2b1018d015ad + killer: 18 + - id: 2b188ac381d9 + killer: 12 + - id: 2b29289445d3 + killer: 35 + - id: 2b4f679d012b + killer: 30 + - id: 2c738d346e26 + killer: 27 + - id: 2cd91295402a + killer: 18 + - id: 2daf48bb5b51 + killer: 8 + - id: 2dde57fb558e + killer: 8 + - id: 2f22f3be820f + killer: 5 + - id: 3028285502c3 + killer: 14 + - id: 3196c1469368 + killer: 1 + - id: 321ea359d427 + killer: 5 + - id: 34be210f65e0 + killer: 1 + - id: 362529aacdeb + killer: 18 + - id: 36a0801ba1c6 + killer: 33 + - id: 37abd783d12c + killer: 14 + - id: 3893fed13b94 + killer: 20 + - id: 38e8f69ee701 + killer: 1 + - id: 393e75753786 + killer: 7 + - id: 3b1ed250813f + killer: 17 + - id: 3b5359f0cb35 + killer: 17 + - id: 3bd896ace828 + killer: 24 + - id: 3d1731bc3b8f + killer: 12 + - id: 3d2a642255dc + killer: 12 + - id: 3db7390b5b3e + killer: 35 + - id: 3e1899954065 + killer: 9 + - id: 3f13b0458f18 + killer: 20 + - id: 3f15e6bfb454 + killer: 1 + - id: 42f49c6873ce + killer: 11 + - id: 4406752c7df9 + killer: 17 + - id: 4540c5d52efd + killer: 5 + - id: 45a4e7eee846 + killer: 5 + - id: 45a9229dc746 + killer: 7 + - id: 45d00060f141 + killer: 31 + - id: 4631c50241d4 + killer: 7 + - id: 4841e0733d19 + killer: 15 + - id: 496bafbc92e2 + killer: 21 + - id: 497a89c19dfe + killer: 33 + - id: 4b3e322e8cf9 + killer: 17 + - id: 4ba6bab1878f + killer: 3 + - id: 4d43a252b9e9 + killer: 7 + - id: 4e2a5bdc9fc9 + killer: 0 + - id: 51efa6e93255 + killer: 1 + - id: 52a8f4180ffa + killer: 5 + - id: 53be89645158 + killer: 18 + - id: 5505e5ca03d5 + killer: 28 + - id: 5710eba81817 + killer: 36 + - id: 58484bab6a8e + killer: 27 + - id: 58af1b21d050 + killer: 17 + - id: 595b4e61a30f + killer: 13 + - id: 59b5625551da + killer: 36 + - id: 5acc6d6cd16a + killer: 18 + - id: 5b01ed4f137b + killer: 1 + - id: 5b2a7053a4cb + killer: 1 + - id: 5b2bff7a2278 + killer: 16 + - id: 5b46e4574010 + killer: 17 + - id: 5b5adbd51969 + killer: 3 + - id: 5bb04d31e740 + killer: 1 + - id: 5bbaed774303 + killer: 18 + - id: 5e18a06645d2 + killer: 21 + - id: 5e6b6af53065 + killer: 37 + - id: 5e9c19c1bf49 + killer: 22 + - id: 60efbc72469d + killer: 30 + - id: 61b4924c84e6 + killer: 19 + - id: 6215290cd88c + killer: 4 + - id: 63772fd008bc + killer: 17 + - id: 64a4fe3b5e75 + killer: 14 + - id: 64a8a7b8ad39 + killer: 1 + - id: 66e0cf8c7d1e + killer: 22 + - id: 6806120ecef3 + killer: 5 + - id: 681c72d7dd17 + killer: 37 + - id: 68e4535caefe + killer: 1 + - id: 6a07813f82d8 + killer: 24 + - id: 6dd853e6f0c9 + killer: 17 + - id: 6facf9c0a688 + killer: 0 + - id: 707ba9a7ed33 + killer: 35 + - id: 72711600d762 + killer: 29 + - id: 74e846ff6a40 + killer: 4 + - id: 7501702eff37 + killer: 17 + - id: 757836afa150 + killer: 1 + - id: 758012e4ad8b + killer: 17 + - id: 77087d06f6af + killer: 18 + - id: 78c224de4eb4 + killer: 17 + - id: 7b82089a4771 + killer: 6 + - id: 7cdfc3dfde2b + killer: 35 + - id: 7d1b4d4ba5cc + killer: 17 + - id: 7d74727f46fc + killer: 35 + - id: 7d768e9243c4 + killer: 14 + - id: 7d9c94ac5a68 + killer: 6 + - id: 7dd55ca697ae + killer: 17 + - id: 7ed24e762324 + killer: 1 + - id: 7fe70e8326d9 + killer: 1 + - id: 826127b392ac + killer: 14 + - id: 8358e73b79aa + killer: 18 + - id: 836742bd3fa4 + killer: 26 + - id: 8410e72abd3a + killer: 35 + - id: 86a976649040 + killer: 22 + - id: 8725e1a4e474 + killer: 1 + - id: 87a0a8d468ef + killer: 14 + - id: 8946b972f388 + killer: 5 + - id: 8ac5d13302e2 + killer: 17 + - id: 8c1dfdb465be + killer: 18 + - id: 8d7e3738a703 + killer: 1 + - id: 8da58c0f1545 + killer: 9 + - id: 909b8796944f + killer: 1 + - id: 931784fb7da8 + killer: 1 + - id: 93f4895568b9 + killer: 35 + - id: 94946b9db370 + killer: 28 + - id: 97080c0db5bf + killer: 1 + - id: 973486830ef2 + killer: 0 + - id: 97697bb4c3d3 + killer: 18 + - id: 9895e78f987f + killer: 21 + - id: 98963db5d75d + killer: 18 + - id: 9a00b58a2362 + killer: 1 + - id: 9c6c77a07557 + killer: 17 + - id: 9ce76820368d + killer: 17 + - id: 9d7166181756 + killer: 5 + - id: 9d9baf25e477 + killer: 14 + - id: 9fc2b418d94d + killer: 1 + - id: a1395369db38 + killer: 14 + - id: a1c3f7f476eb + killer: 17 + - id: a2309f941e4e + killer: 17 + - id: a406f156a953 + killer: 34 + - id: a54315717a4a + killer: 1 + - id: a575fffa744f + killer: 7 + - id: a577d3e7dc74 + killer: 8 + - id: a5d8bb496559 + killer: 1 + - id: a653cfbb019c + killer: 5 + - id: a65b491fd8c3 + killer: 1 + - id: a73160d9fe2e + killer: 18 + - id: a876688e8c35 + killer: 35 + - id: a9992b2f4baa + killer: 25 + - id: a9f5dfbbdde8 + killer: 1 + - id: ab6382cac448 + killer: 10 + - id: abdfdb28a7f3 + killer: 18 + - id: ac38c67dc5fb + killer: 1 + - id: ac5c2a1ea3a0 + killer: 32 + - id: ae2d9125a98e + killer: 1 + - id: af77d69d7c78 + killer: 10 + - id: af94c94a6803 + killer: 4 + - id: af9a73dde064 + killer: 7 + - id: afd5c595114d + killer: 5 + - id: b02a9b2720f7 + killer: 5 + - id: b0c5ca24813b + killer: 32 + - id: b250e892d333 + killer: 1 + - id: b3ef0a4a6cfd + killer: 22 + - id: b43d1788232d + killer: 5 + - id: b4cdcc9ad36f + killer: 0 + - id: b5240a01df2c + killer: 1 + - id: b583d0b50a85 + killer: 23 + - id: b5d5a8345007 + killer: 1 + - id: b68507f9a9c0 + killer: 18 + - id: b6f242978c59 + killer: 18 + - id: b8107e5e4f24 + killer: 1 + - id: b9a2d4bd0f29 + killer: 1 + - id: ba789e84500c + killer: 1 + - id: babdfe1a8c43 + killer: 5 + - id: bcc456173239 + killer: 1 + - id: bd5dfacf33e3 + killer: 1 + - id: bf47904f0246 + killer: 2 + - id: c15a80746d5c + killer: 33 + - id: c16421f6adc3 + killer: 18 + - id: c27af1e85aa9 + killer: 15 + - id: c29e8d8a1c5c + killer: 18 + - id: c2a7116fd3f8 + killer: 14 + - id: c5d2d3a39b9e + killer: 35 + - id: c5ebf0bd9a5e + killer: 17 + - id: c6ff22d6bcdc + killer: 27 + - id: c71b2baa1857 + killer: 14 + - id: c7ae77ff1f43 + killer: 5 + - id: c8049afeefdb + killer: 10 + - id: c986da0cebdb + killer: 35 + - id: cbb97e5c7259 + killer: 5 + - id: cd1701e475aa + killer: 22 + - id: cd2fa2e1ddb7 + killer: 12 + - id: cde3f986d848 + killer: 1 + - id: cf7d63c46ce4 + killer: 1 + - id: d199be494943 + killer: 1 + - id: d6165a39cbeb + killer: 35 + - id: d7ac53df16e4 + killer: 1 + - id: d81502b9879e + killer: 17 + - id: d98ea5c5e532 + killer: 14 + - id: da52dd1066e5 + killer: 27 + - id: da8bb58e1ecd + killer: 24 + - id: da9ca84d4dc6 + killer: 1 + - id: dc4541714e37 + killer: 8 + - id: dc9f63f50798 + killer: 16 + - id: ddf54b7b04fa + killer: 35 + - id: dfed909da31a + killer: 17 + - id: e10d9793048e + killer: 17 + - id: e1da4ee4c46f + killer: 23 + - id: e22f5b55d14f + killer: 1 + - id: e28187eb5800 + killer: 13 + - id: e32aaf2f3131 + killer: 18 + - id: e3d1a2e57139 + killer: 17 + - id: e4f400f142a6 + killer: 1 + - id: e528f37a2dc2 + killer: 5 + - id: e6b682ccf4f8 + killer: 1 + - id: e74f74ea95e0 + killer: 37 + - id: e7beced9f0a1 + killer: 5 + - id: e80d9f7d1c4e + killer: 1 + - id: ea31271c5b62 + killer: 1 + - id: eace2c23aa39 + killer: 1 + - id: ec306528db7e + killer: 17 + - id: ec4797c5e946 + killer: 17 + - id: ed77743f525f + killer: 7 + - id: edc36d884175 + killer: 1 + - id: edeb2d00d691 + killer: 18 + - id: f4c648aa5e5a + killer: 0 + - id: f523f42b32b6 + killer: 31 + - id: f5273ed7e9a8 + killer: 1 + - id: f52d09b8ebb3 + killer: 2 + - id: f59e8c925687 + killer: 12 + - id: f628975c9f2f + killer: 35 + - id: f8355e926a1a + killer: 20 + - id: f9369f588aff + killer: 21 + - id: f9b689abed7c + killer: 5 + - id: fac082f655d5 + killer: 10 + - id: fb1eb424517b + killer: 27 + - id: fc5b2f304b2a + killer: 1 + - id: fd8f3c50c9a0 + killer: 17 + - id: ff998b35cab1 + killer: 13 + - id: ffdea3db6f1c + killer: 5 +- path: crates/cargo-gamma-attrs-impl/src/lib.rs + killers: + - package: cargo-gamma-attrs-impl + target: agreement + test: agreement_support_exposes_the_parser_contract + mutants: + - id: c21db3455b5a + killer: 0 +- path: crates/cargo-gamma-engine/src/cfg.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_malformed_not_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::any_test_gate_marks_an_item_among_other_attributes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::tokio_test_functions_are_not_mutated + mutants: + - id: 05a15d18c399 + killer: 11 + - id: 07e696c77fdd + killer: 6 + - id: 0ab0b9472857 + killer: 1 + - id: 0b8c32e366b6 + killer: 14 + - id: 0d2a087cc2cd + killer: 2 + - id: 0ebad73bb16d + killer: 13 + - id: 0f362e91f33d + killer: 6 + - id: 108343b8d2dc + killer: 16 + - id: 10d7508f2395 + killer: 6 + - id: 112282c14eb9 + killer: 9 + - id: 120865af2a6f + killer: 18 + - id: 13fc36927f48 + killer: 0 + - id: 14764a68b661 + killer: 1 + - id: 14e6039d8de6 + killer: 7 + - id: 15ad4000be48 + killer: 1 + - id: 1a690d06d734 + killer: 11 + - id: 1acb56240b19 + killer: 1 + - id: 21156d4005c7 + killer: 0 + - id: 22d7521c1678 + killer: 1 + - id: 23f06692d154 + killer: 10 + - id: 24b1b5c42c12 + killer: 9 + - id: 2a02355b03e9 + killer: 1 + - id: 2ae57f26113f + killer: 19 + - id: 2be2d2355762 + killer: 2 + - id: 2cc2260e0744 + killer: 18 + - id: 30e2c7a19bb8 + killer: 0 + - id: 31aac6a35def + killer: 6 + - id: 322bbb4312ad + killer: 7 + - id: 33f9a2d10dc8 + killer: 10 + - id: 3422ac39aa79 + killer: 19 + - id: 3466a58ec920 + killer: 20 + - id: 359c815b64ab + killer: 7 + - id: 36fef56fd2d2 + killer: 8 + - id: 37cb1c80c349 + killer: 6 + - id: 3a6a35cce974 + killer: 0 + - id: 3abec6e27202 + killer: 1 + - id: 3ac616f1149c + killer: 7 + - id: 3b1ac20d619b + killer: 0 + - id: 3bdc4bdfbba5 + killer: 18 + - id: 3c0356ee975b + killer: 6 + - id: 4ac000184a5b + killer: 6 + - id: 4b64c86273e9 + killer: 6 + - id: 4cbb37bbeb12 + killer: 6 + - id: 4df59e60ac77 + killer: 6 + - id: 4efdfc2cf607 + killer: 7 + - id: 4f36290c0223 + killer: 0 + - id: 51ab81c520ab + killer: 11 + - id: 531174e67e96 + killer: 13 + - id: 54bf4c37d847 + killer: 13 + - id: 596ffe2e4479 + killer: 3 + - id: 5baaf5e5c811 + killer: 19 + - id: 5dc76f81f727 + killer: 1 + - id: 5ec3ca5a7450 + killer: 10 + - id: 60140310800f + killer: 1 + - id: 602e1c6560d1 + killer: 6 + - id: 60e11f14fad4 + killer: 10 + - id: 61686187ed1e + killer: 1 + - id: 625cd7ac35cc + killer: 15 + - id: 63b9965dfcc9 + killer: 8 + - id: 63dda00f075d + killer: 0 + - id: 650f15e8586c + killer: 6 + - id: 6520d973c44f + killer: 22 + - id: 656cf95a73c8 + killer: 8 + - id: 65f77b546d6a + killer: 7 + - id: 67a6ae256deb + killer: 7 + - id: 685ac97feb98 + killer: 9 + - id: 6a06423e1051 + killer: 16 + - id: 6b6207ba3b4b + killer: 1 + - id: 6ce8e507fe42 + killer: 14 + - id: 6d05b5914836 + killer: 9 + - id: 70ad5b775ee6 + killer: 3 + - id: 74a363ce7f39 + killer: 0 + - id: 765b759e0d15 + killer: 17 + - id: 79ae6a679a0d + killer: 13 + - id: 7a1164155d09 + killer: 15 + - id: 7be5b73a71be + killer: 9 + - id: 7bfe4b3483a1 + killer: 6 + - id: 7dcad206790c + killer: 7 + - id: 7e48763a6268 + killer: 9 + - id: 7fafb8f67285 + killer: 18 + - id: 85acf4d78405 + killer: 6 + - id: 871e5ddf958f + killer: 7 + - id: 8753bec274b7 + killer: 1 + - id: 8807f00e5952 + killer: 5 + - id: 89239ae6f6f4 + killer: 7 + - id: 8a38e06c7638 + killer: 8 + - id: 8acca6b0b68b + killer: 0 + - id: 8c8053add0a6 + killer: 1 + - id: 8d832f61d157 + killer: 1 + - id: 8e7460629b95 + killer: 1 + - id: 902535b5f2f9 + killer: 8 + - id: 937e2a990df7 + killer: 1 + - id: 94c9c5c0df62 + killer: 10 + - id: 955a3db84d78 + killer: 6 + - id: 96f29e1c10d5 + killer: 9 + - id: 97812708849e + killer: 13 + - id: 9a30e9409c52 + killer: 17 + - id: 9be35ded49ec + killer: 6 + - id: 9dc3dcc37159 + killer: 0 + - id: 9f8c818cd0b5 + killer: 4 + - id: a04b629d736b + killer: 0 + - id: a088154a5e9d + killer: 1 + - id: a0d99dc94457 + killer: 0 + - id: a107b2ebd198 + killer: 1 + - id: a2cc3774ba4c + killer: 6 + - id: a62bd851b741 + killer: 8 + - id: a71952fd7d2e + killer: 1 + - id: ab3f7ca6afd0 + killer: 2 + - id: aba69b3002af + killer: 8 + - id: abb42f2c1dca + killer: 6 + - id: abc5dc78347c + killer: 7 + - id: abc7abeec381 + killer: 10 + - id: ac27143f6257 + killer: 6 + - id: ad8d5ea8a701 + killer: 1 + - id: afcd5011932f + killer: 16 + - id: b4028f7c9e89 + killer: 7 + - id: b45abadb42e1 + killer: 3 + - id: b4ba82ca4b42 + killer: 8 + - id: b50e4204fa22 + killer: 10 + - id: b6b59545525b + killer: 7 + - id: b6d4a649e2f6 + killer: 6 + - id: b7b780cf55a2 + killer: 0 + - id: bbab84c749ea + killer: 9 + - id: bc39286629dd + killer: 0 + - id: bc6d9a2bdb9c + killer: 6 + - id: bd90fe94c38f + killer: 7 + - id: bdd43ec106c3 + killer: 12 + - id: bef70562ec4c + killer: 0 + - id: c231fe9b123c + killer: 1 + - id: c3d16f8abf34 + killer: 0 + - id: c77dbf5d1691 + killer: 0 + - id: c7a9749cf921 + killer: 4 + - id: cdc36a33060d + killer: 7 + - id: d11c5154be78 + killer: 21 + - id: d3022c6edf65 + killer: 7 + - id: d33b376130a4 + killer: 19 + - id: d526105c5bd2 + killer: 1 + - id: dbdd2991d61d + killer: 0 + - id: dc433428e88e + killer: 7 + - id: ddc0d526ba38 + killer: 18 + - id: de136ca97241 + killer: 1 + - id: de38cdf165e1 + killer: 1 + - id: de98a99cea51 + killer: 1 + - id: deac54812781 + killer: 5 + - id: df0e82f23381 + killer: 7 + - id: e01b1be2e991 + killer: 0 + - id: e09c7e4c1747 + killer: 0 + - id: e0b95d1fd2d5 + killer: 0 + - id: e5290848a156 + killer: 7 + - id: e581003124c6 + killer: 5 + - id: e670f92eecaa + killer: 0 + - id: e883cdea0352 + killer: 0 + - id: eaac3d0f2b61 + killer: 9 + - id: ec08e110afe4 + killer: 10 + - id: ec0e2e70a1c7 + killer: 23 + - id: f260168cc952 + killer: 1 + - id: f27213230362 + killer: 7 + - id: f5ed66a46b37 + killer: 6 + - id: f6783a652e61 + killer: 3 + - id: f728a63acfab + killer: 1 + - id: fc96f4adc559 + killer: 7 + - id: fd1df1c380a0 + killer: 2 + - id: fd6450e87b5b + killer: 9 + - id: fe772ab54653 + killer: 1 +- path: crates/cargo-gamma-engine/src/error.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: error::tests::a_cause_is_displayed_and_surfaced_as_the_source + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: error::tests::a_new_error_starts_plain + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: error::tests::an_io_error_converts_with_its_detail_preserved_as_the_cause + mutants: + - id: 349cd01c2d88 + killer: 1 + - id: 3984bf8e0c8d + killer: 2 + - id: 3c531f4feea5 + killer: 0 + - id: 4681e7334279 + killer: 0 + - id: 4cfeaaa5a190 + killer: 1 + - id: 7acab1dabc2d + killer: 0 + - id: 8af1d7c68dc5 + killer: 2 + - id: a33e687e802c + killer: 0 + - id: ae99f3230d4a + killer: 0 + - id: e31715aab323 + killer: 0 +- path: crates/cargo-gamma-engine/src/model/identity.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::a_site_key_keeps_the_first_digest_bytes_in_little_endian_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::each_field_and_the_discriminator_affect_the_identity + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::line_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::mutant_id_delegates_to_the_discriminated_form_with_no_discriminator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + mutants: + - id: 0276333e6f91 + killer: 2 + - id: 03a07ea127d5 + killer: 4 + - id: 04a309d7d0ee + killer: 2 + - id: 0547d5cd8356 + killer: 3 + - id: 060598fa28f1 + killer: 5 + - id: 06954b25039d + killer: 2 + - id: 078f756d43e2 + killer: 3 + - id: 0973bf5edcb7 + killer: 2 + - id: 09cc18c1a7c8 + killer: 1 + - id: 0baa5a1d7c4b + killer: 2 + - id: 0bc1b3ba313c + killer: 4 + - id: 14f324830d1c + killer: 1 + - id: 15fc4d629563 + killer: 2 + - id: '163242888447' + killer: 8 + - id: 1959856c6d5f + killer: 4 + - id: 19704b2f2713 + killer: 1 + - id: 1baf4a0ea25f + killer: 2 + - id: 1d5cbca97fa7 + killer: 1 + - id: 24511e257c93 + killer: 7 + - id: 247ebe102df4 + killer: 2 + - id: 25ebdd1380a3 + killer: 0 + - id: 2b79180f72ec + killer: 1 + - id: 2f7c1758a907 + killer: 2 + - id: 30cc7e070965 + killer: 4 + - id: 31077e16e154 + killer: 1 + - id: 32eca410ece3 + killer: 2 + - id: 361d7ec7bb4b + killer: 1 + - id: 37cdaccc1520 + killer: 3 + - id: 38e53c612248 + killer: 2 + - id: 3ec5d66022ba + killer: 4 + - id: 3f18edea0433 + killer: 1 + - id: 42b008e83453 + killer: 1 + - id: 4a720dd3a74f + killer: 8 + - id: 4e99a5b4a223 + killer: 4 + - id: 54d611114c6c + killer: 3 + - id: 6141f9b90122 + killer: 1 + - id: 68b4eff17536 + killer: 1 + - id: 6ed4c4d0cacd + killer: 1 + - id: 6f3525a2e5b8 + killer: 7 + - id: 6f878b701fad + killer: 7 + - id: 7128b0862319 + killer: 2 + - id: '747485067040' + killer: 1 + - id: 752024ddcd8d + killer: 4 + - id: 7696c39f3ef4 + killer: 1 + - id: 7733b1b1cae2 + killer: 2 + - id: 781cf92f1e1c + killer: 2 + - id: 7aea327ae2a7 + killer: 1 + - id: 7b54cd9205f8 + killer: 1 + - id: 7d0d010e9dfe + killer: 2 + - id: 80b51a240cc9 + killer: 7 + - id: 80c4b599494d + killer: 1 + - id: 836f755d2be8 + killer: 7 + - id: 88c45d152632 + killer: 3 + - id: 97d652972b3c + killer: 0 + - id: 9b4079baa7c2 + killer: 2 + - id: 9b62db8c52b8 + killer: 2 + - id: 9cfaacc0b1b5 + killer: 1 + - id: a140649ec76b + killer: 0 + - id: a2640c3ccc0d + killer: 1 + - id: a4b1b97d9a80 + killer: 4 + - id: a8d618f3617e + killer: 2 + - id: abe9723223df + killer: 1 + - id: af70940cd915 + killer: 2 + - id: af792aa51246 + killer: 2 + - id: b255e3abbce0 + killer: 1 + - id: b48f5e4ab638 + killer: 8 + - id: b668f7f05833 + killer: 1 + - id: bc2fa08f844a + killer: 1 + - id: bdcdf84b704e + killer: 4 + - id: c45054566c3f + killer: 1 + - id: cde9c23cc085 + killer: 2 + - id: cecf5ad08e1a + killer: 3 + - id: d07a2b450179 + killer: 1 + - id: d217d0f58987 + killer: 3 + - id: d95689c3ac5e + killer: 2 + - id: dacfbd78be69 + killer: 1 + - id: dad8dbe2be51 + killer: 6 + - id: dd8c32622416 + killer: 3 + - id: dda48b8522f7 + killer: 2 + - id: de30ea697005 + killer: 2 + - id: de7ec4bd0f66 + killer: 4 + - id: e0e6f1a4e641 + killer: 0 + - id: e1bddbd4596d + killer: 1 + - id: e2553ef18f5a + killer: 2 + - id: eb3a82e1bd78 + killer: 8 + - id: ecb3d02e3d42 + killer: 1 + - id: ed8ad251e08a + killer: 4 + - id: efce8f8d10b7 + killer: 2 + - id: f284e9991a23 + killer: 2 + - id: f2f6c81a9553 + killer: 2 + - id: f32bf7202368 + killer: 2 + - id: f4111bf5afbd + killer: 1 + - id: f42129292b83 + killer: 7 + - id: f5ea9b7cfb80 + killer: 4 + - id: f64a2c0144cf + killer: 1 + - id: f892d0972d70 + killer: 1 + - id: f9a0685a701d + killer: 2 + - id: fa4640b07a59 + killer: 3 + - id: fc63fafa25c2 + killer: 1 + - id: ff274b5cef73 + killer: 2 + - id: fff55d9a4369 + killer: 2 +- path: crates/cargo-gamma-engine/src/model/interner.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::interner::tests::sharing_a_decoded_population_leaves_its_values_alone + mutants: + - id: 211db7b561f0 + killer: 0 + - id: 2e6cb94062d5 + killer: 0 + - id: 5514910c7412 + killer: 0 + - id: 6ddd2a467162 + killer: 0 + - id: a989ae125bd5 + killer: 0 + - id: c7fb240e9f9a + killer: 0 + - id: d7c6407f3778 + killer: 0 +- path: crates/cargo-gamma-engine/src/model/mutant_definition.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::mutant_definition::tests::accessors_read_through_to_the_shared_site + mutants: + - id: 0bdbe3ae6dc3 + killer: 0 + - id: 168aeb92d382 + killer: 0 + - id: 190dd43a235d + killer: 0 + - id: 4589cc82fcc1 + killer: 0 + - id: 5b3f4a367195 + killer: 0 + - id: 5ff740eaf7fe + killer: 0 + - id: 70ffaec98781 + killer: 0 + - id: 8576d3ce8418 + killer: 0 + - id: 98fa1dd12db8 + killer: 0 + - id: 9db04093ccab + killer: 0 + - id: a05721a69f8c + killer: 0 + - id: a14999a5b5db + killer: 0 + - id: b8284a5a777f + killer: 0 + - id: c64098709f3c + killer: 0 +- path: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::declared_ignores_constants_when_numeric_index_is_disabled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::descend_handles_groups_renames_and_globs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::note_tracks_named_fields_behind_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + mutants: + - id: 00209c138689 + killer: 3 + - id: 01af1a2a1ba5 + killer: 3 + - id: 02d47ec472bd + killer: 2 + - id: 055b5339f2f0 + killer: 1 + - id: 066588588383 + killer: 3 + - id: 0704c4a05d49 + killer: 3 + - id: 07ef8a75927a + killer: 12 + - id: 096b66e88f77 + killer: 2 + - id: 0aaf9cd971cd + killer: 17 + - id: 0cf8b283ff69 + killer: 14 + - id: 0df662645d83 + killer: 12 + - id: 0e93ca05df6c + killer: 7 + - id: 0f4030a8a39c + killer: 15 + - id: 0f4c24592e31 + killer: 2 + - id: 130ecf449abf + killer: 2 + - id: 155dfa37b969 + killer: 2 + - id: 15ac8f5b52a4 + killer: 13 + - id: 15ee77f9cab9 + killer: 6 + - id: 1d0bd5132990 + killer: 14 + - id: 1e5324ec5c84 + killer: 3 + - id: 1ec7e4b74873 + killer: 16 + - id: 25d048ae022b + killer: 5 + - id: 26e79c8a426e + killer: 1 + - id: 277cb6869ec2 + killer: 3 + - id: 27ad0a76193d + killer: 3 + - id: 2914bf34ea99 + killer: 0 + - id: 2d1406a4fd31 + killer: 7 + - id: 2e7d41b07b84 + killer: 14 + - id: 302daa63af1a + killer: 3 + - id: 32fb9c6508f6 + killer: 4 + - id: 35120f3bb7bd + killer: 17 + - id: 36dfc32a5a74 + killer: 3 + - id: 37699d147a01 + killer: 12 + - id: 379c2121a6fd + killer: 7 + - id: 3aea6697effa + killer: 7 + - id: 3c0cc12fc0b8 + killer: 3 + - id: 3dd01b76a86b + killer: 0 + - id: 3f8295711697 + killer: 3 + - id: 40a84f75d716 + killer: 2 + - id: 42ea8a3e3064 + killer: 5 + - id: 430d3493a7ec + killer: 11 + - id: 4480ad4da518 + killer: 3 + - id: 49a93b13d166 + killer: 5 + - id: 4ebb23c8d984 + killer: 2 + - id: 569f3ae76760 + killer: 14 + - id: 5c95a36f89d8 + killer: 13 + - id: 5cf03d248465 + killer: 3 + - id: 601c07fa9e17 + killer: 8 + - id: 6292e75e19bf + killer: 7 + - id: 62cdb3f2fce2 + killer: 14 + - id: 638a9b7d175a + killer: 15 + - id: 6415f6b684d1 + killer: 2 + - id: 6475a91e5a43 + killer: 14 + - id: 6519ee97c4a7 + killer: 3 + - id: 67b0e551e311 + killer: 15 + - id: 69162d400fa8 + killer: 15 + - id: 6d19bee133b4 + killer: 5 + - id: 7025c091b5aa + killer: 5 + - id: 7394e86944e9 + killer: 5 + - id: 73e9d54c97d5 + killer: 1 + - id: 76cbf7ae9777 + killer: 11 + - id: 777222099d42 + killer: 3 + - id: 8480015397fb + killer: 7 + - id: 8620a4ee0ef1 + killer: 2 + - id: 8849c3d0402f + killer: 5 + - id: 8aebd33df04e + killer: 4 + - id: 8be1fb26dfcf + killer: 11 + - id: 8c3e20e3f7c0 + killer: 5 + - id: 91c0764ee383 + killer: 2 + - id: 9674c5e987e3 + killer: 2 + - id: 99b728e38275 + killer: 10 + - id: 9e2461febf45 + killer: 2 + - id: 9e2f6dc864d1 + killer: 2 + - id: a0769ec60c2c + killer: 3 + - id: a18da1043c57 + killer: 8 + - id: a33ebf61b742 + killer: 2 + - id: a345acbc4f4e + killer: 5 + - id: a78da91ba83b + killer: 3 + - id: a8eeb49ffdbe + killer: 3 + - id: ab8f6ecd6cce + killer: 2 + - id: ac1c2d11b940 + killer: 2 + - id: ad228af2faf5 + killer: 11 + - id: ad9643fbc8bb + killer: 3 + - id: af645aba1fed + killer: 11 + - id: af8c83731451 + killer: 1 + - id: b0d9aff4dcf5 + killer: 12 + - id: b108592e9933 + killer: 3 + - id: b283495c4f52 + killer: 5 + - id: b2ab8f604f2f + killer: 11 + - id: b3115b60950c + killer: 0 + - id: b415780b5d59 + killer: 11 + - id: b44e670bae9e + killer: 14 + - id: b5e0f416be43 + killer: 2 + - id: b6b6aa2a6e8a + killer: 3 + - id: b7502156694b + killer: 14 + - id: b8e472822282 + killer: 1 + - id: b8ee93c1acb0 + killer: 2 + - id: b9f5556eace4 + killer: 2 + - id: bdc04f32d869 + killer: 5 + - id: c31969498d7b + killer: 3 + - id: c35c3f019278 + killer: 8 + - id: c3744316c1a2 + killer: 2 + - id: c6f87d4ccaed + killer: 1 + - id: c84cba46ac1c + killer: 9 + - id: c8b1b9b15fc8 + killer: 3 + - id: caff789db135 + killer: 2 + - id: cde79a692835 + killer: 2 + - id: cdf4d80018aa + killer: 5 + - id: d0cad6ee61e0 + killer: 2 + - id: d3bd25a3803e + killer: 2 + - id: d8f2d467e288 + killer: 3 + - id: da432b46fbe7 + killer: 5 + - id: dc3278f72501 + killer: 2 + - id: dec4f18a1e9b + killer: 10 + - id: deca278303fc + killer: 3 + - id: e1547813acd7 + killer: 1 + - id: e2649fc29acd + killer: 11 + - id: e5858cce658a + killer: 1 + - id: e6864086c2b4 + killer: 5 + - id: eb2879a96762 + killer: 10 + - id: ed91966278b9 + killer: 15 + - id: ee72e15f5f63 + killer: 2 + - id: f1964b1b2879 + killer: 3 + - id: f20318457eb9 + killer: 3 + - id: f28479255d22 + killer: 15 + - id: f3df2b59e6f5 + killer: 5 + - id: f5a143ccebcf + killer: 7 + - id: fbc8ffae1ecb + killer: 11 + - id: fbf5e0e04de5 + killer: 3 + - id: fd76348d0313 + killer: 3 + - id: fe28219ecfb0 + killer: 2 +- path: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::default_call_checks_reject_invalid_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::invalid_tokens_are_rejected_while_literals_remain_valid + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::layout_and_comments_do_not_change_token_equality + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leak_comparison_rejects_text_that_only_mentions_leak + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::punctuation_jointness_remains_semantic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + mutants: + - id: 00037127ad77 + killer: 6 + - id: 00eec04ce67c + killer: 4 + - id: 01c45276edcc + killer: 4 + - id: 01f8c4645a54 + killer: 0 + - id: 0262ebd85e70 + killer: 4 + - id: 02dcbe860d96 + killer: 4 + - id: 02e964315484 + killer: 0 + - id: 02f99cb2e7c1 + killer: 2 + - id: 06a939aa8415 + killer: 0 + - id: 0938dbde0f05 + killer: 2 + - id: 095743668236 + killer: 2 + - id: 0a37b3e98597 + killer: 4 + - id: 0b4f4d510a6a + killer: 0 + - id: 0b6fb6574c01 + killer: 4 + - id: 0b96fe2ca759 + killer: 6 + - id: 0ba284f527e8 + killer: 4 + - id: 0d31463f2a6d + killer: 4 + - id: 136b8576dcb5 + killer: 4 + - id: 13b0cdfef18f + killer: 4 + - id: 15c472d1ce2f + killer: 4 + - id: 16339758450a + killer: 4 + - id: 168406de6206 + killer: 4 + - id: 17ade6a9513f + killer: 4 + - id: 185333baa6c8 + killer: 4 + - id: 186fccb2121a + killer: 4 + - id: 1b3eb0161c11 + killer: 4 + - id: 1c151d7c6d4b + killer: 10 + - id: 1c2288375f80 + killer: 4 + - id: 1d352cf44d2e + killer: 11 + - id: 1d996e9daa63 + killer: 4 + - id: 1dd4ce05edf9 + killer: 0 + - id: 1ebe70a652a3 + killer: 4 + - id: 1ee4ab91db65 + killer: 4 + - id: 1fee3d17030e + killer: 4 + - id: 215ae6583b16 + killer: 4 + - id: 23178ba3f9df + killer: 4 + - id: 235ec4b48171 + killer: 4 + - id: 2457963ea6db + killer: 1 + - id: 262618ef4771 + killer: 4 + - id: 262852a5844a + killer: 2 + - id: 26c0efc1b995 + killer: 1 + - id: 26d135f8437c + killer: 4 + - id: 2dae710964c3 + killer: 4 + - id: 3032b9caeefb + killer: 6 + - id: 321a14f20bf0 + killer: 4 + - id: 33f453e6f67b + killer: 4 + - id: 36c93c5ef3a5 + killer: 4 + - id: 38b5fda5f038 + killer: 4 + - id: 3af3e967d7c8 + killer: 8 + - id: 3b0ac0dc2f8c + killer: 4 + - id: 3b23a1770760 + killer: 4 + - id: 3d0364bbf13f + killer: 4 + - id: 3db656332601 + killer: 9 + - id: 3fe614aec32f + killer: 2 + - id: 4071edac0869 + killer: 7 + - id: 40c83c8e84b1 + killer: 2 + - id: 4187de063f61 + killer: 0 + - id: 41bb53a1a69e + killer: 5 + - id: 42bc8d260282 + killer: 4 + - id: 431e3cd49b06 + killer: 4 + - id: 43b2056b1544 + killer: 4 + - id: 442c30c279ca + killer: 4 + - id: 46cbb92efdf9 + killer: 4 + - id: 4704d30331cb + killer: 4 + - id: 4ab092596400 + killer: 4 + - id: 4c6bedd6d91d + killer: 4 + - id: 4f1038902a7e + killer: 5 + - id: 4f249ade417d + killer: 4 + - id: 5274cff51639 + killer: 4 + - id: 52a239fe3732 + killer: 4 + - id: 5428a4b9a3a2 + killer: 4 + - id: 5563f94ddb6b + killer: 3 + - id: 55b54e4c13e2 + killer: 5 + - id: 56ea5a2622e6 + killer: 6 + - id: 57f2febd68bc + killer: 2 + - id: 5810c6234dda + killer: 2 + - id: 592dd231f2ae + killer: 4 + - id: 59509958a2e7 + killer: 4 + - id: 5b97d3fcd8b7 + killer: 4 + - id: 5daa3ad23396 + killer: 1 + - id: 626fe8e10b72 + killer: 4 + - id: 62ee1aba37f2 + killer: 4 + - id: 63203aa48979 + killer: 4 + - id: 637f723b841b + killer: 4 + - id: 65f62d6918d7 + killer: 4 + - id: 681f784176a2 + killer: 4 + - id: 6834e590d56d + killer: 4 + - id: 6868518ab88e + killer: 5 + - id: 68d9825b9211 + killer: 4 + - id: 69a194375f2f + killer: 4 + - id: 69bfb58db61e + killer: 4 + - id: 6abb171bc880 + killer: 4 + - id: 6afa59427b64 + killer: 8 + - id: 6b1ddc83a23d + killer: 4 + - id: 6bfeb91025e4 + killer: 2 + - id: 6c3115b09daf + killer: 6 + - id: 6c4a2d2e819d + killer: 4 + - id: 6d15537af7a8 + killer: 6 + - id: 6da1ab368299 + killer: 4 + - id: 6ee7db1562c1 + killer: 4 + - id: 6efaaee5c6c8 + killer: 4 + - id: 70519115958d + killer: 4 + - id: 70581ecd5db3 + killer: 4 + - id: 716fec115dad + killer: 4 + - id: 72ff114e66a8 + killer: 4 + - id: 7314c0860937 + killer: 4 + - id: '732484938615' + killer: 6 + - id: 73b75241e30f + killer: 2 + - id: 73e6b802f7d9 + killer: 4 + - id: 74d78739dafd + killer: 4 + - id: 783a2af32d66 + killer: 6 + - id: 7a12aeecb016 + killer: 4 + - id: 7b4ee05dc550 + killer: 4 + - id: 7c6e73f079cd + killer: 4 + - id: 7e6a5ded6c3f + killer: 4 + - id: 801242ed35c8 + killer: 4 + - id: 805ea9255ab3 + killer: 4 + - id: 806f78d88198 + killer: 4 + - id: 807b9006dfe6 + killer: 2 + - id: 8281347e2d3a + killer: 4 + - id: 82ae24f2fb4d + killer: 6 + - id: 82e7a636d911 + killer: 4 + - id: 838ed26d77cb + killer: 2 + - id: '846077295636' + killer: 4 + - id: 84e95f6e2d5e + killer: 6 + - id: 85249da4ae4a + killer: 4 + - id: 85f3293cec46 + killer: 1 + - id: 866ffb644efc + killer: 4 + - id: 86eb5357861c + killer: 4 + - id: 87e31694a6da + killer: 9 + - id: 8887313b4451 + killer: 4 + - id: 88bd1deb1728 + killer: 2 + - id: 896b4bcae1b2 + killer: 4 + - id: 8a0a24e25542 + killer: 6 + - id: 8ac61047fb66 + killer: 8 + - id: 8b0ba9fefe53 + killer: 4 + - id: 8c036fcf4024 + killer: 6 + - id: 8cd6ef01dbe3 + killer: 4 + - id: 8eb4e77437b0 + killer: 4 + - id: 8f3b6f08240a + killer: 4 + - id: 8f57d2bfad33 + killer: 11 + - id: 8f6d97178e78 + killer: 0 + - id: 91a18e06fbe2 + killer: 4 + - id: 91a8db4ae134 + killer: 4 + - id: 940eb11ff472 + killer: 10 + - id: 95e7627e6a00 + killer: 4 + - id: 9a273e3cd895 + killer: 0 + - id: 9a6714cd09d7 + killer: 4 + - id: 9e7791e9a1ac + killer: 4 + - id: 9eeb2da8d594 + killer: 4 + - id: a07bd11db8e3 + killer: 4 + - id: a11105aa75e4 + killer: 8 + - id: a1aa0ca78bb4 + killer: 4 + - id: a26baa79eca2 + killer: 4 + - id: a4c64f95106c + killer: 6 + - id: a4d4244b5fda + killer: 4 + - id: a61326ce977a + killer: 11 + - id: a6c7a27f6a7d + killer: 5 + - id: abbe777c43b6 + killer: 4 + - id: ace46ea9af57 + killer: 4 + - id: ad5fc0c4b372 + killer: 4 + - id: af15fdb68cb6 + killer: 1 + - id: b08760792bb2 + killer: 4 + - id: b0f01135a5f9 + killer: 0 + - id: b3036b59f5cb + killer: 5 + - id: b366969d409b + killer: 4 + - id: b46fcd81474d + killer: 4 + - id: b49dfd312100 + killer: 2 + - id: b58420a53e1b + killer: 4 + - id: b5d8914ebaa5 + killer: 6 + - id: b640f6555207 + killer: 4 + - id: b6441f5f614a + killer: 4 + - id: b88372cd3c2b + killer: 4 + - id: b8e5dee109a2 + killer: 4 + - id: b9acc2b40bcb + killer: 4 + - id: ba20fe98e55f + killer: 4 + - id: be7598d2fb9f + killer: 4 + - id: bfbe86d98f21 + killer: 4 + - id: c126bac43dfb + killer: 4 + - id: c29ae2ab7591 + killer: 4 + - id: c36d188cf5b1 + killer: 4 + - id: c3cab63ca25f + killer: 2 + - id: c61af87a30d1 + killer: 2 + - id: c63f42c4034c + killer: 4 + - id: c6467d07e4b3 + killer: 4 + - id: c7aae3725a9b + killer: 4 + - id: c7b2b2585681 + killer: 5 + - id: c7edd97f204a + killer: 4 + - id: c85c8d6b657e + killer: 4 + - id: ca80fa7de738 + killer: 6 + - id: cac4c9bd8d1c + killer: 6 + - id: cb0f981d700a + killer: 6 + - id: cb29abe7c018 + killer: 4 + - id: cbc13d9c45a5 + killer: 6 + - id: ce69f5cd65e5 + killer: 5 + - id: cebbf4bef488 + killer: 4 + - id: d13da9ed8dfc + killer: 8 + - id: d2ca5bea3690 + killer: 4 + - id: d3843f2321c9 + killer: 2 + - id: d386c0c0185a + killer: 0 + - id: d48fb0c51e42 + killer: 4 + - id: d5b26f10a6a7 + killer: 4 + - id: d63391fd0ec9 + killer: 4 + - id: db094a54bb2c + killer: 4 + - id: dc3c12f4ce18 + killer: 6 + - id: de0e9ea76955 + killer: 4 + - id: de752e5da6ad + killer: 4 + - id: de9f466cf602 + killer: 4 + - id: dfe6cf417e50 + killer: 4 + - id: dff7496bf4d0 + killer: 4 + - id: e10a8e6b35cd + killer: 4 + - id: e59a77a80ad3 + killer: 11 + - id: e5b0ca8b2ff6 + killer: 4 + - id: e5f2d034b1d0 + killer: 4 + - id: e6bd96627ed1 + killer: 3 + - id: e9eaa4484f5d + killer: 6 + - id: ea35c9c08ff5 + killer: 4 + - id: ea499da253e8 + killer: 4 + - id: ea70df7833d0 + killer: 4 + - id: ecb9a812a0ca + killer: 4 + - id: ede96abf9e0e + killer: 4 + - id: ef9a20983368 + killer: 2 + - id: efca26b62d24 + killer: 4 + - id: f12e2def18f0 + killer: 4 + - id: f14d0e0c0c76 + killer: 8 + - id: f39893100c42 + killer: 4 + - id: f3c5725f651e + killer: 4 + - id: f607a79073df + killer: 2 + - id: f6e39ee7f786 + killer: 4 + - id: f7fd9c874476 + killer: 4 + - id: f8c15852875c + killer: 4 + - id: f8d7281a66cb + killer: 4 + - id: f977beeeeee6 + killer: 4 + - id: fbf408be30f9 + killer: 4 + - id: fc3e842c4cd3 + killer: 4 + - id: fe6577fd51f5 + killer: 4 + - id: ff0bc3abe35e + killer: 4 + - id: ff1be74aeff0 + killer: 2 + - id: ff4ba7ea72c9 + killer: 4 + - id: ff64db9aecb1 + killer: 4 + - id: ffdac0b217c1 + killer: 2 +- path: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + mutants: + - id: 00f23de49845 + killer: 0 + - id: 0756ecdfb246 + killer: 0 + - id: 2600d70b0fda + killer: 0 + - id: 2a4f7c79a971 + killer: 0 + - id: 35f0d53b8c86 + killer: 0 + - id: 388e2bc944d2 + killer: 0 + - id: 39f2eba85a75 + killer: 0 + - id: 3a5078ba931c + killer: 0 + - id: 3b8b7412374b + killer: 2 + - id: 3cccf9a99194 + killer: 0 + - id: 43ced5735167 + killer: 0 + - id: 46bbe1b50c6c + killer: 0 + - id: 51a0d1fd3d9e + killer: 0 + - id: 533ce900ae4f + killer: 0 + - id: 887d1711a38c + killer: 0 + - id: 88fb7cee2e3b + killer: 0 + - id: 8da986d14a3c + killer: 0 + - id: 9d6c319a3858 + killer: 0 + - id: a3e0f75dcc0c + killer: 1 + - id: a9d44572f6d1 + killer: 0 + - id: b932a4c76879 + killer: 0 + - id: c2babf298ca3 + killer: 1 + - id: c39903ad33b6 + killer: 0 + - id: cb828ed2b624 + killer: 0 + - id: d6ba87c55d28 + killer: 1 + - id: d814cdd632f2 + killer: 0 + - id: dc0a4ab5bc5d + killer: 0 + - id: e2c4a9959a49 + killer: 0 + - id: e603d6704876 + killer: 0 + - id: e7ac69606907 + killer: 0 + - id: f16478f863eb + killer: 3 + - id: f6baa0dcf117 + killer: 0 + - id: fe09f9ebe4e0 + killer: 0 +- path: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::capacity_and_callee_helpers_fall_back_for_non_call_expressions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::literal_macro_method_and_reference_forms_can_all_be_textual + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::macro_statement_tails_diverge_but_non_expression_tails_do_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::nested_loop_forms_are_visited_when_deciding_whether_a_loop_yields_a_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::only_whitelisted_method_names_are_treated_as_returning_text + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_binding_pattern_still_catches_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_capacity_call_is_still_a_capacity_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_zero_is_still_zero_when_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_is_still_recognised_by_its_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_path_still_names_the_variant_it_constructs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_number_in_tail_position_perturbs_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_values_only_reach_functions_returning_result + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + mutants: + - id: 013de0bd3bc3 + killer: 30 + - id: 023bb4fb16fc + killer: 37 + - id: 041911ce5286 + killer: 19 + - id: 06651457aabd + killer: 18 + - id: 093b41e03e2c + killer: 5 + - id: 0a4f98d4c6a5 + killer: 24 + - id: 0ac833451fd4 + killer: 8 + - id: 0f0301b26e61 + killer: 33 + - id: 0f3af7fffade + killer: 10 + - id: 0f6a8598d0ee + killer: 45 + - id: 0fa9d972c9cd + killer: 9 + - id: 108435448e4d + killer: 14 + - id: 11f3ef0de8db + killer: 5 + - id: 12a5cbdbd7f1 + killer: 37 + - id: 131ee844097d + killer: 5 + - id: 1455e374fb1f + killer: 8 + - id: 146c909e0a2f + killer: 8 + - id: 17799628b7d4 + killer: 5 + - id: 1957de4f07b3 + killer: 8 + - id: 19b645380178 + killer: 5 + - id: 1aef8cd2f7b7 + killer: 37 + - id: 1c7e580334cc + killer: 11 + - id: 21074f13b9e2 + killer: 49 + - id: 2146fb487612 + killer: 20 + - id: 21b03c3b5db6 + killer: 43 + - id: 21c54e734f02 + killer: 10 + - id: 2356f9c167b9 + killer: 29 + - id: 249b06a67f4e + killer: 22 + - id: 24c0f00bfe29 + killer: 23 + - id: 26e7bdc88f8b + killer: 11 + - id: 2757bbd6af18 + killer: 38 + - id: 2996ab13a78e + killer: 43 + - id: 2b698dd4c7cd + killer: 5 + - id: 2c7053b11804 + killer: 5 + - id: 2ce2a58f60d4 + killer: 27 + - id: 320b21efe4e6 + killer: 13 + - id: 335d740e353a + killer: 4 + - id: 33ad9a25cc02 + killer: 6 + - id: 34612115f8db + killer: 7 + - id: 35384d6f0ff1 + killer: 8 + - id: 36ef492d89fe + killer: 7 + - id: 39847fc2f13f + killer: 8 + - id: 39b73b6b9333 + killer: 29 + - id: 39cb00e0973c + killer: 32 + - id: 39ed4a4b1d17 + killer: 4 + - id: 3e50aae110e9 + killer: 19 + - id: 42ff4cb85e7a + killer: 37 + - id: 451c667ac9da + killer: 4 + - id: 4599f97e388c + killer: 48 + - id: 45b63765a739 + killer: 31 + - id: 4633a40ca698 + killer: 8 + - id: 46495da8010d + killer: 6 + - id: 4679bacccce2 + killer: 8 + - id: 4885020d85a0 + killer: 13 + - id: 4966ef8c5ce6 + killer: 8 + - id: 49869486c183 + killer: 23 + - id: 4a02d781f315 + killer: 4 + - id: 4c2611bda99a + killer: 14 + - id: 4cbd268d3c60 + killer: 21 + - id: 4e0f961a21e6 + killer: 6 + - id: 50f04ab768e8 + killer: 6 + - id: 51a11476aaa6 + killer: 46 + - id: 51ac12f642a8 + killer: 8 + - id: 52aa7428c31d + killer: 6 + - id: 55c6209b9e4b + killer: 25 + - id: 55f2c69df734 + killer: 4 + - id: 57c29e76bca1 + killer: 5 + - id: 57e1b870b8d5 + killer: 23 + - id: 5880b6b2be7b + killer: 46 + - id: 5cda49b27299 + killer: 8 + - id: 5d14c2841c86 + killer: 4 + - id: 5e60c6b8c98e + killer: 45 + - id: 62c46f49badb + killer: 37 + - id: 64abf286fcdd + killer: 4 + - id: 6569fa10a5ca + killer: 28 + - id: 6657db4ce126 + killer: 25 + - id: 672ab8cccdf6 + killer: 37 + - id: 68c13632e24b + killer: 39 + - id: 68cecc1b2415 + killer: 13 + - id: 68f542899731 + killer: 16 + - id: 6a5ecd1a93b7 + killer: 11 + - id: 6c06fde9591b + killer: 19 + - id: 6ca18a7ede21 + killer: 30 + - id: 6d6af97c454b + killer: 33 + - id: 6f8aa91810e2 + killer: 5 + - id: 73634f20d6dd + killer: 5 + - id: 7564e76a1346 + killer: 23 + - id: 78ce7b049336 + killer: 28 + - id: 7989ece3656b + killer: 50 + - id: 7a0563205254 + killer: 27 + - id: 7b09eb2f826c + killer: 5 + - id: 7b6540801c13 + killer: 8 + - id: 7b8422746bc6 + killer: 43 + - id: 7bb313ea110a + killer: 25 + - id: 7cce33d247d2 + killer: 46 + - id: 7dbda0b627b8 + killer: 17 + - id: 7ddea342aa9e + killer: 32 + - id: 803fa1a664f5 + killer: 4 + - id: 83551982835f + killer: 49 + - id: 85e3e7fdb43e + killer: 29 + - id: 8809f9f8f7c2 + killer: 23 + - id: 88dfcf8ffc91 + killer: 8 + - id: 8ba6850ddcdb + killer: 49 + - id: 8bfbebe8955c + killer: 11 + - id: 8c3ef13a9e33 + killer: 49 + - id: 8e241c07b935 + killer: 8 + - id: 8f2e563845b5 + killer: 10 + - id: 921178128cfb + killer: 5 + - id: 930c64ef3cb3 + killer: 5 + - id: 931535b52079 + killer: 22 + - id: 951475af5b93 + killer: 42 + - id: 951e22f18234 + killer: 7 + - id: 967049448ba0 + killer: 11 + - id: 97b8f1315d87 + killer: 8 + - id: 98cad4fc0d6e + killer: 28 + - id: 98d478742a35 + killer: 6 + - id: 99a194fda973 + killer: 17 + - id: 9acb5ad8780d + killer: 46 + - id: 9b0e01bc8f93 + killer: 14 + - id: a0a10ea9dc4f + killer: 5 + - id: a16f3246f1ad + killer: 11 + - id: a2de6a193a9e + killer: 44 + - id: a58f763ff90f + killer: 45 + - id: a614f7b22093 + killer: 28 + - id: a67a84c3a22a + killer: 36 + - id: a6824fec7118 + killer: 41 + - id: a75f2dd1cd1b + killer: 6 + - id: a851206cb1a5 + killer: 8 + - id: a88ac5e9bb94 + killer: 8 + - id: a8bf12038600 + killer: 19 + - id: ab0b90628e8a + killer: 16 + - id: ab94a51bad63 + killer: 47 + - id: aca94043501a + killer: 5 + - id: afb5949b4476 + killer: 4 + - id: afe286b14d4b + killer: 22 + - id: aff17a1e8395 + killer: 14 + - id: b2a6e2386363 + killer: 50 + - id: b3438fa18deb + killer: 5 + - id: b461c4d95054 + killer: 4 + - id: b4659acbe63e + killer: 49 + - id: b587cfe4aeff + killer: 16 + - id: b873b46c245c + killer: 5 + - id: ba6a92637fa0 + killer: 8 + - id: bb1006a85866 + killer: 5 + - id: bd330651ebaf + killer: 5 + - id: bedd0c44b044 + killer: 1 + - id: c1902dc0feaa + killer: 8 + - id: c1d5124632d8 + killer: 23 + - id: c3f5be89950e + killer: 24 + - id: c4d2ffe07f21 + killer: 11 + - id: c54a6d465491 + killer: 31 + - id: c614b2d8ddd4 + killer: 7 + - id: c6a4e9536520 + killer: 45 + - id: c72a103043bd + killer: 14 + - id: c82207e1fc6a + killer: 5 + - id: ca4843c5a620 + killer: 8 + - id: cc4125ea218c + killer: 0 + - id: cdd9697935d8 + killer: 47 + - id: cec37815bbc7 + killer: 25 + - id: d1e014993baa + killer: 7 + - id: d32282bd777e + killer: 28 + - id: d3816d1228bc + killer: 33 + - id: d387a3595f2a + killer: 3 + - id: d39aed7286c0 + killer: 5 + - id: d41767e0d3c3 + killer: 46 + - id: d461b7f3d213 + killer: 11 + - id: d64e17c82070 + killer: 28 + - id: d6d3b06e49d5 + killer: 13 + - id: d723ad6ad0b7 + killer: 49 + - id: d7e867ddcb7a + killer: 39 + - id: d804fc069f9d + killer: 19 + - id: d80c0e353468 + killer: 45 + - id: d8550b3fd8ea + killer: 31 + - id: dcc98bf24371 + killer: 22 + - id: dd91d23038f2 + killer: 40 + - id: de9ca8320644 + killer: 37 + - id: e13b7e668b5c + killer: 34 + - id: e189fadebad8 + killer: 31 + - id: e3474b300fba + killer: 1 + - id: e34972c71229 + killer: 5 + - id: e5504c5daa09 + killer: 2 + - id: e59fd41d6d2d + killer: 35 + - id: e5bcb4463e9e + killer: 5 + - id: e89f1c6c3954 + killer: 5 + - id: e9a65e3be1c9 + killer: 5 + - id: eb676e8c127a + killer: 5 + - id: ed036518cad1 + killer: 26 + - id: ef4af5426e53 + killer: 12 + - id: efc93cdf6f40 + killer: 19 + - id: f0d36ac66348 + killer: 15 + - id: f17755d9e91a + killer: 5 + - id: f1cf3271ad3c + killer: 33 + - id: f24d689086c0 + killer: 10 + - id: f36ada4e298f + killer: 4 + - id: f3f69ca0f260 + killer: 6 + - id: f47072f823f8 + killer: 11 + - id: f933bf8e6242 + killer: 10 + - id: f98ffe597266 + killer: 5 + - id: ff8b66d4f1d2 + killer: 5 + - id: ffa17b2a6fd3 + killer: 10 + - id: ffec4be17374 + killer: 49 +- path: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tables::tests::in_place_reorder_distinguishes_sort_dedup_and_other_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tables::tests::method_renames_depend_on_both_name_and_arity + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + mutants: + - id: 0822b7e55ad9 + killer: 0 + - id: 0a47869df90a + killer: 0 + - id: 0bb62147c3ba + killer: 0 + - id: 0e5494990d9d + killer: 3 + - id: 20ba0720d799 + killer: 3 + - id: 21366aae4f08 + killer: 3 + - id: 2502c0cd457b + killer: 1 + - id: 3c2ba96c82ea + killer: 0 + - id: 422316b22b78 + killer: 0 + - id: 4eb6fc216673 + killer: 1 + - id: 5227e649c8a5 + killer: 1 + - id: 5c2c6db27654 + killer: 3 + - id: 665f8fbb10fc + killer: 3 + - id: 6c03618c3801 + killer: 3 + - id: 6d771762f89f + killer: 3 + - id: 6e9677436bf8 + killer: 0 + - id: 6f83d6fce625 + killer: 0 + - id: 6f9af919707d + killer: 2 + - id: 7d6392788a25 + killer: 3 + - id: 8137b8b190e7 + killer: 0 + - id: 90155cfe668d + killer: 0 + - id: 99c854dc5cd7 + killer: 1 + - id: 9e29a94a061b + killer: 1 + - id: a751de5d8ef6 + killer: 3 + - id: c1294054c3ff + killer: 0 + - id: d65ef6f1b3e5 + killer: 3 + - id: ee16d0880977 + killer: 3 + - id: fae95e0feb3a + killer: 0 +- path: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::abstract_type_detection_handles_empty_paths_and_boxed_trait_objects + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::foreign_error_detection_rejects_empty_paths_and_empty_import_prefixes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + mutants: + - id: 000cceb9abcf + killer: 9 + - id: 04dd00f357e4 + killer: 3 + - id: 07230b109b62 + killer: 2 + - id: 09899dfb1683 + killer: 3 + - id: 0a774a31ec63 + killer: 4 + - id: 0b30add376b1 + killer: 18 + - id: 0f296a622223 + killer: 13 + - id: 11977e02ffc0 + killer: 19 + - id: 131a140ab48a + killer: 3 + - id: 14adce895bef + killer: 10 + - id: 1519b6ed7f5c + killer: 20 + - id: 152be2d6a7ee + killer: 1 + - id: 16d6669d36d3 + killer: 14 + - id: 1a25e42d347b + killer: 1 + - id: 1d0cacfa9031 + killer: 9 + - id: 2710d2dfe121 + killer: 1 + - id: 294763d48da2 + killer: 10 + - id: 2a51a67e855f + killer: 3 + - id: 2e21230644dc + killer: 6 + - id: 392972fdb988 + killer: 14 + - id: 3d51042c19c0 + killer: 9 + - id: 42be0726194d + killer: 3 + - id: 4afa304ba479 + killer: 3 + - id: 4b53e7b0e3a3 + killer: 3 + - id: 4ba563a29163 + killer: 15 + - id: 51be396e0575 + killer: 3 + - id: 57456626a469 + killer: 11 + - id: 577e24710932 + killer: 2 + - id: 5b3d4d4421de + killer: 6 + - id: 5ea5b01038c6 + killer: 0 + - id: 60871dc086b8 + killer: 17 + - id: 610cfd5f67c0 + killer: 21 + - id: 68350092b20f + killer: 9 + - id: 6c1e7b07b952 + killer: 2 + - id: 6d250e05de53 + killer: 5 + - id: 6e8251ae7dab + killer: 19 + - id: 6ff2a6983fe3 + killer: 10 + - id: 72b25231db6f + killer: 7 + - id: 749ccc69e8d9 + killer: 19 + - id: 765c45fabf72 + killer: 11 + - id: 795041fa0354 + killer: 19 + - id: 7ac3f315c916 + killer: 21 + - id: 7bb54d254c1b + killer: 6 + - id: 804fa2b59406 + killer: 3 + - id: 8077779b8413 + killer: 9 + - id: 81026a6d4925 + killer: 19 + - id: 836fc39b9f12 + killer: 8 + - id: 841d01077049 + killer: 12 + - id: 8fc4c8c201f9 + killer: 8 + - id: 90d6971a0117 + killer: 0 + - id: 91aa2d738c8a + killer: 14 + - id: 96ab84097d4b + killer: 5 + - id: 9c7f3edb2cda + killer: 20 + - id: 9d8ea7043e22 + killer: 1 + - id: 9eefa2af23f7 + killer: 5 + - id: 9f6013ea0b5d + killer: 15 + - id: a122fcc40bd8 + killer: 9 + - id: a176e4d3a850 + killer: 21 + - id: a18901b717ee + killer: 7 + - id: a34fe512ff23 + killer: 11 + - id: a3a5788af5cb + killer: 6 + - id: a4ecbf7548ac + killer: 16 + - id: a56ef1738137 + killer: 6 + - id: a7983247e45a + killer: 2 + - id: a8bc765dba4a + killer: 19 + - id: aa5f96ca3900 + killer: 3 + - id: aa92872d4501 + killer: 1 + - id: aaf95563b3b7 + killer: 14 + - id: ab9067da9ace + killer: 6 + - id: ad45d0623d6f + killer: 19 + - id: ae8485e841c4 + killer: 3 + - id: b33005c7b8de + killer: 0 + - id: b3e684a34fbf + killer: 3 + - id: b4d98fb215bd + killer: 12 + - id: b5ef6a55c87a + killer: 13 + - id: b70adf49faee + killer: 3 + - id: b9a18d3eac6e + killer: 5 + - id: bf1cbde6f76f + killer: 3 + - id: c2ef5be0c266 + killer: 19 + - id: c41d247fec80 + killer: 0 + - id: c4861e3600bf + killer: 9 + - id: c6738ed382ea + killer: 9 + - id: c7e8a2316d41 + killer: 12 + - id: c8268b727879 + killer: 9 + - id: c860ff6592ef + killer: 3 + - id: c98519e0e5de + killer: 1 + - id: cba49b890732 + killer: 0 + - id: cce46b1b73da + killer: 6 + - id: ce0770b00de4 + killer: 2 + - id: d25008b5e2b4 + killer: 2 + - id: d31841bc9c43 + killer: 5 + - id: d50ae2f8faaa + killer: 2 + - id: d5b411e81a04 + killer: 5 + - id: d5e4e655f477 + killer: 6 + - id: d738903cb5b8 + killer: 3 + - id: dc88185bcb83 + killer: 10 + - id: e0e38d85f6fe + killer: 1 + - id: e0fc622fd331 + killer: 9 + - id: e17f8ad38b66 + killer: 1 + - id: e25abf89a70e + killer: 3 + - id: e3ac91f43b43 + killer: 6 + - id: e89b641afdbe + killer: 19 + - id: f4c71c8319ee + killer: 1 + - id: f5795e7a7468 + killer: 4 + - id: f7ebc4b8d6f8 + killer: 11 + - id: f985d1ce3af7 + killer: 5 + - id: fae4f40a5d1c + killer: 16 + - id: fae7222dfb89 + killer: 8 + - id: fcc284362fed + killer: 0 +- path: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_return_type_still_resolves_to_the_type_inside + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_iterator_trait_that_either_satisfies_is_served_iterator_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::iterator_item_requires_an_impl_trait_with_item_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::reference_and_type_argument_helpers_reject_non_matching_syntax + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + mutants: + - id: 00ef5f207af1 + killer: 3 + - id: 024a4fb4ed45 + killer: 12 + - id: 027f24cef579 + killer: 12 + - id: 03652ec79b29 + killer: 3 + - id: 0370153d51a0 + killer: 15 + - id: 03edd0d14d05 + killer: 3 + - id: 04dbbcddee70 + killer: 21 + - id: 05189692f3f4 + killer: 5 + - id: 05f93ebff36e + killer: 0 + - id: 07ab43f54ff0 + killer: 12 + - id: 0a9686e5013e + killer: 9 + - id: 0c38323517fd + killer: 5 + - id: 0c96bf728667 + killer: 9 + - id: 0f9bf68f2443 + killer: 12 + - id: 10845eb68c35 + killer: 10 + - id: 11e91f8bbbc9 + killer: 12 + - id: 12108ef82bbb + killer: 6 + - id: 1248d7a4cf04 + killer: 10 + - id: 1474a3571825 + killer: 6 + - id: 14987cf7e0b6 + killer: 4 + - id: 1512004b3f0d + killer: 12 + - id: 16b801f98c2f + killer: 12 + - id: 1961257227ee + killer: 0 + - id: 1b106ec04583 + killer: 12 + - id: 1c8878bc206d + killer: 3 + - id: 1c8baa6586b8 + killer: 12 + - id: 1ce7cbbc048c + killer: 21 + - id: 1d48476c59e8 + killer: 12 + - id: 1e7f03089f17 + killer: 12 + - id: 1efeec53bf9c + killer: 12 + - id: 21c615742ef4 + killer: 12 + - id: 2278f3454c4f + killer: 12 + - id: 23b1c8f52bb1 + killer: 12 + - id: 262c0d8a0be0 + killer: 12 + - id: 2a2a8689793b + killer: 10 + - id: 2a69157567a2 + killer: 0 + - id: 2bc4b7faf5f8 + killer: 14 + - id: 2ce3499ac1f3 + killer: 12 + - id: 2cfa37c9e5b0 + killer: 16 + - id: 2e034f4bcd7e + killer: 3 + - id: 2e751cbacf9d + killer: 14 + - id: 31cbeaefdc74 + killer: 19 + - id: 33ad7aa923ea + killer: 6 + - id: 3478134a9ab7 + killer: 12 + - id: 34ad7ffc3898 + killer: 9 + - id: 34fa886bd4d8 + killer: 12 + - id: 374130e9f266 + killer: 22 + - id: 38053595a8af + killer: 12 + - id: 38ecf4be12ab + killer: 5 + - id: 39301d87ae3d + killer: 12 + - id: 39e279614f9c + killer: 12 + - id: 39f9497816b6 + killer: 12 + - id: 3a07fb57a350 + killer: 22 + - id: 3a1018e2ea2a + killer: 9 + - id: 3ae1b1b6e099 + killer: 22 + - id: 3b281125d852 + killer: 12 + - id: 3ce6ea3d9c85 + killer: 2 + - id: 3da9ad0b0532 + killer: 12 + - id: 3fcd32adcee5 + killer: 2 + - id: 40195749a0bb + killer: 12 + - id: 40816822a5c7 + killer: 12 + - id: 40e8d787c681 + killer: 12 + - id: 41a522b21896 + killer: 12 + - id: 42df46f921f4 + killer: 12 + - id: 42fdb46500a4 + killer: 12 + - id: 44605c96d704 + killer: 8 + - id: 4742ec7332f4 + killer: 12 + - id: 49ddbffccbf0 + killer: 12 + - id: 4ab5993a8f2c + killer: 12 + - id: 4bc229030560 + killer: 5 + - id: 4c63ea707daf + killer: 2 + - id: 4e2aaadd0bc5 + killer: 12 + - id: 50fb18e6bb34 + killer: 5 + - id: 514a37ef834e + killer: 12 + - id: 5160f290e930 + killer: 12 + - id: 5223b14493a6 + killer: 22 + - id: 53ee24b618ac + killer: 9 + - id: 57b94c16b4f9 + killer: 8 + - id: 581c2f263563 + killer: 10 + - id: 585f62b9e81a + killer: 13 + - id: 58cc67b63caa + killer: 9 + - id: 5bb02f11d7dd + killer: 11 + - id: 5d8192e90d71 + killer: 19 + - id: 5fb123040fbd + killer: 3 + - id: 60b7fed3187f + killer: 22 + - id: 615bd6632e8d + killer: 10 + - id: 61a6f5bb9f88 + killer: 7 + - id: 635fe4aba969 + killer: 3 + - id: 64f74a89bae4 + killer: 12 + - id: 654c3641eca7 + killer: 5 + - id: 66eb394800d8 + killer: 12 + - id: 66f75f45ab95 + killer: 6 + - id: 68b98f29f88e + killer: 10 + - id: 68c7f0db6f06 + killer: 20 + - id: 699bc3f56c13 + killer: 3 + - id: 6b3523258612 + killer: 10 + - id: 6ca737b25755 + killer: 17 + - id: 6de61aa63230 + killer: 5 + - id: 6de71a1430db + killer: 3 + - id: 6df16d9ee5c0 + killer: 12 + - id: 6f372d323444 + killer: 6 + - id: 71ea4f95810a + killer: 16 + - id: 737e0df130da + killer: 0 + - id: 76f007cf0bfe + killer: 12 + - id: 788650b64746 + killer: 6 + - id: 79fa7e7f5ec3 + killer: 6 + - id: 7a828b57eaa8 + killer: 11 + - id: 7c66da4aa942 + killer: 3 + - id: 7cb46b0150e8 + killer: 12 + - id: 7cf1b164500d + killer: 12 + - id: 7e5cc99cf563 + killer: 3 + - id: 7e9b60aa70bc + killer: 12 + - id: 80d629410a23 + killer: 12 + - id: 82430bb19cd8 + killer: 12 + - id: 82be8f279eba + killer: 12 + - id: 83d49f1bd3e8 + killer: 14 + - id: 8406be5d76ed + killer: 6 + - id: 8519b09b518b + killer: 3 + - id: 8523d33d7cf5 + killer: 21 + - id: 868925b77170 + killer: 9 + - id: 876dfe6fe349 + killer: 12 + - id: 888bfd48406c + killer: 1 + - id: 892f1214140a + killer: 8 + - id: 89f1d97a66e7 + killer: 9 + - id: 8a3cebab5da5 + killer: 2 + - id: 8df781a05847 + killer: 12 + - id: 8ea0105fa609 + killer: 5 + - id: 8eb4f13a1e19 + killer: 12 + - id: 8f6d358d296e + killer: 12 + - id: 90236c18eee1 + killer: 12 + - id: 90272e078f02 + killer: 12 + - id: 90844c984c70 + killer: 5 + - id: 90bc6210edc0 + killer: 12 + - id: 91a90904a15c + killer: 12 + - id: 927349c86209 + killer: 6 + - id: 95ddc3defea8 + killer: 8 + - id: 96b4559d9fb8 + killer: 12 + - id: 96d16961b61a + killer: 12 + - id: 9726f1f160ce + killer: 0 + - id: 9802e061927c + killer: 2 + - id: 98515310c642 + killer: 2 + - id: 9862c82aac5b + killer: 5 + - id: 98da1f7d0c46 + killer: 19 + - id: 9c0c3521bc8b + killer: 20 + - id: 9e2112e84dd7 + killer: 0 + - id: 9e40e3859349 + killer: 5 + - id: 9ea86c8a4f10 + killer: 10 + - id: a10555316ccc + killer: 12 + - id: a18e7abf6398 + killer: 10 + - id: a1b0affe5acc + killer: 0 + - id: a2a0702e4c8c + killer: 21 + - id: a31847f7c978 + killer: 12 + - id: a33be48d4b08 + killer: 12 + - id: a4477893aac5 + killer: 6 + - id: a69c5ed09b69 + killer: 12 + - id: a6c1cbea21de + killer: 10 + - id: a8c90b8c9d1a + killer: 12 + - id: a91a3a213be2 + killer: 14 + - id: aa9d4f85394a + killer: 5 + - id: ab30edf70301 + killer: 19 + - id: acdf98d03664 + killer: 3 + - id: ad4966c461e8 + killer: 12 + - id: adb2d238eef0 + killer: 12 + - id: af4eec2407f3 + killer: 5 + - id: afb0bb303ec1 + killer: 5 + - id: afbaa483b7b0 + killer: 3 + - id: b05b0d371a75 + killer: 12 + - id: b0926a465a0f + killer: 12 + - id: b1c582807784 + killer: 5 + - id: b215cb0397c7 + killer: 12 + - id: b2fcc1024181 + killer: 18 + - id: b3c20546de4c + killer: 0 + - id: bb8365864420 + killer: 12 + - id: bb855ac56a81 + killer: 2 + - id: be3f5aea196b + killer: 12 + - id: be549c7b704d + killer: 12 + - id: bedb95b2958d + killer: 12 + - id: c08849b173c6 + killer: 12 + - id: ccee42b6fdb1 + killer: 18 + - id: cd0b02fab8ca + killer: 19 + - id: ce97d599c1f8 + killer: 12 + - id: cfc9437037d4 + killer: 6 + - id: d072cfa4736c + killer: 12 + - id: d08ae77a23c9 + killer: 21 + - id: d186cc8c8786 + killer: 9 + - id: d53c6482f9e1 + killer: 12 + - id: d549b580b841 + killer: 12 + - id: d67c18ea4306 + killer: 12 + - id: d6f840835139 + killer: 2 + - id: d6f971eec903 + killer: 6 + - id: d7808f210923 + killer: 16 + - id: dab99c766b45 + killer: 6 + - id: dadaeb3aa7ea + killer: 12 + - id: dc6342860144 + killer: 5 + - id: dcb4068d944a + killer: 17 + - id: dd56dc708706 + killer: 12 + - id: de81a1754e42 + killer: 12 + - id: e04518a5a983 + killer: 12 + - id: e0b682aa9cdf + killer: 5 + - id: e145eb1c1baa + killer: 4 + - id: e1899395706d + killer: 18 + - id: e2e06d9c6748 + killer: 12 + - id: e312f5c74cd3 + killer: 9 + - id: e40ea85f76ea + killer: 9 + - id: e4199a15ce6c + killer: 9 + - id: e5c6d797ce4a + killer: 12 + - id: e5c79181d542 + killer: 21 + - id: e6ea6c47211e + killer: 2 + - id: ea7b042c039a + killer: 10 + - id: ee0da0fa4347 + killer: 5 + - id: f0a7fc6e9ccb + killer: 12 + - id: f2314a743836 + killer: 3 + - id: f275ad459a3d + killer: 3 + - id: f2baffa9fa89 + killer: 10 + - id: f2f92d0e0299 + killer: 5 + - id: f37a5d0ec572 + killer: 12 + - id: f4d4768c9035 + killer: 21 + - id: f657b4739d52 + killer: 8 + - id: f847ced3f4ec + killer: 23 + - id: fb50ad05576f + killer: 3 + - id: fd795605d94d + killer: 12 + - id: fe9567614642 + killer: 15 +- path: crates/cargo-gamma-engine/src/ops/collect/collector.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_capacity_call_is_still_a_capacity_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_zero_is_still_zero_when_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_site_whose_span_runs_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_tuple_field_access_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::omit_update_refuses_field_spans_outside_the_struct + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_carrying_a_value_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_impl_block_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_collision_keeps_the_perturbation_rather_than_the_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_collision_still_yields_a_mutant_when_only_the_value_mutator_is_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_path_still_names_the_variant_it_constructs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_number_in_tail_position_perturbs_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_value_is_perturbed_however_it_is_returned + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_single_element_vec_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_a_const_fn_produces_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_element_is_never_offered_when_the_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_explicitly_unsigned_zero_is_not_decremented_below_its_range + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_unsuffixed_zero_keeps_its_decrement_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::booleans_flip_to_the_other_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_values_only_reach_functions_returning_result + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + mutants: + - id: 008a5e4963cd + killer: 91 + - id: 00cbaf2adea7 + killer: 7 + - id: 011a68b4678f + killer: 24 + - id: 01590246b0d6 + killer: 0 + - id: 0187ccd32ae3 + killer: 60 + - id: 01da35733773 + killer: 51 + - id: 0252f0942414 + killer: 102 + - id: 0299dc6c2f90 + killer: 13 + - id: 0317299c24b9 + killer: 102 + - id: 037ff0764aad + killer: 11 + - id: 043cdd96cf74 + killer: 9 + - id: 04492e584380 + killer: 40 + - id: 048bf9fcc0dd + killer: 98 + - id: 049aa9773478 + killer: 89 + - id: 05248932ad45 + killer: 60 + - id: 0550cac120bc + killer: 10 + - id: 0556ef45de96 + killer: 1 + - id: 0604aecc76f7 + killer: 3 + - id: 06a8c1348ab5 + killer: 1 + - id: 070a02bcc30d + killer: 18 + - id: 071c4c2a8dcc + killer: 60 + - id: 07c61cc0cfaf + killer: 98 + - id: 0805ee70a8d9 + killer: 0 + - id: 08aaad44b126 + killer: 60 + - id: 08c375f989fc + killer: 60 + - id: 0955041c36af + killer: 5 + - id: 0968d337da02 + killer: 14 + - id: 0a34e6032c40 + killer: 33 + - id: 0a49ee72cbd0 + killer: 35 + - id: 0ae588069c46 + killer: 1 + - id: 0b3bba4b3e82 + killer: 29 + - id: 0c0622410782 + killer: 1 + - id: 0c3e5c341083 + killer: 98 + - id: 0c8114787bf3 + killer: 8 + - id: 0c8e0197df25 + killer: 24 + - id: 0c9fb5c268ff + killer: 69 + - id: 0cc1d81b375e + killer: 76 + - id: 0dbedd008615 + killer: 3 + - id: 0e0b1260f35b + killer: 46 + - id: 0e27c81fc008 + killer: 13 + - id: 0e91cd38470b + killer: 65 + - id: 0eb2b78cbffe + killer: 35 + - id: 0fb1e7209bb2 + killer: 17 + - id: 1001b6a875c4 + killer: 11 + - id: 101db8a07cc8 + killer: 0 + - id: 1210603a90ee + killer: 3 + - id: 12cb828c4a4f + killer: 27 + - id: 135469f1428a + killer: 60 + - id: 1392bf8254eb + killer: 32 + - id: 141008a40360 + killer: 39 + - id: 1430964254d9 + killer: 1 + - id: 144181825ddb + killer: 18 + - id: 145bda487cde + killer: 29 + - id: 146c0f65f4b7 + killer: 11 + - id: 146cd61c0acb + killer: 35 + - id: 149db95c9d29 + killer: 29 + - id: 14c3cf53a843 + killer: 98 + - id: 153336fc6c09 + killer: 28 + - id: 154da8451f30 + killer: 39 + - id: 1551acd440ce + killer: 80 + - id: 15a2fe3a19c4 + killer: 98 + - id: 16505e1032aa + killer: 60 + - id: 16676c377f67 + killer: 25 + - id: 16c1c812c42b + killer: 7 + - id: 16c8df876ec6 + killer: 55 + - id: 16faf6d48ce2 + killer: 0 + - id: 1779ed3c458c + killer: 0 + - id: 181265e0af23 + killer: 67 + - id: 186486f5ba34 + killer: 52 + - id: 195634f3d993 + killer: 0 + - id: 1a5c4c9476f9 + killer: 63 + - id: 1a61dd33b8ce + killer: 0 + - id: 1b04f364748a + killer: 66 + - id: 1b1845938e8b + killer: 41 + - id: 1b501cdc568d + killer: 98 + - id: 1b8b5620fc7d + killer: 1 + - id: 1ba66788a4c1 + killer: 101 + - id: 1c12ca27011b + killer: 47 + - id: 1c2c0a62ee07 + killer: 103 + - id: 1d08fe5bd325 + killer: 1 + - id: 1d0c2a7caa20 + killer: 0 + - id: 1d4772abf4f8 + killer: 53 + - id: 1dce618d1151 + killer: 82 + - id: 1de05b20fda7 + killer: 13 + - id: 1ead67319806 + killer: 32 + - id: 1f78a1afd25e + killer: 82 + - id: 1fad61500fdf + killer: 89 + - id: 20d25d4311f4 + killer: 66 + - id: 20d64c0c205d + killer: 3 + - id: 2117a4d96e38 + killer: 82 + - id: 2142bc8dfac0 + killer: 58 + - id: 21a2187792d7 + killer: 10 + - id: 221945b54869 + killer: 8 + - id: 221c7cc81ade + killer: 0 + - id: 227509d4da25 + killer: 79 + - id: 22b1e66528e1 + killer: 63 + - id: 22b3ca9675f0 + killer: 77 + - id: 232f3c898385 + killer: 1 + - id: 235353b250b2 + killer: 24 + - id: 2391426b03b5 + killer: 0 + - id: 250be1408254 + killer: 67 + - id: 252d5263dbd7 + killer: 3 + - id: 26eb44479c97 + killer: 29 + - id: 26f1881a3a72 + killer: 35 + - id: 27d182b7492a + killer: 3 + - id: 27e68d24549d + killer: 24 + - id: 284e3ac100c2 + killer: 37 + - id: 2888f60c5dca + killer: 16 + - id: 28bd0cfae5dd + killer: 58 + - id: 29ab715f747b + killer: 32 + - id: 29abca8a6dff + killer: 3 + - id: 29ce7261f6a2 + killer: 37 + - id: 2a4bc05d0e1d + killer: 77 + - id: 2a5ebd740295 + killer: 76 + - id: 2b3f735c0279 + killer: 44 + - id: 2b6072dc5a80 + killer: 39 + - id: 2ba17f3a6f6f + killer: 1 + - id: 2bde2fd09ec3 + killer: 35 + - id: 2cbb64131720 + killer: 84 + - id: 2cea08179848 + killer: 52 + - id: 2d26dc318950 + killer: 8 + - id: 2e4a0ecb7202 + killer: 60 + - id: 308406f3d6b1 + killer: 34 + - id: 30982512d165 + killer: 98 + - id: 30a1b81c6b96 + killer: 48 + - id: 30d01d99ef84 + killer: 98 + - id: 30fe624e07d4 + killer: 0 + - id: 31226122b82e + killer: 24 + - id: 31287d511af9 + killer: 98 + - id: 335355f8027a + killer: 0 + - id: 337ffb58b257 + killer: 98 + - id: 33976fb2d909 + killer: 7 + - id: 33b49ec190ac + killer: 3 + - id: 33daf0d541ae + killer: 10 + - id: 3432b55dee00 + killer: 98 + - id: 3442d0d8aa63 + killer: 107 + - id: 3493780c43ed + killer: 103 + - id: 349ddd80c7b9 + killer: 18 + - id: 34fc2653bce4 + killer: 39 + - id: 35c9c0ea49e7 + killer: 52 + - id: 36738df953ac + killer: 97 + - id: 3720336513c5 + killer: 79 + - id: 374a7f465e71 + killer: 2 + - id: 37608cfe93c7 + killer: 1 + - id: 379beec8a5a3 + killer: 62 + - id: 37ce3e7e99d4 + killer: 87 + - id: 38233b8532d8 + killer: 37 + - id: 39193ba4b3a0 + killer: 20 + - id: 3997f9606106 + killer: 98 + - id: 3a740e789ab3 + killer: 0 + - id: 3b61586c4efd + killer: 99 + - id: 3c75cf64ca37 + killer: 13 + - id: 3d7475ba3a64 + killer: 7 + - id: 3d9ec84cbc98 + killer: 39 + - id: 3dfb9afe737f + killer: 64 + - id: 3f5f20031104 + killer: 15 + - id: 3f95fd521d42 + killer: 98 + - id: 3faf5a2bf4d6 + killer: 29 + - id: 40c2e0e724f7 + killer: 3 + - id: 4151d92577f6 + killer: 3 + - id: 41b27788c1d2 + killer: 41 + - id: 41e366835aa3 + killer: 10 + - id: 421f1366b8a2 + killer: 88 + - id: 4252de6cd29a + killer: 98 + - id: 42e83d2d18e5 + killer: 29 + - id: 431f538647c5 + killer: 53 + - id: 436b01a045e8 + killer: 3 + - id: 444c7b7d79a4 + killer: 29 + - id: 44c2ed5044c4 + killer: 95 + - id: 44f087be8d79 + killer: 3 + - id: 457850c9fdc1 + killer: 3 + - id: 45ca04f3e0ad + killer: 22 + - id: 45fbb0b81672 + killer: 10 + - id: 46b621d17b59 + killer: 15 + - id: 47356a885eba + killer: 0 + - id: 47476193ea89 + killer: 0 + - id: 476ba6b2a133 + killer: 72 + - id: 481c3ce9e2ef + killer: 13 + - id: 4828827de65e + killer: 76 + - id: 4846abbebb0a + killer: 18 + - id: 4927736a31d1 + killer: 53 + - id: 49299c0776d8 + killer: 3 + - id: 4949d5638040 + killer: 10 + - id: 49d24f872a5e + killer: 97 + - id: 4a303a5c33f3 + killer: 0 + - id: 4a37a1267352 + killer: 63 + - id: 4aac15ed73b2 + killer: 24 + - id: 4af5cdac6cc4 + killer: 56 + - id: 4b649f5b3501 + killer: 106 + - id: 4b96a287ff3c + killer: 10 + - id: 4bae12e92bda + killer: 98 + - id: 4bf7d4679116 + killer: 18 + - id: 4c0a3bf73b72 + killer: 18 + - id: 4c923143ce26 + killer: 68 + - id: 4cbb1e28e64d + killer: 22 + - id: 4ce0cc0ac5a3 + killer: 47 + - id: 4d08a76a3679 + killer: 74 + - id: 4d5b6f552075 + killer: 0 + - id: 4df6f44461e5 + killer: 24 + - id: 4e858045cad5 + killer: 48 + - id: 4eaf4b70e096 + killer: 3 + - id: 4ef1a166f55d + killer: 75 + - id: 4fd3ad28f90b + killer: 44 + - id: 50af2f974c30 + killer: 0 + - id: 512cf075eebf + killer: 60 + - id: 5134c8fc7288 + killer: 67 + - id: 52038f6b6039 + killer: 98 + - id: 520dd8178491 + killer: 0 + - id: 523abc0f8bbf + killer: 98 + - id: 526203851c27 + killer: 82 + - id: 52cc54f47a0a + killer: 29 + - id: 533e0797252f + killer: 3 + - id: 533fb8cfd7c0 + killer: 102 + - id: 535d73966e5f + killer: 68 + - id: 538bc52c54f8 + killer: 98 + - id: 53d5963e2f6b + killer: 1 + - id: 53d6f7edd151 + killer: 18 + - id: 53d6fe80b559 + killer: 18 + - id: 54c10d5f2992 + killer: 89 + - id: 54f5722a8ddd + killer: 97 + - id: 55f18637f920 + killer: 64 + - id: 56120405a940 + killer: 42 + - id: 561b4334872f + killer: 64 + - id: 566821e3b83a + killer: 3 + - id: 5719478fd652 + killer: 0 + - id: 572afd5191ca + killer: 60 + - id: 5768528b9bbc + killer: 48 + - id: 576d28f7db1c + killer: 76 + - id: 57ffa62891eb + killer: 95 + - id: 58c14f102f23 + killer: 18 + - id: 58d4af069ef2 + killer: 35 + - id: 59feb278b55a + killer: 68 + - id: 5a40e1e2e658 + killer: 98 + - id: 5a6b45eb4bd5 + killer: 0 + - id: 5aa1915a0c15 + killer: 1 + - id: 5afb48201339 + killer: 3 + - id: 5b1497fc4144 + killer: 3 + - id: 5b502820460e + killer: 77 + - id: 5c59407138c2 + killer: 70 + - id: 5c8264fb2d0c + killer: 48 + - id: 5e0854a8b563 + killer: 72 + - id: 5e609a319292 + killer: 85 + - id: 5e63533498ba + killer: 0 + - id: 5e670e893b5d + killer: 10 + - id: 5ecac8f1954a + killer: 60 + - id: 5ecd1423b351 + killer: 107 + - id: 5ef2d80e2860 + killer: 29 + - id: 5f12a3a9eb01 + killer: 31 + - id: 5f48a8617fdf + killer: 84 + - id: 5f65cd0a38c5 + killer: 1 + - id: 5fc3038b8db3 + killer: 0 + - id: 607fc3cde10e + killer: 0 + - id: 608d0394f312 + killer: 3 + - id: 60961f8a9208 + killer: 50 + - id: 60fb8226406f + killer: 1 + - id: 610e1a2b6cf3 + killer: 7 + - id: 63573bd39ec6 + killer: 1 + - id: 641fbc6a97a3 + killer: 0 + - id: 64f35e6d27a3 + killer: 86 + - id: 64f9e6c7537a + killer: 29 + - id: 65142436cdf6 + killer: 92 + - id: 656843e5a3f2 + killer: 60 + - id: 65f21ab35ec4 + killer: 1 + - id: 661031bd6b99 + killer: 107 + - id: 66969cff1b74 + killer: 60 + - id: 669afe331115 + killer: 98 + - id: 66ba110a59c6 + killer: 60 + - id: 670cf5f8311e + killer: 13 + - id: 67186588117c + killer: 3 + - id: 67567d6a1839 + killer: 0 + - id: 67643d9456f8 + killer: 29 + - id: 67affe642055 + killer: 3 + - id: 68cb23163597 + killer: 52 + - id: 68d9bbcb2823 + killer: 1 + - id: 68f76bdd8c6c + killer: 3 + - id: 68fc64233b87 + killer: 64 + - id: 69b0ddbe3c62 + killer: 107 + - id: 69dd098f59ea + killer: 94 + - id: 6a76012d5516 + killer: 60 + - id: 6b3db63ecbbe + killer: 52 + - id: 6b941937b241 + killer: 77 + - id: 6bc5a5124e1d + killer: 41 + - id: 6c7242e6717a + killer: 33 + - id: 6c914cd751bf + killer: 0 + - id: 6ccdfea0f67d + killer: 52 + - id: 6d0b3f62e340 + killer: 36 + - id: 6d1180b55a1f + killer: 77 + - id: 6e8383b8a172 + killer: 0 + - id: 6f0b913b476a + killer: 35 + - id: 7012838d7a73 + killer: 2 + - id: 70cd937f157c + killer: 29 + - id: 715b2f44dbdc + killer: 33 + - id: 7170464e9793 + killer: 0 + - id: 71f3e190a324 + killer: 6 + - id: 71f92c9cf010 + killer: 0 + - id: 721040957ef1 + killer: 60 + - id: 729c9761238f + killer: 53 + - id: 72c737f23a55 + killer: 82 + - id: 7332d76af183 + killer: 24 + - id: 7334f05e97aa + killer: 0 + - id: 73876700effb + killer: 0 + - id: 73d87f820219 + killer: 64 + - id: 74a5db9035c6 + killer: 42 + - id: 755761113cf9 + killer: 38 + - id: 77d32bd1ea14 + killer: 37 + - id: 782a55ebb60b + killer: 10 + - id: 79bc18157909 + killer: 35 + - id: 79d7fa505dd4 + killer: 106 + - id: 7a164ba16f7c + killer: 77 + - id: 7a810d44fb23 + killer: 3 + - id: 7a9341155022 + killer: 29 + - id: 7abbae6a0afe + killer: 43 + - id: 7abe12549c80 + killer: 101 + - id: 7ade8a79550d + killer: 3 + - id: 7c7ee1774373 + killer: 96 + - id: 7ca920190eee + killer: 22 + - id: 7d3a66749caa + killer: 3 + - id: 7daa376a5f37 + killer: 24 + - id: 7e05a4a72a1a + killer: 73 + - id: 7e7fac71c45d + killer: 0 + - id: 7e835fe3c880 + killer: 0 + - id: 7eb3587fa79c + killer: 82 + - id: 7ee03d101004 + killer: 3 + - id: 7f54fac8ed17 + killer: 0 + - id: 7f6711daef1c + killer: 3 + - id: 7f8849e7b023 + killer: 86 + - id: 7fa0a11952b1 + killer: 0 + - id: 7fe410df2408 + killer: 22 + - id: 8029cd14da6c + killer: 69 + - id: 80f6516928c2 + killer: 3 + - id: 8111f03dbf51 + killer: 0 + - id: '811736242138' + killer: 24 + - id: 8203b8c93d84 + killer: 107 + - id: 821ed4d2321f + killer: 1 + - id: 825730b90f56 + killer: 48 + - id: 83427570b055 + killer: 1 + - id: 834ea87403da + killer: 24 + - id: '837044209021' + killer: 95 + - id: 841a129570c1 + killer: 76 + - id: 8426ab611ed7 + killer: 103 + - id: 84466a66c840 + killer: 22 + - id: 84aaafb82686 + killer: 15 + - id: 84b3990d1ce6 + killer: 98 + - id: 84bb280505c8 + killer: 29 + - id: 84c57eba2548 + killer: 98 + - id: 85501f5b8127 + killer: 45 + - id: 8591eab3a138 + killer: 59 + - id: 8618f61303bd + killer: 29 + - id: 864848a8b356 + killer: 18 + - id: 867393db8e3e + killer: 57 + - id: 86b94a00cf3a + killer: 7 + - id: 87cbadb2c035 + killer: 1 + - id: 88279b58bd0f + killer: 35 + - id: 88390cbd4d42 + killer: 52 + - id: 8858a947fd22 + killer: 13 + - id: 889ae312079f + killer: 96 + - id: 8a72fb475ad3 + killer: 3 + - id: 8b0934e17f1a + killer: 21 + - id: 8c36dcf3eb6b + killer: 61 + - id: 8c57a3f1555e + killer: 67 + - id: 8cc7c449204f + killer: 3 + - id: 8cd2e75dc458 + killer: 0 + - id: 8dada0e0dd77 + killer: 0 + - id: 8dcc8710c89f + killer: 55 + - id: 8dfbc0bf6fa4 + killer: 0 + - id: 8e13c5cc8b80 + killer: 60 + - id: 8e1754c67e00 + killer: 24 + - id: 8e7d73e59e40 + killer: 96 + - id: 8eb2cd68a4a1 + killer: 52 + - id: 8ec099afbd7e + killer: 78 + - id: 8f54ee6ea024 + killer: 10 + - id: 90049160311c + killer: 24 + - id: 906e92899778 + killer: 29 + - id: 90ae8a818b70 + killer: 20 + - id: 914a5bd5a596 + killer: 3 + - id: 91722f6d5993 + killer: 1 + - id: 919b71c84437 + killer: 1 + - id: 9225f2982953 + killer: 92 + - id: 9230a6516a09 + killer: 3 + - id: 923a971651c9 + killer: 35 + - id: 92687524776e + killer: 56 + - id: 92839ca5edf0 + killer: 0 + - id: 92f6ec2c825a + killer: 52 + - id: 944caa522fa9 + killer: 13 + - id: 94a87b2cffa6 + killer: 36 + - id: 9537c8f0a222 + killer: 0 + - id: 95864b29029d + killer: 66 + - id: 965ff774e8dd + killer: 56 + - id: 96c13148037b + killer: 0 + - id: 96c8ce7ebc97 + killer: 0 + - id: 96cfc27fb5ca + killer: 39 + - id: 96de4549e813 + killer: 17 + - id: 976c78fce1ac + killer: 4 + - id: 979f0728f862 + killer: 35 + - id: 97dba9cd344c + killer: 98 + - id: 98ca90c6cd3a + killer: 13 + - id: 9925c7054ea6 + killer: 68 + - id: 9987819f2180 + killer: 52 + - id: 998ce619f945 + killer: 35 + - id: 999223fe0ed4 + killer: 18 + - id: 999befd909e2 + killer: 98 + - id: 9a0a8333d536 + killer: 0 + - id: 9a2482a02a5a + killer: 60 + - id: 9a53e65d286e + killer: 26 + - id: 9a965a69d8d7 + killer: 1 + - id: 9b5a5f6dbe12 + killer: 3 + - id: 9c0df1af2aef + killer: 1 + - id: 9c68c039ffca + killer: 1 + - id: 9cdd8a1934fc + killer: 1 + - id: 9d675b42b80d + killer: 60 + - id: 9e1d445af920 + killer: 33 + - id: 9e5218187444 + killer: 1 + - id: 9e90cefbffef + killer: 60 + - id: 9ea75708d10e + killer: 0 + - id: 9eb498a6524b + killer: 1 + - id: 9eb53e7a4bdd + killer: 1 + - id: 9eb5eeca940b + killer: 35 + - id: 9ed1e1ae7b7d + killer: 60 + - id: 9edf8bcd4120 + killer: 1 + - id: 9eed511c7e46 + killer: 0 + - id: 9f174cfa2e97 + killer: 0 + - id: 9f2f52b1eb0b + killer: 19 + - id: 9f811741405c + killer: 0 + - id: a007b0ccf47f + killer: 24 + - id: a0e5696c30dc + killer: 77 + - id: a0fc5fd2cdad + killer: 77 + - id: a14a3795a045 + killer: 13 + - id: a171d90bd3e6 + killer: 0 + - id: a1bf926c83c4 + killer: 60 + - id: a1cb6acbc681 + killer: 18 + - id: a1cbab5c881d + killer: 71 + - id: a1d463fdf299 + killer: 77 + - id: a288dc5c16d4 + killer: 11 + - id: a29188df9fce + killer: 0 + - id: a29f6154b4b9 + killer: 53 + - id: a3af95d1fd0b + killer: 107 + - id: a3b315a24f4b + killer: 82 + - id: a3f4f5e6c557 + killer: 13 + - id: a4199ecb926c + killer: 10 + - id: a41b4961b47a + killer: 98 + - id: a429af3f99b0 + killer: 75 + - id: a46e3379932a + killer: 106 + - id: a581cebda5e7 + killer: 13 + - id: a5c7923953f1 + killer: 23 + - id: a6eadc6fd1e0 + killer: 35 + - id: a6edab872077 + killer: 24 + - id: a707da8b5a83 + killer: 60 + - id: a75295a40227 + killer: 3 + - id: a8d4c033d543 + killer: 48 + - id: a907f5d0676b + killer: 46 + - id: a9455dc26555 + killer: 22 + - id: a99e920b1081 + killer: 35 + - id: a9befabe0d47 + killer: 3 + - id: a9cd1c920e4c + killer: 35 + - id: aa5173edc036 + killer: 0 + - id: aaa65b485166 + killer: 3 + - id: ab48b59f7655 + killer: 90 + - id: abe09228e6bf + killer: 53 + - id: aca5a4acec90 + killer: 66 + - id: ace4957788d2 + killer: 1 + - id: acefed67a93b + killer: 51 + - id: ad08a10f0fcb + killer: 0 + - id: ad1b185968a6 + killer: 0 + - id: ad246599f189 + killer: 49 + - id: ad678713e324 + killer: 52 + - id: ad73075f2029 + killer: 68 + - id: ad7e5e1c323d + killer: 13 + - id: adc1c011a6b3 + killer: 0 + - id: ae312a0e954d + killer: 61 + - id: ae77c8d6bf76 + killer: 52 + - id: ae7c08b8521d + killer: 60 + - id: aec1cff6ea96 + killer: 98 + - id: af5ee19766bb + killer: 35 + - id: b0151378be71 + killer: 100 + - id: b020ead672a4 + killer: 60 + - id: b02372531ad6 + killer: 77 + - id: b06f184a35c6 + killer: 3 + - id: b0bacfc3a2d5 + killer: 2 + - id: b0e13b81cdcb + killer: 82 + - id: b10b14d7e634 + killer: 77 + - id: b116f8e6cabe + killer: 0 + - id: b2698fe65f88 + killer: 65 + - id: b2b5044f7f99 + killer: 0 + - id: b323f021e289 + killer: 29 + - id: b3a4a55f26c6 + killer: 39 + - id: b46e846c02c5 + killer: 29 + - id: b64ae4c8c1ce + killer: 11 + - id: b659196807e1 + killer: 32 + - id: b66f1a180f49 + killer: 0 + - id: b68fef727704 + killer: 51 + - id: b697ac62a8db + killer: 7 + - id: b6c92d83b4cb + killer: 80 + - id: b725bcee107f + killer: 18 + - id: b72c18c2bfda + killer: 1 + - id: b733c268b5bd + killer: 3 + - id: b7556d7ffa0d + killer: 12 + - id: b77e32a2fbd0 + killer: 76 + - id: b8f1ce09aa13 + killer: 24 + - id: b90cc14c46ae + killer: 0 + - id: ba73ee859bf4 + killer: 10 + - id: ba887792f4a8 + killer: 60 + - id: bacae8f5083f + killer: 98 + - id: bb4d92c910f3 + killer: 29 + - id: bb9167759ecd + killer: 1 + - id: bbc33f8daa88 + killer: 57 + - id: bc51eb05b061 + killer: 29 + - id: bc96823d6e9a + killer: 95 + - id: bccbd89d7aaa + killer: 11 + - id: bf118b2c3e6c + killer: 3 + - id: bf1a108ac4fd + killer: 60 + - id: bf40268a47b8 + killer: 80 + - id: bf55ecd95ad0 + killer: 95 + - id: bf5c1bf3d3c3 + killer: 13 + - id: c012828a5e18 + killer: 35 + - id: c04c9d78146e + killer: 1 + - id: c077fe48992e + killer: 47 + - id: c0afc53c0e05 + killer: 2 + - id: c0b2c5e0de02 + killer: 41 + - id: c0da8fb9563a + killer: 35 + - id: c0fb9727f697 + killer: 56 + - id: c10339b68c9a + killer: 24 + - id: c1185eb6a2e7 + killer: 87 + - id: c1317f29f32d + killer: 24 + - id: c16119086a41 + killer: 60 + - id: c1bbb8fb93b5 + killer: 86 + - id: c21d12d36527 + killer: 72 + - id: c2a0fa07c4f6 + killer: 87 + - id: c2c78d13309d + killer: 0 + - id: c2fa8155eba3 + killer: 97 + - id: c303f96a0572 + killer: 60 + - id: c34584f14e5a + killer: 3 + - id: c44776c01fad + killer: 104 + - id: c5d126d0bd27 + killer: 3 + - id: c69e21c412ea + killer: 51 + - id: c6fb788311e0 + killer: 0 + - id: c7759a85ef9c + killer: 76 + - id: c82edccebbfc + killer: 0 + - id: c83f080bfd52 + killer: 0 + - id: c887b6238126 + killer: 74 + - id: c94969370c34 + killer: 103 + - id: c98054fc3172 + killer: 55 + - id: c999a5a4519e + killer: 81 + - id: ca660eed205a + killer: 43 + - id: ca8842064982 + killer: 2 + - id: cab7d7f98714 + killer: 1 + - id: cad90be7a541 + killer: 98 + - id: cae1a5d1f7c3 + killer: 39 + - id: cb05ee2078f1 + killer: 68 + - id: cbd2527b6742 + killer: 73 + - id: cbf5df3864b6 + killer: 0 + - id: cc5fc0206c51 + killer: 61 + - id: cc9265ea4fac + killer: 60 + - id: cc9c6255ad3d + killer: 35 + - id: ccb739020d51 + killer: 86 + - id: cd5de82de8fe + killer: 3 + - id: cdc3905df4a9 + killer: 88 + - id: cdc5255fc077 + killer: 24 + - id: cdf491f6af43 + killer: 40 + - id: ce3b2ba581b4 + killer: 58 + - id: ce5b5179183c + killer: 98 + - id: ceb9485895c5 + killer: 52 + - id: cf44a39d21dd + killer: 98 + - id: d060bb1e9ca7 + killer: 68 + - id: d0c78f298621 + killer: 0 + - id: d239890c78ff + killer: 0 + - id: d24c5719ba3c + killer: 24 + - id: d278ad4933e4 + killer: 46 + - id: d2a4784ad344 + killer: 18 + - id: d2ac2044bd39 + killer: 60 + - id: d36b9bf84809 + killer: 75 + - id: d47b2b1e0363 + killer: 98 + - id: d4eb4ea8c6d2 + killer: 22 + - id: d5ff83fb1dd0 + killer: 93 + - id: d64bf1a999e9 + killer: 1 + - id: d685d3324b69 + killer: 24 + - id: d6ea86ca4e5c + killer: 50 + - id: d6f5dbba36c8 + killer: 23 + - id: d702c1f74744 + killer: 39 + - id: d76f749c9bea + killer: 1 + - id: d863109cc92a + killer: 35 + - id: da46453ef302 + killer: 18 + - id: da63e8cfe752 + killer: 69 + - id: daa6735ac38a + killer: 98 + - id: db9426f93450 + killer: 3 + - id: db9606420262 + killer: 0 + - id: dd06c4f76b98 + killer: 51 + - id: dd10f1a63bad + killer: 83 + - id: dd1f61a5f172 + killer: 52 + - id: dd99de36ce8e + killer: 2 + - id: dd9bbf2546e8 + killer: 98 + - id: ddda9a2187b9 + killer: 24 + - id: de02305c9caa + killer: 24 + - id: de03e541903d + killer: 1 + - id: df3cf957e8e7 + killer: 48 + - id: df5a461a85f6 + killer: 30 + - id: dff1b8964f67 + killer: 98 + - id: e140db63037f + killer: 35 + - id: e1cb4119e4f8 + killer: 24 + - id: e1d3861d5298 + killer: 29 + - id: e2585ab825ad + killer: 48 + - id: e2a0da45d409 + killer: 77 + - id: e3261a76d7a0 + killer: 30 + - id: e40b166e3d42 + killer: 98 + - id: e40cbce5f62f + killer: 0 + - id: e410b77a7475 + killer: 60 + - id: e5cb7a0f1f9a + killer: 39 + - id: e688626fe768 + killer: 1 + - id: e6f882968722 + killer: 84 + - id: e75b7afb0bb9 + killer: 24 + - id: e7d832c716e7 + killer: 39 + - id: e8119abb28b0 + killer: 24 + - id: e8140850b7d6 + killer: 18 + - id: e82b96d8a3bf + killer: 0 + - id: e83c327edf26 + killer: 10 + - id: e918e1a1101c + killer: 74 + - id: e92175ad1574 + killer: 40 + - id: e996843c8a7b + killer: 1 + - id: ea2c06e998a7 + killer: 40 + - id: ea3818c3abf4 + killer: 98 + - id: eae7f9492673 + killer: 39 + - id: eb2e3b7e911e + killer: 0 + - id: eb4ff3175a02 + killer: 0 + - id: ebd20a5ebd2e + killer: 66 + - id: ec26c19dc76f + killer: 18 + - id: ec3eb753c63a + killer: 26 + - id: ec64a2ce0e52 + killer: 68 + - id: ec9a0c6f79c5 + killer: 0 + - id: eccc13d70869 + killer: 82 + - id: ecd056ccc079 + killer: 9 + - id: ece01e66b49f + killer: 60 + - id: ee0df5c79f5d + killer: 0 + - id: ee4567cd4726 + killer: 52 + - id: ee6ca971d96c + killer: 96 + - id: ef337ef8205a + killer: 60 + - id: ef469c9170e1 + killer: 29 + - id: f035bc775db1 + killer: 44 + - id: f0e5da872a87 + killer: 6 + - id: f0f1d7f05a91 + killer: 60 + - id: f1c8fc5df51d + killer: 35 + - id: f21e5117ae07 + killer: 40 + - id: f277b3b14d65 + killer: 57 + - id: f28d83d374f0 + killer: 24 + - id: f2f040cd9b23 + killer: 66 + - id: f4eacd416794 + killer: 8 + - id: f4fa8a083237 + killer: 82 + - id: f5d82f7c8989 + killer: 3 + - id: f612aa0a2ab8 + killer: 0 + - id: f640131c3081 + killer: 1 + - id: f678ed84fff3 + killer: 84 + - id: f6a55dc8c286 + killer: 0 + - id: f6c41a9c2159 + killer: 1 + - id: f6e4a68f1f74 + killer: 64 + - id: f72a1c3e82ea + killer: 1 + - id: f733b0aaff48 + killer: 40 + - id: f77d4307db5e + killer: 22 + - id: f7d4da34d41e + killer: 24 + - id: f823f71f6551 + killer: 99 + - id: f8bbafa35c5e + killer: 60 + - id: f91fc889fba1 + killer: 99 + - id: fa06f9f81a50 + killer: 98 + - id: fa62f137590e + killer: 54 + - id: fa79327a53dc + killer: 0 + - id: fb4d4f904205 + killer: 0 + - id: fbadd2a77ce7 + killer: 32 + - id: fc4976b8751d + killer: 30 + - id: fc8b188b010c + killer: 1 + - id: fce74f520070 + killer: 1 + - id: fd3ea1b679b6 + killer: 29 + - id: fd4816d50f79 + killer: 8 + - id: fd81e9fdfc53 + killer: 70 + - id: fdbeccb9f966 + killer: 3 + - id: fe2c3ce6fcf1 + killer: 105 + - id: ffc00305d653 + killer: 60 + - id: ffc403952c11 + killer: 21 + - id: ffec80215d6c + killer: 35 +- path: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_callee_path_not_ending_in_default_is_refused + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_bound_also_names_its_parameter_as_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_repeating_an_inline_bound_is_not_reported_twice + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::associated_item_attrs_read_macros_and_fall_back_for_verbatim_tokens + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::empty_or_non_default_segments_are_refused + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::item_attrs_reads_every_recognized_item_kind_and_falls_back_for_the_rest + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::name_of_reads_through_a_parenthesized_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::name_of_reads_through_an_invisible_group + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::payload_name_handles_non_path_types_bare_paths_and_non_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + mutants: + - id: 02c0525816ee + killer: 9 + - id: 0356b2958a6e + killer: 16 + - id: 04a06bca9606 + killer: 35 + - id: 068a3d02c5c8 + killer: 27 + - id: 090465fd298a + killer: 18 + - id: 09ab55eb82cd + killer: 14 + - id: 0aa7d1918bab + killer: 6 + - id: 0acf451e1d8f + killer: 2 + - id: 0ae95da8c1cb + killer: 8 + - id: 0b55902de160 + killer: 4 + - id: 0c19b88018da + killer: 9 + - id: 0db42ace9e79 + killer: 8 + - id: 0e84618bf522 + killer: 7 + - id: 0fcf63c8e061 + killer: 3 + - id: 108ff1e01d12 + killer: 7 + - id: 111128688e86 + killer: 11 + - id: 130ab43167ab + killer: 9 + - id: 16b18b0031ed + killer: 11 + - id: 16cfd58247af + killer: 7 + - id: 1708d3ee57e7 + killer: 21 + - id: 18799ecc3667 + killer: 2 + - id: 188ba33b1030 + killer: 2 + - id: 18bc57f22c1b + killer: 21 + - id: 19860bc04bb2 + killer: 6 + - id: 1a5817c2474b + killer: 9 + - id: 1a64ccbee2f0 + killer: 11 + - id: 1eab7bec07a9 + killer: 3 + - id: 20642830beb9 + killer: 9 + - id: 206ce5a26d6f + killer: 11 + - id: 20efd10b6bc1 + killer: 7 + - id: 22816aecce6c + killer: 8 + - id: 246f5520fa49 + killer: 14 + - id: 253029fd7d8b + killer: 19 + - id: 25d5fcfe2fad + killer: 3 + - id: 26453748be78 + killer: 16 + - id: 2780cfe93cdc + killer: 9 + - id: 27e29b8d4823 + killer: 9 + - id: 28f16db43240 + killer: 3 + - id: 299043e92f60 + killer: 27 + - id: 2a45dab54f81 + killer: 4 + - id: 2b967dd4cb08 + killer: 18 + - id: 2cc908849aa5 + killer: 3 + - id: 2d56b88ed414 + killer: 24 + - id: 2d7e4734ba11 + killer: 7 + - id: 2e9df755d4fe + killer: 7 + - id: 326cfd7cf06e + killer: 11 + - id: 34386dc94eb9 + killer: 11 + - id: 35a10b48436b + killer: 9 + - id: 35ca655573e0 + killer: 8 + - id: 35e7c8120b13 + killer: 23 + - id: 3763cb5b4f2f + killer: 22 + - id: 383d3662c17b + killer: 11 + - id: 388c02a9be6a + killer: 7 + - id: 391640d0f95f + killer: 4 + - id: 3b9aa83a783b + killer: 30 + - id: 3d6ad041acc6 + killer: 9 + - id: 3e5ccef66527 + killer: 8 + - id: 42366305b97c + killer: 15 + - id: 43c3891a9e29 + killer: 30 + - id: 4570d62c9d3e + killer: 24 + - id: 4731c4254fc8 + killer: 9 + - id: 4767c93e1041 + killer: 8 + - id: 484760b73f27 + killer: 9 + - id: 48df760c80c3 + killer: 24 + - id: 48fb834fd7b8 + killer: 22 + - id: 4bf11e6ba929 + killer: 26 + - id: 4e6c46ebb255 + killer: 2 + - id: 503371e23d1b + killer: 20 + - id: 5196c594147d + killer: 6 + - id: 5238de74aa10 + killer: 18 + - id: 528e787e7a5a + killer: 8 + - id: 536a657c6af2 + killer: 4 + - id: 543da6c8c415 + killer: 8 + - id: 5519077d0d30 + killer: 7 + - id: 5669a4666ed0 + killer: 3 + - id: 57595123fd96 + killer: 9 + - id: 582d88ecd603 + killer: 20 + - id: 59080fe32c41 + killer: 8 + - id: 59245346e06c + killer: 9 + - id: 59406ae036c5 + killer: 31 + - id: 5ac1baea3309 + killer: 34 + - id: 5af8ab7fa3c3 + killer: 9 + - id: 5bd7ffae2402 + killer: 11 + - id: 5bec3662d932 + killer: 20 + - id: 5d976f3975a9 + killer: 7 + - id: 6099bf295658 + killer: 16 + - id: 60adac95d812 + killer: 20 + - id: 628e2b2391da + killer: 7 + - id: 62d227bfc205 + killer: 6 + - id: 659529baea3b + killer: 18 + - id: 6606fd3fb34d + killer: 9 + - id: 6683410c5337 + killer: 7 + - id: 66921cf7edef + killer: 4 + - id: 6702f9128681 + killer: 7 + - id: 67665d882765 + killer: 20 + - id: 6ae5c8824d66 + killer: 5 + - id: 6baf55da229e + killer: 9 + - id: 6e16dc047bc4 + killer: 3 + - id: 71a5a3bfeb10 + killer: 9 + - id: 71d073cf5afe + killer: 8 + - id: 76a2e0bf374d + killer: 4 + - id: 770ae8d2ed02 + killer: 32 + - id: 7724ac290205 + killer: 16 + - id: 77557456d335 + killer: 24 + - id: 78bd54336100 + killer: 18 + - id: 7925ff9cd850 + killer: 4 + - id: 799d7ff7ea3c + killer: 6 + - id: 7b9f290198b1 + killer: 9 + - id: 7e1a3d06056c + killer: 25 + - id: 7fedba8bd3bb + killer: 3 + - id: 80353550dc6b + killer: 7 + - id: 82599cbd81cb + killer: 8 + - id: 82df8c596d4f + killer: 3 + - id: 84e0f4cf1e52 + killer: 3 + - id: 85caab7acfe7 + killer: 9 + - id: 85f92906c081 + killer: 4 + - id: 8912d4e455a1 + killer: 4 + - id: 891ad403f7cb + killer: 28 + - id: 892bfd4d0c37 + killer: 8 + - id: 8a2ba345d46a + killer: 9 + - id: 8ad712cfc379 + killer: 11 + - id: 8aea998edaa6 + killer: 11 + - id: 8b1f6d2198cf + killer: 9 + - id: 8b611224e346 + killer: 7 + - id: 8cb80e1ab5ea + killer: 9 + - id: 8d04ac852921 + killer: 1 + - id: 8ed4ff35a368 + killer: 2 + - id: 8eede0601349 + killer: 22 + - id: 8ff184fa6e2b + killer: 11 + - id: 9109b62e299e + killer: 3 + - id: 916680126f7e + killer: 11 + - id: 91aa354b4022 + killer: 26 + - id: 92618653a08b + killer: 9 + - id: 927755fc3eea + killer: 2 + - id: 95879e65ddac + killer: 17 + - id: 95fa6d263021 + killer: 0 + - id: 96192d23a654 + killer: 24 + - id: 972f811168c8 + killer: 26 + - id: 97b7896823b6 + killer: 7 + - id: 9822fc6d47d9 + killer: 9 + - id: 98e4bb505eb3 + killer: 14 + - id: 98ef317d62cd + killer: 9 + - id: 9aa529bb7aa1 + killer: 2 + - id: 9b3120ad39c9 + killer: 23 + - id: 9baebe7b0812 + killer: 3 + - id: 9c5311685be3 + killer: 2 + - id: 9ccbef3fce0f + killer: 9 + - id: 9e5713645cef + killer: 24 + - id: 9f2f636fde39 + killer: 26 + - id: a08495cd775e + killer: 9 + - id: a0e8d90727a0 + killer: 9 + - id: a1894452d94a + killer: 32 + - id: a26fb8443ce7 + killer: 24 + - id: a5381bc08541 + killer: 9 + - id: a5996d67b14f + killer: 3 + - id: a70f110b46e2 + killer: 4 + - id: a72caa67823e + killer: 3 + - id: a82beb1cde0b + killer: 3 + - id: a994ba77ba36 + killer: 3 + - id: a9e289e3cded + killer: 7 + - id: aa9754e8655b + killer: 11 + - id: ab0e5f5b2ed0 + killer: 8 + - id: ab7e26b45b77 + killer: 13 + - id: ace8de3cc772 + killer: 24 + - id: b09c82fb8313 + killer: 9 + - id: b1f3700b73fb + killer: 24 + - id: b2bb7c81383d + killer: 29 + - id: b2ea14511973 + killer: 7 + - id: b35652a4edb3 + killer: 4 + - id: b4e72fc95b77 + killer: 6 + - id: b6f56c30617f + killer: 33 + - id: b8545fe1c2f4 + killer: 8 + - id: b8631fe52911 + killer: 4 + - id: b881413fa7f9 + killer: 6 + - id: bcf23084ac62 + killer: 9 + - id: bf53079be607 + killer: 6 + - id: c1128864b62e + killer: 9 + - id: c2be799803d8 + killer: 8 + - id: c3286b96a793 + killer: 2 + - id: c5cbb5a6d157 + killer: 0 + - id: c6ae0c903fd6 + killer: 9 + - id: c713a0c10a78 + killer: 31 + - id: c9d41bd197dd + killer: 4 + - id: cbce3b4e048c + killer: 11 + - id: cd2a5d33bc8e + killer: 3 + - id: ce4812b4188d + killer: 16 + - id: d1483245a76c + killer: 7 + - id: d227a2d0c1fa + killer: 7 + - id: d28f98138bf8 + killer: 9 + - id: d30c25aba35d + killer: 27 + - id: d31910a9aa7c + killer: 2 + - id: d4925d574375 + killer: 7 + - id: d5e594da9687 + killer: 3 + - id: d7bc69f61d60 + killer: 9 + - id: d93a6d7457cd + killer: 2 + - id: de1bd3c702f6 + killer: 9 + - id: df132428a277 + killer: 4 + - id: dfc9e2b9fa69 + killer: 4 + - id: e0999947b8c1 + killer: 9 + - id: e1018462da04 + killer: 30 + - id: e2f3965c8fd5 + killer: 8 + - id: e39cc74019f8 + killer: 27 + - id: e3cc9c7bcd0a + killer: 3 + - id: e4918c15c8ff + killer: 4 + - id: e538024e9893 + killer: 8 + - id: e5bd5ec30c90 + killer: 18 + - id: e5c93f8272fe + killer: 10 + - id: e678215b54d2 + killer: 7 + - id: e6e8ae679cdd + killer: 11 + - id: e8472308c0e5 + killer: 8 + - id: e8b9684666a0 + killer: 32 + - id: e91f55978998 + killer: 18 + - id: e9c7e5b610a5 + killer: 3 + - id: edc1c0186e74 + killer: 4 + - id: edf44834b294 + killer: 26 + - id: efb6cc291700 + killer: 22 + - id: f15b21af5aaf + killer: 18 + - id: f260e323c302 + killer: 3 + - id: f36f13dd9aeb + killer: 9 + - id: f3c91928887e + killer: 3 + - id: f41a46529eac + killer: 11 + - id: f47d893be38a + killer: 24 + - id: f491a357f93c + killer: 3 + - id: f52a58d3832d + killer: 27 + - id: f7e179945f17 + killer: 9 + - id: f7ff092b716d + killer: 12 + - id: f801e3ff9416 + killer: 7 + - id: f907ea2e7f01 + killer: 21 + - id: fa8c690d0c4c + killer: 7 + - id: fba4785b9db9 + killer: 33 + - id: fcece1b5b34b + killer: 9 + - id: fde1dc44d9af + killer: 7 + - id: fe6012f910bb + killer: 15 + - id: febe9bfca068 + killer: 3 +- path: crates/cargo-gamma-engine/src/ops/collect/definitions.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + mutants: + - id: 13cbf200b112 + killer: 0 + - id: 2ae2613a92c2 + killer: 1 + - id: 61b59b9f43b9 + killer: 0 + - id: 7832cc689451 + killer: 0 + - id: 7f2690127b39 + killer: 1 + - id: 830b659d93d5 + killer: 2 + - id: 86e5250f5f93 + killer: 2 + - id: 8ed907de57f0 + killer: 2 + - id: e36d2ee20d8b + killer: 0 + - id: ed1ce772a890 + killer: 0 +- path: crates/cargo-gamma-engine/src/ops/collect/stated.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_file_with_no_stated_values_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_inside_a_function_may_state_its_own_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_stated_value_has_no_range + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_one_token_expression_is_read_whole + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_item_that_states_nothing_has_no_range + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + mutants: + - id: 01332272e77e + killer: 0 + - id: 0d240dda3b57 + killer: 0 + - id: 1504caac13a8 + killer: 0 + - id: 15cf7644cfdb + killer: 0 + - id: 177f099abea2 + killer: 5 + - id: 1ba19ed84897 + killer: 9 + - id: 21b49be4d35f + killer: 0 + - id: 33a9f8467f20 + killer: 6 + - id: 37aa9c26ce63 + killer: 8 + - id: 381388cf6a01 + killer: 9 + - id: 3c6e9172bb27 + killer: 0 + - id: 3fde9064a272 + killer: 0 + - id: 4809f92b7517 + killer: 2 + - id: 490b3bde257a + killer: 10 + - id: 4b2e053e1cfc + killer: 9 + - id: 4cd679825782 + killer: 0 + - id: 5727499d9cb7 + killer: 11 + - id: 621fde767b07 + killer: 0 + - id: 623f0172d712 + killer: 6 + - id: 635a61985f5a + killer: 0 + - id: 6c2870a8da35 + killer: 0 + - id: 6c78992b91e9 + killer: 9 + - id: 6cc61858b9fc + killer: 4 + - id: 6d12f24f5db5 + killer: 0 + - id: 6eb82ec7621c + killer: 7 + - id: 75ea173cc294 + killer: 0 + - id: 774151ae5b17 + killer: 0 + - id: 78014b86ba38 + killer: 1 + - id: 7c144939e1e7 + killer: 0 + - id: 7c6865169806 + killer: 0 + - id: 83406b9e683a + killer: 6 + - id: 85388a4120d6 + killer: 1 + - id: 8ba4950ce6a8 + killer: 3 + - id: 99a36a5fc6ac + killer: 0 + - id: 9abda25a2653 + killer: 12 + - id: 9afd378538e5 + killer: 0 + - id: 9bf8184a0ffc + killer: 1 + - id: 9f85df229d25 + killer: 2 + - id: 9f9280ebfc56 + killer: 9 + - id: a19ad348265c + killer: 0 + - id: a1fd2027ea58 + killer: 6 + - id: a5a291a3b734 + killer: 2 + - id: b56685aec9f9 + killer: 7 + - id: b6e94ebfa9d2 + killer: 1 + - id: bd8794623108 + killer: 7 + - id: bfd057d21a2a + killer: 5 + - id: c1c93116091a + killer: 4 + - id: c67a4281704b + killer: 7 + - id: c81a2a948469 + killer: 9 + - id: cd41fd5362c5 + killer: 0 + - id: d6931952b93b + killer: 12 + - id: dfab12a20742 + killer: 7 + - id: e32ca2a5dd92 + killer: 0 + - id: e4633442fa08 + killer: 9 + - id: e6ac4a3278be + killer: 0 + - id: eed603145549 + killer: 4 + - id: f2efe4206660 + killer: 3 + - id: f448e673416e + killer: 3 + - id: fa6e64fd9030 + killer: 0 +- path: crates/cargo-gamma-engine/src/ops/collect/traversal.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + mutants: + - id: 3a072275668d + killer: 0 + - id: 4d07b8988894 + killer: 2 + - id: 5685e6de72a0 + killer: 0 + - id: 751466d6b845 + killer: 0 + - id: d3bd2671993b + killer: 3 + - id: d973e28f1783 + killer: 1 + - id: e6ada9f5f6eb + killer: 0 +- path: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_of_only_types_yields_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::lookup::tests::a_close_unknown_selector_offers_a_spelling_suggestion + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::lookup::tests::a_distant_unknown_selector_falls_back_to_the_registry_hint + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::default_and_pedantic_presets_partition_everything + mutants: + - id: 029e5bfc1d6b + killer: 3 + - id: 128f4cba2589 + killer: 1 + - id: 15f2dde5e440 + killer: 6 + - id: 348a45fdb4e1 + killer: 5 + - id: 3ca279183121 + killer: 5 + - id: 45423ed87759 + killer: 3 + - id: 4a4c8c948ec2 + killer: 2 + - id: 76fdfe049541 + killer: 0 + - id: 7abb2ee54cfc + killer: 0 + - id: 7e8c2714da89 + killer: 5 + - id: 7fdcf1841b13 + killer: 2 + - id: 808e4c1fe2b8 + killer: 5 + - id: 82cf0b252e48 + killer: 5 + - id: 8a13cd2b3160 + killer: 3 + - id: 8a9aaa1c464f + killer: 1 + - id: 8bc597d6caa9 + killer: 0 + - id: 8c14a9f8c8a0 + killer: 0 + - id: 9baedfbf09e0 + killer: 5 + - id: a9d46d918a11 + killer: 5 + - id: af2e479a092e + killer: 4 + - id: b7165f6c523d + killer: 2 + - id: b765aa9f75ad + killer: 0 + - id: c5d4368e515f + killer: 5 + - id: c6e035f3e173 + killer: 2 + - id: c77090bb9029 + killer: 5 + - id: ccb27833f5e0 + killer: 5 + - id: cd379c68a50a + killer: 7 + - id: cf6cc4155f1d + killer: 5 + - id: d55060766643 + killer: 5 + - id: da20ba28cd1d + killer: 1 + - id: ef27b4c35e36 + killer: 5 + - id: f095b950f087 + killer: 5 + - id: f55eea445861 + killer: 5 + - id: f7926f22c288 + killer: 5 + - id: fa0b40bfc689 + killer: 5 +- path: crates/cargo-gamma-engine/src/ops/registry/selection.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::an_empty_error_list_does_not_enable_the_error_mutator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::any_in_family_gates_on_the_selected_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::caller_supplied_error_values_toggle_the_error_mutator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::default_and_pedantic_presets_partition_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::negation_carves_out_of_a_preset + mutants: + - id: 2d7ef0d98c6a + killer: 1 + - id: 32ef681961a3 + killer: 0 + - id: 3ba76ece541b + killer: 2 + - id: 424c7db167d1 + killer: 5 + - id: 43cda7c93c65 + killer: 9 + - id: 4513f6a1273f + killer: 0 + - id: 49c979d64ba8 + killer: 10 + - id: 50858e82230c + killer: 7 + - id: 54b1a1811415 + killer: 0 + - id: 5a872210ae95 + killer: 0 + - id: 6966d5722f30 + killer: 9 + - id: 719f843c09e0 + killer: 9 + - id: 72632924ecce + killer: 0 + - id: 7387d53166d9 + killer: 5 + - id: 7fca62f25d55 + killer: 4 + - id: 83b2f5646161 + killer: 4 + - id: 87eef068738f + killer: 4 + - id: 8e159caa0f51 + killer: 1 + - id: aa8ce70a19e5 + killer: 4 + - id: b6a350876eb0 + killer: 9 + - id: c02c80e834e4 + killer: 3 + - id: c3445d79edd0 + killer: 6 + - id: cd269c59c01a + killer: 4 + - id: d74e422b330c + killer: 1 + - id: d81f034db8a0 + killer: 8 + - id: e3520e2b7d5b + killer: 0 + - id: f9c4eb210e6b + killer: 6 + - id: faf7abc0ac64 + killer: 4 +- path: crates/cargo-gamma-engine/src/parse/comment.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::line_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::doc_comments_are_not_string_literals + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::arbitrary_text_is_scanned_into_spans_that_exist + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_literal_does_not_confuse_the_scanner + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_block_comment_stops_at_end_of_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_literal_stays_inside_the_text + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_comments_nest + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::doc_comments_are_distinguished_from_directive_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::invalid_raw_string_prefix_consumes_only_the_r + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::known_comments_satisfy_the_fuzz_scan_invariants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::line_comments_are_found_and_stripped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::spans_point_at_the_comment_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::unterminated_strings_and_raw_strings_stop_at_end_of_file + mutants: + - id: 001c749a0c27 + killer: 18 + - id: 0126b55f4c13 + killer: 3 + - id: 01ac585fb22e + killer: 12 + - id: 01f0feeb96da + killer: 16 + - id: 01f4abee7e64 + killer: 3 + - id: 031ac77908ca + killer: 16 + - id: 032415969815 + killer: 8 + - id: 0412f36b3601 + killer: 16 + - id: 042816e2e183 + killer: 3 + - id: 04dd5a277bea + killer: 24 + - id: 04f80f910f31 + killer: 22 + - id: 07258833be89 + killer: 12 + - id: 0726fd862780 + killer: 6 + - id: 07dd5874763e + killer: 5 + - id: 08a6408fa919 + killer: 12 + - id: 08a827f4802d + killer: 18 + - id: 08e9c01cd960 + killer: 10 + - id: 0a177115649f + killer: 12 + - id: 0b8380a2e67d + killer: 22 + - id: 0cfbfd57054f + killer: 5 + - id: 10709260fe49 + killer: 22 + - id: 12b55b350ecf + killer: 12 + - id: 13429a1998e4 + killer: 23 + - id: 1395d1b9ec6f + killer: 6 + - id: 1451a961026e + killer: 6 + - id: 15d8d2890de5 + killer: 10 + - id: 15f19d42cbcb + killer: 18 + - id: '176964879404' + killer: 14 + - id: 17ad134806c5 + killer: 23 + - id: 1986cf04f9a4 + killer: 5 + - id: 1a6b26106db2 + killer: 17 + - id: 1ab7a224cede + killer: 20 + - id: 1cb9ff471e88 + killer: 6 + - id: 1d1de7d5517a + killer: 3 + - id: 1d985ec87e48 + killer: 12 + - id: 1e0009867f33 + killer: 18 + - id: 1e1f4de8f1b0 + killer: 6 + - id: 1e1f67b41caf + killer: 12 + - id: 1fa4729a3943 + killer: 6 + - id: 1fa6de56727e + killer: 12 + - id: 204a33716bf3 + killer: 3 + - id: 2207df015b44 + killer: 20 + - id: 221e05e45f1f + killer: 16 + - id: 2406814e3a44 + killer: 18 + - id: 24075c9dcf8a + killer: 10 + - id: 2528b0cc4b5e + killer: 3 + - id: 253958ad05ec + killer: 16 + - id: 257ed7b6408a + killer: 22 + - id: '260778344539' + killer: 16 + - id: 262d0b24d40b + killer: 5 + - id: 2680b14d8825 + killer: 11 + - id: 2725a3b63529 + killer: 6 + - id: 29762a6c9282 + killer: 6 + - id: 2be8b8359aff + killer: 3 + - id: 2cbf0cd1957d + killer: 16 + - id: 2ceeb51f641d + killer: 22 + - id: 2da693b5d9d6 + killer: 12 + - id: 2da9eaf260f1 + killer: 22 + - id: 2e1e3da3f421 + killer: 12 + - id: 2e2e5daad36f + killer: 22 + - id: 2f8c1afcd4cc + killer: 11 + - id: 3040ea6cdfb4 + killer: 10 + - id: 30e47ea51f30 + killer: 3 + - id: 315e6f1e84cc + killer: 3 + - id: 324356d05195 + killer: 12 + - id: 32d3448046dd + killer: 3 + - id: 32d6207743c8 + killer: 18 + - id: 32eb0e87db3b + killer: 3 + - id: 32ecf4062bc9 + killer: 24 + - id: 37a07899b76f + killer: 13 + - id: 37ff25ad6d77 + killer: 16 + - id: 38e360ace283 + killer: 3 + - id: 38e9fc3286fb + killer: 5 + - id: 391ba3e6b002 + killer: 6 + - id: 3a504fdf5fcf + killer: 7 + - id: 3a7708e2afd1 + killer: 18 + - id: 3ae857811850 + killer: 5 + - id: 3b571751f6cd + killer: 22 + - id: 3c27c3cf84c6 + killer: 22 + - id: 3d4190ced44c + killer: 3 + - id: 3d86e935c6ea + killer: 3 + - id: 3de42338013f + killer: 10 + - id: 3ef46020deb6 + killer: 6 + - id: 3eff60ff9f00 + killer: 24 + - id: 3fea08953178 + killer: 10 + - id: 3fef1dd859bb + killer: 6 + - id: 404825c68f78 + killer: 16 + - id: 40958b565bd0 + killer: 12 + - id: 4116aaa4301a + killer: 0 + - id: 417c24683350 + killer: 1 + - id: 43360ae2930b + killer: 3 + - id: 435bad1631a6 + killer: 6 + - id: 43b35f212d4a + killer: 3 + - id: 43b94c205253 + killer: 17 + - id: 440479861c43 + killer: 18 + - id: 4448b94c03c5 + killer: 19 + - id: 449b4f3428f8 + killer: 22 + - id: 458b63f18e19 + killer: 12 + - id: 45c4c9bfc6be + killer: 18 + - id: 45d962c0ab1b + killer: 3 + - id: 46d9bfafbc6b + killer: 15 + - id: 47bc1d475f79 + killer: 19 + - id: 47c975d62140 + killer: 6 + - id: 4933f67e786a + killer: 11 + - id: 4a04bde8ea45 + killer: 11 + - id: 4a225236881b + killer: 18 + - id: 4b3a79d0a827 + killer: 12 + - id: 4b8cdb9025bc + killer: 16 + - id: 4c4e0dc532af + killer: 22 + - id: 4dfab963b787 + killer: 21 + - id: 4e59487e1da2 + killer: 12 + - id: 4eb41a0699bf + killer: 15 + - id: 503d22a9e9a2 + killer: 19 + - id: 50bcc26cfcae + killer: 12 + - id: 512d32da79ca + killer: 3 + - id: 512de0bd38e3 + killer: 22 + - id: 51c344c04922 + killer: 3 + - id: 53441fb0d49e + killer: 15 + - id: 5445ac823db7 + killer: 12 + - id: 560c281b76a5 + killer: 10 + - id: 56e6d965c500 + killer: 6 + - id: 5833bf2e7393 + killer: 22 + - id: 59281084685b + killer: 6 + - id: 5ac25000e405 + killer: 6 + - id: 5b732d8d37d3 + killer: 12 + - id: 5b772e3d1882 + killer: 16 + - id: 5b890d70af34 + killer: 18 + - id: 5b928d980af5 + killer: 10 + - id: 5bc48194fb50 + killer: 3 + - id: 5c4dc87b4894 + killer: 13 + - id: 5c59737e1ed7 + killer: 22 + - id: 5d1558321e14 + killer: 15 + - id: 5f80dc57a99e + killer: 10 + - id: 5fd17ff510b0 + killer: 12 + - id: 612c39fdb1d6 + killer: 6 + - id: 61db02fb8b09 + killer: 12 + - id: 62507ec548b9 + killer: 3 + - id: 627484e049e7 + killer: 22 + - id: 6318b131a71e + killer: 11 + - id: 63199a5df1c1 + killer: 22 + - id: 638eef27e946 + killer: 11 + - id: 639ff855f384 + killer: 12 + - id: 645f705e6319 + killer: 6 + - id: 6499d42285fe + killer: 19 + - id: 649a0631cb89 + killer: 6 + - id: 674a4d36af84 + killer: 6 + - id: 68e680385d1d + killer: 3 + - id: 69afebb5e785 + killer: 12 + - id: 6ae14ad173d8 + killer: 3 + - id: 6b992938411e + killer: 11 + - id: 6c1236d13d14 + killer: 18 + - id: 6c5b8b51d947 + killer: 15 + - id: 6d9c2778727b + killer: 15 + - id: 6de97b9ac1f3 + killer: 3 + - id: 6decbb1d6f3e + killer: 19 + - id: 6e821d57de24 + killer: 13 + - id: 6fbc62344c23 + killer: 3 + - id: 7078745e9172 + killer: 3 + - id: 70f7936904c2 + killer: 16 + - id: 737c65c0d0b8 + killer: 3 + - id: 7464ba2ea16e + killer: 18 + - id: 76342ca1a71c + killer: 22 + - id: 778d42f1bc03 + killer: 5 + - id: 77b616efb959 + killer: 3 + - id: 780c5387c960 + killer: 16 + - id: 782e26930489 + killer: 5 + - id: 78443344c24a + killer: 3 + - id: 797d487017ab + killer: 6 + - id: 79b0cb5885e4 + killer: 3 + - id: 7ab81ed56b0d + killer: 1 + - id: 7c3a92e1cc2d + killer: 19 + - id: 7c5cc0b96093 + killer: 18 + - id: 7d6d89adf23c + killer: 0 + - id: 7ddc2d6aeea9 + killer: 22 + - id: 7e43f3909460 + killer: 11 + - id: 7fa822296348 + killer: 22 + - id: 8026ca61462f + killer: 22 + - id: 80a72d56121a + killer: 6 + - id: 81cc8596ccc6 + killer: 16 + - id: 8323e9fdfd2a + killer: 24 + - id: 835ee21c7bfb + killer: 10 + - id: 83743b47d304 + killer: 3 + - id: 84315ffcb7f5 + killer: 15 + - id: 84768c66f55a + killer: 15 + - id: 850b591a603d + killer: 5 + - id: 85372dd3893c + killer: 5 + - id: '860818786693' + killer: 3 + - id: 8786dd7e9057 + killer: 12 + - id: 8858b00655af + killer: 10 + - id: 8878b861c6dd + killer: 5 + - id: 8886d5e4c981 + killer: 22 + - id: 8a7d7d8b5162 + killer: 5 + - id: 8b81781f43fa + killer: 0 + - id: 8cd7435b52f2 + killer: 16 + - id: 8e53d86e1fd0 + killer: 12 + - id: 8e6d117cc5ee + killer: 22 + - id: 8eba33acaf56 + killer: 3 + - id: 8f8daf8eccc3 + killer: 3 + - id: 8fcd5aca5548 + killer: 3 + - id: 90941496d553 + killer: 6 + - id: 921608e58bde + killer: 20 + - id: 92285df2cc39 + killer: 15 + - id: 94aabb7592df + killer: 3 + - id: 9578ec64b3ee + killer: 15 + - id: 95a3e6ea0241 + killer: 23 + - id: 96a76763b1bb + killer: 6 + - id: 978a1ae64791 + killer: 12 + - id: 97e8353f1ede + killer: 5 + - id: 981025f18b11 + killer: 9 + - id: 988ba409f5de + killer: 24 + - id: 9ab0971b3ece + killer: 3 + - id: 9ac5e25d53f9 + killer: 15 + - id: 9b143ae86c35 + killer: 8 + - id: 9c229a9f6d93 + killer: 12 + - id: 9c338f65db70 + killer: 6 + - id: 9c9375317ccf + killer: 6 + - id: 9e27f3eeea57 + killer: 10 + - id: 9eabc998cd00 + killer: 3 + - id: 9ec39211858a + killer: 12 + - id: 9f0838327c33 + killer: 11 + - id: a0f0d6953076 + killer: 1 + - id: a16f1a2262ff + killer: 3 + - id: a2a7abf4a01b + killer: 16 + - id: a2b944e73110 + killer: 3 + - id: a446357bc2d3 + killer: 3 + - id: a4589fb99730 + killer: 10 + - id: a48b71dd5f61 + killer: 16 + - id: a60ad21b8c4d + killer: 18 + - id: a622592b1914 + killer: 16 + - id: a72cdaf8d412 + killer: 18 + - id: a86ba18c5ebf + killer: 3 + - id: a8e8d211013c + killer: 10 + - id: a9ae87bdac82 + killer: 5 + - id: a9e8800d7c97 + killer: 18 + - id: aa39c1c5b73f + killer: 3 + - id: aaee32fe3535 + killer: 22 + - id: aca2f1cca533 + killer: 12 + - id: ad5bf4157c24 + killer: 5 + - id: ae109f0484c4 + killer: 0 + - id: afae2da8ebe1 + killer: 3 + - id: afb2dbfa703c + killer: 12 + - id: b1ee71f0f053 + killer: 19 + - id: b20fa7eac027 + killer: 12 + - id: b23c9e86dc25 + killer: 3 + - id: b2ab2d3c2eac + killer: 22 + - id: b2c819868f7a + killer: 4 + - id: b3ff913326f2 + killer: 3 + - id: b415f8bcd780 + killer: 3 + - id: b494103d63ad + killer: 8 + - id: b4d9faff36d9 + killer: 6 + - id: b586554ec252 + killer: 22 + - id: b6546813e87e + killer: 3 + - id: b7d31f37850b + killer: 13 + - id: ba306ebca896 + killer: 22 + - id: ba40ba3e28d8 + killer: 0 + - id: ba4b45bdc0dc + killer: 15 + - id: ba9c53d8170b + killer: 22 + - id: bab937accfd1 + killer: 22 + - id: bb5fab7fd7a7 + killer: 6 + - id: bb8fa980e696 + killer: 12 + - id: bbdbf343bb1b + killer: 3 + - id: bc27e649b10e + killer: 22 + - id: bc81ac8bb69d + killer: 3 + - id: bd544c1945ac + killer: 16 + - id: bd64bceb080a + killer: 3 + - id: bd7cfb5cec2a + killer: 6 + - id: be8d107c4b02 + killer: 10 + - id: bea019a0ec83 + killer: 18 + - id: c008cacd563d + killer: 3 + - id: c04d75cf46af + killer: 16 + - id: c09d738f5578 + killer: 6 + - id: c16d31fb0a73 + killer: 5 + - id: c259402e8cc2 + killer: 0 + - id: c26ceb3a6d28 + killer: 3 + - id: c27946e65931 + killer: 15 + - id: c36765b06379 + killer: 3 + - id: c371f91c1c1d + killer: 5 + - id: c38764dea090 + killer: 12 + - id: ca15d55fa54e + killer: 3 + - id: ca88de6c3e65 + killer: 5 + - id: cadb2ffb130f + killer: 18 + - id: cb14a82229de + killer: 22 + - id: cdd0f9dc8330 + killer: 5 + - id: cdecaea58ff4 + killer: 3 + - id: cfb06cac3428 + killer: 3 + - id: cfbf93402216 + killer: 12 + - id: cfe83fba9b0d + killer: 3 + - id: d18e5a19503b + killer: 3 + - id: d20aaeb07e3f + killer: 3 + - id: d28861ef3728 + killer: 3 + - id: d391d9c4686b + killer: 6 + - id: d42e4ecdc037 + killer: 15 + - id: d454e10cccc9 + killer: 12 + - id: d486ff108382 + killer: 12 + - id: d6efd9c989a8 + killer: 3 + - id: d8119ff01512 + killer: 15 + - id: d838b4867add + killer: 10 + - id: d8c097a0e888 + killer: 3 + - id: d8d9a5468a5e + killer: 3 + - id: d8e74a3c4a88 + killer: 3 + - id: d96dc70cf167 + killer: 16 + - id: da2fbed792ba + killer: 12 + - id: dac85b14b239 + killer: 19 + - id: dc2bad1070dc + killer: 11 + - id: dd634776c60a + killer: 22 + - id: e08609dc15de + killer: 6 + - id: e2d1c113968e + killer: 16 + - id: e2ff607ffc13 + killer: 11 + - id: e4e6ee419657 + killer: 16 + - id: e4f6a0c85af3 + killer: 19 + - id: e59561b43f1e + killer: 3 + - id: e5ad1b1a50b9 + killer: 6 + - id: e5c67a617e61 + killer: 3 + - id: e63fe539c572 + killer: 6 + - id: e74d748abfde + killer: 12 + - id: e77536f14b5a + killer: 10 + - id: e8049943e69b + killer: 22 + - id: e9a89f90b46e + killer: 21 + - id: eac44cd5129c + killer: 18 + - id: eb9d5e2588d0 + killer: 3 + - id: ee5b6c9d9419 + killer: 12 + - id: ee6d7b68cc48 + killer: 19 + - id: ee92cfb475b8 + killer: 10 + - id: f024e5f1c958 + killer: 2 + - id: f0ae2c08c734 + killer: 6 + - id: f0c3d71cddc8 + killer: 22 + - id: f165bdfcc592 + killer: 0 + - id: f27db82b3002 + killer: 12 + - id: f2b1bf50ffe8 + killer: 12 + - id: f54e378f6cd2 + killer: 6 + - id: f570ac83ff43 + killer: 22 + - id: f58249b11959 + killer: 14 + - id: f6b6082789d5 + killer: 7 + - id: f7216e71a78e + killer: 0 + - id: f8a5688ef980 + killer: 12 + - id: f8ae66c2789c + killer: 3 + - id: f93ff5a8dcca + killer: 1 + - id: f9684320d11d + killer: 3 + - id: f98c1bf71cf0 + killer: 16 + - id: fa510b4ae128 + killer: 6 + - id: fc0b1f015d49 + killer: 6 + - id: fc6946aad1ca + killer: 6 + - id: fe8765c74f1e + killer: 24 +- path: crates/cargo-gamma-engine/src/parse/nesting.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_head_is_not_a_bare_identifier_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_name_value_predicate_whose_literal_is_not_a_string_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_file_within_the_limit_reports_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_binary_chain_is_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_cast_chain_is_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_else_if_ladder_is_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_list_of_elements_is_not_a_chain + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_postfix_call_chain_is_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::an_unbalanced_closer_does_not_wrap_the_count + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::blocks_cross_the_limit_without_needing_parentheses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::mixed_method_and_index_links_accumulate_on_one_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::non_ascii_non_identifier_bytes_are_skipped_without_affecting_depth + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::siblings_do_not_accumulate_depth + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::the_reported_offset_is_the_delimiter_that_crossed_the_limit + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + mutants: + - id: 0022c6053d19 + killer: 1 + - id: 0082e158c8a1 + killer: 26 + - id: 00ead44658df + killer: 9 + - id: 042fe8dc044f + killer: 1 + - id: 044322b8d1b6 + killer: 16 + - id: 074ea0933676 + killer: 26 + - id: 08d2ec07dcdb + killer: 5 + - id: 0c09ebd7c729 + killer: 1 + - id: 0c632154be67 + killer: 1 + - id: 0dc104f4277d + killer: 3 + - id: 0edcfa7f5de9 + killer: 0 + - id: 0ee807ea7a7d + killer: 16 + - id: 0f9fa85c0cdc + killer: 18 + - id: 0fb568ffbb3a + killer: 5 + - id: 11c5bf7dee2a + killer: 23 + - id: 13703f5c246c + killer: 8 + - id: 1513692d245f + killer: 16 + - id: 15d3d960dcaa + killer: 17 + - id: 160230e438f9 + killer: 22 + - id: 165bf475a85e + killer: 0 + - id: 1782b5ffcbd1 + killer: 5 + - id: 17eecaed92ea + killer: 17 + - id: 180c7f567028 + killer: 14 + - id: 18f1ae64884a + killer: 5 + - id: 19923c723fab + killer: 18 + - id: 19b543412d47 + killer: 22 + - id: 1b9d818b0f88 + killer: 28 + - id: 1c27ff3b3c50 + killer: 18 + - id: 1de1a3c10faf + killer: 12 + - id: 1f05e248fbb3 + killer: 21 + - id: 1f253fe12d9a + killer: 5 + - id: 20b6c8546b81 + killer: 3 + - id: 23623931ecff + killer: 17 + - id: 23a8f518234a + killer: 14 + - id: 243ee4b351ec + killer: 14 + - id: 2466ca7389e3 + killer: 1 + - id: 24b3c10359db + killer: 3 + - id: 24b6426bad93 + killer: 15 + - id: 262dedfc5a2c + killer: 18 + - id: 26d1e3738120 + killer: 18 + - id: 279fd457d2be + killer: 1 + - id: 27da98221c00 + killer: 23 + - id: 27eefa7bb127 + killer: 18 + - id: 27f8e2fb25e7 + killer: 26 + - id: 283d124cdca0 + killer: 16 + - id: 29fff6af0888 + killer: 17 + - id: 2a53c8e0bccf + killer: 1 + - id: 2bdd044c904a + killer: 18 + - id: 2c79ba854235 + killer: 23 + - id: 31151a7f9bc8 + killer: 26 + - id: 32298b66d467 + killer: 6 + - id: 3308add6a21a + killer: 18 + - id: 33edc153f772 + killer: 22 + - id: 366f34799216 + killer: 6 + - id: 3744f5e396fb + killer: 6 + - id: 37551d5cbc73 + killer: 16 + - id: 380a9ea9d49c + killer: 1 + - id: 381381fc6c1e + killer: 10 + - id: 3bc752dfd133 + killer: 0 + - id: 3c3dc7816915 + killer: 18 + - id: 3c9f707e763c + killer: 18 + - id: 3e2c368c9d85 + killer: 7 + - id: 3fc54104dd47 + killer: 22 + - id: 432582f61f6d + killer: 14 + - id: 433d2e8c647e + killer: 26 + - id: 4387463d7002 + killer: 18 + - id: 439f6b139d6b + killer: 18 + - id: 45484bf34635 + killer: 17 + - id: 45585a141906 + killer: 16 + - id: 457dfed37121 + killer: 8 + - id: 465730127ad5 + killer: 5 + - id: 467a8e07bb72 + killer: 26 + - id: 46de65e4c04c + killer: 18 + - id: 489d927a8aec + killer: 16 + - id: 48c43f420858 + killer: 21 + - id: 4a531b6adaf6 + killer: 6 + - id: 4ac78a1537e5 + killer: 18 + - id: 4ca5c690da2e + killer: 23 + - id: 4cecb588e365 + killer: 9 + - id: 4e973c66c7ab + killer: 17 + - id: 4fc91452fa48 + killer: 3 + - id: 512f213bf5d8 + killer: 17 + - id: 51fda238c663 + killer: 24 + - id: 52fa9cdd7df1 + killer: 14 + - id: 558474129ac7 + killer: 5 + - id: 57304c724e6c + killer: 28 + - id: 586e8235cf4a + killer: 18 + - id: 5a6b64d2b49e + killer: 1 + - id: 5dc067969d7a + killer: 9 + - id: 5def95cc5ed9 + killer: 2 + - id: 5e19ae7a0efc + killer: 1 + - id: 604c90c79181 + killer: 15 + - id: 61bed630dc02 + killer: 9 + - id: 61dc92cefaa8 + killer: 15 + - id: 6437760efb6a + killer: 10 + - id: 64e6b623af91 + killer: 13 + - id: 658bff568629 + killer: 3 + - id: 67159e97f538 + killer: 27 + - id: 67acbe8e8d9b + killer: 0 + - id: 6aa01f824478 + killer: 17 + - id: 6b1a01142827 + killer: 8 + - id: 6b4332532c94 + killer: 26 + - id: 6be3e52bda80 + killer: 11 + - id: 6d9ff1075c29 + killer: 18 + - id: 6e2cafbd43d7 + killer: 26 + - id: 6ee242e163bf + killer: 27 + - id: 6f05d6c41dc5 + killer: 15 + - id: 71e2e4772982 + killer: 1 + - id: 72765b75bf8d + killer: 1 + - id: 729bc2d2c206 + killer: 9 + - id: 7482a1518d5b + killer: 26 + - id: 755002fa9fb6 + killer: 12 + - id: 7a37dbbad2cf + killer: 1 + - id: 7cf5cb57f1d9 + killer: 1 + - id: 7d6ce0dd58e7 + killer: 5 + - id: 7e16f87a4a26 + killer: 9 + - id: 7e38307ea180 + killer: 17 + - id: 7e57e258352c + killer: 22 + - id: 7e60a50f5794 + killer: 22 + - id: 846f390d6158 + killer: 22 + - id: 84c67a4ad1d2 + killer: 9 + - id: 853906b86867 + killer: 9 + - id: 8592bbbab352 + killer: 25 + - id: 87f52c0489fe + killer: 15 + - id: 89c58ce05ab0 + killer: 4 + - id: 8a1e1c1a37f1 + killer: 1 + - id: 8a3e8fbf68c9 + killer: 16 + - id: 8addd55347ca + killer: 5 + - id: 8b6556c9ec63 + killer: 1 + - id: 8e4caeb787ca + killer: 9 + - id: 8f1a48a62a4b + killer: 1 + - id: 9214af73f5c6 + killer: 0 + - id: 93125591412c + killer: 23 + - id: 94e3ca654040 + killer: 7 + - id: 9564d0c53d3b + killer: 18 + - id: 97a2cba63476 + killer: 5 + - id: 97c85f5d9965 + killer: 22 + - id: 9906da82e289 + killer: 15 + - id: 9a5d535f768f + killer: 21 + - id: 9b31d2993fe9 + killer: 14 + - id: 9e18a477fcbe + killer: 9 + - id: 9f54074e1911 + killer: 9 + - id: a0a77d19a861 + killer: 3 + - id: a0f26bb45432 + killer: 17 + - id: a1417d973875 + killer: 9 + - id: a3bfef647cd8 + killer: 5 + - id: a3f097115dca + killer: 18 + - id: a562273eb8c9 + killer: 14 + - id: a7e6022095d6 + killer: 0 + - id: a87d170ab78a + killer: 16 + - id: a8bc0bb9b486 + killer: 1 + - id: aa2e0f98df5e + killer: 0 + - id: ab37cd550572 + killer: 17 + - id: acc6610bfed2 + killer: 5 + - id: ad9982f6f876 + killer: 6 + - id: adfde60f0eed + killer: 14 + - id: af61d6a82904 + killer: 15 + - id: b5613b7c7a56 + killer: 18 + - id: b5ec96f12bd0 + killer: 18 + - id: b6910d3d1093 + killer: 15 + - id: b819b7e5e4d2 + killer: 6 + - id: b88a232b648e + killer: 26 + - id: bd587d6df766 + killer: 18 + - id: bd9e35e85ffe + killer: 15 + - id: be9ab43f9367 + killer: 5 + - id: bedd79b83286 + killer: 18 + - id: bfb78e5a725b + killer: 3 + - id: c0722bf3e33a + killer: 16 + - id: c22ad1c624fd + killer: 18 + - id: c504c2aacf04 + killer: 15 + - id: c5458fbc6263 + killer: 27 + - id: c6217216e7f9 + killer: 12 + - id: c65ddc4eb681 + killer: 0 + - id: c6882a271ae0 + killer: 5 + - id: c7aadc31f333 + killer: 5 + - id: c86006eefa67 + killer: 16 + - id: ca29609978af + killer: 16 + - id: cac8d1db179d + killer: 4 + - id: cc0774a9f189 + killer: 14 + - id: ce668cdc8ea7 + killer: 15 + - id: d0d4ded8aef0 + killer: 9 + - id: d0f066a19c14 + killer: 19 + - id: d2d27c7c3f30 + killer: 20 + - id: d352fd9c46ba + killer: 26 + - id: d3e10b06e829 + killer: 13 + - id: d48a5a03b485 + killer: 15 + - id: d56fef5010fe + killer: 3 + - id: d87e65a35664 + killer: 28 + - id: d9a0d76f4262 + killer: 17 + - id: da772d158d78 + killer: 14 + - id: da7e07bdb3aa + killer: 5 + - id: dc2f591d7e20 + killer: 27 + - id: dcc8189044b7 + killer: 19 + - id: ddb2ec9955ec + killer: 22 + - id: de6f1d47a20c + killer: 0 + - id: df8f37ba0fab + killer: 5 + - id: e0a671e9ce23 + killer: 9 + - id: e0b5b6b0cbc3 + killer: 5 + - id: e132d94ce47d + killer: 15 + - id: e13a36b6a334 + killer: 4 + - id: e30d42d5c34a + killer: 18 + - id: e405a9135d7a + killer: 1 + - id: e4cc86745fce + killer: 14 + - id: e54fe40557f0 + killer: 22 + - id: e5d101e93a48 + killer: 18 + - id: e9a3945bbe5a + killer: 18 + - id: eac257abf9e6 + killer: 19 + - id: edbf735ee0a2 + killer: 1 + - id: ee656b417a0d + killer: 1 + - id: f0f5d5d3fa4d + killer: 18 + - id: f1435ea0e1dd + killer: 1 + - id: f157997a5902 + killer: 1 + - id: f6b328080944 + killer: 0 + - id: f7c2a1ddf81d + killer: 12 + - id: f819979e3bd7 + killer: 17 + - id: f83d22b1eff5 + killer: 18 + - id: f85570853328 + killer: 1 + - id: f914f6266636 + killer: 3 + - id: f999efd12b7e + killer: 1 + - id: fa05839dabcc + killer: 26 + - id: fbc6031df2eb + killer: 1 + - id: fc069e197a9d + killer: 5 + - id: fd4f2ef62770 + killer: 21 + - id: ff7cdbdfe516 + killer: 9 +- path: crates/cargo-gamma-engine/src/parse/source_file.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_one_token_expression_is_read_whole + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_trailing_newline_does_not_open_a_line + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::strip_bom_removes_only_a_leading_mark + mutants: + - id: 10bc6043c7bd + killer: 6 + - id: 1b7b76c497a5 + killer: 7 + - id: 1f62f8bd1691 + killer: 4 + - id: 2487222e9cd2 + killer: 4 + - id: 3557e14dedb7 + killer: 5 + - id: 36adae96fde6 + killer: 3 + - id: 3b2e83b16f76 + killer: 6 + - id: 3e016a1ff413 + killer: 6 + - id: 4054685aae5e + killer: 7 + - id: 4e1d0ef90331 + killer: 7 + - id: 50b1db0e3951 + killer: 6 + - id: 51fd25d54958 + killer: 0 + - id: 544fdeb04fee + killer: 7 + - id: 54b8c9fda27e + killer: 5 + - id: 55fe8e3d7352 + killer: 6 + - id: 6a58f7e754d3 + killer: 6 + - id: 6addf124397a + killer: 8 + - id: 7226ca3e530e + killer: 7 + - id: 72ae03b08d6f + killer: 9 + - id: 7a28196e5ff1 + killer: 8 + - id: 7bf72b2318c3 + killer: 7 + - id: 822035d661ca + killer: 6 + - id: 8969028522fd + killer: 7 + - id: 89cc63c75683 + killer: 6 + - id: 8ab5af8e3382 + killer: 4 + - id: 92a413607a24 + killer: 3 + - id: 938718ceebf8 + killer: 7 + - id: 9499c78b417f + killer: 2 + - id: 957a860049ca + killer: 7 + - id: 95bf0f01d113 + killer: 6 + - id: 9bc34165305d + killer: 6 + - id: a6812d1ae672 + killer: 7 + - id: a9514cba02ff + killer: 2 + - id: a9f4551c58aa + killer: 4 + - id: aa38751cedcc + killer: 7 + - id: af21174d0be9 + killer: 9 + - id: b592a58f7de9 + killer: 2 + - id: be5dc4347d7f + killer: 7 + - id: be89c271d8fd + killer: 6 + - id: c2cdf1cd99f1 + killer: 5 + - id: c8abfb015531 + killer: 4 + - id: ca1bf9fa2146 + killer: 6 + - id: cff8e0b1d02b + killer: 6 + - id: d4103ba9cfdb + killer: 6 + - id: d46caf587104 + killer: 7 + - id: e00237660cb1 + killer: 6 + - id: e442338d2abb + killer: 1 + - id: e79a009f057d + killer: 6 + - id: e865b9c7ddf4 + killer: 7 + - id: f2eef08a59b4 + killer: 6 +- path: crates/cargo-gamma-engine/src/schema.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_stays_a_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_reports_the_whole_range_it_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_arm_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_statement_site_is_skipped_when_active + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_zero_based_count_becomes_the_position_after_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_instrumented_iterator_body_is_still_balanced_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::break_to_continue_keeps_break_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guard_positions_count_unicode_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::overlapping_sites_are_rejected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + mutants: + - id: 00272c39e62b + killer: 10 + - id: 00cd721dbe84 + killer: 0 + - id: 015833b9bdda + killer: 1 + - id: 01f60b214b34 + killer: 1 + - id: 09c31954ca98 + killer: 1 + - id: 0d1afc6896b1 + killer: 18 + - id: 0d73931f391a + killer: 7 + - id: 0faa3d1e16d6 + killer: 1 + - id: 11914c3590ef + killer: 10 + - id: 1191c5f650b6 + killer: 17 + - id: 1328357b6723 + killer: 4 + - id: 142993f52fce + killer: 0 + - id: 19c377f87b49 + killer: 0 + - id: 1a00c7a74335 + killer: 0 + - id: 1bb5d4b2084b + killer: 0 + - id: 1bbf67a93e25 + killer: 0 + - id: 1be40b2e96d5 + killer: 11 + - id: 1c7f53664003 + killer: 0 + - id: 1e362ed896f0 + killer: 0 + - id: 1fdab2da4932 + killer: 0 + - id: 202e9a2edd98 + killer: 1 + - id: 207d172804ed + killer: 0 + - id: 21e3c198050c + killer: 13 + - id: 239cfd349d9a + killer: 6 + - id: 25331a252b80 + killer: 1 + - id: 25debb27de56 + killer: 0 + - id: 275f6ee8d00f + killer: 13 + - id: 2b3810dabb8c + killer: 0 + - id: 2ca6af144cfc + killer: 3 + - id: 31019b7441a4 + killer: 8 + - id: 336e72e78978 + killer: 0 + - id: 35167e2ce024 + killer: 1 + - id: 36d88afc80f0 + killer: 0 + - id: 379c920cbcd6 + killer: 17 + - id: 38632fc147e7 + killer: 0 + - id: 3b053784d093 + killer: 12 + - id: 3b51d1c0b177 + killer: 7 + - id: 3d341ce9c3cf + killer: 0 + - id: 3df5f877e040 + killer: 0 + - id: 3dff88633302 + killer: 1 + - id: 3f56402e568e + killer: 0 + - id: 415c694ffd2b + killer: 0 + - id: 4318c116bbf6 + killer: 3 + - id: 4359ada339b4 + killer: 1 + - id: 4514867a1edf + killer: 0 + - id: 4796d2fb8845 + killer: 13 + - id: 47a01fe57fe0 + killer: 6 + - id: 47b97a6c25d7 + killer: 1 + - id: 48306261a607 + killer: 6 + - id: 4842e53e6086 + killer: 5 + - id: 4acc7b722a0a + killer: 1 + - id: 4c798802ff05 + killer: 0 + - id: 4e5a8c921775 + killer: 10 + - id: 4fe75c430f64 + killer: 5 + - id: 50b61944f7bd + killer: 8 + - id: 51cd52cd3e4c + killer: 0 + - id: 5209e371f5fb + killer: 4 + - id: 5519a4a7ee80 + killer: 6 + - id: 552da8d5dafe + killer: 0 + - id: 5551950a4de1 + killer: 0 + - id: 5731cbc7a7e5 + killer: 0 + - id: 58f4c7672b03 + killer: 6 + - id: 5aba9895316f + killer: 13 + - id: 5b1e4f6ac23d + killer: 3 + - id: 5c0265773902 + killer: 1 + - id: 5c7bddf0f4d7 + killer: 0 + - id: 5e82ed76ca7b + killer: 2 + - id: 5eaff7757288 + killer: 13 + - id: 5fc856c4eb49 + killer: 5 + - id: 6079800f633e + killer: 18 + - id: 614f0ec4e7ca + killer: 0 + - id: 62c69c9bf451 + killer: 1 + - id: 688a7e974bfe + killer: 0 + - id: 6b3131a2c031 + killer: 0 + - id: 6d06fc4bc482 + killer: 18 + - id: 6d8e0b3e458a + killer: 0 + - id: 6e8293265c33 + killer: 3 + - id: 6fce6fc803e3 + killer: 1 + - id: 72718bd249f5 + killer: 13 + - id: 7316540bca5e + killer: 4 + - id: '765702378992' + killer: 0 + - id: 76d1436a9f26 + killer: 10 + - id: 789bed41bd0e + killer: 0 + - id: 78d74c5a6fa0 + killer: 0 + - id: 79c3d078bd2f + killer: 1 + - id: 79eebd883014 + killer: 11 + - id: 7a7ebe7563ab + killer: 6 + - id: 7e9f76fd8f72 + killer: 1 + - id: 7fa60c2e2aeb + killer: 5 + - id: 7fba3371239b + killer: 13 + - id: 8070386ef684 + killer: 0 + - id: 80efd74eaaec + killer: 0 + - id: 8339888c772a + killer: 15 + - id: 834ba64b15e7 + killer: 6 + - id: 86f1b9ff6ef0 + killer: 17 + - id: 872d078a5176 + killer: 4 + - id: 8753038d4c54 + killer: 13 + - id: 87fad06cbbcd + killer: 6 + - id: 8871d95b3896 + killer: 14 + - id: 8a07da6e9383 + killer: 6 + - id: 8b60e51f512c + killer: 0 + - id: 8c58dd73d9cb + killer: 1 + - id: 8c8149358197 + killer: 13 + - id: 8dd3fd20d817 + killer: 18 + - id: 8e495bf1f569 + killer: 0 + - id: 926cf7b50b65 + killer: 1 + - id: 92d7cf6e8be4 + killer: 3 + - id: 92e3104f73f2 + killer: 10 + - id: 937fe0e19568 + killer: 6 + - id: 9b07b03b789c + killer: 1 + - id: 9b120856ccf1 + killer: 6 + - id: 9c8417b3d43e + killer: 1 + - id: 9f94c0191cc5 + killer: 13 + - id: a160ab3b99af + killer: 3 + - id: a1a6074618f4 + killer: 0 + - id: a59a4395a2a9 + killer: 5 + - id: a8ca1e6e996e + killer: 10 + - id: aaa535c3bf23 + killer: 0 + - id: ab3298034caf + killer: 16 + - id: aed5d969301a + killer: 13 + - id: af1be5e3fce6 + killer: 0 + - id: affbad5f1916 + killer: 1 + - id: b0523ae9a4d6 + killer: 0 + - id: b11b91b342e0 + killer: 13 + - id: b1820323d9ef + killer: 11 + - id: b38d5c1bdd30 + killer: 8 + - id: b48aa06c1992 + killer: 1 + - id: b4957b55d52a + killer: 0 + - id: b517009611a4 + killer: 12 + - id: b637c8706dea + killer: 11 + - id: ba806076fc27 + killer: 13 + - id: bca179e90427 + killer: 0 + - id: c1169b4cef27 + killer: 3 + - id: c15c6105dc01 + killer: 0 + - id: c638ee9616a1 + killer: 5 + - id: cacf2a2e4b93 + killer: 5 + - id: cc35e19690d1 + killer: 0 + - id: ccb97b7f3891 + killer: 13 + - id: cd494b189d6f + killer: 17 + - id: ce11d4cd1ef4 + killer: 1 + - id: ceeb1683175a + killer: 4 + - id: d0f24f61150d + killer: 1 + - id: d19994103c51 + killer: 1 + - id: d255e21fbab0 + killer: 4 + - id: d6f500134f55 + killer: 0 + - id: d84387324f54 + killer: 13 + - id: d86d7a3adeba + killer: 18 + - id: da7932e82cb3 + killer: 13 + - id: da9ee9b27b88 + killer: 0 + - id: dd84cb276acd + killer: 0 + - id: de5ae835eee1 + killer: 1 + - id: df9bf78c1ad7 + killer: 14 + - id: e04584f15712 + killer: 1 + - id: e117c99bf2e9 + killer: 0 + - id: e54540a36d1e + killer: 1 + - id: e7bb4f736cae + killer: 8 + - id: e85d8db0a4d3 + killer: 13 + - id: eb4a62d63e6b + killer: 0 + - id: ec180d529179 + killer: 13 + - id: ec2efeddd067 + killer: 0 + - id: ed9066e99b41 + killer: 1 + - id: ee5e68ade777 + killer: 3 + - id: f08f6f7d26bf + killer: 1 + - id: f10f2f54db01 + killer: 13 + - id: f1e17dca486a + killer: 0 + - id: f32b849306f1 + killer: 9 + - id: f463a12629ca + killer: 0 + - id: f48621a312f5 + killer: 4 + - id: f831ca1068b3 + killer: 1 + - id: f96a5e5a931b + killer: 0 + - id: fde8a1b9b41d + killer: 5 + - id: fe6f837e07f3 + killer: 0 +- path: crates/cargo-gamma-engine/src/text.rs + killers: + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_nested_deeper_than_the_limit_is_refused_rather_than_overflowing_the_stack + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::a_newline_cannot_forge_a_second_line + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c1_control_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::multibyte_text_around_a_control_survives_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::ordinary_text_is_borrowed_unchanged + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::style_validation_covers_simple_extended_and_invalid_parameters + mutants: + - id: 00873963eb05 + killer: 11 + - id: 01a3cc980a3a + killer: 12 + - id: 01ea81a91d4c + killer: 12 + - id: 0328a13a82c2 + killer: 2 + - id: 04b3313f3437 + killer: 7 + - id: 050f204200e2 + killer: 7 + - id: 06c1b96bc073 + killer: 2 + - id: 0a83fea367c1 + killer: 1 + - id: 0aa86ab689a8 + killer: 0 + - id: 0b98a5c74112 + killer: 0 + - id: 0e4b120d8116 + killer: 4 + - id: 0ef16ee589ca + killer: 2 + - id: 0fce92b9487e + killer: 5 + - id: 11082f3a9dd5 + killer: 1 + - id: 1148c986d9b0 + killer: 4 + - id: 12c3055f5f1e + killer: 6 + - id: 13b939461c1b + killer: 7 + - id: 1430d2f96dec + killer: 12 + - id: 15456b920dab + killer: 3 + - id: 1866a30c3b4d + killer: 5 + - id: 190f5fdfc6ea + killer: 1 + - id: 1aa3d9b29912 + killer: 4 + - id: 1b18e4009aed + killer: 1 + - id: 1bd87ec8b009 + killer: 2 + - id: 1ccc1cc9830f + killer: 4 + - id: 1d9f0eabe109 + killer: 4 + - id: 1dd1fa8f26f9 + killer: 9 + - id: 1f3170fce40f + killer: 12 + - id: 207aa36b0c77 + killer: 1 + - id: 2087cc73cc11 + killer: 12 + - id: 210ca09813f0 + killer: 0 + - id: 246025225aa8 + killer: 4 + - id: 248be7b01634 + killer: 0 + - id: 25f5143a8a1c + killer: 5 + - id: 2a8cdd23419e + killer: 3 + - id: 2c8eb18e05a2 + killer: 12 + - id: 2e7cc619a04c + killer: 2 + - id: 3131c84ee46c + killer: 9 + - id: 3223243c62ca + killer: 1 + - id: 3374df63349f + killer: 10 + - id: 34d247d05ca6 + killer: 1 + - id: 34ddb99e28a0 + killer: 10 + - id: 3a95e6bbe3ad + killer: 12 + - id: 3ac96ecbb268 + killer: 2 + - id: 3b415e512bbd + killer: 2 + - id: 3cb6e00bcceb + killer: 1 + - id: 3d283143bc9a + killer: 2 + - id: 3d9f7df437c1 + killer: 12 + - id: 3eb56369cfcf + killer: 4 + - id: 3ef709f2e991 + killer: 10 + - id: 404ae52945f2 + killer: 1 + - id: 4196d3b142ef + killer: 4 + - id: 432b6d1cc94e + killer: 3 + - id: 45540c9e64ca + killer: 2 + - id: 46af7e60f3e7 + killer: 10 + - id: 46c8b47ff4fc + killer: 8 + - id: 46d2396bf3e4 + killer: 4 + - id: 472fed1902fd + killer: 4 + - id: 481a5ebf5aba + killer: 4 + - id: 48bb1cd443ed + killer: 4 + - id: 49f6b1560649 + killer: 2 + - id: 4aa0b233016d + killer: 10 + - id: 4e97ebbd1f25 + killer: 4 + - id: 4e9d8077363e + killer: 1 + - id: 52c8ae8ced50 + killer: 1 + - id: 537e0b7452a2 + killer: 4 + - id: 5437eb1b6785 + killer: 1 + - id: 543990b2e814 + killer: 10 + - id: 54a48c360e65 + killer: 4 + - id: 564371b9eeb2 + killer: 4 + - id: 56a4c79640b3 + killer: 1 + - id: 57bb575ea962 + killer: 3 + - id: 59433cefd5e0 + killer: 2 + - id: 5954b86b41f1 + killer: 1 + - id: 5976fdc23576 + killer: 10 + - id: 5ac8522905b1 + killer: 2 + - id: 5b32e7d64bdb + killer: 1 + - id: 5c850a1edc40 + killer: 4 + - id: 5d991ee76bb6 + killer: 12 + - id: 5ec51c8732d8 + killer: 2 + - id: 60a9a2809400 + killer: 1 + - id: 60b778af5cc4 + killer: 11 + - id: 6232383304af + killer: 10 + - id: 65a8b905db5a + killer: 2 + - id: 664e4c3043a5 + killer: 12 + - id: 671db2749c5f + killer: 7 + - id: 67f649ebfbde + killer: 12 + - id: 68c6a74b5196 + killer: 2 + - id: 6a0324b5b0b1 + killer: 0 + - id: 6b6f0e2eda5e + killer: 1 + - id: 6c3c6f0a4f3d + killer: 4 + - id: 6c3dbedbe91a + killer: 2 + - id: 6c955e20dcba + killer: 10 + - id: 6d4cced506cb + killer: 4 + - id: 6dcd3bd63850 + killer: 2 + - id: 6e0b7f3422a5 + killer: 12 + - id: 6f97a2706ccd + killer: 2 + - id: 724af68122c8 + killer: 11 + - id: 7354e5668e01 + killer: 4 + - id: 74bef39fe1f8 + killer: 10 + - id: 7508f136b59e + killer: 2 + - id: 750ca9f61061 + killer: 10 + - id: 761dc081d210 + killer: 7 + - id: 768fc405f45f + killer: 4 + - id: 769bddfc1c69 + killer: 12 + - id: 772249568e72 + killer: 12 + - id: 772f55f134db + killer: 1 + - id: 786e268a0b13 + killer: 4 + - id: 790c86906458 + killer: 4 + - id: 7934f7f24a87 + killer: 12 + - id: 7935e4d7876a + killer: 1 + - id: 79632892d4a6 + killer: 2 + - id: 7a77c896cd66 + killer: 8 + - id: 7b9eb8392878 + killer: 1 + - id: 7beef1472dde + killer: 10 + - id: 7dd8d3b84b46 + killer: 2 + - id: 7fd9b1f17306 + killer: 1 + - id: 837ed29127a1 + killer: 1 + - id: 84bd870fa056 + killer: 1 + - id: 86627d7cc34f + killer: 12 + - id: 86e9b2f9be07 + killer: 1 + - id: 8745ef5bd0c8 + killer: 4 + - id: 8760fcf71acb + killer: 2 + - id: 88e8ed8f65f5 + killer: 6 + - id: 89b9435d8ddc + killer: 7 + - id: 8abb0c15a340 + killer: 4 + - id: 8bd9a4d5893d + killer: 7 + - id: 8bf68beb1b01 + killer: 3 + - id: 8e35f1d70203 + killer: 3 + - id: 8eee496e3034 + killer: 2 + - id: 8f7c68393f93 + killer: 2 + - id: 8fde15ef8c8b + killer: 1 + - id: 92278842dbfb + killer: 12 + - id: 933bde4fd691 + killer: 4 + - id: 9396af8a586a + killer: 4 + - id: 94efb6452723 + killer: 4 + - id: 94fbf089ae16 + killer: 4 + - id: 96b972283a57 + killer: 10 + - id: 97700b1750c2 + killer: 4 + - id: 9852b5a83700 + killer: 2 + - id: 9a6e562d10a7 + killer: 12 + - id: 9af18cb25532 + killer: 0 + - id: 9c783e21552f + killer: 10 + - id: 9c8727712019 + killer: 2 + - id: 9ff0dafc107b + killer: 2 + - id: a149ded2e3b2 + killer: 4 + - id: a2ea4ea0f2a9 + killer: 11 + - id: a303864ac986 + killer: 11 + - id: a3c783920280 + killer: 4 + - id: a5e09e321a9d + killer: 3 + - id: a5f29228c26a + killer: 2 + - id: a67ba27a4c70 + killer: 2 + - id: a8722247049a + killer: 6 + - id: a8af6d154bd2 + killer: 12 + - id: a9f51022f542 + killer: 1 + - id: abd8f677b41d + killer: 1 + - id: ae24ef253306 + killer: 10 + - id: ae5fb139a49b + killer: 3 + - id: af0e9ba2b851 + killer: 2 + - id: b0152fb72a0f + killer: 4 + - id: b55d25a0e81e + killer: 2 + - id: b78311e18094 + killer: 10 + - id: b804820fdb7c + killer: 10 + - id: b9fed1357930 + killer: 12 + - id: ba522e7fcf6e + killer: 6 + - id: ba54ffec5f62 + killer: 4 + - id: beaab851c53f + killer: 2 + - id: bfc86a6908ae + killer: 10 + - id: c12fa417132f + killer: 2 + - id: c1e2d77c1f6b + killer: 10 + - id: c382f1dab4ac + killer: 1 + - id: c50ec01b7f43 + killer: 0 + - id: c564bec55752 + killer: 3 + - id: c58f23d2a00f + killer: 9 + - id: c6bdecf4db3a + killer: 12 + - id: c7039cb2f361 + killer: 10 + - id: c8ad4186f796 + killer: 5 + - id: c8cfbf089d6b + killer: 1 + - id: cde42d301db1 + killer: 12 + - id: cff1d7612f36 + killer: 4 + - id: d0b618a79b65 + killer: 0 + - id: d1357eefc986 + killer: 0 + - id: d22935749a2f + killer: 4 + - id: d3c65c2dd30d + killer: 12 + - id: d40c1e548acb + killer: 12 + - id: d4afb30447fd + killer: 1 + - id: d5febc67659c + killer: 10 + - id: d64f3f78b011 + killer: 4 + - id: d77a2a3d20f4 + killer: 4 + - id: d7a7033478d3 + killer: 2 + - id: d87733ef431f + killer: 10 + - id: dd7556093410 + killer: 10 + - id: df5652042f0f + killer: 10 + - id: dfb3779224bd + killer: 2 + - id: e1086c02d37d + killer: 1 + - id: e26abb1ed00c + killer: 10 + - id: e2cf8388eab9 + killer: 12 + - id: e2f83b8b5231 + killer: 1 + - id: e762510960ac + killer: 4 + - id: e8b2f4c6568d + killer: 1 + - id: e960d1ecb545 + killer: 1 + - id: ebdb956f63fa + killer: 1 + - id: ecfc8cd86f1a + killer: 4 + - id: ed1706495f66 + killer: 4 + - id: ed38a1cd0bfe + killer: 4 + - id: ed779a52d816 + killer: 0 + - id: efd7c8c18d5d + killer: 12 + - id: f05c3844517a + killer: 5 + - id: f23921fee27f + killer: 10 + - id: f40c3fe9dd77 + killer: 4 + - id: f42eb9510d31 + killer: 12 + - id: f59077d4574e + killer: 4 + - id: fa58ac490e5f + killer: 7 + - id: fb20007f58b3 + killer: 4 + - id: fdb3354f71d7 + killer: 4 +- path: crates/cargo-gamma-lib/src/advise/analysis.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_at_exactly_ten_percent_is_hot_and_keeps_its_cpu_total + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_names_the_slowest_test_targets + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::execution_dominance_under_the_default_profile_suggests_the_gamma_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::fixed_cost_threshold_and_zero_wall_are_handled_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::long_run_starts_at_thirty_minutes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::profile_advice_requires_dominant_execution_and_an_unoptimized_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::slow_baseline_starts_at_ten_seconds_and_never_divides_by_zero_jobs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_share_threshold_is_inclusive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_requires_the_population_and_share_thresholds_inclusively + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::unviable_requires_the_population_and_share_thresholds_inclusively + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_aggregate_every_field_and_break_ties_by_family + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::advice_uses_elapsed_wall_time_for_concurrent_baselines_and_sparse_workers + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 008b771c8118 + killer: 3 + - id: 00cd4b9bcdb0 + killer: 6 + - id: 016dfcf0f815 + killer: 3 + - id: 02565d9d5c6f + killer: 3 + - id: 03c3bae4f781 + killer: 33 + - id: 0672cf37d059 + killer: 1 + - id: 06f2da257ef2 + killer: 5 + - id: 079582274f24 + killer: 19 + - id: 0909c119a988 + killer: 3 + - id: 09968d6244cc + killer: 33 + - id: 0c9c2bedd376 + killer: 10 + - id: 0d891d19dbe9 + killer: 15 + - id: 0e6074b48de8 + killer: 15 + - id: 0ff56eb26b91 + killer: 23 + - id: 10f71db4b76f + killer: 24 + - id: 11698893bdf1 + killer: 6 + - id: 12fb0bbad055 + killer: 5 + - id: 1370ada4585e + killer: 16 + - id: 14a9728a62e6 + killer: 10 + - id: 1542301708c6 + killer: 25 + - id: 16aceab7f140 + killer: 10 + - id: 195be5d441e1 + killer: 28 + - id: 1a0285a99209 + killer: 4 + - id: 1a9d406f4c60 + killer: 20 + - id: 1ab552c3f517 + killer: 15 + - id: 1b608943eef7 + killer: 28 + - id: 1b96a5274dbc + killer: 4 + - id: 1dce398704d6 + killer: 6 + - id: 1e4f7767fda4 + killer: 9 + - id: 1fe6f17faa00 + killer: 7 + - id: 21856c923ef2 + killer: 3 + - id: 228eb51db796 + killer: 15 + - id: 23a0cdcf6afe + killer: 11 + - id: 25eb442622c9 + killer: 17 + - id: 2703eefccb32 + killer: 22 + - id: 278b5e50a30f + killer: 6 + - id: 28031d216a32 + killer: 6 + - id: 29366dd2ffd4 + killer: 16 + - id: 29a569a7eec1 + killer: 11 + - id: 29d7b2e32bc1 + killer: 4 + - id: 2a6155b1a1cd + killer: 17 + - id: 2b6d82b75d57 + killer: 8 + - id: 2bc7040911c7 + killer: 8 + - id: 2c4031d120db + killer: 11 + - id: 2cd452380f56 + killer: 15 + - id: 2cf9c6337335 + killer: 9 + - id: 2d93573ed389 + killer: 3 + - id: 2ea959bb5d3b + killer: 15 + - id: 2f1af78350cb + killer: 22 + - id: 306665501ff8 + killer: 19 + - id: 310c35649a5d + killer: 1 + - id: 314dce2d310e + killer: 8 + - id: 31b017d93599 + killer: 9 + - id: 3509afccaab6 + killer: 4 + - id: 353cad405843 + killer: 1 + - id: 3595e57c6175 + killer: 28 + - id: 37bcd7166a54 + killer: 28 + - id: 380fae4c5163 + killer: 4 + - id: 396af7ed32d1 + killer: 3 + - id: 3a1f154a2f28 + killer: 10 + - id: 3a644b047715 + killer: 14 + - id: 3bf932674ea9 + killer: 1 + - id: 3d181a9567aa + killer: 29 + - id: 3ece7779a1ac + killer: 9 + - id: 3f2855346d5e + killer: 10 + - id: 40e0b712b22a + killer: 21 + - id: 40e406345118 + killer: 22 + - id: 43c4ac3afe19 + killer: 6 + - id: 463abce037ff + killer: 3 + - id: 4753186fcbbd + killer: 1 + - id: 484ab558c6b2 + killer: 33 + - id: 4acfd6e905c1 + killer: 5 + - id: 4af56da3895d + killer: 10 + - id: 4b36a35e8927 + killer: 3 + - id: 4b8f4c261885 + killer: 1 + - id: 4dab24bb7942 + killer: 1 + - id: 4f86230a6aa2 + killer: 20 + - id: 5026f329d4a6 + killer: 3 + - id: 527773c78c8b + killer: 5 + - id: 52ef0c5395eb + killer: 12 + - id: 53410b29b5c9 + killer: 8 + - id: 558bd372368a + killer: 10 + - id: 56bdca70495d + killer: 11 + - id: 58e70293795c + killer: 30 + - id: 597e5ea7a1b8 + killer: 13 + - id: 5b9175a77720 + killer: 11 + - id: 5fa822b84be3 + killer: 25 + - id: 60d65ae42e0d + killer: 2 + - id: 61d4aa059af2 + killer: 28 + - id: 628b41c24ff1 + killer: 8 + - id: 639614a0a34b + killer: 11 + - id: 63ad2a7c3523 + killer: 12 + - id: 64422fead984 + killer: 26 + - id: 64b1a1efdc7e + killer: 4 + - id: 6534447d2da0 + killer: 28 + - id: 65937fe1774b + killer: 13 + - id: 65f92fe313e3 + killer: 15 + - id: 6632e84f6741 + killer: 8 + - id: 6a75891722bc + killer: 6 + - id: 6aa06119df6a + killer: 4 + - id: 6cc1aee9f91c + killer: 27 + - id: 6d0396f57b3d + killer: 20 + - id: 6e418e29c7f4 + killer: 9 + - id: 6ff6a51e3467 + killer: 3 + - id: 70b363be857e + killer: 33 + - id: 7129f9b7aa62 + killer: 12 + - id: 7227ff9b9a3e + killer: 28 + - id: 730688b2a32a + killer: 30 + - id: 7430b42059bc + killer: 4 + - id: 74afeee97d33 + killer: 1 + - id: 74b215b2c123 + killer: 27 + - id: 7513adc94cc8 + killer: 3 + - id: 75654091183a + killer: 1 + - id: 7748f4305e6b + killer: 19 + - id: 77f14edc53d2 + killer: 1 + - id: 788d6a2d4efc + killer: 6 + - id: 79fdee0d32f8 + killer: 11 + - id: 7b34b4596f4c + killer: 10 + - id: 7b7df1b5a6ee + killer: 11 + - id: 7ba4396ce670 + killer: 0 + - id: 7ca2e8e6bd8a + killer: 19 + - id: 7e3f2303ebc6 + killer: 25 + - id: 7ee02f8ab750 + killer: 4 + - id: 7ee241e8d4c7 + killer: 6 + - id: 806d3a2e025e + killer: 4 + - id: 81109e97d211 + killer: 18 + - id: 82afd637e455 + killer: 15 + - id: 835df85a69f7 + killer: 4 + - id: 83fb2ab6ad9d + killer: 8 + - id: 8477a757f767 + killer: 8 + - id: 85b74c977e65 + killer: 22 + - id: 86933f43ee45 + killer: 14 + - id: 871726d233cb + killer: 30 + - id: 87911241839a + killer: 0 + - id: 8793afb0f944 + killer: 28 + - id: 87f94aa932db + killer: 3 + - id: 88af5cc53f95 + killer: 11 + - id: 88caa4758a78 + killer: 29 + - id: 88fadaf7072f + killer: 3 + - id: 8990c88a99bf + killer: 6 + - id: 8a8126f4d4e0 + killer: 15 + - id: 8c06a133dad5 + killer: 33 + - id: 8c4f071f1770 + killer: 6 + - id: 8eec7d6d174b + killer: 3 + - id: 8f52721da4de + killer: 3 + - id: 9045cd1fd0e7 + killer: 8 + - id: 91b39c6b8e33 + killer: 12 + - id: 927df30e2280 + killer: 0 + - id: 92816e3d8d4d + killer: 7 + - id: 93603482cf4d + killer: 14 + - id: 95b65c4b1593 + killer: 9 + - id: 973a5e1b4ee7 + killer: 3 + - id: 977ffe83102e + killer: 10 + - id: 9a82e1211281 + killer: 15 + - id: 9b5e009b46fd + killer: 6 + - id: 9c03fa8ee849 + killer: 1 + - id: 9d0fbd8f4f6e + killer: 16 + - id: a1dcbcde714b + killer: 19 + - id: a214b81e82f8 + killer: 1 + - id: a2e6175dfaad + killer: 10 + - id: a4bb7be1cf40 + killer: 4 + - id: a82cf8f5a47d + killer: 15 + - id: a91b9b106789 + killer: 5 + - id: a96f04cdbea5 + killer: 7 + - id: a996c90d0be9 + killer: 32 + - id: aa1a35d8a070 + killer: 16 + - id: ab621d66c778 + killer: 5 + - id: ab7fcfbe94cd + killer: 24 + - id: ac558420453b + killer: 23 + - id: acb485b5cbc6 + killer: 0 + - id: acd0df1f9608 + killer: 6 + - id: ae0cba67da2d + killer: 15 + - id: af063d7c55f5 + killer: 7 + - id: afa03cc0b3dc + killer: 6 + - id: b21fa146abfd + killer: 11 + - id: b2e64af92df9 + killer: 7 + - id: b322f50072ad + killer: 11 + - id: b384028ecba5 + killer: 11 + - id: b3f07078e522 + killer: 1 + - id: b4bf395eab6e + killer: 27 + - id: b522d7bfef06 + killer: 3 + - id: b5268ba96d95 + killer: 1 + - id: b6a02ef8b0ea + killer: 8 + - id: b6d429cc1487 + killer: 9 + - id: b7c0260b34d4 + killer: 6 + - id: b8a01b12a6b1 + killer: 19 + - id: b8c02015208e + killer: 6 + - id: b8fde8cf09b1 + killer: 29 + - id: b9524d8c1538 + killer: 3 + - id: b99a484c6494 + killer: 4 + - id: bc0333e78718 + killer: 11 + - id: bea067e7856a + killer: 4 + - id: bf5caeffd9a8 + killer: 8 + - id: bffbffa5be16 + killer: 24 + - id: c09f6f25c5c3 + killer: 4 + - id: c46ef411696f + killer: 24 + - id: c4864b7f561e + killer: 10 + - id: c93d696cddd0 + killer: 10 + - id: c9e2e39e5e5c + killer: 9 + - id: cb13d867329a + killer: 0 + - id: cb98fe897248 + killer: 9 + - id: cc8ed3568df9 + killer: 16 + - id: cd50b0b31711 + killer: 0 + - id: cdd670129459 + killer: 4 + - id: cea1dba46b12 + killer: 11 + - id: cf45e58853a1 + killer: 28 + - id: cfba13881bed + killer: 23 + - id: d0f7b3e54a4e + killer: 10 + - id: d204fbcc16bb + killer: 10 + - id: d2c5876126d5 + killer: 1 + - id: d2e9fae21a1f + killer: 31 + - id: d5d3d3e02bc9 + killer: 30 + - id: d72c3f9f0953 + killer: 9 + - id: d8170193e9a2 + killer: 30 + - id: d98eec106435 + killer: 3 + - id: da19bdf6b0ac + killer: 6 + - id: dc5006d89ba3 + killer: 11 + - id: e0d3cf759c28 + killer: 28 + - id: e2b6c5b73114 + killer: 9 + - id: e2c0791815a4 + killer: 19 + - id: e4ccfe17f6fc + killer: 29 + - id: e6661bd45c41 + killer: 5 + - id: e680b7f95050 + killer: 10 + - id: e6e5557b5c9c + killer: 4 + - id: e8177be9852c + killer: 13 + - id: e8edd1e7404b + killer: 16 + - id: eb94c2fa8fb4 + killer: 3 + - id: ebce49e70c9b + killer: 26 + - id: ec72a7b48014 + killer: 15 + - id: ed2541ff4fd0 + killer: 28 + - id: edd4a83ea136 + killer: 24 + - id: efd821703342 + killer: 8 + - id: f3a2af280ab3 + killer: 31 + - id: f3ff907ea084 + killer: 1 + - id: f623b1cbc165 + killer: 10 + - id: f6827c14b4f8 + killer: 4 + - id: fb38cc1f688f + killer: 6 + - id: fbc9a10f33f7 + killer: 3 + - id: fc75b2e9ea69 + killer: 3 + - id: fcfe92541969 + killer: 22 + - id: fd04612f9759 + killer: 8 + - id: fdc72c55dc95 + killer: 10 + - id: ff1f82455013 + killer: 1 + - id: ff46748fd7e8 + killer: 11 + - id: ff65f6c55b03 + killer: 20 + - id: ff67db284cd2 + killer: 5 +- path: crates/cargo-gamma-lib/src/advise/render.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::empty_rows_are_absent_from_both_contents_and_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_verdict_in_the_population_is_accounted_for_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::finding_headings_are_numbered_and_capitalized + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + mutants: + - id: 0538542185f6 + killer: 4 + - id: 05cd491b9484 + killer: 7 + - id: 0846892d446d + killer: 0 + - id: 0b9c3a60b25b + killer: 7 + - id: 0d0589ec46b8 + killer: 7 + - id: 0d6effc6ec56 + killer: 1 + - id: 0e7c8447ff2d + killer: 7 + - id: 0fc14abf6a74 + killer: 4 + - id: 14876cf925b9 + killer: 7 + - id: 16a16ebd0010 + killer: 7 + - id: 17a51c7e5fd0 + killer: 7 + - id: 1906010a7091 + killer: 7 + - id: 1d84fac7aa32 + killer: 1 + - id: 1ec162a53f2a + killer: 4 + - id: 1fb2e3c9832f + killer: 7 + - id: 2647360157b5 + killer: 7 + - id: 27a2f36e6460 + killer: 7 + - id: 2af38d5bec5b + killer: 2 + - id: 315a4885bff9 + killer: 7 + - id: 34c98742f9c7 + killer: 5 + - id: 35d11dd5d1eb + killer: 7 + - id: 37512d86d3ca + killer: 4 + - id: 3c9538ae3530 + killer: 1 + - id: 3f7be84a6f81 + killer: 7 + - id: 41f8564d71b3 + killer: 7 + - id: 4a2812906619 + killer: 1 + - id: 4b09c49bd8b0 + killer: 7 + - id: 4b104df3d537 + killer: 7 + - id: 4c6f2a1c7b9c + killer: 7 + - id: 4c89ebeb9210 + killer: 4 + - id: 4d52c03e752e + killer: 2 + - id: 4d8f3b5f3cf6 + killer: 7 + - id: 54b26614adc7 + killer: 1 + - id: 54d002b59279 + killer: 7 + - id: 54e590d65680 + killer: 1 + - id: 571cb85c5490 + killer: 2 + - id: 5a9e5203f7ca + killer: 1 + - id: 5c2af661da4e + killer: 7 + - id: 5dd2c90bb3a0 + killer: 7 + - id: 5e8a3bb6569f + killer: 7 + - id: 5ea4c5a7c46e + killer: 7 + - id: 5fd1aa98be01 + killer: 3 + - id: 5ffc9d0abc8b + killer: 7 + - id: 6077407729f4 + killer: 0 + - id: 62e52a29680f + killer: 7 + - id: 66aa92239d81 + killer: 7 + - id: 67b0c5008d10 + killer: 8 + - id: 68ce09e0ae5e + killer: 7 + - id: 6a0ae8cb7900 + killer: 1 + - id: 6bf75c98b0f8 + killer: 4 + - id: 6c0e6eb1b5c5 + killer: 2 + - id: 6d586458bf52 + killer: 7 + - id: 70758d20a2c9 + killer: 7 + - id: 7082faab1d25 + killer: 7 + - id: 70f04f9975e1 + killer: 1 + - id: 72f9e8b52857 + killer: 7 + - id: 73d03c3a716a + killer: 1 + - id: 73e37c2992cc + killer: 7 + - id: 745fca4c831e + killer: 1 + - id: 790b8896d043 + killer: 7 + - id: 7b45b1118872 + killer: 1 + - id: 7c5b2ca91780 + killer: 7 + - id: 8454aef1b5fe + killer: 4 + - id: 848f31087323 + killer: 1 + - id: 86a929aac8e8 + killer: 7 + - id: 8ecca44e7d29 + killer: 7 + - id: 907e3bc5b6e8 + killer: 7 + - id: 9130259ae56d + killer: 7 + - id: 9398fa7c64c1 + killer: 7 + - id: 970b4f3ce3b0 + killer: 4 + - id: 98a7c6baffc6 + killer: 0 + - id: 98eedda63e09 + killer: 2 + - id: 9b892afdaab8 + killer: 7 + - id: 9c81ae1ab087 + killer: 6 + - id: 9d4c1df644e2 + killer: 5 + - id: 9e0928148c11 + killer: 2 + - id: 9fa2900a4bb9 + killer: 1 + - id: a558e2a16b5c + killer: 7 + - id: a962e75a4b00 + killer: 7 + - id: af9952e78b92 + killer: 3 + - id: afa4cc774ee8 + killer: 6 + - id: b163aa29fc14 + killer: 1 + - id: b292e05e2262 + killer: 1 + - id: c22f170441c6 + killer: 7 + - id: c2593750cd6a + killer: 7 + - id: c3fc734d5506 + killer: 1 + - id: c4431f201687 + killer: 7 + - id: c45c7e2aadad + killer: 1 + - id: c866ab1a1366 + killer: 3 + - id: c95f6529c2b5 + killer: 1 + - id: cae18998e7ac + killer: 5 + - id: cb6cdf62df1f + killer: 7 + - id: cd6f4f1e93c4 + killer: 7 + - id: cd99b6f1cb85 + killer: 7 + - id: d61b9b0ffdc8 + killer: 2 + - id: d86b8ba427b7 + killer: 7 + - id: d9755c77b58b + killer: 7 + - id: dbcad69e49a6 + killer: 3 + - id: dec7616ccd50 + killer: 7 + - id: e1ff3213a828 + killer: 3 + - id: e97e2f0777da + killer: 2 + - id: ec3013d48aeb + killer: 7 + - id: f1212080d4ac + killer: 4 + - id: f615bbf689e6 + killer: 7 + - id: f8215fd9ad76 + killer: 7 + - id: f8d47efc9a45 + killer: 7 + - id: fb4e8d6fd12e + killer: 7 + - id: fc09b46a1bf3 + killer: 7 + - id: ff6a18d99fd1 + killer: 7 + - id: fffc1d888dcb + killer: 7 +- path: crates/cargo-gamma-lib/src/advise/text.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_at_exactly_ten_percent_is_hot_and_keeps_its_cpu_total + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_no_wall_time_reports_no_share_rather_than_a_division_by_zero + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::finding_headings_are_numbered_and_capitalized + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::text::tests::durations_read_the_way_a_person_says_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_where_each_phase_spent_its_time + mutants: + - id: 01d28edc03a6 + killer: 7 + - id: 0310e035b59c + killer: 1 + - id: 0b9eff722d49 + killer: 3 + - id: 0c344b2aa48c + killer: 6 + - id: 0fe652994c48 + killer: 3 + - id: 10cfc535be1c + killer: 7 + - id: 16d3a9c92999 + killer: 8 + - id: 1717ba6f8774 + killer: 0 + - id: 1cea24ea66ed + killer: 3 + - id: 1d33caadb9cd + killer: 7 + - id: 20ff6c8fd6d6 + killer: 4 + - id: 27b5bfb14914 + killer: 1 + - id: 4b319d12162b + killer: 1 + - id: 5c929e752538 + killer: 1 + - id: 5d2b5683618d + killer: 4 + - id: 5da4671ce21c + killer: 0 + - id: 6b5165471df2 + killer: 6 + - id: 731c997bdd31 + killer: 0 + - id: 761cd15bf21b + killer: 4 + - id: 7813de33fc13 + killer: 6 + - id: 7aa5927a474f + killer: 4 + - id: 8706f9b973b4 + killer: 6 + - id: 8ffdbf204432 + killer: 0 + - id: 96636fe69626 + killer: 6 + - id: 9b31a3b1ccc5 + killer: 0 + - id: 9fb2d1442110 + killer: 6 + - id: a22bb2d44126 + killer: 6 + - id: a3de5231ba9e + killer: 6 + - id: a743877d9aae + killer: 1 + - id: ad0d7e33028f + killer: 5 + - id: b3066ec83a82 + killer: 6 + - id: b98ae222f08d + killer: 6 + - id: b9bd349b40aa + killer: 3 + - id: baba9b5fc42c + killer: 0 + - id: cb70a582bb01 + killer: 3 + - id: cf3793c2d0ae + killer: 7 + - id: d4aa601f5b26 + killer: 5 + - id: dc2ef9b02fc4 + killer: 0 + - id: dc9e344fb779 + killer: 4 + - id: e7846ada34dc + killer: 6 + - id: e7e6a24ff42b + killer: 6 + - id: e85e1dab376f + killer: 1 + - id: ed9ebc25143d + killer: 2 + - id: f5424f19120c + killer: 4 + - id: f7ac46669972 + killer: 3 + - id: f83b02d6e9a7 + killer: 1 + - id: fd7176a96717 + killer: 6 + - id: fe4f270bf120 + killer: 0 +- path: crates/cargo-gamma-lib/src/advise/yield_.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_rank_families_by_survivors_per_cpu_hour + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::yield_::tests::a_family_with_no_time_has_no_ratio_rather_than_an_infinite_one + mutants: + - id: 099c630db59b + killer: 1 + - id: 0fd202aa00dc + killer: 0 + - id: 5917ba8e5784 + killer: 1 + - id: 5bbaaa77772e + killer: 1 + - id: 64401ac5e111 + killer: 1 + - id: 77fda0c32b29 + killer: 3 + - id: 991def9b86ae + killer: 1 + - id: 9c809f0c8fa1 + killer: 3 + - id: a09e162b2461 + killer: 2 + - id: ac30dd337241 + killer: 1 + - id: b003398c5d9f + killer: 1 + - id: c91259b7672a + killer: 2 + - id: c9b2e9a3143e + killer: 2 + - id: cf9515ec52d8 + killer: 1 +- path: crates/cargo-gamma-lib/src/bounds.rs + killers: + - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_duration_that_would_panic_is_rejected_instead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_factor_is_positive_and_not_absurd + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_percentage_stays_within_its_range + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_below_one_byte_is_refused_rather_than_truncated_to_a_zero_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_that_is_not_one_is_refused_rather_than_guessed_at + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_understands_the_units_people_write + - package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + - package: cargo-gamma-lib + target: gate + test: a_merged_score_below_the_bar_exits_gate_failed + mutants: + - id: 019707599281 + killer: 0 + - id: 056179029741 + killer: 4 + - id: 090d6e9642d8 + killer: 0 + - id: 09d889158c34 + killer: 6 + - id: 0a032cdc298f + killer: 0 + - id: 0d83e5c807f4 + killer: 6 + - id: 0f25f15be6d2 + killer: 6 + - id: 100e2f22d326 + killer: 0 + - id: 11327b415338 + killer: 6 + - id: 12c4fded4d9e + killer: 1 + - id: 12f0c61613b6 + killer: 6 + - id: 14b54139fe7e + killer: 5 + - id: 156c1bde6af4 + killer: 6 + - id: 1abcccf02fed + killer: 0 + - id: 1c0af85a0d1c + killer: 6 + - id: 1c535f025993 + killer: 6 + - id: 1c61293b1f2b + killer: 4 + - id: 1f564a561eca + killer: 4 + - id: 1f5ecfe52653 + killer: 6 + - id: 1fabfcc2b93b + killer: 6 + - id: 2129eccf565c + killer: 0 + - id: 2de592194b50 + killer: 6 + - id: 2f192b92bf18 + killer: 6 + - id: 31f9d8abe767 + killer: 6 + - id: 32a27bef70b8 + killer: 4 + - id: 3abbbe36e242 + killer: 1 + - id: 3ae4908045bd + killer: 2 + - id: 3b8008672095 + killer: 3 + - id: 3c033164092e + killer: 5 + - id: 41be6c1284da + killer: 0 + - id: 4502c9c1f26e + killer: 0 + - id: 4835f3acb993 + killer: 6 + - id: 4bb5a5d5f99d + killer: 0 + - id: 4d2832882170 + killer: 6 + - id: 4d74593dee22 + killer: 6 + - id: 4df192442c41 + killer: 6 + - id: 4e2e573b0756 + killer: 6 + - id: 4edf9badb3e3 + killer: 4 + - id: 4f4dfcd1e113 + killer: 6 + - id: 4f7a9fe1630c + killer: 4 + - id: 500b082dbcd2 + killer: 6 + - id: 50254e4f2f98 + killer: 4 + - id: 50895bcd5bd3 + killer: 1 + - id: 57555d67aa98 + killer: 1 + - id: 57b51db70358 + killer: 6 + - id: 5c9874c892de + killer: 6 + - id: 5cca4a8b29df + killer: 6 + - id: 5d843a2fff4b + killer: 6 + - id: 616b99fe4fea + killer: 6 + - id: 62139dbf70cc + killer: 6 + - id: 627a30f099ee + killer: 6 + - id: 62bd5db4749f + killer: 0 + - id: 62fa24e8f2b7 + killer: 1 + - id: 649120fcd6fd + killer: 6 + - id: 6672d664f2f1 + killer: 4 + - id: 69ef31f08eef + killer: 4 + - id: 6b6704e55183 + killer: 4 + - id: 6f2a859ea4ba + killer: 4 + - id: 73a413ec3b55 + killer: 0 + - id: 77485db9c833 + killer: 1 + - id: 7951098dfd52 + killer: 0 + - id: 7de116b3adde + killer: 4 + - id: 84da6f767141 + killer: 6 + - id: 8513454c7eee + killer: 7 + - id: 85359548dafe + killer: 6 + - id: 8c40beea78ac + killer: 1 + - id: 8d2076eefaea + killer: 6 + - id: 8ebebc4fae5c + killer: 6 + - id: 93daa528b4fc + killer: 6 + - id: 957a9465e84b + killer: 6 + - id: 96f71a8bcaa7 + killer: 0 + - id: 97be199d160d + killer: 0 + - id: 98b9e95153e0 + killer: 0 + - id: 9a7d56668cab + killer: 6 + - id: 9c69ab6742a4 + killer: 6 + - id: a21eae5516dd + killer: 7 + - id: a2967c255fd8 + killer: 6 + - id: a35fb09480bd + killer: 4 + - id: a49429de8abf + killer: 0 + - id: a4f27144ac36 + killer: 0 + - id: a76c85324abc + killer: 0 + - id: a8b022b913e9 + killer: 6 + - id: a904d9dd3fba + killer: 6 + - id: a944060ea9a8 + killer: 6 + - id: aa1afcf92c42 + killer: 0 + - id: aad14c36a607 + killer: 6 + - id: ab7dae2e1508 + killer: 4 + - id: adae2f8346c6 + killer: 0 + - id: adfd221562f8 + killer: 4 + - id: ae5daa7f99a5 + killer: 6 + - id: b18d0bee1ef1 + killer: 6 + - id: b2838d14e81e + killer: 6 + - id: b2a073e399e1 + killer: 6 + - id: b455f98aea48 + killer: 7 + - id: b9ca8c3eda2d + killer: 7 + - id: ba4398d73bd5 + killer: 6 + - id: be07d5645c27 + killer: 0 + - id: be96fb20a3c6 + killer: 8 + - id: c1286423b9c3 + killer: 4 + - id: c2af2bd85b75 + killer: 8 + - id: c872a34b08ac + killer: 6 + - id: cae5c6ec3c58 + killer: 0 + - id: cd16204455ac + killer: 8 + - id: cdc5b079699c + killer: 6 + - id: d0a43f1f1835 + killer: 6 + - id: d5ca53a6ae1a + killer: 6 + - id: d660b24f0d5b + killer: 6 + - id: dd07edf77e42 + killer: 6 + - id: ddefb250f530 + killer: 3 + - id: de5cee9f365a + killer: 6 + - id: df736558a958 + killer: 1 + - id: df75cc52171a + killer: 6 + - id: e2d5039835aa + killer: 4 + - id: e31cece8480a + killer: 7 + - id: ed3c69ad419a + killer: 3 + - id: ef1597cb0362 + killer: 4 + - id: efbc6a292cf0 + killer: 1 + - id: f1333522e0f7 + killer: 6 + - id: f2b97bcc0d89 + killer: 5 + - id: f46aa4e90846 + killer: 0 + - id: f479b1960132 + killer: 4 + - id: f82a01cbba22 + killer: 6 + - id: faa698bd86cc + killer: 7 + - id: fb0e76688aa8 + killer: 5 + - id: fd79505d62bb + killer: 4 + - id: fe65b6c4fec8 + killer: 4 + - id: fee23dac5525 + killer: 1 +- path: crates/cargo-gamma-lib/src/cfg/build.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_absent_configuration_is_not_recorded_as_an_unreadable_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unreadable_configuration_is_recorded_as_an_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_home_is_recognized_only_below_its_actual_parent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::codegen_options_accept_every_rustc_spelling_but_only_cfg_relevant_values + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::debug_assertion_flags_use_the_last_recognised_exact_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::duplicate_configured_targets_still_describe_one_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::environment_names_and_home_fallbacks_are_read_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::flag_value_parsing_requires_exact_spellings_and_keeps_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::host_lookup_is_skipped_without_target_tables_and_answers_with_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::host_output_parsing_requires_the_host_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::release_shorthand_must_match_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::requested_targets_are_deduplicated_even_when_repeated_out_of_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::table_keys_are_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_probe_command_line_carries_every_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_target_specific_variables_are_read_by_enumeration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_change_to_any_setting_the_workspace_holds_moves_the_config_term + mutants: + - id: 0004e33ec4ac + killer: 33 + - id: 0023d8a52e8c + killer: 26 + - id: 006712e3c258 + killer: 13 + - id: 00abd9e9b7a5 + killer: 0 + - id: 0118ffcecbb2 + killer: 17 + - id: 022b1f4a65b0 + killer: 4 + - id: 024abb96bfd6 + killer: 31 + - id: 025bdb7318cc + killer: 10 + - id: 0265fce0cfc3 + killer: 12 + - id: 030eeae9c063 + killer: 17 + - id: 037f58e2786b + killer: 37 + - id: 03bc3b888132 + killer: 5 + - id: 04bce04248c4 + killer: 0 + - id: 05b2a92bb881 + killer: 2 + - id: 062734677fee + killer: 10 + - id: 062856f0d822 + killer: 10 + - id: 069c4642484e + killer: 5 + - id: 06a51a8a8933 + killer: 5 + - id: 07c74d2c636d + killer: 4 + - id: 080262233d41 + killer: 40 + - id: 08a58315fa1b + killer: 0 + - id: 0901f14351bd + killer: 31 + - id: 09caeec38bae + killer: 13 + - id: 0bd11cdda9bf + killer: 5 + - id: 0c466b642b71 + killer: 20 + - id: 0cb3ffe61ad7 + killer: 17 + - id: 0d23d447b31b + killer: 29 + - id: 0d7f28cc258a + killer: 0 + - id: 0dcdeb1eb41d + killer: 2 + - id: 0f239588b429 + killer: 10 + - id: 0fcd8c44033d + killer: 0 + - id: 110a41a4b2f9 + killer: 10 + - id: 118720350bb0 + killer: 37 + - id: 123f09e0c388 + killer: 4 + - id: 12d0389cb6f4 + killer: 20 + - id: 13f645ad2296 + killer: 5 + - id: 1526809ae093 + killer: 10 + - id: 1566576e76b9 + killer: 4 + - id: 1601fee4ccb7 + killer: 16 + - id: 1756bf69199d + killer: 34 + - id: 18386f7e38af + killer: 4 + - id: 18ff2abb23b3 + killer: 5 + - id: 1c89e5d86e7b + killer: 5 + - id: 1c8f83c0acf5 + killer: 18 + - id: 1d29e32296c2 + killer: 10 + - id: 1d7431d6d663 + killer: 15 + - id: 1dccc05d6ebe + killer: 0 + - id: 1dee8b3dbae9 + killer: 10 + - id: 1ef7cc61c02b + killer: 2 + - id: 1fb5a98dafaf + killer: 26 + - id: 2039eec5901b + killer: 0 + - id: 209a10990d1d + killer: 0 + - id: '212487226534' + killer: 41 + - id: 234dcb5bcd81 + killer: 4 + - id: 237f900e0b81 + killer: 31 + - id: 24078745c87f + killer: 26 + - id: '242723808223' + killer: 13 + - id: 248792b3117b + killer: 31 + - id: 24ce1f0d9b06 + killer: 0 + - id: 25e8f2cf447e + killer: 10 + - id: 26fcfed27603 + killer: 12 + - id: 270d31731aa8 + killer: 21 + - id: 271bd2c1c7ed + killer: 5 + - id: 28067fb086e6 + killer: 0 + - id: 2838ade4f510 + killer: 9 + - id: 283c993c5b8c + killer: 9 + - id: 2964c51996d4 + killer: 0 + - id: 2978c851946c + killer: 2 + - id: 297c16cf7801 + killer: 0 + - id: 2a40706c190f + killer: 10 + - id: 2ae166de7f84 + killer: 33 + - id: 2afb87dd2fba + killer: 39 + - id: 2b34e184401e + killer: 0 + - id: 2be318bc8795 + killer: 5 + - id: 2c2d54a146d2 + killer: 0 + - id: 2d4304e32d53 + killer: 10 + - id: 2dd0462e8f13 + killer: 36 + - id: 2f070c74b5cf + killer: 24 + - id: 2f130fd020d2 + killer: 2 + - id: 2f1fbc517726 + killer: 10 + - id: 2f5c3f5db57a + killer: 13 + - id: 2f8d83ab8f87 + killer: 17 + - id: 2ff002c08517 + killer: 24 + - id: 30704680cde1 + killer: 10 + - id: 30af3b20c7cc + killer: 17 + - id: 3257e53b8c4a + killer: 17 + - id: 32701e585339 + killer: 5 + - id: 33c4ea7571f0 + killer: 10 + - id: 33f1ba5c0942 + killer: 26 + - id: 340b46d66884 + killer: 0 + - id: 34405d175326 + killer: 24 + - id: 3533b9cdc6a8 + killer: 0 + - id: 3592e9defff7 + killer: 4 + - id: 35bfe7e910a2 + killer: 42 + - id: 3625ded1cd2a + killer: 17 + - id: 36626bb5e038 + killer: 0 + - id: 367ef73059eb + killer: 38 + - id: 36eab8a2d5f7 + killer: 0 + - id: 37709b63464a + killer: 5 + - id: 386dd7439ee1 + killer: 39 + - id: 387927a3bbe9 + killer: 4 + - id: 390b86734498 + killer: 2 + - id: 398efcf35566 + killer: 10 + - id: 39bacdd02b47 + killer: 2 + - id: 3aaa0a9140a1 + killer: 13 + - id: 3ab506f7362d + killer: 17 + - id: 3ac0699114d0 + killer: 29 + - id: 3c094efa2dce + killer: 7 + - id: 3c5ade244ef7 + killer: 10 + - id: 3db2e8fef1bb + killer: 4 + - id: 3e1becc00db9 + killer: 17 + - id: 3e5fe604373f + killer: 13 + - id: 3ec899539c83 + killer: 0 + - id: 3f71d97d7c20 + killer: 24 + - id: 3f73ff1fb2fc + killer: 37 + - id: 4064381314e8 + killer: 22 + - id: 41ac107e3d84 + killer: 28 + - id: 41f7e72a4fc7 + killer: 17 + - id: 423e0e6a5e57 + killer: 0 + - id: 42d470def4a6 + killer: 36 + - id: 43190e005024 + killer: 12 + - id: 43c1d3d43d30 + killer: 1 + - id: 43f622adb00d + killer: 10 + - id: 44dd3171a090 + killer: 20 + - id: 45b34c8ae784 + killer: 24 + - id: 4635a06763c7 + killer: 0 + - id: 4716e968a939 + killer: 16 + - id: 48251d6db91e + killer: 2 + - id: 48de3683f340 + killer: 10 + - id: 48ffd38e1af3 + killer: 4 + - id: '491996504939' + killer: 5 + - id: 49ef8d11eb9e + killer: 37 + - id: 4b10ff8a8d9e + killer: 24 + - id: 4bbfde90b962 + killer: 17 + - id: 4c3aaa99631c + killer: 17 + - id: 4c599c5c7a87 + killer: 36 + - id: 4da217a2c0f1 + killer: 37 + - id: 4eefb8dc41f9 + killer: 12 + - id: 4f1ed9855567 + killer: 0 + - id: 4fb3d0d8d6e9 + killer: 17 + - id: 4ffcfb840a43 + killer: 32 + - id: 502137ff8e61 + killer: 31 + - id: 5225ccef0b52 + killer: 37 + - id: 528aa287c8aa + killer: 2 + - id: 5323e8046cb5 + killer: 1 + - id: 538c1195ce15 + killer: 4 + - id: 5515fd9a936f + killer: 5 + - id: 55b22e516381 + killer: 37 + - id: 55c264cfe508 + killer: 17 + - id: 563416099f52 + killer: 24 + - id: 56a4a77b852a + killer: 5 + - id: 56e4bc694c69 + killer: 8 + - id: 570fa0eb0784 + killer: 35 + - id: 574b6b528e3b + killer: 37 + - id: 577b8d984180 + killer: 17 + - id: 582f686a26d7 + killer: 10 + - id: 58ca592fc0d6 + killer: 0 + - id: 5b6960040db0 + killer: 26 + - id: 5ba88af0eb40 + killer: 37 + - id: 5bef49fe0d98 + killer: 2 + - id: 5ceef001e2b4 + killer: 9 + - id: 5e6ef4a775b2 + killer: 5 + - id: 5edb455ca04c + killer: 16 + - id: 60f83232205a + killer: 10 + - id: 61ae707a26a5 + killer: 20 + - id: 61b3d6934aa8 + killer: 10 + - id: 63476f566fc9 + killer: 0 + - id: 641e3d472db8 + killer: 4 + - id: 65639fa4521e + killer: 12 + - id: 65f6cddacd36 + killer: 37 + - id: 66076ad13b86 + killer: 24 + - id: '664072751491' + killer: 0 + - id: 6667ebc04165 + killer: 38 + - id: 6724615aff47 + killer: 29 + - id: 67beb7f2caec + killer: 31 + - id: 67cbbd95a558 + killer: 0 + - id: 6854d74c6cf6 + killer: 0 + - id: 694887163dff + killer: 2 + - id: 6a29b89e6b09 + killer: 10 + - id: 6b609b04702b + killer: 5 + - id: 6c53a3269814 + killer: 0 + - id: 6d44c883c45b + killer: 37 + - id: 6daa735a2599 + killer: 5 + - id: 6ec89c19d4b2 + killer: 20 + - id: 7113b917e2bf + killer: 37 + - id: 71726b47f48a + killer: 4 + - id: 731bce337793 + killer: 24 + - id: 7363efddb650 + killer: 13 + - id: 738050f64a96 + killer: 32 + - id: 73ff7c52ea8a + killer: 4 + - id: 741430c2e396 + killer: 11 + - id: 7490771da48b + killer: 26 + - id: 7672ac2b0d60 + killer: 17 + - id: 77aca2367496 + killer: 4 + - id: 7859312950a0 + killer: 12 + - id: 786720410a74 + killer: 18 + - id: 79bad07462e4 + killer: 37 + - id: 7ae551c29050 + killer: 10 + - id: 7b1a2b2608df + killer: 10 + - id: 7b27b4a942eb + killer: 4 + - id: 7b2922c8e386 + killer: 4 + - id: 7b71022ef968 + killer: 31 + - id: 7d9b51d702c2 + killer: 20 + - id: 7dab0cc55dd9 + killer: 7 + - id: 8039e156283c + killer: 29 + - id: 807f40368edb + killer: 17 + - id: 8094d04bd05d + killer: 17 + - id: 81e38217200f + killer: 44 + - id: 83702a80b1da + killer: 4 + - id: 845a22a99e82 + killer: 2 + - id: 84b27311c5c2 + killer: 6 + - id: 8513f6db5ec0 + killer: 5 + - id: 856d009cc032 + killer: 17 + - id: 89cee6a123b4 + killer: 8 + - id: 8a90aadcf140 + killer: 16 + - id: 8ca2cb16eeb0 + killer: 5 + - id: 8dbe9c66cf3c + killer: 5 + - id: 8e6963d69c4c + killer: 9 + - id: 8ecf1ca2a37f + killer: 22 + - id: 903db0e152fb + killer: 20 + - id: 906c1e8ef812 + killer: 10 + - id: 9172b097ffa2 + killer: 26 + - id: 91d3630ed22e + killer: 34 + - id: 92631e74b731 + killer: 4 + - id: 9295e0df7aa1 + killer: 4 + - id: 930a0a70ba42 + killer: 37 + - id: 933d7827ad76 + killer: 15 + - id: 93eb08dafb19 + killer: 13 + - id: 94ef648c9139 + killer: 17 + - id: 95a89b83a2a2 + killer: 4 + - id: 95b93747aad5 + killer: 10 + - id: 96bd6d9fc150 + killer: 24 + - id: 9704e4adee50 + killer: 12 + - id: 9843df3709cb + killer: 34 + - id: 98d947c3487c + killer: 26 + - id: 990de43a0840 + killer: 10 + - id: 9943f23d6344 + killer: 10 + - id: 999f0890cd34 + killer: 26 + - id: 99f1c431431b + killer: 37 + - id: 9aec37d3d81c + killer: 4 + - id: 9bea4256955f + killer: 39 + - id: 9c2eeb2b1956 + killer: 36 + - id: 9c53d90b5e95 + killer: 5 + - id: 9dbb3b517aed + killer: 38 + - id: 9df96a1c135e + killer: 9 + - id: 9e952a84bab6 + killer: 7 + - id: 9f2b79e50a3d + killer: 4 + - id: a0d48a6aa076 + killer: 5 + - id: a1841e375316 + killer: 31 + - id: a19ff8b050c0 + killer: 17 + - id: a416cf5d7c04 + killer: 24 + - id: a4214c446267 + killer: 12 + - id: a4c35459e7bb + killer: 5 + - id: a4ed384603ff + killer: 7 + - id: a4fe1f23e0e0 + killer: 24 + - id: a5376a204275 + killer: 40 + - id: a598d3548adb + killer: 13 + - id: a63f9b269396 + killer: 28 + - id: a655b2ba5ee4 + killer: 10 + - id: a77100c5b8e0 + killer: 15 + - id: a82bf6f4f5b2 + killer: 5 + - id: a943bda3b6e7 + killer: 14 + - id: a9b8915971e7 + killer: 5 + - id: a9d7729252c6 + killer: 10 + - id: aa4c8492b201 + killer: 32 + - id: ac0a336ededf + killer: 4 + - id: ac58a36578ef + killer: 37 + - id: ad4c6eb664e2 + killer: 26 + - id: af866fce3bd0 + killer: 13 + - id: b008c1cf07b1 + killer: 10 + - id: b0ff9629b633 + killer: 0 + - id: b15c0c16b95c + killer: 17 + - id: b287ecf4f06b + killer: 10 + - id: b365758a3979 + killer: 24 + - id: b5183ef363ce + killer: 12 + - id: b5506a4c188f + killer: 37 + - id: b5b8efe7b4e6 + killer: 4 + - id: b6025e79de9c + killer: 37 + - id: b6027136d0d0 + killer: 23 + - id: b634bed27593 + killer: 17 + - id: b72ca80f9764 + killer: 10 + - id: b7904633daff + killer: 31 + - id: b7ebef4c6e9a + killer: 13 + - id: b9bc658cf3f0 + killer: 36 + - id: b9caaad71683 + killer: 5 + - id: ba2b89b6229f + killer: 4 + - id: ba6b002560ab + killer: 0 + - id: bb499f007f2b + killer: 39 + - id: bbd8b759f007 + killer: 24 + - id: bd24f4e14f55 + killer: 17 + - id: bddc911b5182 + killer: 0 + - id: bfa8b9cbd902 + killer: 10 + - id: c0068caa0cf9 + killer: 28 + - id: c05d62e99aa2 + killer: 17 + - id: c1732f01de25 + killer: 11 + - id: c229e6fa90c2 + killer: 17 + - id: c2c6a032915b + killer: 40 + - id: c3244d520736 + killer: 17 + - id: c32f55c1b091 + killer: 39 + - id: c3e7dd8c3242 + killer: 28 + - id: c497efaf079a + killer: 25 + - id: c4c57c516b8c + killer: 4 + - id: c5a6a2036a36 + killer: 27 + - id: c6302c872f55 + killer: 3 + - id: c6abb0611467 + killer: 19 + - id: c79ae426d311 + killer: 16 + - id: c7a8e273511d + killer: 2 + - id: c7d92ffe7b91 + killer: 4 + - id: c8747226dceb + killer: 20 + - id: cb7a2b201723 + killer: 2 + - id: cbd24f2874a3 + killer: 41 + - id: cc82796515af + killer: 37 + - id: cdcc161941f1 + killer: 40 + - id: ce3c1780bab3 + killer: 44 + - id: ce4bf8a635d9 + killer: 4 + - id: cf2b4c754dcd + killer: 12 + - id: cf43b678341c + killer: 10 + - id: d0d52b6b9922 + killer: 31 + - id: d2a8fbb92b1e + killer: 43 + - id: d2e0b4de937a + killer: 31 + - id: d2f735d44edf + killer: 18 + - id: d344813abc93 + killer: 10 + - id: d3d8e3ebc79f + killer: 4 + - id: d421c12c593d + killer: 13 + - id: d49c9d94b897 + killer: 30 + - id: d60b7a80c184 + killer: 0 + - id: d6de9b80e5d1 + killer: 4 + - id: d7f973f91400 + killer: 43 + - id: da753ae1a643 + killer: 4 + - id: db92a50387c6 + killer: 10 + - id: dcfbc5814fbc + killer: 39 + - id: dd24d876dcb4 + killer: 32 + - id: dfed18744c85 + killer: 39 + - id: e2ae054557e2 + killer: 10 + - id: e5be55db5e5d + killer: 5 + - id: e6adcb638160 + killer: 4 + - id: e7eed8bd28ea + killer: 24 + - id: e849db29531f + killer: 12 + - id: e88180984cd3 + killer: 13 + - id: ea33706ff8c4 + killer: 36 + - id: eadda612ed6b + killer: 4 + - id: eb14a108af53 + killer: 0 + - id: ec0ad2640573 + killer: 10 + - id: ecc4a7878bea + killer: 14 + - id: eceef02b4096 + killer: 4 + - id: ed4256b6ca71 + killer: 37 + - id: edae96bb0c13 + killer: 12 + - id: f1670b6bbc1a + killer: 17 + - id: f18277b345fd + killer: 18 + - id: f273c347c476 + killer: 14 + - id: f3106e9dce97 + killer: 37 + - id: f3f7c50c60fc + killer: 24 + - id: f421eebb846a + killer: 5 + - id: f43f2eb78fda + killer: 44 + - id: f4fc366158ef + killer: 4 + - id: f5d109f19892 + killer: 24 + - id: f8b90376724d + killer: 40 + - id: f9074ba9dd63 + killer: 38 + - id: f9796500c31a + killer: 18 + - id: f9bfb7b6d139 + killer: 28 + - id: fa092f10d987 + killer: 19 + - id: fa6de2e18340 + killer: 11 + - id: fa86114deb2a + killer: 2 + - id: fad893d01293 + killer: 10 + - id: fbad8e30f7a0 + killer: 7 + - id: fbdb925f1322 + killer: 5 + - id: fc75dcae331c + killer: 17 + - id: fcaf9e749f1e + killer: 0 + - id: fd5a8df1d759 + killer: 26 + - id: fe11defa8772 + killer: 10 + - id: fecf08dc5890 + killer: 5 + - id: fef0395ddda6 + killer: 2 +- path: crates/cargo-gamma-lib/src/cfg/cfgs.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::cfgs::tests::a_package_gets_its_own_features + mutants: + - id: 7310b2ffb29a + killer: 0 + - id: cc9f34210528 + killer: 0 +- path: crates/cargo-gamma-lib/src/cfg/features.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_of_an_unrecognised_kind_does_not_propagate_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_that_is_not_declared_is_not_invented + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_named_feature_is_turned_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_passthrough_selector_adds_to_the_typed_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_passthrough_selector_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_qualified_name_only_reaches_its_own_package + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_renamed_dependency_forwards_its_features_to_the_package_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::all_features_turns_on_everything_declared + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::features_chain_through_their_own_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + mutants: + - id: 002a0655b431 + killer: 5 + - id: 0133a94fb4f1 + killer: 0 + - id: 0245ef44a9d5 + killer: 3 + - id: 07496af25533 + killer: 5 + - id: 093998910faf + killer: 6 + - id: 0b2b25a31978 + killer: 6 + - id: 0dde12aeb55b + killer: 0 + - id: 0f5f4071fff5 + killer: 7 + - id: 115a72249364 + killer: 9 + - id: 168da5eaa385 + killer: 0 + - id: 1746378e348f + killer: 4 + - id: 1a22d295100a + killer: 6 + - id: 21d4fc313623 + killer: 5 + - id: 28ee628fb1b5 + killer: 1 + - id: 2cad108cf85e + killer: 7 + - id: 35a1757c593b + killer: 0 + - id: 369d39ce889c + killer: 5 + - id: 3bba3572fd3c + killer: 0 + - id: 3d5a3f4d194e + killer: 2 + - id: 3e9f379dabbb + killer: 7 + - id: 4059d8b1d516 + killer: 0 + - id: 44c1f7e81fbb + killer: 0 + - id: 44fcbaa89ba4 + killer: 6 + - id: 46b9ea57374d + killer: 0 + - id: 49a06a5f2906 + killer: 10 + - id: 49b8ee1e4d61 + killer: 0 + - id: 4b2dbda31e82 + killer: 0 + - id: 4b460530af30 + killer: 7 + - id: 4d46f486a1ff + killer: 11 + - id: 592ca1a1ffce + killer: 5 + - id: 6017d98ff894 + killer: 12 + - id: 60cd74a8e005 + killer: 1 + - id: 730abfda113d + killer: 6 + - id: 7680e29c1ed8 + killer: 2 + - id: 7aecaf07ae4d + killer: 9 + - id: 7c1f65064bed + killer: 0 + - id: 7cfd0d4cb9c9 + killer: 2 + - id: 865757bd2609 + killer: 1 + - id: 8db364d491c4 + killer: 1 + - id: 931c6225e925 + killer: 1 + - id: 976a9e62a990 + killer: 7 + - id: 9a3750df4cb8 + killer: 2 + - id: 9b8dc6fcd09a + killer: 1 + - id: 9df95fa5c99c + killer: 4 + - id: a1d58d587088 + killer: 7 + - id: aaffcf01c20f + killer: 5 + - id: abd5a413eae1 + killer: 10 + - id: ac94d282596f + killer: 7 + - id: afbc9e2e97c1 + killer: 7 + - id: b5ad5a877089 + killer: 6 + - id: bb0aca0b1d43 + killer: 0 + - id: bc33e435e656 + killer: 0 + - id: bc6d89efb706 + killer: 2 + - id: bdc664d38b34 + killer: 0 + - id: bf10683c0be1 + killer: 12 + - id: c47f4c18816e + killer: 7 + - id: c4b37fc1d0bc + killer: 8 + - id: c94cbbac5577 + killer: 0 + - id: ca00f849e0d0 + killer: 5 + - id: ca8ed861c189 + killer: 5 + - id: cba59282c3ba + killer: 0 + - id: d05083e01003 + killer: 0 + - id: dcee1df5c2f9 + killer: 7 + - id: e30feb296d9b + killer: 6 + - id: e368970249f5 + killer: 8 + - id: e4616c515c23 + killer: 1 + - id: e52a27b89520 + killer: 7 + - id: e631a4ef4804 + killer: 6 + - id: e8aa8bfe7833 + killer: 3 + - id: eb5aaa143ea8 + killer: 0 + - id: ec835e3289b6 + killer: 4 + - id: f0d2790abdcf + killer: 6 + - id: f24c4e399c36 + killer: 7 + - id: f3cefb02d2a9 + killer: 2 + - id: fe11f160bd70 + killer: 1 + - id: fe876ab12cbf + killer: 2 +- path: crates/cargo-gamma-lib/src/cfg/probe.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_for_another_target_answers_about_that_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_of_several_targets_strips_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_profile_without_debug_assertions_strips_the_other_half + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_rustc_probe_failure_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::an_unanswered_profile_leaves_both_halves_mutable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::the_compiler_override_uses_cargos_rustc_variable + mutants: + - id: 0ff96b8db615 + killer: 4 + - id: 1cf0a08499a2 + killer: 4 + - id: 1f8a9b7970d3 + killer: 0 + - id: 227baa442c09 + killer: 4 + - id: 24c45df631f0 + killer: 0 + - id: 33403ac4b7ef + killer: 2 + - id: 38fadde969e5 + killer: 0 + - id: 5ce21aa2e744 + killer: 3 + - id: 5f845af03a0d + killer: 0 + - id: 66d380a53065 + killer: 5 + - id: 7cee1bcc542c + killer: 3 + - id: 8548147f789f + killer: 2 + - id: 860b6a8991b9 + killer: 0 + - id: 879cf489fa28 + killer: 0 + - id: 9729310a6009 + killer: 0 + - id: 9a358dd7eb1d + killer: 0 + - id: a561f7b50627 + killer: 0 + - id: ab9dc7a2a364 + killer: 0 + - id: b57a399172b2 + killer: 0 + - id: c0e7572be0a6 + killer: 5 + - id: da556e94b874 + killer: 4 + - id: f7b48f9f5405 + killer: 4 + - id: fd348dd291a5 + killer: 1 +- path: crates/cargo-gamma-lib/src/ci/annotations.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::annotations::tests::a_comma_cannot_escape_a_property + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::annotations::tests::a_percent_is_escaped_before_anything_else + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::annotations::tests::an_annotation_points_at_a_relative_path + - package: cargo-gamma-lib + target: regressions + test: issue_018_annotations_stop_at_what_github_keeps + mutants: + - id: 0eb57c30d22e + killer: 0 + - id: 11cd38151735 + killer: 0 + - id: 12bafb9c1be4 + killer: 3 + - id: 1ee83aa364bb + killer: 3 + - id: 1f7bdeed981b + killer: 0 + - id: 2aa04475630d + killer: 1 + - id: 2d24ae4e7f82 + killer: 0 + - id: 4e7171593735 + killer: 0 + - id: 62b9ed8afe19 + killer: 3 + - id: 6f558a9d262b + killer: 0 + - id: 7c8ccd456e54 + killer: 3 + - id: 8cdbfdf604a5 + killer: 3 + - id: a5474bdc75bb + killer: 3 + - id: b3226361514e + killer: 1 + - id: bd9f3bbeb1e0 + killer: 0 + - id: c70de6ff265e + killer: 3 + - id: ce22706917d9 + killer: 3 + - id: ddb201faf0ab + killer: 3 + - id: e8f7c0fdf9ac + killer: 2 + - id: fd2b4ba172ab + killer: 0 +- path: crates/cargo-gamma-lib/src/ci/finding.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::finding::tests::windows_findings_use_repository_style_separators + - package: cargo-gamma-lib + target: sarif_contract + test: the_emitted_log_matches_the_committed_one_field_for_field + mutants: + - id: 255daa905279 + killer: 1 + - id: 2e29e0296057 + killer: 1 + - id: 52e3eeb5c029 + killer: 0 + - id: 661ef6dbd188 + killer: 0 + - id: 93c1bd888d55 + killer: 1 + - id: 94e67566e087 + killer: 1 + - id: ab8484c824ed + killer: 1 + - id: b1953df4ea59 + killer: 1 + - id: c15dbaa5e7b2 + killer: 1 +- path: crates/cargo-gamma-lib/src/ci/sarif.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::sarif::tests::candidate_prefixes_halve_until_the_empty_log + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::sarif::tests::measuring_a_log_matches_the_json_writer_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::sarif::tests::one_finding_past_the_cap_is_dropped_and_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::sarif::tests::sarif_carries_one_rule_per_mutator + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: regressions + test: issue_018_a_sarif_log_stays_within_what_github_accepts + - package: cargo-gamma-lib + target: sarif_contract + test: fingerprint_values_have_the_production_identity_shape + - package: cargo-gamma-lib + target: sarif_contract + test: the_emitted_log_matches_the_committed_one_field_for_field + mutants: + - id: 01d0f3af93a9 + killer: 7 + - id: 05b68d71ef23 + killer: 6 + - id: 1fe1e30ee159 + killer: 7 + - id: 21aebd754b3a + killer: 6 + - id: 264121b39325 + killer: 6 + - id: 270dbc7d62bd + killer: 5 + - id: 2bccd6c11312 + killer: 7 + - id: 2c4a5538b05e + killer: 6 + - id: 2c98da1ae7e4 + killer: 6 + - id: 2f40b7aad2b9 + killer: 5 + - id: 40fc449a409d + killer: 7 + - id: 424da24f3005 + killer: 6 + - id: 427c284af275 + killer: 7 + - id: 4f633be6f131 + killer: 6 + - id: 67365be7ac70 + killer: 6 + - id: 6f2180b0c33b + killer: 6 + - id: 6f9f9e0858d8 + killer: 0 + - id: 7449993a329a + killer: 5 + - id: 7ab092807ed0 + killer: 7 + - id: 7ab9b9c905ac + killer: 5 + - id: 7d551866d093 + killer: 0 + - id: 7d8b5f23a9b5 + killer: 7 + - id: 8a57b473a72b + killer: 5 + - id: 8b1e0faa5eb3 + killer: 5 + - id: 8c651eff7bdb + killer: 6 + - id: 8e277b0d96b5 + killer: 1 + - id: 93a06863e897 + killer: 6 + - id: 95c81eaef816 + killer: 0 + - id: 96bb31b6c3fe + killer: 6 + - id: 99922eec6cf8 + killer: 5 + - id: a04ebc3432b4 + killer: 7 + - id: a0880ad8e775 + killer: 6 + - id: a111020033d9 + killer: 6 + - id: ac9cfbe147ba + killer: 5 + - id: b4febac95cc7 + killer: 6 + - id: b7cc25e1dc9c + killer: 3 + - id: bb46b93c9954 + killer: 6 + - id: c022ce3e6e0c + killer: 2 + - id: c0d0dfac9487 + killer: 4 + - id: c759cda9cd35 + killer: 0 + - id: ce29988cad0a + killer: 7 + - id: d3c743fb1581 + killer: 6 + - id: d8662a87c683 + killer: 6 + - id: daaab59774d8 + killer: 2 + - id: dcb94757fc07 + killer: 6 + - id: dd081c684f99 + killer: 6 + - id: e10ced870b15 + killer: 6 + - id: e1c8367591e8 + killer: 5 + - id: eab5e530d6fe + killer: 6 + - id: ebcec2100f22 + killer: 1 + - id: ee20b874d56b + killer: 7 + - id: f7bd88b99e88 + killer: 0 + - id: f9f886f8ec3f + killer: 7 + - id: fb9e77d653ab + killer: 7 +- path: crates/cargo-gamma-lib/src/ci/summary.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::a_code_span_is_fenced_longer_than_the_backticks_it_holds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::a_memory_kill_is_the_whole_breakdown_when_it_is_the_whole_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::a_path_that_ends_a_cell_a_span_or_a_line_stays_in_one_cell + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::an_empty_outcome_is_left_out_of_the_summary_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::files_with_the_same_count_are_ordered_by_path + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::no_two_paths_render_as_the_same_cell + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::the_summary_table_accounts_for_every_mutant_in_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_step_summary_omits_advice_when_none_was_given + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + mutants: + - id: 012cf59ed29b + killer: 0 + - id: 01c280612be9 + killer: 6 + - id: 035bb630aaeb + killer: 0 + - id: 0364aebf5592 + killer: 1 + - id: 0a46bc30286d + killer: 0 + - id: 0cc9d87c2527 + killer: 0 + - id: 0feca96743e4 + killer: 0 + - id: 10a4416ab2c2 + killer: 2 + - id: 135ba0809173 + killer: 1 + - id: 13d097761683 + killer: 0 + - id: 16b6ef735fc3 + killer: 0 + - id: 1cee6fdda6a3 + killer: 0 + - id: 1e3278f129c5 + killer: 0 + - id: 1e7c31addf85 + killer: 3 + - id: 224814b0b550 + killer: 1 + - id: 2ae3e82a14a4 + killer: 7 + - id: 2ddcc9a8261a + killer: 5 + - id: 2e80b3c875c0 + killer: 0 + - id: 30564beb5103 + killer: 0 + - id: 310a2a01ac5a + killer: 0 + - id: 3160320ff3a5 + killer: 0 + - id: 3406cf890410 + killer: 2 + - id: 3561b2a50b65 + killer: 0 + - id: 35db83ed277f + killer: 0 + - id: 3b6400e244bd + killer: 0 + - id: 3bb6a875168f + killer: 0 + - id: 3f4fac1a0eb6 + killer: 7 + - id: 41e7fa81e824 + killer: 0 + - id: 46e0593a6461 + killer: 0 + - id: 4dc7a1165b50 + killer: 7 + - id: 50090816634a + killer: 0 + - id: 52e3a500e425 + killer: 2 + - id: 58fb05fbe70a + killer: 0 + - id: 5a984f3fc6c1 + killer: 0 + - id: 5ac488e3263e + killer: 2 + - id: 5af80a6a5b02 + killer: 0 + - id: 6a74752884eb + killer: 5 + - id: 6ce738d9de04 + killer: 7 + - id: 6e9f20059f3a + killer: 3 + - id: 713f27f0fb20 + killer: 8 + - id: 71af858bcc22 + killer: 0 + - id: 72424c6e9ec5 + killer: 7 + - id: 7a33e3e8578b + killer: 2 + - id: 8855dbe8d72c + killer: 2 + - id: 88faa8661953 + killer: 6 + - id: 893cdc9b68a7 + killer: 0 + - id: 894e47050206 + killer: 6 + - id: 8cd3d708a90b + killer: 0 + - id: 8dd020a8b2bb + killer: 2 + - id: 9858fe73b259 + killer: 3 + - id: 98702fefc1af + killer: 0 + - id: 9d320cb23f9b + killer: 3 + - id: 9f0a3754c89a + killer: 3 + - id: a02db612813b + killer: 1 + - id: a1476994ba9f + killer: 0 + - id: a31719581cd8 + killer: 2 + - id: a4d0e29838ea + killer: 1 + - id: a5aeedc9717c + killer: 0 + - id: a99c366f42eb + killer: 0 + - id: b275f8798008 + killer: 0 + - id: b4996b108964 + killer: 2 + - id: b6e6d757479a + killer: 0 + - id: bfa0b12c7dda + killer: 0 + - id: c074b73d1606 + killer: 5 + - id: c41e105cf554 + killer: 0 + - id: c5a662e23b3e + killer: 0 + - id: c6c919be2745 + killer: 0 + - id: c6f9379b86b2 + killer: 2 + - id: c7d2bd467bee + killer: 5 + - id: ce7f793a3daa + killer: 2 + - id: cf124ae0c664 + killer: 0 + - id: d2924ef6adb1 + killer: 1 + - id: d29d2149a88c + killer: 0 + - id: d739c44718ce + killer: 0 + - id: df795dbc016c + killer: 4 + - id: dfb115acc522 + killer: 8 + - id: e48653ac5c92 + killer: 0 + - id: e948dafe8122 + killer: 1 + - id: ecf4d1503fc8 + killer: 2 + - id: f49167e61b57 + killer: 2 + - id: fc04e3f12f46 + killer: 0 +- path: crates/cargo-gamma-lib/src/commands/clean.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::clean::tests::clean_reports_whether_cached_data_existed + - package: cargo-gamma-lib + target: cli + test: clean_deletes_only_the_current_workspaces_cached_data + mutants: + - id: 0714a83747d8 + killer: 1 + - id: 1b182ef575ab + killer: 1 + - id: 38867a19e6fa + killer: 1 + - id: 531976fe8305 + killer: 1 + - id: 78620a1269af + killer: 1 + - id: c152f179db34 + killer: 1 + - id: df54f2ef53fb + killer: 0 + - id: f219e8e82dae + killer: 1 +- path: crates/cargo-gamma-lib/src/commands/cli.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::a_count_without_an_index_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::a_lone_zero_is_still_a_half_pair + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::a_shard_count_beyond_what_a_merge_can_account_for_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::a_single_shard_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::a_zero_shard_count_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::all_features_render_before_named_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::error_values_are_ignored_when_the_mutator_is_deselected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::error_values_are_kept_when_an_explicit_selection_includes_the_error_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::feature_arguments_render_as_cargo_spells_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::naming_error_values_turns_the_error_mutator_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::no_feature_arguments_render_as_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::no_sharding_arguments_means_no_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::shard_index_must_be_in_range + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::the_bound_wrappers_forward_to_the_underlying_checks + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_closed_output_stream_ends_every_listing_successfully + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: an_out_of_range_shard_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + mutants: + - id: 00555b1e11da + killer: 8 + - id: 00662e34abcd + killer: 1 + - id: 079d6a4347d7 + killer: 5 + - id: 0bd4f96945fe + killer: 5 + - id: 0f1103fe90ae + killer: 5 + - id: 104a3722cf80 + killer: 18 + - id: 15025dfe45fc + killer: 5 + - id: 15b0a1f31d35 + killer: 5 + - id: 1bb11ba951ff + killer: 16 + - id: 1ddc16f6d344 + killer: 9 + - id: 20e03ba7090c + killer: 6 + - id: 2aafaf813ecd + killer: 6 + - id: 2ad34a7fd778 + killer: 13 + - id: 2b6c704ad38d + killer: 5 + - id: 3292fa39eacf + killer: 18 + - id: 39f6671141da + killer: 19 + - id: 3c32da60a339 + killer: 5 + - id: 3cfd4df7f2c4 + killer: 5 + - id: 3d4bb31defa9 + killer: 18 + - id: 42a1282e1c6f + killer: 5 + - id: 455846aa4272 + killer: 12 + - id: 46acfc239978 + killer: 5 + - id: 47194f96160b + killer: 3 + - id: 4f16170ec726 + killer: 7 + - id: 5871e74d6d48 + killer: 7 + - id: 59ee51725c39 + killer: 18 + - id: 5a38354a1b7c + killer: 8 + - id: 5f4070e0d120 + killer: 18 + - id: 66cc4bf26723 + killer: 5 + - id: 6c66c40306ec + killer: 2 + - id: 6e47dff049cc + killer: 5 + - id: 70ead45f5d5c + killer: 6 + - id: 7166ad8496de + killer: 17 + - id: 73839216c601 + killer: 5 + - id: 7511e6debf17 + killer: 18 + - id: 783de61ad47e + killer: 5 + - id: 79c8c123b660 + killer: 14 + - id: 7a792152c9ed + killer: 15 + - id: 7d768f593fb9 + killer: 0 + - id: 8b55b16bc1aa + killer: 4 + - id: 8c3cf9501c97 + killer: 5 + - id: 90c8a30dd9c6 + killer: 8 + - id: 93853b2f4ca5 + killer: 4 + - id: 9723682b8b26 + killer: 11 + - id: a7998841e350 + killer: 1 + - id: ac79cf08f650 + killer: 18 + - id: b3b534aab522 + killer: 19 + - id: b4e2805e0a29 + killer: 8 + - id: b7df371602d4 + killer: 7 + - id: b7e2bca86bf6 + killer: 13 + - id: c33103c66e59 + killer: 18 + - id: d110a20f5560 + killer: 7 + - id: d1f1f1446875 + killer: 13 + - id: d26f8f4af167 + killer: 11 + - id: de340759101a + killer: 18 + - id: df5dc528c8e3 + killer: 2 + - id: e482fe2f357b + killer: 18 + - id: e82f602f2355 + killer: 6 + - id: edd47afbc684 + killer: 18 + - id: eeceaa7a7cac + killer: 17 + - id: ef92095a96b1 + killer: 5 + - id: f033c5422a77 + killer: 18 + - id: f1d49e3f3509 + killer: 2 + - id: f34d5337235a + killer: 10 + - id: fa2e97bc9284 + killer: 7 + - id: faa0644f75c3 + killer: 5 + - id: fb7fd0e878c1 + killer: 8 +- path: crates/cargo-gamma-lib/src/commands/completions.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::completions::tests::every_supported_shell_produces_a_script + mutants: + - id: 2b500060a143 + killer: 0 + - id: 32d647969d75 + killer: 0 + - id: a55a1fe1a625 + killer: 0 + - id: c1fd30c38437 + killer: 0 + - id: d47515da2502 + killer: 0 + - id: ece2253b43ee + killer: 0 +- path: crates/cargo-gamma-lib/src/commands/console_events.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_multi_line_warning_is_labelled_on_every_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_timeout_says_how_long_the_mutant_ran_before_it_was_stopped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::asking_whether_build_output_is_wanted_agrees_with_what_is_done_with_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::no_other_outcome_gains_an_elapsed_figure + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::phase_events_are_displayed_and_ordinary_verdicts_are_not_announced + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 0b2dc426301a + killer: 0 + - id: '186555573943' + killer: 0 + - id: 219c3acf8fe0 + killer: 1 + - id: 2731eb5e4e20 + killer: 5 + - id: 333b49b55a64 + killer: 1 + - id: 3b8ceab048ef + killer: 2 + - id: 438009587f6d + killer: 2 + - id: 43ad6a5646fc + killer: 4 + - id: 5ced04911419 + killer: 1 + - id: 6024367f727e + killer: 1 + - id: 64192c9055b9 + killer: 1 + - id: 7203cdef96cb + killer: 5 + - id: 73f61a4495e2 + killer: 2 + - id: 765a0aab338c + killer: 5 + - id: 85d30e2cc3db + killer: 1 + - id: 87c684fc5f97 + killer: 2 + - id: 895509c390bf + killer: 4 + - id: 8bf82526e651 + killer: 1 + - id: 8d13970e2305 + killer: 5 + - id: 8ea27379fbed + killer: 4 + - id: 949e58a0e5b3 + killer: 4 + - id: a2ff130a90bc + killer: 1 + - id: a3296efea00d + killer: 2 + - id: c2105fe2f055 + killer: 3 + - id: d0e9d7b74c39 + killer: 3 + - id: d1c447ef8ea6 + killer: 4 + - id: d1ef7a360118 + killer: 3 + - id: d72311607dd0 + killer: 2 + - id: e65bceff9ae7 + killer: 4 + - id: ee57330a5a15 + killer: 2 + - id: f2b3ecedc044 + killer: 2 +- path: crates/cargo-gamma-lib/src/commands/dispatch.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_bare_invocation_implies_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_global_option_before_a_subcommand_is_stepped_over + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_global_option_before_no_subcommand_still_implies_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_global_option_with_value_before_run_options_still_implies_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_note_is_said_once_and_not_again_by_the_next_command + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_sharded_hints_is_refused_rather_than_quietly_promoting_from_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::run_scopes_and_flushes_notes_raised_while_dispatching + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::shard_validation_itself_rejects_an_incomplete_pair + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: the_tool_works_when_invoked_directly_rather_than_through_cargo + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_020_the_documented_option_names_are_the_ones_that_exist + - package: cargo-gamma-lib + target: session + test: the_advise_surface_that_became_a_flag_is_gone + mutants: + - id: 0095f16003bb + killer: 11 + - id: 017fd48ebcf7 + killer: 1 + - id: 01a1c84e3826 + killer: 11 + - id: 02b4dbd01502 + killer: 0 + - id: 0c4e1960ff34 + killer: 1 + - id: 0cecf5fe7dda + killer: 11 + - id: 0ebd6a6e6dc1 + killer: 1 + - id: 0f17ea449b71 + killer: 13 + - id: 13262b54700f + killer: 8 + - id: 17dc81308a51 + killer: 11 + - id: 1a59694e2c4c + killer: 8 + - id: 1b0dc450f343 + killer: 8 + - id: 1bcb8b12a6fb + killer: 13 + - id: 200208e30a31 + killer: 11 + - id: 24f89f533855 + killer: 11 + - id: 33844abd9ddc + killer: 13 + - id: 38576ac92ffd + killer: 4 + - id: 3e46a855cae7 + killer: 9 + - id: 4c7c5451c71c + killer: 4 + - id: 4c8d98797066 + killer: 11 + - id: 4cdabcbd5190 + killer: 1 + - id: 502c52be963c + killer: 11 + - id: 528bd069c7b0 + killer: 13 + - id: 52b2c1f68a9b + killer: 11 + - id: 54c39c0f580e + killer: 6 + - id: 5785141a7313 + killer: 11 + - id: 5865b8c294fa + killer: 12 + - id: 5df08f857821 + killer: 11 + - id: 602dc79bc8ff + killer: 11 + - id: 61d908ea8ddc + killer: 11 + - id: 64c5a6302058 + killer: 5 + - id: 6a0eb183715d + killer: 2 + - id: 6fc1d8ca0984 + killer: 9 + - id: 71829623ac79 + killer: 9 + - id: 7409ca63c174 + killer: 9 + - id: 7a5387e5d62c + killer: 5 + - id: 7c1ffa89ef0d + killer: 13 + - id: 7f3d3fb7f27a + killer: 11 + - id: 82da281b0f99 + killer: 11 + - id: 84589bc033ae + killer: 11 + - id: 853925c4931d + killer: 7 + - id: 89d47def3167 + killer: 1 + - id: 8e0969fff357 + killer: 6 + - id: 8fd9fb81bb4f + killer: 13 + - id: 9dffbf47b2a2 + killer: 11 + - id: a18a1e6dc888 + killer: 9 + - id: a561f7d33418 + killer: 11 + - id: aa6c8bfc6176 + killer: 13 + - id: ab7db170aae8 + killer: 11 + - id: acb335fffadc + killer: 11 + - id: ae1e4a388907 + killer: 11 + - id: ae6127d623d8 + killer: 11 + - id: bc085c76a598 + killer: 9 + - id: bd460b306d5e + killer: 5 + - id: c1a2b8ffd51b + killer: 9 + - id: c324a75e334a + killer: 1 + - id: c39f86121297 + killer: 9 + - id: c876d6651177 + killer: 11 + - id: c8d152261659 + killer: 2 + - id: cddf827c499c + killer: 13 + - id: ce0da6649a65 + killer: 9 + - id: d03951a4726d + killer: 11 + - id: d0ed0f0034ca + killer: 12 + - id: d86ea7356600 + killer: 12 + - id: e0db7e15714b + killer: 1 + - id: e26824463359 + killer: 4 + - id: e6ad96a08c06 + killer: 9 + - id: e883cf4af059 + killer: 13 + - id: ec7e3b6e00a5 + killer: 10 + - id: f0e50ed21a69 + killer: 9 + - id: f4bb6713f594 + killer: 13 + - id: f675d4f0a299 + killer: 11 + - id: f7be0e2ee132 + killer: 11 + - id: f7c45bef1066 + killer: 3 + - id: f898c3becfc9 + killer: 9 + - id: f9d007a409c7 + killer: 11 + - id: f9f20ece4b73 + killer: 11 + - id: ff545e3407f3 + killer: 0 +- path: crates/cargo-gamma-lib/src/commands/explain.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::explain::tests::a_mutator_without_aliases_omits_the_alias_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::explain::tests::explanation_names_aliases_and_suppressions + - package: cargo-gamma-lib + target: cli + test: explaining_a_mutator_describes_how_to_suppress_it + mutants: + - id: 0e01d5501ade + killer: 0 + - id: 763ea63129b3 + killer: 2 + - id: 9634c9ea01b4 + killer: 1 + - id: b8bf165225f7 + killer: 2 + - id: da5637bee359 + killer: 0 + - id: fc981bd343fa + killer: 0 +- path: crates/cargo-gamma-lib/src/commands/hints.rs + killers: + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + mutants: + - id: 121ca5ece62d + killer: 1 + - id: 2116b8812c01 + killer: 1 + - id: 21e2fe0d9ed0 + killer: 3 + - id: 3624dcd0cee1 + killer: 0 + - id: 4e0a72d90355 + killer: 3 + - id: 51c232e2b420 + killer: 0 + - id: 5454b5e85cc1 + killer: 3 + - id: 5b378ce57189 + killer: 0 + - id: 5c67f9379742 + killer: 0 + - id: 70d34aafe684 + killer: 0 + - id: 762b27451649 + killer: 2 + - id: 9cc0f8bbc959 + killer: 0 + - id: a0a542fe71d6 + killer: 0 + - id: a96ea926f47e + killer: 0 + - id: ba365617daf3 + killer: 2 + - id: be837b5314a8 + killer: 0 + - id: db7a30fa31df + killer: 2 + - id: f7833711262a + killer: 1 + - id: ffbe3b8fa842 + killer: 3 +- path: crates/cargo-gamma-lib/src/commands/host.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_closed_results_pipe_ends_a_listing_successfully_without_a_diagnostic + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::host::tests::a_host_does_not_permit_being_replaced_unless_it_says_so + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::host::tests::default_env_reads_the_process_environment + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + mutants: + - id: 1a637f60ce12 + killer: 2 + - id: 1a814871fd87 + killer: 3 + - id: 2aba5b4dd28e + killer: 0 + - id: 4c47b1302e65 + killer: 1 + - id: 5b1b879ba985 + killer: 0 + - id: 652a1544bc5b + killer: 0 + - id: d970cd48272d + killer: 0 + - id: e68c49735106 + killer: 3 + - id: ea8c3dd0eab8 + killer: 1 +- path: crates/cargo-gamma-lib/src/commands/list.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_config_selection_key_narrows_a_listing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_closed_output_stream_ends_every_listing_successfully + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_sharded_population_says_which_shard_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_suppressed_mutant_is_marked_and_counted_in_the_text_listing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::files_can_be_listed_as_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::files_can_be_listed_as_text + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::presets_can_be_listed_as_json_with_the_selection_resolved_against_each + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::presets_can_be_listed_as_text + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::the_text_preset_listing_marks_a_preset_selected_by_its_exact_members + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: an_empty_library_yields_no_mutants + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: cli + test: listing_files_reports_the_library + - package: cargo-gamma-lib + target: cli + test: listing_ops_marks_the_enabled_set + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + mutants: + - id: 0121c19a3278 + killer: 9 + - id: 0b5225763b1a + killer: 4 + - id: 15cb90c5c102 + killer: 1 + - id: 1620f54f9b58 + killer: 3 + - id: '171145138689' + killer: 8 + - id: 21beefc0df08 + killer: 6 + - id: 25e4da7688f3 + killer: 10 + - id: 26a6225ae3e7 + killer: 15 + - id: 31bd9dad6cde + killer: 9 + - id: 32421616df62 + killer: 9 + - id: 38e5957449bf + killer: 9 + - id: 3ca1e4dec92b + killer: 14 + - id: 3d8af590c5bd + killer: 13 + - id: 41395c72f7d7 + killer: 12 + - id: 452febd983b0 + killer: 8 + - id: 4e56cd4a458e + killer: 13 + - id: 50f6d97e6906 + killer: 13 + - id: 53dbc3f0cf80 + killer: 9 + - id: 586337df4447 + killer: 1 + - id: 59cee4fa2ee9 + killer: 11 + - id: 64513814f5ab + killer: 9 + - id: 648361aa7883 + killer: 15 + - id: 6ce2317fb5a0 + killer: 15 + - id: 7054c591e189 + killer: 3 + - id: 7282eb27ef5e + killer: 1 + - id: 72c0e4f6b17c + killer: 13 + - id: 7eec9905e546 + killer: 15 + - id: 8006307cc74d + killer: 12 + - id: 8753b6317c67 + killer: 12 + - id: 895a0831af1b + killer: 6 + - id: 8dd9c6c5faa5 + killer: 2 + - id: 9378da8b6072 + killer: 13 + - id: 96eac8bb4cfe + killer: 0 + - id: 99fc71f65c11 + killer: 1 + - id: 9ccadebbf779 + killer: 0 + - id: 9d99fe1a93ae + killer: 15 + - id: a71e10f9aede + killer: 9 + - id: aa9f7679077d + killer: 15 + - id: ae4947360fb3 + killer: 7 + - id: b8a8d936c64b + killer: 1 + - id: b999d249eb97 + killer: 2 + - id: bf9b76bd05b2 + killer: 10 + - id: c24658007e3f + killer: 1 + - id: c711f44756fa + killer: 13 + - id: c9d45bf4767b + killer: 10 + - id: cc15a50598e6 + killer: 6 + - id: d137997b8abd + killer: 1 + - id: d76efbcb5077 + killer: 12 + - id: d79d3cbea543 + killer: 1 + - id: d96b8f55735c + killer: 10 + - id: db9865a026fd + killer: 9 + - id: dd0e0941d632 + killer: 8 + - id: e2b2f0e35d83 + killer: 0 + - id: e84f24f2f4ab + killer: 9 + - id: e96103e5eae6 + killer: 12 + - id: ead9d8297eee + killer: 4 + - id: eb719af453a7 + killer: 8 + - id: ef658f276e66 + killer: 13 + - id: fe216c2a0462 + killer: 5 +- path: crates/cargo-gamma-lib/src/commands/merge.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_stream_is_reported_by_the_withdrawn_note + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_directory_with_too_many_reports_is_refused_before_they_are_retained + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_merge_with_no_gate_and_no_outputs_succeeds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_merge_with_pending_mutants_fails_the_min_score_gate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_merged_only_input_says_no_complete_population_was_supplied + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_score_gate_refuses_an_identity_incompatible_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::aggregate_report_bytes_are_bounded_before_a_report_is_retained + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::directories_are_scanned_and_outputs_are_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::empty_inputs_are_a_usage_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::inexact_merged_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::merge_outputs_with_identical_names_are_refused_before_any_report_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::zero_window_and_clock_failure_are_reported_truthfully + - package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + - package: cargo-gamma-lib + target: gate + test: a_merged_score_at_or_above_the_bar_exits_ok + - package: cargo-gamma-lib + target: gate + test: a_merged_score_below_the_bar_exits_gate_failed + mutants: + - id: 020dd0abae34 + killer: 12 + - id: 0352ef30585a + killer: 11 + - id: 038f03aaff53 + killer: 13 + - id: 048a4c7aaa33 + killer: 10 + - id: 056322028beb + killer: 12 + - id: 057e32a1355f + killer: 13 + - id: 05c3ddc006f9 + killer: 5 + - id: 09cfa61c62d4 + killer: 12 + - id: 0a4ee84099a0 + killer: 13 + - id: 1084dba5fa23 + killer: 4 + - id: 1145310a5ddd + killer: 13 + - id: 12f50f6d75ea + killer: 6 + - id: 162d511feaa0 + killer: 10 + - id: 16342761a3cb + killer: 12 + - id: 1be7811c9d61 + killer: 13 + - id: 1d874c490ed9 + killer: 0 + - id: 2188230c6e46 + killer: 2 + - id: 218b48fa8108 + killer: 13 + - id: 23462b3733a3 + killer: 6 + - id: 23479141ddf2 + killer: 13 + - id: 28fb07984222 + killer: 0 + - id: 3078172c9eb3 + killer: 13 + - id: 33cc2d4c44b3 + killer: 11 + - id: 34b06cf00884 + killer: 12 + - id: 36268f2b36eb + killer: 0 + - id: 4422521db032 + killer: 14 + - id: 45df8e45ea45 + killer: 11 + - id: 483d36b861aa + killer: 4 + - id: 48e867b667f1 + killer: 1 + - id: 4ad34f34260d + killer: 2 + - id: 4cf38232926d + killer: 14 + - id: 52fe549cbd2e + killer: 6 + - id: 53eb08d75b82 + killer: 14 + - id: 55c51f182c3b + killer: 1 + - id: 560aff1bde3c + killer: 0 + - id: 584b82480337 + killer: 3 + - id: 5a390571db68 + killer: 13 + - id: 61beac554c5d + killer: 4 + - id: 630caa78a060 + killer: 13 + - id: 67799ea954a7 + killer: 4 + - id: 6cda7d6dd7d2 + killer: 0 + - id: 76a2b7851ed3 + killer: 0 + - id: 7b2913cc0f8c + killer: 1 + - id: 7ef649e31ada + killer: 13 + - id: 81fe9dbb482c + killer: 12 + - id: 88f75dc01bc9 + killer: 3 + - id: 8cdaf82c495e + killer: 7 + - id: 8da20b519cb6 + killer: 10 + - id: 92afe693947e + killer: 7 + - id: 962a9b2f82f0 + killer: 15 + - id: 9c5f0ed08671 + killer: 12 + - id: 9d781e6bb196 + killer: 12 + - id: 9d9bcb326795 + killer: 13 + - id: a612a6327dc1 + killer: 7 + - id: a71cdf26ff50 + killer: 9 + - id: a7b02ac60ede + killer: 13 + - id: a8ba465f63a5 + killer: 4 + - id: a9030593714b + killer: 1 + - id: acb938fba1f1 + killer: 0 + - id: b25e3d0e1ca7 + killer: 13 + - id: b6e5c96a45e7 + killer: 13 + - id: b7689c2aae4f + killer: 2 + - id: b8264ea0491f + killer: 0 + - id: bcc37383f912 + killer: 12 + - id: bcc456776973 + killer: 0 + - id: bdee8c94df1f + killer: 12 + - id: bee1a9bf6589 + killer: 5 + - id: bf0696c18ad8 + killer: 13 + - id: c3d6d79d5e35 + killer: 3 + - id: c40abf203528 + killer: 13 + - id: cb4a2e4f5af1 + killer: 0 + - id: cbdb253f15e6 + killer: 12 + - id: ce28c1239b3f + killer: 14 + - id: d397cfb71767 + killer: 12 + - id: d4428c99244c + killer: 13 + - id: d49ceff9983a + killer: 13 + - id: d5761c93f0ab + killer: 0 + - id: d758bd6953b1 + killer: 7 + - id: d76b4f7a8ca4 + killer: 5 + - id: d8bacc506c1c + killer: 7 + - id: da851bbdb80f + killer: 15 + - id: db9e286365a0 + killer: 14 + - id: dfd760c34100 + killer: 0 + - id: e072576b2e43 + killer: 13 + - id: e1dc98e3e816 + killer: 13 + - id: e2aaa4e193d5 + killer: 13 + - id: e4ba2886f5e5 + killer: 13 + - id: e92d7c0fb591 + killer: 10 + - id: ecd07115d02f + killer: 8 + - id: ef843614c0cb + killer: 8 + - id: f2c37aff55f6 + killer: 12 + - id: f33bf50f646c + killer: 15 + - id: f5ade6a80b11 + killer: 5 + - id: f9fcb8195161 + killer: 0 + - id: fb1d8161fbe8 + killer: 13 + - id: fbc6ff943ca1 + killer: 9 + - id: fe8c4102c74e + killer: 13 +- path: crates/cargo-gamma-lib/src/commands/run.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_run_with_an_impossible_shard_stops_before_it_builds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::the_merge_gate_message_does_not_print_the_required_score_as_met + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_baseline_error_writes_its_record_and_the_diagnostics_bundle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_baseline_memory_limit_alone_implies_measurement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_cache_directory_does_not_move_the_default_reports + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_clear_miss_is_shown_at_a_single_decimal_place + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_closed_stream_is_reported_by_the_foreign_config_note + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_foreign_config_is_called_out_before_anything_is_loaded + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_foreign_config_is_not_mentioned_when_config_is_disabled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_gated_run_whose_population_is_entirely_suppressed_fails + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_skips_all_still_apply_says_nothing_about_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_step_summary_omits_advice_when_none_was_given + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::advice_goes_where_it_was_asked_for_and_diag_is_emitted_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::an_expectation_on_a_mutant_that_never_ran_is_not_judged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::an_expectation_that_does_not_hold_is_reported_with_what_was_wanted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::an_explicit_multiplier_overrides_the_default_margin + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::an_uncovered_mutant_is_judged_against_its_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::an_ungated_run_with_nothing_to_test_still_succeeds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::an_unused_skip_directive_is_named_with_its_place_and_its_reason + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::analysis_progress_names_its_phase_and_subject_before_discovery + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::cache_claiming_requires_incremental_state_and_a_real_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::disabled_incremental_and_dry_runs_prepare_no_cache_context + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::disabled_incremental_mode_suppresses_missing_hints_advice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::every_run_setting_reaches_its_execution_config_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::every_run_writes_the_diagnostics_bundle_without_being_asked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::leak_dirs_reports_where_the_scratch_tree_was_kept + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::pending_mutants_fail_only_an_enabled_score_gate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::reports_write_json_html_sarif_annotations_and_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::run_metadata_stamps_the_identity_scheme_and_preserves_optional_inputs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::the_default_memory_policy_is_inherited_with_the_exact_default_headroom + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::timestamps_before_the_unix_epoch_use_zero + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_population_with_no_eligible_verdict_edits_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_run_with_no_mutants_at_all_succeeds_quietly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + mutants: + - id: 0240be23021d + killer: 39 + - id: 03fabacd521a + killer: 31 + - id: 03fba6467633 + killer: 38 + - id: 04bb3947fc61 + killer: 39 + - id: 04bbab2ccde7 + killer: 38 + - id: 05a00983a9dc + killer: 7 + - id: 07dfc1952f17 + killer: 26 + - id: 08ac70d1192c + killer: 37 + - id: 0bab9f203042 + killer: 31 + - id: 0cc49ec60707 + killer: 8 + - id: 0da2f37f2768 + killer: 38 + - id: 104e627cdbca + killer: 2 + - id: 104fd216d703 + killer: 24 + - id: 121ecd0792f3 + killer: 31 + - id: 13d8f4707e1c + killer: 11 + - id: 141310f6b225 + killer: 7 + - id: 19d981fbd3ea + killer: 16 + - id: 1ad1bd1df981 + killer: 22 + - id: 1d48b0dfc26e + killer: 37 + - id: 1ede961d3324 + killer: 39 + - id: 23a1e3ba0177 + killer: 26 + - id: 26390c51d855 + killer: 10 + - id: 27e25f7bbf34 + killer: 28 + - id: 29b7f58578ba + killer: 24 + - id: 29ddaa686b26 + killer: 37 + - id: 2a1951d19e90 + killer: 37 + - id: 2c9aa687267c + killer: 8 + - id: 31b225fc2d46 + killer: 26 + - id: 32aec2268a61 + killer: 15 + - id: 33c78f445636 + killer: 22 + - id: 342f3c8a9d2c + killer: 37 + - id: 36d10ed09f59 + killer: 38 + - id: 3730297f5a9e + killer: 37 + - id: 3838a807fd1d + killer: 9 + - id: 39e31b19cd91 + killer: 39 + - id: 3ca826bbc768 + killer: 24 + - id: 3df224f9ec7e + killer: 12 + - id: 3eb5f779612d + killer: 7 + - id: 3f9de999e1d7 + killer: 12 + - id: 407066fa7d47 + killer: 12 + - id: 40e895518461 + killer: 33 + - id: 42354c2303e1 + killer: 17 + - id: 4271c6168463 + killer: 33 + - id: 42f0b6f2ab9f + killer: 37 + - id: 4328c202f747 + killer: 37 + - id: 448f61becda1 + killer: 26 + - id: 45db89974405 + killer: 7 + - id: 498df80aad54 + killer: 29 + - id: 4a9a19ce11ad + killer: 8 + - id: 4aab42694737 + killer: 1 + - id: 4aed33105a82 + killer: 37 + - id: 4bb83150e55d + killer: 26 + - id: 4c1483b1af23 + killer: 32 + - id: 4deb1076eb01 + killer: 39 + - id: 4ff65540c286 + killer: 37 + - id: 50465dda8f1b + killer: 26 + - id: 52646c980b82 + killer: 39 + - id: 56b8ff7a7d0a + killer: 2 + - id: 56ca6f94f2fd + killer: 37 + - id: 577a7a5f0f91 + killer: 25 + - id: 584a48d70142 + killer: 7 + - id: 59e27731f7de + killer: 26 + - id: 5b2d74986c8b + killer: 25 + - id: 5b7d7a6cebc7 + killer: 39 + - id: 5c90db8508f4 + killer: 3 + - id: 5fd1c96185f4 + killer: 19 + - id: 5ff8535ec062 + killer: 38 + - id: 638012150dc5 + killer: 39 + - id: 6390e1003dd8 + killer: 15 + - id: 65f4fa999cbc + killer: 26 + - id: 67f580e68056 + killer: 25 + - id: 69082b66c3ef + killer: 38 + - id: 697b1a4ff7eb + killer: 7 + - id: 6ab1b5f51fb8 + killer: 15 + - id: 6bcdac33955f + killer: 28 + - id: 6f482727451a + killer: 6 + - id: 6fe38bd9ef70 + killer: 16 + - id: 71b5123362bf + killer: 17 + - id: 758fff461dc6 + killer: 26 + - id: 75bb3986c104 + killer: 26 + - id: 773c9bfcdc33 + killer: 9 + - id: 794333094b5c + killer: 30 + - id: 7a3a85d4c7b6 + killer: 11 + - id: 7a5bf143d634 + killer: 1 + - id: 7ae9a1d46367 + killer: 4 + - id: 7b15972fe313 + killer: 10 + - id: 7b27ee3ffd49 + killer: 21 + - id: 7f5345ebab25 + killer: 26 + - id: 80527e90abb2 + killer: 37 + - id: 818323cf71b9 + killer: 29 + - id: 8317bd62b3d8 + killer: 1 + - id: 847a9f2e2101 + killer: 0 + - id: 84b42105602b + killer: 1 + - id: 84d603af510f + killer: 37 + - id: 85e5a7d97e58 + killer: 29 + - id: 86dd5c97ae62 + killer: 38 + - id: 878fbdad7d46 + killer: 37 + - id: 89d26ff8dafc + killer: 15 + - id: 8a8f492dd004 + killer: 26 + - id: 8b1c298a6ce2 + killer: 27 + - id: 8bf350201df6 + killer: 34 + - id: 8c1bea2dda12 + killer: 21 + - id: 8f0768a1564e + killer: 38 + - id: 8f1b350aef92 + killer: 36 + - id: 906ba822c8a7 + killer: 23 + - id: 9116fbb81fd0 + killer: 22 + - id: 91c725f8a0b6 + killer: 7 + - id: 973e77e38f8a + killer: 26 + - id: 97dbd04fb68c + killer: 31 + - id: 981aa1d26843 + killer: 39 + - id: 9a4ced94ebd6 + killer: 37 + - id: 9b78a02c133e + killer: 22 + - id: 9e3f4d9b6de8 + killer: 12 + - id: 9e72fb58268f + killer: 38 + - id: a2b5b44c43ba + killer: 7 + - id: a35dc8681fe1 + killer: 6 + - id: a36751e10153 + killer: 26 + - id: a7464bc551e9 + killer: 26 + - id: a79df0aa0109 + killer: 38 + - id: ab8d00feb86e + killer: 5 + - id: ac16928a361b + killer: 1 + - id: ac90f0eaa423 + killer: 37 + - id: af74423ea9cc + killer: 7 + - id: af9c2f8b8867 + killer: 7 + - id: b0374bc7a0b0 + killer: 7 + - id: b08c4c4d53a2 + killer: 39 + - id: b0a9379008c5 + killer: 33 + - id: b14ed8046a27 + killer: 11 + - id: b164c1e9016b + killer: 14 + - id: b1a389dc3006 + killer: 32 + - id: b30626c6c55a + killer: 10 + - id: b460508d64b8 + killer: 26 + - id: b742cea0917c + killer: 3 + - id: b9c4bc486fa5 + killer: 26 + - id: bb046b6a06d7 + killer: 23 + - id: bb1a714aaa3a + killer: 37 + - id: be160b2cc07c + killer: 39 + - id: c043eee885a5 + killer: 11 + - id: c165eeef8cc2 + killer: 35 + - id: c1fdef17f830 + killer: 26 + - id: c30fe4901a0a + killer: 37 + - id: c51b3650a74c + killer: 13 + - id: c776e38d2a95 + killer: 31 + - id: c92ef3fc8a5a + killer: 14 + - id: c995069c2687 + killer: 33 + - id: c9d226f78428 + killer: 5 + - id: d27980e54c70 + killer: 33 + - id: d574347cd774 + killer: 23 + - id: d93ddd5f7b1d + killer: 20 + - id: daa9dc25b924 + killer: 7 + - id: dc469f86a95d + killer: 3 + - id: dc6c71c96d39 + killer: 1 + - id: dda4367fbb7a + killer: 37 + - id: de72e6679fd4 + killer: 37 + - id: df972fbb5086 + killer: 37 + - id: e3cb5cdf8855 + killer: 1 + - id: e44d2f0180e5 + killer: 37 + - id: e4cf6c36ef3d + killer: 39 + - id: e55e583a3cf9 + killer: 7 + - id: e74cb49c4cb9 + killer: 4 + - id: e767f0203757 + killer: 38 + - id: e7c1e64fe551 + killer: 26 + - id: e9b22d391edf + killer: 6 + - id: e9faa68cc183 + killer: 38 + - id: ebdc773120f0 + killer: 8 + - id: ecf1ebba0c01 + killer: 23 + - id: ecf43b392f80 + killer: 1 + - id: ee2e4723af89 + killer: 26 + - id: ef573010729b + killer: 17 + - id: ef7b798ab944 + killer: 26 + - id: f1ffc0f0ac06 + killer: 1 + - id: f3434d1360b7 + killer: 22 + - id: f495d13ee213 + killer: 31 + - id: f4b735cd60aa + killer: 2 + - id: f605712eeb94 + killer: 7 + - id: f7c9de089b90 + killer: 32 + - id: f919f380784c + killer: 38 + - id: fa3ad9e03f78 + killer: 18 + - id: fa85edeeb7f3 + killer: 39 + - id: fb823221617d + killer: 7 + - id: fbbeb113a210 + killer: 26 + - id: fc28d6887bdc + killer: 37 + - id: fcf83d444ee1 + killer: 26 + - id: fd55210951d9 + killer: 1 + - id: fe68aeea1fc4 + killer: 13 + - id: fec8ccb4c8e9 + killer: 24 + - id: ff1ee2c91873 + killer: 37 +- path: crates/cargo-gamma-lib/src/commands/suppress.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_closed_stream_is_reported_by_the_success_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_failure_before_the_first_write_makes_no_claim_about_reverting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_failure_on_the_second_file_puts_the_first_one_back_byte_for_byte + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_file_edited_since_the_plan_was_made_is_refused_rather_than_edited_by_stale_line_numbers + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_killed_mutant_sharing_a_line_is_not_required_to_be_suppressed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_multi_file_run_edits_only_the_file_with_an_eligible_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_population_with_no_eligible_verdict_edits_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_post_rename_rollback_sync_failure_is_reported_as_restored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_post_rename_suppress_sync_failure_is_reverted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_rollback_that_fails_is_reported_with_what_went_wrong_first + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_run_that_could_not_build_part_of_its_population_refuses_rather_than_exiting_zero + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_run_with_no_mutants_at_all_succeeds_quietly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_save_after_validation_and_before_suppress_publication_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_save_before_suppress_rollback_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_survivor_sharing_a_site_with_a_timeout_is_caught_as_collateral + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_verification_error_reverts_every_written_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_verification_failure_names_which_half_failed_and_what_it_was_about + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_verification_that_fails_reverts_every_file_it_wrote + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::an_edit_over_a_file_with_uncommitted_changes_is_refused_before_anything_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::bom_prefixed_files_match_the_plan_and_keep_the_bom_for_first_and_later_edits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::empty_eligibility_is_a_usage_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + mutants: + - id: 04fa0026f2ad + killer: 20 + - id: 06c1094dff1d + killer: 19 + - id: 0790432523ce + killer: 1 + - id: 085cfdff6828 + killer: 1 + - id: 0916f647c82a + killer: 13 + - id: 09e42cd6bf67 + killer: 19 + - id: 0d62ad337f87 + killer: 17 + - id: 0dc853c808c4 + killer: 21 + - id: 0ddb63d59bc5 + killer: 19 + - id: 0dde66fb8e26 + killer: 8 + - id: 0e4aa4af4f17 + killer: 19 + - id: 0e87d44718be + killer: 1 + - id: 0e9c7d96f3a7 + killer: 11 + - id: 0f718d0acb2a + killer: 17 + - id: 0fca0d1c3caa + killer: 15 + - id: 17e60bba6768 + killer: 19 + - id: 186657b9c940 + killer: 17 + - id: 1bba2ebf9f58 + killer: 2 + - id: 207090f6ab90 + killer: 1 + - id: '218866338461' + killer: 0 + - id: 26d99af5461a + killer: 0 + - id: 288e3cb2ffaa + killer: 8 + - id: 2d46c8fa22cc + killer: 20 + - id: 2e7902f750fe + killer: 17 + - id: 309527d6a201 + killer: 1 + - id: 32351790d7a5 + killer: 14 + - id: 3589f6726447 + killer: 17 + - id: 3bf2380e6c39 + killer: 5 + - id: 3c2ca1a60395 + killer: 19 + - id: 3d187e87c56f + killer: 3 + - id: 403cb7b2b1e2 + killer: 1 + - id: 4346a9f081f6 + killer: 18 + - id: 4366b528438c + killer: 8 + - id: 4435773f8066 + killer: 11 + - id: 4ac3895e7e4a + killer: 8 + - id: 4db5d1c8c2ba + killer: 19 + - id: 4dc6047d8f14 + killer: 3 + - id: 4e24c077a761 + killer: 1 + - id: 50653a0c0771 + killer: 3 + - id: 53980cca4212 + killer: 6 + - id: 54bb77b8ca6d + killer: 19 + - id: 554454ae9cbc + killer: 18 + - id: 5a3cbe77c965 + killer: 4 + - id: 5c656cb8caa8 + killer: 21 + - id: 62d0d5d56e6b + killer: 0 + - id: 63cc214c8813 + killer: 20 + - id: 6439686c6624 + killer: 2 + - id: 6ccc760d0f19 + killer: 17 + - id: 6f71124acb4c + killer: 3 + - id: 761253148ce7 + killer: 19 + - id: 7a453fd188a3 + killer: 9 + - id: 7da045ea8711 + killer: 17 + - id: 7e4216e19820 + killer: 1 + - id: 839a091c6c74 + killer: 6 + - id: 85fdd15b3fae + killer: 20 + - id: 8609fd7b3276 + killer: 19 + - id: 860c5b2e86b6 + killer: 19 + - id: 8990a01f0eaf + killer: 17 + - id: 8cf3c96f1c59 + killer: 1 + - id: 8d2a14ec13a5 + killer: 9 + - id: 9004301bfe65 + killer: 20 + - id: 93d68aaeb5d4 + killer: 1 + - id: 942a84edad8f + killer: 10 + - id: 96b36afb6a7d + killer: 19 + - id: 9a2fedc5e976 + killer: 19 + - id: 9d818929502f + killer: 17 + - id: 9fb5efd1b02f + killer: 17 + - id: a40da4935b9b + killer: 0 + - id: a7966fa0f70c + killer: 1 + - id: a996d9f32cf2 + killer: 19 + - id: a9b0c0b9378c + killer: 1 + - id: a9e93bd550f8 + killer: 17 + - id: aa42cd1ff20a + killer: 19 + - id: aa8718c8b9da + killer: 12 + - id: ac2eda3b7a87 + killer: 19 + - id: af1945c9fd78 + killer: 22 + - id: af7aea9ba567 + killer: 3 + - id: af99a831caa3 + killer: 19 + - id: b16c207dc31a + killer: 6 + - id: b411cc1b703b + killer: 11 + - id: bc7872561a97 + killer: 19 + - id: bca9a3558b83 + killer: 19 + - id: bccc68327c28 + killer: 19 + - id: bdfdd34a1fcf + killer: 1 + - id: c1fd253f8ad7 + killer: 3 + - id: c50684a5fb7c + killer: 17 + - id: c6ea247a034b + killer: 19 + - id: cadaeaacd67f + killer: 17 + - id: cb4c71a96425 + killer: 7 + - id: cc90be7b8548 + killer: 1 + - id: ccc9ed1bec72 + killer: 5 + - id: cce0cd27259f + killer: 17 + - id: cd4583dceb5e + killer: 19 + - id: ce2341382550 + killer: 8 + - id: ce237616cb33 + killer: 0 + - id: cefabcb3b3f1 + killer: 5 + - id: cf402d387a2f + killer: 1 + - id: d2ce46eac666 + killer: 7 + - id: d3908f3fc1bd + killer: 1 + - id: d4caf7904921 + killer: 1 + - id: d6f4cd39283b + killer: 3 + - id: d7dd47479d18 + killer: 7 + - id: d892f4c106f0 + killer: 3 + - id: d927942b4155 + killer: 16 + - id: d965cf199d4f + killer: 1 + - id: defce1301ef7 + killer: 19 + - id: df78724899a3 + killer: 12 + - id: e26855d23b7d + killer: 1 + - id: e34058d99d21 + killer: 5 + - id: e5d3233181a4 + killer: 17 + - id: e7ff82a57724 + killer: 19 + - id: e81bf87856f6 + killer: 19 + - id: e98f0f4c35fd + killer: 17 + - id: eb24fa808f92 + killer: 19 + - id: f33570e7ff29 + killer: 1 + - id: f87af7d5bef0 + killer: 19 + - id: f91d074a4d60 + killer: 1 + - id: fa42979ce64f + killer: 1 +- path: crates/cargo-gamma-lib/src/commands/unsuppress.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_declined_directive_is_reported_with_its_place_and_selectors + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_still_suppresses_something_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_failure_on_the_second_file_puts_the_first_one_back_byte_for_byte + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_file_that_changed_since_planning_is_left_alone_rather_than_edited_by_line_number + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_post_rename_unsuppress_sync_failure_is_reverted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_preview_shows_the_removal_and_leaves_the_file_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_removal_that_changes_what_is_suppressed_puts_every_file_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_save_after_validation_and_before_unsuppress_publication_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_verification_error_restores_every_removed_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::applying_removes_the_directive_and_nothing_else + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::bom_prefixed_files_keep_the_bom_when_removing_first_and_later_directives + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::nothing_declined_says_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::removing_from_a_file_with_uncommitted_changes_is_refused_before_anything_is_deleted + mutants: + - id: 005b30b9f28f + killer: 3 + - id: 058ec0af4236 + killer: 10 + - id: 06c6cf1460b2 + killer: 10 + - id: 0f80c1f51495 + killer: 10 + - id: 12dff95aee8f + killer: 6 + - id: 1923d17cca44 + killer: 9 + - id: 1d1616bac841 + killer: 5 + - id: 21f7d9990182 + killer: 12 + - id: 247e88738b9c + killer: 3 + - id: 2da5cd70738d + killer: 3 + - id: 2f55c61b6b05 + killer: 1 + - id: 30c0354560fd + killer: 3 + - id: 318aa7ea3f6a + killer: 10 + - id: 32c404fd995a + killer: 7 + - id: 3eea500fc6a9 + killer: 0 + - id: 44703a897fc5 + killer: 10 + - id: 447f4d01521a + killer: 0 + - id: 449b8285cfda + killer: 11 + - id: 44b02778badc + killer: 6 + - id: 4c792de359e9 + killer: 6 + - id: 5226a715b266 + killer: 6 + - id: 53cee021dfc4 + killer: 6 + - id: 57ad94cb1397 + killer: 2 + - id: 59ebaf825d6d + killer: 3 + - id: 5a95c55646e3 + killer: 1 + - id: 6e5b28f0b6c2 + killer: 1 + - id: 6efffbd9b7a9 + killer: 11 + - id: 71459127b99f + killer: 1 + - id: 74a0df31895a + killer: 1 + - id: 76593f8a378a + killer: 2 + - id: 7f375c1f3588 + killer: 3 + - id: 817f7180175e + killer: 7 + - id: 81bca265c72d + killer: 1 + - id: 81ceed2005d7 + killer: 6 + - id: 87de64f06f99 + killer: 10 + - id: 8a3e2b9d4491 + killer: 6 + - id: 8a9ee94c5197 + killer: 1 + - id: 8ae40bd90ef4 + killer: 13 + - id: 8cb953974130 + killer: 3 + - id: 8e5377e42eb2 + killer: 7 + - id: 8ed1eb423391 + killer: 8 + - id: 96922295daf0 + killer: 1 + - id: 9854ac428830 + killer: 7 + - id: 98ea3b5eb568 + killer: 1 + - id: 992fada61c7d + killer: 7 + - id: 9b6e062ff445 + killer: 4 + - id: a47384646984 + killer: 7 + - id: a98d2a17f4a6 + killer: 3 + - id: aac992d31349 + killer: 10 + - id: b3af423aa2f4 + killer: 13 + - id: b41f3e0e6c2e + killer: 1 + - id: bcdfd5a4b3bb + killer: 4 + - id: bdcacbdd2e82 + killer: 1 + - id: be7c356fa15c + killer: 6 + - id: cf3f79fee99b + killer: 6 + - id: d1060984dc1c + killer: 0 + - id: d2c8ce8e5cee + killer: 11 + - id: d5be12c79406 + killer: 5 + - id: e36a18da78ee + killer: 3 + - id: e886b5171a06 + killer: 10 + - id: e8d9db750fd0 + killer: 6 + - id: eacdf071ccf6 + killer: 3 + - id: eb2a68944a7c + killer: 1 + - id: ed32adfd0a39 + killer: 10 + - id: ed6de994b18d + killer: 2 + - id: f0a39f524775 + killer: 6 + - id: f4f7eab0a1ba + killer: 1 + - id: f5389fce410f + killer: 6 + - id: f9cd7630f8fd + killer: 1 + - id: fe889fb71228 + killer: 6 +- path: crates/cargo-gamma-lib/src/commands/verdict_log.rs + killers: + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 3d78fb440496 + killer: 0 + - id: 8ed6a3062fb8 + killer: 0 + - id: 92003985dfa9 + killer: 0 + - id: ada996cad72d + killer: 0 + - id: e23f5664ae32 + killer: 0 +- path: crates/cargo-gamma-lib/src/config.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_config_selection_key_narrows_a_listing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_count_from_the_file_and_an_index_from_the_command_line_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_run_with_an_impossible_shard_stops_before_it_builds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::only_the_discovery_commands_apply_config_selection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_closed_stream_is_reported_by_the_foreign_config_note + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_config_that_cannot_be_read_is_an_error_rather_than_the_defaults + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_flag_turns_on_and_the_command_line_cannot_turn_it_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_memory_size_that_is_not_a_size_is_reported_rather_than_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_trait_exclusion_names_an_unqualified_final_path_identifier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::absent_boolean_run_settings_leave_their_branches_disabled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::absent_feature_settings_do_not_enable_cargo_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::artifact_directory_comes_from_the_file_when_the_command_line_is_silent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::cargo_discovery_receives_the_profile_and_extra_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::foreign_project_detection_distinguishes_every_marker_combination + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: an_out_of_range_shard_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: docs + test: the_example_configuration_is_inert_and_parses + - package: cargo-gamma-lib + target: docs + test: the_workspace_configuration_loads_with_its_settings_intact + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + mutants: + - id: 015b5c0c1edc + killer: 18 + - id: 0160c96784fc + killer: 18 + - id: 045884267157 + killer: 18 + - id: 04fab0a86272 + killer: 18 + - id: 07c005412bad + killer: 3 + - id: 0a217bcb374c + killer: 16 + - id: 0af87c796633 + killer: 7 + - id: 0b0573e40606 + killer: 23 + - id: 0c7452775907 + killer: 17 + - id: 0cbb2af3444d + killer: 3 + - id: 0fa261b39467 + killer: 17 + - id: 110bdb2ab565 + killer: 18 + - id: 1306c886e4e9 + killer: 21 + - id: 13129689211d + killer: 18 + - id: 163ec20886fd + killer: 21 + - id: 18f4ed8b1fef + killer: 20 + - id: 1fe914e532a4 + killer: 18 + - id: 20b109ea881f + killer: 15 + - id: 228c6c1dadf3 + killer: 7 + - id: 2a1cacc55702 + killer: 18 + - id: 2a3d55a7224d + killer: 8 + - id: 2a9c3df45c69 + killer: 18 + - id: 2b0d0dd1372d + killer: 27 + - id: 2b1ba792aae3 + killer: 18 + - id: 2d13e77c213c + killer: 3 + - id: 2e23106627bf + killer: 18 + - id: 2f4beee47b1e + killer: 18 + - id: 2fb3405bbaeb + killer: 22 + - id: 30abc9e2f44a + killer: 18 + - id: 388405f8cb81 + killer: 18 + - id: 3b2f187c226f + killer: 8 + - id: 3c03d2790def + killer: 10 + - id: 3d46ac6f6bda + killer: 8 + - id: 3f30c7a562f7 + killer: 5 + - id: 43d7830fef12 + killer: 2 + - id: 458d3a4bc3ac + killer: 18 + - id: 4597e97fdfb8 + killer: 18 + - id: 4a8c46c73e90 + killer: 0 + - id: 4dab4a6ef632 + killer: 18 + - id: 4fac14ec2f2c + killer: 13 + - id: 5454f62a6a99 + killer: 6 + - id: 54ec557d2362 + killer: 22 + - id: 56f465232f5e + killer: 0 + - id: 575e9b11c918 + killer: 8 + - id: 5a6ccc172049 + killer: 27 + - id: 5f50145fba2a + killer: 22 + - id: 6199f17d4d80 + killer: 19 + - id: 6659c88614e6 + killer: 6 + - id: 6aae9a13bebd + killer: 12 + - id: 6cd645e74c22 + killer: 18 + - id: 740f5d2a8316 + killer: 18 + - id: 7a21841bb431 + killer: 18 + - id: 7af204d95db0 + killer: 18 + - id: 7b30c2fd07bc + killer: 18 + - id: 7f9539b3f359 + killer: 1 + - id: 808ebbbdc9b5 + killer: 14 + - id: 84123c3a6769 + killer: 14 + - id: 84a43a5be062 + killer: 19 + - id: 84cfcf26d801 + killer: 18 + - id: 84ee7fb8de5c + killer: 18 + - id: 8663beeb2425 + killer: 27 + - id: 89f085c1428c + killer: 12 + - id: 8b5924e0eccb + killer: 18 + - id: 8bd98f79e5c5 + killer: 18 + - id: 8c1d6cae010e + killer: 18 + - id: 8ca7858ed6ff + killer: 8 + - id: 9042fbac4e0f + killer: 18 + - id: 9064bcc69ac8 + killer: 22 + - id: 90cac5f9e5fd + killer: 18 + - id: 986a0e5ebab8 + killer: 18 + - id: 99533bc10f21 + killer: 3 + - id: 9de28a2d91bc + killer: 18 + - id: 9f096189e234 + killer: 18 + - id: 9fd4f7a15c94 + killer: 17 + - id: a1e94aa0cf18 + killer: 18 + - id: a22e751bd889 + killer: 0 + - id: a37570c39e12 + killer: 18 + - id: a549b1e07bac + killer: 10 + - id: a783f9c1e06d + killer: 8 + - id: a89eaf27488b + killer: 4 + - id: a917c929ee46 + killer: 26 + - id: aa10016fee94 + killer: 18 + - id: b018efd63cb8 + killer: 26 + - id: b877f9fd2caa + killer: 24 + - id: b982c7ec1567 + killer: 18 + - id: ba396e36e914 + killer: 18 + - id: ba6218aaaf48 + killer: 14 + - id: bd35910a3aa5 + killer: 18 + - id: c4748e7bc5bf + killer: 18 + - id: c5fd6d0a68b3 + killer: 25 + - id: cadefe9669ef + killer: 18 + - id: cbb3f5f576bd + killer: 9 + - id: cdb70f65fbff + killer: 3 + - id: d0c449cdd1d5 + killer: 18 + - id: d18f51199061 + killer: 7 + - id: d1fbf7bdd276 + killer: 8 + - id: d28e2ab26796 + killer: 8 + - id: d3f0fcef99b0 + killer: 18 + - id: d49e3d3497c2 + killer: 3 + - id: d5f3cbc97585 + killer: 8 + - id: d703765e2c40 + killer: 18 + - id: d8f11b0dec76 + killer: 25 + - id: da4e2fdf1019 + killer: 7 + - id: dafb7f31aea5 + killer: 25 + - id: dc13652d041b + killer: 15 + - id: dc795e194963 + killer: 3 + - id: de2fda239bca + killer: 18 + - id: dff7f4972802 + killer: 18 + - id: e0ac1a6a80fd + killer: 6 + - id: e1b6d6f49649 + killer: 18 + - id: e73f0e543c85 + killer: 11 + - id: e9b85be79935 + killer: 5 + - id: ea27fa5a1067 + killer: 25 + - id: efbd2584b859 + killer: 3 + - id: f0a42a4c81cc + killer: 3 + - id: f111394915d1 + killer: 18 + - id: f360d74cf07b + killer: 4 + - id: f714b5e3e09c + killer: 10 + - id: f8db1ae17b95 + killer: 22 + - id: fa581d2885e1 + killer: 20 + - id: fb4eb444de34 + killer: 18 + - id: fc2effd71569 + killer: 18 + - id: fd600d5713cd + killer: 18 + - id: fe8b0bb5105b + killer: 27 +- path: crates/cargo-gamma-lib/src/diag/bundle.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_baseline_error_writes_its_record_and_the_diagnostics_bundle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_censused_run_records_the_census_phase_in_its_bundle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::naming_is_opt_in_and_changes_what_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::a_run_that_measured_nothing_has_no_duration_distribution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::concurrent_baselines_use_wall_time_and_keep_cores_distinct_from_jobs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::effective_jobs_is_cpu_over_the_testing_window + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::hashing_is_the_default_and_hides_the_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::omitting_leaves_no_label_at_all + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::percentiles_come_from_the_ascending_list + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::redacted_toolchains_hide_environment_derived_program_paths + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::serialized_bundle_names_the_tool_and_preserves_exact_mutant_cpu_milliseconds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::the_breakdown_ranks_the_most_expensive_group_first + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + mutants: + - id: 025112dac775 + killer: 12 + - id: 05abb6578be1 + killer: 11 + - id: 06522a1125c2 + killer: 1 + - id: 06924db16455 + killer: 11 + - id: 087f38dffa74 + killer: 11 + - id: 0c92e930b353 + killer: 7 + - id: 0ccb22d9ff9b + killer: 11 + - id: 0efa8855eeac + killer: 11 + - id: 16e1ad0d0bb5 + killer: 7 + - id: 1877bd190269 + killer: 7 + - id: 1a803e0ab431 + killer: 7 + - id: 1f7d68a37a37 + killer: 1 + - id: 213519259d8b + killer: 11 + - id: 23715ac22cd7 + killer: 11 + - id: 243d1f784dca + killer: 7 + - id: 2448967cb7ab + killer: 10 + - id: 252aafaf3df2 + killer: 13 + - id: 28b075c7ad5c + killer: 7 + - id: 2eb0329c5193 + killer: 10 + - id: 338035d5c54f + killer: 11 + - id: 34f2a79c48a2 + killer: 3 + - id: 36ee25fa36ad + killer: 15 + - id: 386b03800941 + killer: 10 + - id: 39e700130a92 + killer: 16 + - id: 42f120bdb13d + killer: 11 + - id: 4376ec015c38 + killer: 12 + - id: 47047c44104f + killer: 8 + - id: 48afa0db8f53 + killer: 13 + - id: 48dff12cdb6f + killer: 3 + - id: 4a1fc4bab44e + killer: 7 + - id: 4f6c8e045d8e + killer: 11 + - id: 547b1ce9abdf + killer: 15 + - id: 576f4f50dbad + killer: 0 + - id: 5bce695e7a3f + killer: 11 + - id: 5f6076655d2a + killer: 11 + - id: 5fd3a52a4d43 + killer: 11 + - id: 61365265eff1 + killer: 10 + - id: 613b839201bf + killer: 9 + - id: 7423b1f5bccb + killer: 8 + - id: 746727bda768 + killer: 11 + - id: 776b75b06300 + killer: 12 + - id: 79d912d89bd9 + killer: 0 + - id: 7dc22dd63dc4 + killer: 10 + - id: 7f0bbc56f0cb + killer: 7 + - id: 7f71f4100d19 + killer: 11 + - id: '808304106030' + killer: 14 + - id: 83d4025d5840 + killer: 16 + - id: 87fe52ed70d7 + killer: 6 + - id: 88c67badc781 + killer: 5 + - id: 88e549d22d2d + killer: 11 + - id: 8d81ad2ec9c9 + killer: 10 + - id: 8da60a819b6c + killer: 12 + - id: 8e74f9cb1bd9 + killer: 16 + - id: 909ca4e86fc3 + killer: 8 + - id: 90a2da86c4b6 + killer: 10 + - id: 970eba9086a0 + killer: 5 + - id: 9a7c5a4bfe74 + killer: 7 + - id: 9af4cd844546 + killer: 11 + - id: 9f3504b9c15b + killer: 16 + - id: a273fc77d3d3 + killer: 3 + - id: a5aa7a31395f + killer: 3 + - id: a6fbb0516958 + killer: 10 + - id: a80cc56c0c54 + killer: 7 + - id: aafabcf20b97 + killer: 10 + - id: b0f9897b4e7c + killer: 4 + - id: b8693e6fcb8c + killer: 12 + - id: bd342e9aefcf + killer: 1 + - id: c1dd9ba44ed5 + killer: 13 + - id: c21e4d356007 + killer: 11 + - id: cd2d810b5954 + killer: 1 + - id: cecddfd2a98c + killer: 15 + - id: ceffd08e5f4d + killer: 11 + - id: d173b96e35d1 + killer: 7 + - id: d37e7ee18ba2 + killer: 10 + - id: d4bbfea6c7f4 + killer: 8 + - id: d510573d2f3e + killer: 11 + - id: d9bda4e97b9d + killer: 2 + - id: e7d5f4bce6ef + killer: 10 + - id: eb35f1e44b3d + killer: 11 + - id: eb9325ea33a3 + killer: 13 + - id: ed0fe2713715 + killer: 11 + - id: f43c118e0bf3 + killer: 11 + - id: f67618d46b8a + killer: 10 + - id: f6c9eca6418e + killer: 11 + - id: f8f6817ed8e7 + killer: 7 +- path: crates/cargo-gamma-lib/src/diag/render.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::advice_goes_where_it_was_asked_for_and_diag_is_emitted_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_baseline_no_harness_counted_says_so_rather_than_reporting_zero + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_breakdown_counts_unviable_mutants_separately_from_survivors + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_breakdown_is_ranked_by_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_the_session_costs_and_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_what_each_build_round_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_where_each_phase_spent_its_time + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_why_its_mutants_were_withdrawn + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_median_of_nothing_is_not_compared_against_the_timeout + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_percentile_never_indexes_past_the_end + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_percentile_of_nothing_is_zero_rather_than_a_panic + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_run_that_tested_nothing_still_reports_its_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_run_that_withdrew_nothing_says_nothing_about_why + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_run_with_no_wall_time_reports_no_ratio_rather_than_an_infinite_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_timeout_close_to_the_typical_mutant_duration_is_called_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::effective_jobs_is_cpu_over_wall + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::test_binaries_are_ranked_by_baseline_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + mutants: + - id: 00ca088a79e6 + killer: 17 + - id: 037a6547d038 + killer: 2 + - id: 08f2d5019d83 + killer: 12 + - id: 0a89f9838133 + killer: 8 + - id: 0b4ce33d59f1 + killer: 8 + - id: 0c386cc5db56 + killer: 14 + - id: 0e307a798870 + killer: 8 + - id: 0e7eb2c1bfe7 + killer: 11 + - id: 0f42d4316268 + killer: 2 + - id: 1210a6d01eff + killer: 3 + - id: 13aedc40647d + killer: 7 + - id: 17b8d2a4e2a6 + killer: 9 + - id: 1d2fbce399ed + killer: 2 + - id: 1d8b5e8a7f04 + killer: 16 + - id: 281430e21727 + killer: 9 + - id: 2a08bf866744 + killer: 9 + - id: 2e993f9251b1 + killer: 7 + - id: 340dd44acfdc + killer: 9 + - id: 34bc586ce695 + killer: 2 + - id: 39406be4b254 + killer: 2 + - id: 3b738e36963f + killer: 9 + - id: 3ba1b0449064 + killer: 9 + - id: 410782e9dcfb + killer: 5 + - id: 43813d2fa7ba + killer: 13 + - id: '478614078767' + killer: 9 + - id: 48ced2ae4662 + killer: 1 + - id: 4c2172acec79 + killer: 13 + - id: 4e02dff7e6a8 + killer: 14 + - id: 4ed137681cdb + killer: 2 + - id: 4ee78c2aa464 + killer: 7 + - id: 4fbde2bf16db + killer: 15 + - id: 5634fac71f85 + killer: 2 + - id: 5d4e9af7f8b2 + killer: 8 + - id: 61283d5fdabe + killer: 9 + - id: 634a0afb8dad + killer: 2 + - id: 68374a38a108 + killer: 2 + - id: 689b9f9a7eda + killer: 1 + - id: 6a05751935de + killer: 8 + - id: 729076bc2c50 + killer: 9 + - id: 77d7a50391c0 + killer: 13 + - id: 79863b732439 + killer: 2 + - id: 8118f0647787 + killer: 5 + - id: 8608fbb7ae89 + killer: 0 + - id: 875164cf4712 + killer: 2 + - id: 89d6b44adbf2 + killer: 5 + - id: 918cb79e59a7 + killer: 8 + - id: 95108a325659 + killer: 9 + - id: 9575297da8bd + killer: 1 + - id: 959fef6bf423 + killer: 0 + - id: 95e226b10703 + killer: 9 + - id: 96169046a7a5 + killer: 0 + - id: 9765d64dc27d + killer: 16 + - id: 99b9fdbfd289 + killer: 16 + - id: 9cf5a3adee3b + killer: 13 + - id: a63e1f4ef331 + killer: 11 + - id: a6f54df44844 + killer: 8 + - id: a7eaac15ea34 + killer: 0 + - id: ac79671ff952 + killer: 2 + - id: b162574c4d35 + killer: 6 + - id: bb1f500d8ddf + killer: 5 + - id: bda08eda9fad + killer: 2 + - id: c067d32eaa14 + killer: 2 + - id: c27dc102845e + killer: 0 + - id: c64dc7f9bf8a + killer: 8 + - id: c7e90a00d02e + killer: 7 + - id: c95f8873b899 + killer: 5 + - id: c9c4df6c234e + killer: 6 + - id: cf6514aded9b + killer: 5 + - id: cfec08f3ebd5 + killer: 13 + - id: d1efe562cfe3 + killer: 16 + - id: d2f52536ccc7 + killer: 17 + - id: d4fc7dd2ec63 + killer: 9 + - id: d518a95864da + killer: 9 + - id: d772c4291b72 + killer: 4 + - id: d9392186b19e + killer: 1 + - id: dad8f9aa353f + killer: 0 + - id: dc248664be95 + killer: 8 + - id: e2e70a797d39 + killer: 8 + - id: e3b82c6fcd9f + killer: 2 + - id: e4c4ca050d13 + killer: 5 + - id: e920a045ee52 + killer: 16 + - id: ea1f4361cf3f + killer: 2 + - id: ea8d6640df4f + killer: 10 + - id: eaf09d0f4e47 + killer: 2 + - id: ed56a4e36b9e + killer: 2 + - id: eef21c56a42d + killer: 2 + - id: ef225e417c8c + killer: 11 + - id: f2e51e96ef2d + killer: 0 + - id: f513733cd7c8 + killer: 2 + - id: f6a5aee64cf8 + killer: 13 + - id: fededa8644bb + killer: 5 +- path: crates/cargo-gamma-lib/src/discover/compile_fail.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::compile_fail::tests::a_source_naming_the_harness_is_recognized + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::compile_fail::tests::an_ordinary_test_source_is_not_recognized + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::compile_fail::tests::discovered_targets_are_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::compile_fail::tests::no_compile_fail_target_produces_no_advice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::compile_fail::tests::several_targets_are_advised_about_together + mutants: + - id: 0e887ccbfa01 + killer: 2 + - id: 26894fbd4882 + killer: 3 + - id: 2d65476b88b9 + killer: 4 + - id: 4291e2a4a9f7 + killer: 2 + - id: 642021b70853 + killer: 3 + - id: 6752bb5da2bc + killer: 0 + - id: 7563c75a5e96 + killer: 4 + - id: 9cfa4dfba902 + killer: 2 + - id: b5627d02b1d0 + killer: 4 + - id: dbf3e0c8ba5d + killer: 3 + - id: e61b17bdbb62 + killer: 1 +- path: crates/cargo-gamma-lib/src/discover/diff.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::fuzz::an_added_line_survives_surrounding_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_borrowed_reader_is_accepted_and_left_with_its_owner + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_diff_that_names_nothing_resolves_to_nothing_without_failing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_diff_whose_paths_resolve_to_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_diff_without_git_prefixes_is_understood + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_diff_written_without_prefixes_keeps_its_leading_directory + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_directory_is_not_treated_as_an_understood_diff_path + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_drive_relative_path_is_not_safe_workspace_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_line_that_is_not_part_of_the_hunk_does_not_advance_the_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_mnemonic_prefix_is_taken_from_the_header + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_path_that_is_not_a_source_file_still_counts_as_understood + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_path_that_names_a_workspace_file_resolves_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_path_with_a_space_still_yields_its_prefix + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_region_spanning_a_changed_line_is_selected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_rename_falls_back_to_the_default_prefix + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::added_lines_are_numbered_in_the_new_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_absolute_non_source_path_inside_the_workspace_counts_as_understood + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_absolute_path_from_another_checkout_resolves_by_unique_suffix + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_absolute_workspace_path_resolves_to_its_relative_candidate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_unrecognized_prefix_is_resolved_by_the_file_it_ends_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_unresolvable_path_that_is_not_source_does_not_fail_a_diff_that_resolved_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_unresolvable_source_path_alongside_a_resolvable_one_is_still_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::several_files_are_kept_apart + mutants: + - id: 011a77552873 + killer: 14 + - id: 01dedb7f5c17 + killer: 0 + - id: 022af7ae1d65 + killer: 17 + - id: 023321ce5c53 + killer: 0 + - id: 04ed72ba2a62 + killer: 13 + - id: 054e0ce816d4 + killer: 4 + - id: 055f38633a77 + killer: 0 + - id: 05f70428ef1a + killer: 4 + - id: 06755d496ce3 + killer: 3 + - id: 076c7fd230d7 + killer: 19 + - id: 08f241141640 + killer: 10 + - id: 09fbdae4b8cd + killer: 22 + - id: 0ddd3b292654 + killer: 18 + - id: 114ce65c6d94 + killer: 0 + - id: 131ea13a1433 + killer: 2 + - id: 15ead962a2b2 + killer: 0 + - id: 169045a358d7 + killer: 22 + - id: 170eaa5cb4bf + killer: 4 + - id: 17a41013b58c + killer: 6 + - id: 1c9b8d66b970 + killer: 0 + - id: 214749a98a24 + killer: 16 + - id: '227128312984' + killer: 0 + - id: 2357a550fe34 + killer: 0 + - id: 2817c539d9ae + killer: 17 + - id: 2aa839c48ee4 + killer: 0 + - id: 2b26ecfc5ca7 + killer: 0 + - id: 338a43c2983b + killer: 10 + - id: 35e5c4ef2430 + killer: 0 + - id: 3a9288e9c4b8 + killer: 0 + - id: 3c50e714910a + killer: 18 + - id: 3d7a9e96a346 + killer: 16 + - id: 40b9da3061ff + killer: 17 + - id: 42491ae3d295 + killer: 15 + - id: 42991cff9f0b + killer: 15 + - id: 4450b7f2fe9e + killer: 1 + - id: 456fa89ce192 + killer: 19 + - id: 46e1b7bf4810 + killer: 0 + - id: 483a67b43e0e + killer: 1 + - id: 4904493e52e8 + killer: 0 + - id: 4aa496bc408d + killer: 13 + - id: 4aa8ff459ea6 + killer: 0 + - id: 4bf422bafa1c + killer: 13 + - id: 4caeb700e1b3 + killer: 0 + - id: 4d514db99879 + killer: 17 + - id: 5129517b26b3 + killer: 2 + - id: 5138677c0585 + killer: 0 + - id: 526ec366d00b + killer: 0 + - id: 5327b791abb1 + killer: 5 + - id: 53f8f511ecc1 + killer: 4 + - id: 57d9effd9a87 + killer: 1 + - id: 57e10c615218 + killer: 0 + - id: 5af1295f1f5c + killer: 10 + - id: 5b8e5aecc09b + killer: 0 + - id: 5cf9cd283625 + killer: 5 + - id: 5e79c9b90a88 + killer: 13 + - id: 602a69daa0aa + killer: 19 + - id: 6181cf47a6c3 + killer: 1 + - id: 623187f09021 + killer: 3 + - id: 63f096c9dea6 + killer: 0 + - id: 66fd2b1f67dd + killer: 4 + - id: 68d2b6e74c5a + killer: 9 + - id: 6bb798ebb7a3 + killer: 0 + - id: 6cb908d2b9b4 + killer: 0 + - id: 6ef7997413a4 + killer: 8 + - id: 7066d6924cc0 + killer: 0 + - id: 73147f2ebe90 + killer: 0 + - id: 75508a381add + killer: 0 + - id: 75ecdff01f55 + killer: 13 + - id: 78540ab7887f + killer: 5 + - id: 793559f11221 + killer: 23 + - id: 7b0f34940828 + killer: 7 + - id: 7b94b08d0e84 + killer: 19 + - id: 7d63ed2f33d2 + killer: 7 + - id: 7eb1854c0379 + killer: 0 + - id: 7ec93e32c0ad + killer: 14 + - id: 7f4e673e9b25 + killer: 0 + - id: 851316dec06b + killer: 4 + - id: 8a6992affbf5 + killer: 8 + - id: 8c882acd9fe1 + killer: 0 + - id: 8d475b052db7 + killer: 0 + - id: 8ed17203fb04 + killer: 0 + - id: 8f82659c7a54 + killer: 16 + - id: 91b3ff898eff + killer: 0 + - id: 92e088075bbc + killer: 20 + - id: 977bda999619 + killer: 0 + - id: 9977e9743ce3 + killer: 13 + - id: 9c116549f241 + killer: 6 + - id: 9c2aeeec42f8 + killer: 0 + - id: a20f5940669b + killer: 0 + - id: a2c7cd802ea8 + killer: 0 + - id: a3e3bbebf633 + killer: 18 + - id: a4e03d15b64f + killer: 22 + - id: a65680b462e9 + killer: 6 + - id: a7e2e5700b69 + killer: 1 + - id: aa55d060275b + killer: 13 + - id: ab239452c0d9 + killer: 0 + - id: ab2ad838dd7c + killer: 1 + - id: ac503212d75c + killer: 0 + - id: acd0f70403ca + killer: 0 + - id: ad4b023c4cc9 + killer: 23 + - id: b0bbd363857f + killer: 0 + - id: b68e0e6e9017 + killer: 16 + - id: b956efcf2c46 + killer: 7 + - id: bc19f2a15188 + killer: 0 + - id: bd4723321394 + killer: 0 + - id: be8404d5dfa1 + killer: 5 + - id: beecf232cdc7 + killer: 2 + - id: c0cdde15fb25 + killer: 0 + - id: c11f06715738 + killer: 0 + - id: c2925968dbbc + killer: 11 + - id: c2cccb2928d8 + killer: 4 + - id: c4a38d3e52dc + killer: 17 + - id: c78521f422ca + killer: 12 + - id: c838ea17d0f9 + killer: 4 + - id: c96d93bc7f4d + killer: 13 + - id: c98c5ae14127 + killer: 15 + - id: ca7a8b70b778 + killer: 0 + - id: cb9a62aecfff + killer: 0 + - id: cdfd9777cfa0 + killer: 16 + - id: ce0e631ffa88 + killer: 0 + - id: ce15fba3e9ca + killer: 0 + - id: d183067c78da + killer: 0 + - id: d280ba5d1c59 + killer: 0 + - id: d77c3115eb9a + killer: 10 + - id: d7b10264dc41 + killer: 0 + - id: d91a43c16f9c + killer: 2 + - id: da134c77618b + killer: 4 + - id: db0e60f910b9 + killer: 0 + - id: de982a214293 + killer: 4 + - id: dfa14c45281a + killer: 0 + - id: e0e56e31c1d6 + killer: 5 + - id: e23308bb8303 + killer: 4 + - id: e3bf92dc0e54 + killer: 0 + - id: e4c0b8b71ac0 + killer: 21 + - id: e4f814650623 + killer: 17 + - id: e8786cc92a1e + killer: 5 + - id: e8f8149ec836 + killer: 1 + - id: e9dca26d28a6 + killer: 13 + - id: e9ee9d64e39f + killer: 4 + - id: ec72c3ed0f17 + killer: 0 + - id: ed2913e5d9a2 + killer: 4 + - id: eda801fd34db + killer: 23 + - id: ef82dcf31b2b + killer: 0 + - id: f0fb8b8dedf4 + killer: 23 + - id: f1c3ea38837d + killer: 0 + - id: f1f6713bc64f + killer: 0 + - id: f47e3ac6287c + killer: 0 + - id: f4c45cb945c4 + killer: 2 + - id: f5971b6f2bce + killer: 22 + - id: fa94221bc0fa + killer: 5 + - id: faad53ecbd82 + killer: 0 + - id: fb620aa23f1a + killer: 0 + - id: fb7d1de6112f + killer: 0 + - id: fd93ab695cbc + killer: 0 + - id: fd9710f5c729 + killer: 0 + - id: fed46f9e112f + killer: 0 +- path: crates/cargo-gamma-lib/src/discover/glob.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_target_excluded_by_a_glob_is_not_warned_about + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_pattern_matching_a_declared_target_is_not_reported_as_unmatched + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: units + test: glob::a_bare_name_matches_at_any_depth + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_crosses_separators + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_matches_zero_segments + - package: cargo-gamma-lib + target: units + test: glob::a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: units + test: glob::a_question_mark_matches_one_character + - package: cargo-gamma-lib + target: units + test: glob::a_star_does_not_cross_separators + - package: cargo-gamma-lib + target: units + test: glob::repeated_double_stars_have_bounded_work + mutants: + - id: 019f11a8169d + killer: 3 + - id: 02900b2ba061 + killer: 5 + - id: 056716acc0c2 + killer: 5 + - id: 061d92e6c1a6 + killer: 6 + - id: 06716b23ca1f + killer: 6 + - id: 08b4072874a8 + killer: 6 + - id: 098cf4f1b797 + killer: 2 + - id: 0d03e275a966 + killer: 6 + - id: 0d55e6ef3347 + killer: 5 + - id: 0d80db1d8573 + killer: 6 + - id: 0ece29751f16 + killer: 6 + - id: 0f51b9f03ad6 + killer: 7 + - id: 148da18e4e66 + killer: 6 + - id: 160cb0cb6ba7 + killer: 9 + - id: 16ae77e5fa3a + killer: 6 + - id: 1b6481ecefee + killer: 5 + - id: 1c75a5819df6 + killer: 6 + - id: 1e329d43ba4d + killer: 5 + - id: 1f521208667e + killer: 6 + - id: 20e778a842c6 + killer: 6 + - id: 21e5cd5441cf + killer: 6 + - id: 24ee11dc807d + killer: 9 + - id: 25b6fca9b37e + killer: 6 + - id: 274d94bc3917 + killer: 6 + - id: 2894cb5afc27 + killer: 5 + - id: 29928c100147 + killer: 11 + - id: 2ac8420a2f31 + killer: 11 + - id: 2adaadb6cf8d + killer: 5 + - id: 2fe11fa986b7 + killer: 5 + - id: 331040c7edd4 + killer: 6 + - id: 3af4bb662f36 + killer: 6 + - id: 3d82e5143ea0 + killer: 8 + - id: 3e235fc7942b + killer: 5 + - id: 3f6ca1949db3 + killer: 5 + - id: 412881c16423 + killer: 6 + - id: 415ca3c50e8b + killer: 5 + - id: 431d9d1d3106 + killer: 6 + - id: 4361477e1c6e + killer: 6 + - id: 44294cc23e40 + killer: 6 + - id: 45c533f77b8a + killer: 5 + - id: 48597052d76b + killer: 6 + - id: 488c12ab93e3 + killer: 5 + - id: 4a55d73f45ac + killer: 6 + - id: 4af647bda714 + killer: 6 + - id: 4af65b824f4c + killer: 6 + - id: 4c694889ff43 + killer: 6 + - id: 4dd46c0d4f46 + killer: 6 + - id: 4f2c28660c64 + killer: 5 + - id: 50b9ed1f0411 + killer: 6 + - id: 51503c915ace + killer: 5 + - id: 524b36098a83 + killer: 4 + - id: 537bed1086d5 + killer: 6 + - id: 53fb5d4d30f3 + killer: 5 + - id: 56a91bea3c89 + killer: 5 + - id: 57a447082737 + killer: 6 + - id: 58e2594348c2 + killer: 4 + - id: 5c36df67388c + killer: 6 + - id: 5c5ca03e55fe + killer: 9 + - id: 5d79df291ead + killer: 7 + - id: 5dfe3100b2c8 + killer: 9 + - id: 60d57e2e8113 + killer: 6 + - id: 61b3792b6ff5 + killer: 7 + - id: 62c1e770f2fa + killer: 6 + - id: 66310a761eb2 + killer: 6 + - id: 66bd245a105e + killer: 6 + - id: 6709a90a63ff + killer: 5 + - id: 68530bf8bfad + killer: 9 + - id: 6963eb055e4f + killer: 5 + - id: 699b9c01b359 + killer: 6 + - id: 699f6f68447c + killer: 6 + - id: 6adb36e044e6 + killer: 6 + - id: 6b68ef79128b + killer: 6 + - id: 6b7898135c71 + killer: 7 + - id: 6c82b010ba55 + killer: 5 + - id: 6ef9e6bfc3e0 + killer: 6 + - id: 6f2324233792 + killer: 6 + - id: 6fa82ecb9524 + killer: 6 + - id: 74da28be2a00 + killer: 5 + - id: 7695bd413528 + killer: 6 + - id: 77a2c6f22820 + killer: 5 + - id: 792eb6344d8c + killer: 6 + - id: 7b4fb584e91f + killer: 5 + - id: 7c85d4c53798 + killer: 6 + - id: 7d28d8db27c5 + killer: 6 + - id: 7e66f2702f44 + killer: 6 + - id: 830f53eb7a76 + killer: 6 + - id: 832bb3b878a2 + killer: 8 + - id: 86320bf96bdc + killer: 7 + - id: 86a7ac2d614f + killer: 5 + - id: 87f6bece0bb8 + killer: 9 + - id: 8a0244f40eef + killer: 9 + - id: 8c60ff48ca82 + killer: 6 + - id: 8c989da2ad02 + killer: 5 + - id: 8ca979923b45 + killer: 5 + - id: 8e063e737817 + killer: 7 + - id: 8e5605f0f10e + killer: 9 + - id: 91574b2af7d1 + killer: 4 + - id: 924b5e5421c2 + killer: 7 + - id: 942db6e4209f + killer: 6 + - id: 96cb10d57261 + killer: 5 + - id: 97879ce3a749 + killer: 10 + - id: 994cf1c7a09a + killer: 6 + - id: 9de1058bfb80 + killer: 6 + - id: 9e023fb9ef87 + killer: 9 + - id: a0a6e6f1f5ee + killer: 9 + - id: a0f4c0ea64e8 + killer: 5 + - id: a294b36607f8 + killer: 6 + - id: a50780e42e27 + killer: 7 + - id: a59587e7d6cf + killer: 9 + - id: a7ccf314beaa + killer: 5 + - id: a84f85f7eac4 + killer: 8 + - id: a8906d7100f4 + killer: 9 + - id: aade03210ef2 + killer: 9 + - id: acd06f302b42 + killer: 10 + - id: af5bea85970b + killer: 6 + - id: b1b0982c2256 + killer: 6 + - id: b3eaf1380d58 + killer: 5 + - id: b718033f3b7f + killer: 6 + - id: b839c832fe7b + killer: 7 + - id: b9c8ee7d7746 + killer: 5 + - id: ba1cda88107a + killer: 5 + - id: bb2bd74e5a97 + killer: 4 + - id: bd8bb2fc0591 + killer: 3 + - id: be07464482ad + killer: 6 + - id: bf4eb86800dd + killer: 5 + - id: c16af6cb0afe + killer: 5 + - id: c20f19736e29 + killer: 6 + - id: c4ea20616462 + killer: 6 + - id: c54b778a2071 + killer: 7 + - id: c568cd15bef5 + killer: 6 + - id: c6e2f9a6df05 + killer: 1 + - id: c906df9fc4f8 + killer: 6 + - id: cb32e418dfb6 + killer: 6 + - id: cb50c8254a73 + killer: 6 + - id: cc4061329c7a + killer: 6 + - id: cd6089e3a77d + killer: 6 + - id: ce23f0adb1b9 + killer: 5 + - id: ce4ad266de8e + killer: 6 + - id: cf7c25cf3be1 + killer: 6 + - id: d19a5dfa33a2 + killer: 5 + - id: d701d3ee52aa + killer: 6 + - id: d717071c4dc6 + killer: 0 + - id: d792a8d81308 + killer: 6 + - id: d7f14b4387a8 + killer: 6 + - id: d815a57aa9fa + killer: 10 + - id: d89ae5c62d3a + killer: 6 + - id: da32d2b7b062 + killer: 2 + - id: dda892df1898 + killer: 5 + - id: ddeb56bd5e6a + killer: 5 + - id: de4987db270f + killer: 6 + - id: dea8e9699280 + killer: 6 + - id: deb77a149d06 + killer: 6 + - id: df175a59d311 + killer: 9 + - id: df669fa39941 + killer: 6 + - id: e0b4b302bf20 + killer: 6 + - id: e1f1dce8c7aa + killer: 5 + - id: e3177ce19154 + killer: 6 + - id: e4846715d1b5 + killer: 6 + - id: e51e2408ada6 + killer: 5 + - id: e806067b41db + killer: 6 + - id: e9e88aee9607 + killer: 8 + - id: eb3d8a77eb7f + killer: 10 + - id: ef38d0fbbd42 + killer: 5 + - id: f062ce3b19d1 + killer: 5 + - id: f08044fcebc0 + killer: 6 + - id: f27d3d87bd7e + killer: 6 + - id: f32b98f1eeea + killer: 6 + - id: f9a8e58e349f + killer: 5 + - id: fbbd20cba50d + killer: 5 + - id: fd430fba4380 + killer: 5 + - id: fef1a5920d37 + killer: 9 +- path: crates/cargo-gamma-lib/src/discover/hints.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::disabled_incremental_mode_suppresses_missing_hints_advice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_corrupt_artifact_is_no_hints_at_all + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_failed_hints_rollback_leaves_a_later_successful_promotion_intact + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_post_rename_hints_sync_failure_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::an_artifact_that_is_there_but_unreadable_is_not_replaced_and_not_deleted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_carries_generalized_tiers_for_a_clean_checkout + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_carries_the_two_score_neutral_tiers_and_nothing_else + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_orders_by_file_and_then_by_id + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + mutants: + - id: 03ccb59f82f6 + killer: 8 + - id: 0543524fef41 + killer: 6 + - id: 0c9f394ebdf6 + killer: 2 + - id: 0d9f447b1c90 + killer: 10 + - id: 0da56bdecdbd + killer: 2 + - id: 10f1c75992fa + killer: 4 + - id: 147fb5dbb08d + killer: 8 + - id: 1e8cd423bcc1 + killer: 9 + - id: 21c4f141e09d + killer: 9 + - id: 28529a4effff + killer: 2 + - id: 2c3825e37015 + killer: 5 + - id: 2ea16e4b6b56 + killer: 8 + - id: 327ae17cf95b + killer: 9 + - id: 3651a3e8bfc3 + killer: 6 + - id: 3810eecff0c7 + killer: 2 + - id: 3c2c6b57aaf2 + killer: 8 + - id: 3fc2db79a0c5 + killer: 9 + - id: 455279c54cb3 + killer: 2 + - id: 45a784509379 + killer: 1 + - id: 45e9ff0c2e56 + killer: 11 + - id: 4fe4f3ea40d5 + killer: 7 + - id: 51e4f8d1a4ab + killer: 5 + - id: 55c61cc99bcd + killer: 8 + - id: 5b6f4164d311 + killer: 2 + - id: 631eb23890f5 + killer: 0 + - id: 63eb83f930ed + killer: 2 + - id: 640dd279f334 + killer: 11 + - id: 651fc1ee4609 + killer: 6 + - id: 74af0c2515c4 + killer: 8 + - id: 756b12ccb0a1 + killer: 8 + - id: 76953b9e8ead + killer: 8 + - id: 781bf5c4782f + killer: 8 + - id: 7a4d10b2f269 + killer: 9 + - id: 83094792ac12 + killer: 8 + - id: 84aff3787bb4 + killer: 9 + - id: 9cf8d8798562 + killer: 9 + - id: 9dfe4c130aad + killer: 8 + - id: a2f40672f135 + killer: 8 + - id: a56b15d2471a + killer: 8 + - id: a61ccd003db0 + killer: 5 + - id: ace1d634e8c0 + killer: 2 + - id: aeb47013e644 + killer: 8 + - id: b03ee42d024b + killer: 8 + - id: b1fc09e1bcb1 + killer: 8 + - id: c3edfe0b1502 + killer: 8 + - id: c7546871254e + killer: 8 + - id: cd4741e7efeb + killer: 8 + - id: cf0e95c00f1f + killer: 8 + - id: d6ed02342434 + killer: 3 + - id: dd01128815aa + killer: 8 + - id: f201788f4954 + killer: 9 +- path: crates/cargo-gamma-lib/src/discover/input.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::input::tests::an_oversized_read_consumes_only_the_single_probe_byte + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::input::tests::exact_limit_is_retained + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + mutants: + - id: 00a552248163 + killer: 0 + - id: 08950a729a65 + killer: 2 + - id: 163b0efc1cb3 + killer: 0 + - id: 2fc56040ef41 + killer: 1 + - id: 38fcf390dc5b + killer: 2 + - id: 40a6ed8c64dd + killer: 2 + - id: 4f5c7dd0b9d9 + killer: 2 + - id: 52022f901c99 + killer: 2 + - id: 55fa5cfeff72 + killer: 0 + - id: 6437102773cf + killer: 0 + - id: 69aa28874012 + killer: 1 + - id: 76a4ae4fdd9f + killer: 0 + - id: 7be6c9b9ec45 + killer: 2 + - id: 871b162965ad + killer: 0 + - id: bd692f0fa0aa + killer: 2 + - id: cd77ddd24ad2 + killer: 2 + - id: de4f88cb7804 + killer: 2 + - id: eaddd2ad2aa4 + killer: 0 +- path: crates/cargo-gamma-lib/src/discover/killers.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::a_nested_test_leaf_is_not_an_identity_for_a_verdict + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::a_plain_function_is_not_a_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::every_spelling_a_harness_uses_finds_the_same_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::incomplete_inputs_make_recorded_kills_ineligible_for_reuse + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::verdict_lookup_requires_a_complete_scan_and_a_nonempty_exact_path + mutants: + - id: 0e95e9ca5347 + killer: 0 + - id: 166d2c9b545d + killer: 0 + - id: 196a89868eb0 + killer: 0 + - id: 1dcfbd11503b + killer: 0 + - id: 2b840a4adff7 + killer: 0 + - id: 30f7324ce8e1 + killer: 3 + - id: 325897e6ca1e + killer: 0 + - id: 36314bc435a6 + killer: 0 + - id: 397e68516842 + killer: 0 + - id: 4250eee0b128 + killer: 0 + - id: 429913268ed9 + killer: 0 + - id: 439dc3200f49 + killer: 1 + - id: 4cddccb276f3 + killer: 0 + - id: 5482ba67e74f + killer: 0 + - id: 55c01c4c32f3 + killer: 0 + - id: 5768b5040d9f + killer: 0 + - id: 729e82912b80 + killer: 0 + - id: 8026bdb3fdf7 + killer: 0 + - id: 84c40533c0d5 + killer: 2 + - id: 892b523b07b8 + killer: 0 + - id: c10b1e1140b6 + killer: 1 + - id: c3295abeb80d + killer: 4 + - id: cc616edbbb51 + killer: 1 + - id: cd7ee0e5267e + killer: 0 + - id: d1f560d504aa + killer: 0 + - id: ddd87b0c6b46 + killer: 0 + - id: e60a8da05e9c + killer: 0 + - id: e6992aeebfb1 + killer: 0 + - id: ebab6bd73067 + killer: 0 +- path: crates/cargo-gamma-lib/src/discover/modules.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_cycle_between_two_files_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_declaration_pointing_at_no_file_is_dropped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_file_a_test_module_shares_with_real_code_is_kept + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_file_stem_that_is_not_a_module_root_owns_a_subdirectory + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_path_attribute_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_path_attribute_on_an_inline_module_redirects_everything_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_path_attribute_resolves_beside_the_file_that_wrote_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_plain_declaration_resolves_in_the_directory_the_file_owns + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::an_attribute_that_is_neither_cfg_nor_path_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::non_modules_and_inline_modules_do_not_stop_later_declarations + mutants: + - id: 054be549f88a + killer: 2 + - id: 07408200cf2e + killer: 1 + - id: 07ad87350e6f + killer: 4 + - id: 117f4ffc4b44 + killer: 6 + - id: 18820d512fe1 + killer: 0 + - id: 18c28ee88f1e + killer: 0 + - id: 27a2d54fde15 + killer: 3 + - id: 2e432edfa8bb + killer: 5 + - id: 34d27a8c3f50 + killer: 0 + - id: 388d580f05c9 + killer: 9 + - id: 468c6eabdbb2 + killer: 0 + - id: 4700be47f336 + killer: 4 + - id: 47d27f92ddc1 + killer: 0 + - id: 47d292f6f9d5 + killer: 8 + - id: 4ef0b151af43 + killer: 0 + - id: 4f37509fddb8 + killer: 2 + - id: 4f5f55b26069 + killer: 3 + - id: 56d3a1967bf8 + killer: 7 + - id: 63e189d30685 + killer: 5 + - id: 6d9d3e8cab27 + killer: 2 + - id: 6e095116e552 + killer: 4 + - id: 71825dfe45f2 + killer: 4 + - id: 7706731a44b9 + killer: 6 + - id: 86c5b127c5de + killer: 6 + - id: 9837f61c383e + killer: 4 + - id: 9b754e5374b2 + killer: 3 + - id: a378923328c1 + killer: 0 + - id: acaf84b73b28 + killer: 4 + - id: acf0696ddb5a + killer: 2 + - id: af413fcca2f2 + killer: 3 + - id: b5e901bd4500 + killer: 5 + - id: c2b9a061a3d7 + killer: 9 + - id: c3fb983c4e7b + killer: 1 + - id: c6aa2c0f46d4 + killer: 4 + - id: c937eb77205b + killer: 5 + - id: cb3f4813db85 + killer: 0 + - id: cec7bc7187c8 + killer: 8 + - id: d11006b21ca9 + killer: 5 + - id: d705301e9cbf + killer: 7 + - id: da493f935bc4 + killer: 5 + - id: dceb3cf2d122 + killer: 2 + - id: ead23a824d46 + killer: 3 + - id: ed0b2ab09906 + killer: 5 + - id: ed9e67d4b029 + killer: 3 + - id: f41e8ea3f8db + killer: 9 + - id: fd7eb5a32c3f + killer: 2 +- path: crates/cargo-gamma-lib/src/discover/order.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::order::tests::a_cycle_survives_an_intervening_equal_sized_reach_set + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 09b8f802e025 + killer: 0 + - id: 1953c5a2a9b8 + killer: 1 + - id: 405cd40b1f16 + killer: 0 + - id: 75cc0756823c + killer: 1 + - id: 948bf5ae5a77 + killer: 1 + - id: a0a63e7b2e7c + killer: 0 +- path: crates/cargo-gamma-lib/src/discover/plan.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::plan::tests::a_package_is_named_by_where_its_manifest_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::plan::tests::a_single_crate_repository_names_its_root + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::plan::tests::a_windows_package_spec_is_a_file_url + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::plan::tests::absorbing_a_scan_conserves_every_count_and_collection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::plan::tests::report_order_uses_file_span_then_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::mutated_package_manifests_include_root_and_nested_members + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + mutants: + - id: 338acdec61ad + killer: 1 + - id: 34d23e08740e + killer: 4 + - id: 35ce10db18a3 + killer: 4 + - id: 3693b0ab9e8b + killer: 1 + - id: 3e15b80b0bbc + killer: 4 + - id: 418e1387ca6a + killer: 4 + - id: 490e324ea778 + killer: 5 + - id: 496f0a0abb66 + killer: 0 + - id: 4b52a0f9c570 + killer: 1 + - id: 682b840c8797 + killer: 1 + - id: 70b1106b87af + killer: 6 + - id: 8e4d6f784bb6 + killer: 4 + - id: 93d576660217 + killer: 3 + - id: 9ad16ed1c588 + killer: 1 + - id: 9bd9498ea77c + killer: 4 + - id: 9c9b1205f4e5 + killer: 3 + - id: b61d11e3d0dc + killer: 7 + - id: bc637b446ec3 + killer: 1 + - id: bce8a24d9832 + killer: 2 + - id: cb12d96d47f2 + killer: 5 + - id: da7dc07ae9e4 + killer: 1 + - id: dd12502324d8 + killer: 1 + - id: e7331c2274be + killer: 1 + - id: f1c3493c88c2 + killer: 0 + - id: f24eac6983a2 + killer: 7 + - id: f293c37865c4 + killer: 4 + - id: fb77f40cf682 + killer: 1 + - id: fd951192e4e3 + killer: 3 +- path: crates/cargo-gamma-lib/src/discover/record.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::disabled_incremental_and_dry_runs_prepare_no_cache_context + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_file_edited_since_the_plan_was_made_is_refused_rather_than_edited_by_stale_line_numbers + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_written_artifact_reads_back_as_what_was_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::an_unsupported_generalized_tier_is_ignored_without_losing_exact_hints + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_carries_generalized_tiers_for_a_clean_checkout + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_orders_by_file_and_then_by_id + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_cached_mutant_is_settled_when_its_file_is_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_change_to_any_setting_the_workspace_holds_moves_the_config_term + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_changed_inherited_environment_refuses_carried_unviability + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_narrow_run_writes_back_safe_unviability_after_an_unrelated_change + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_narrowed_run_drops_prior_entries_after_any_workspace_input_changes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_record_from_the_previous_format_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_record_that_states_none_of_the_newer_terms_keeps_only_the_tiers_that_ask_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_revert_to_the_original_bytes_does_not_restore_the_snapshot + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_target_specific_rustflags_variable_moves_the_key + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_term_nobody_states_admits_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_workspace_dependency_change_invalidates_dependent_unviability + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::an_external_path_dependency_change_carries_neither_verdicts_nor_unviability + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::an_unrelated_package_change_preserves_unviability_but_not_test_verdicts + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::the_context_distinguishes_the_things_that_decide_what_compiles + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::the_flags_in_the_key_are_the_ones_cargo_will_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::this_runs_answer_replaces_the_earlier_one_for_a_file_it_visited + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::killers::tests::a_hint_names_only_the_binary_it_was_recorded_against + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::killers::tests::a_map_round_trips_through_the_record + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::killers::tests::hints_survive_a_build_context_this_run_does_not_share + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + mutants: + - id: 038dfc7b1f23 + killer: 7 + - id: 044dbde0601e + killer: 13 + - id: 0765f2d2ac0a + killer: 2 + - id: 0933289f010e + killer: 0 + - id: 09c09addc9f7 + killer: 6 + - id: 0d6520bba89b + killer: 21 + - id: 0fccdd697d85 + killer: 16 + - id: 10ac1707c44b + killer: 23 + - id: 119152fc7c08 + killer: 14 + - id: 1227ae8a44da + killer: 22 + - id: 12368db074c5 + killer: 2 + - id: 1a3ea7763213 + killer: 0 + - id: 1a7b13734da8 + killer: 8 + - id: 1b569ece19cd + killer: 2 + - id: 1be77d644507 + killer: 6 + - id: 1c044b63e154 + killer: 25 + - id: 1ca11338ec21 + killer: 16 + - id: 1f765ce034e1 + killer: 10 + - id: 1ff29c64aac6 + killer: 0 + - id: 25be3ba039c1 + killer: 5 + - id: 2822dffa8a48 + killer: 9 + - id: 2b5c146e0665 + killer: 0 + - id: 2f10ac864cec + killer: 2 + - id: 32a5abf3c6b7 + killer: 14 + - id: 32e367936e8b + killer: 0 + - id: 3a11bc20d9ba + killer: 19 + - id: 3a2e0baf91f4 + killer: 26 + - id: 3c6fafb53fc4 + killer: 6 + - id: 3c71808eede9 + killer: 6 + - id: 3d6b1ba1227e + killer: 2 + - id: 3e59dc981665 + killer: 8 + - id: 3ff39b557650 + killer: 16 + - id: 437a093bb4d5 + killer: 14 + - id: 437fef2e6f55 + killer: 0 + - id: 43fb5e74d327 + killer: 16 + - id: 4430abf7e2fe + killer: 19 + - id: 44dd1b0fdadd + killer: 18 + - id: 46842b5c1cb6 + killer: 6 + - id: 484f84dd5ef4 + killer: 4 + - id: 4984e84ff9ea + killer: 2 + - id: 498fc93b53a6 + killer: 2 + - id: 4a0e2c372bb6 + killer: 9 + - id: 4a85972d4b70 + killer: 2 + - id: 4b40df37eff2 + killer: 2 + - id: 4b7b798358e6 + killer: 7 + - id: 4d29ccaea106 + killer: 6 + - id: 512e1607df1b + killer: 7 + - id: 52aee86b3bc0 + killer: 15 + - id: 53c2309faf84 + killer: 2 + - id: 54b31d709412 + killer: 6 + - id: 56ceda8c6860 + killer: 6 + - id: 59b6d44a6866 + killer: 0 + - id: 59ea36d64aba + killer: 14 + - id: 5cf627bd7365 + killer: 6 + - id: 5f79faf3a720 + killer: 26 + - id: 6195eb71739a + killer: 5 + - id: 61bb5688ef61 + killer: 6 + - id: 61dee90c2f90 + killer: 9 + - id: 63a3a7201628 + killer: 0 + - id: 63af244f6741 + killer: 20 + - id: 66f51add40fa + killer: 18 + - id: 69f737d97e53 + killer: 10 + - id: 6a2cda9c54a1 + killer: 23 + - id: 6b4d873dcd9f + killer: 28 + - id: 6fbbd34451b1 + killer: 19 + - id: 70a777a7be7e + killer: 23 + - id: 72c2dc3b251c + killer: 9 + - id: 73574b25a157 + killer: 19 + - id: 774218dcf9a2 + killer: 2 + - id: 78d79b7e47a3 + killer: 27 + - id: 79f64e14810e + killer: 19 + - id: 7ae3b6c7c2da + killer: 0 + - id: 7dc74b2d80d3 + killer: 9 + - id: 7e9183ebb79a + killer: 13 + - id: 7f1f0e1252bb + killer: 14 + - id: 7f73b7871fc9 + killer: 6 + - id: 80650843a8a2 + killer: 6 + - id: 817d38caf33b + killer: 9 + - id: 81e44817a623 + killer: 5 + - id: 821abb49e891 + killer: 9 + - id: 8315e3372256 + killer: 2 + - id: 832b4110ddac + killer: 6 + - id: 835bf8f3c34c + killer: 16 + - id: 83e3a0c179a6 + killer: 7 + - id: 846f3d5c8a1a + killer: 26 + - id: 86d9f9415135 + killer: 19 + - id: 882db23c7ddb + killer: 6 + - id: 90896dc74b12 + killer: 11 + - id: 9387be3b1d63 + killer: 23 + - id: 9687a5831085 + killer: 6 + - id: 9984d0416975 + killer: 2 + - id: 9a44bc3a4c42 + killer: 2 + - id: 9b1146466a4f + killer: 27 + - id: 9b2dd2652753 + killer: 21 + - id: 9b9512609aaf + killer: 17 + - id: 9c4996b72dde + killer: 4 + - id: 9cc2bde8016c + killer: 9 + - id: 9e46df8c6e69 + killer: 6 + - id: 9f242b30d638 + killer: 11 + - id: 9f4ab318b777 + killer: 6 + - id: a00414a67d17 + killer: 4 + - id: a4b4c8689c18 + killer: 0 + - id: a58f8a7390c6 + killer: 5 + - id: a594d2162816 + killer: 2 + - id: a9e90e04d072 + killer: 15 + - id: aa91b43f9f96 + killer: 0 + - id: aa9461d9737a + killer: 2 + - id: aaba73d65443 + killer: 1 + - id: adab8a352e8e + killer: 25 + - id: afaed4babfd0 + killer: 3 + - id: b06ecc77c722 + killer: 5 + - id: b3dcd4bf456d + killer: 9 + - id: baad106b05b7 + killer: 9 + - id: bc469f48be1c + killer: 6 + - id: bc5df0be722d + killer: 6 + - id: bd80394dcbb6 + killer: 2 + - id: bd81572635c2 + killer: 6 + - id: c256b6409ebb + killer: 6 + - id: c37076646401 + killer: 23 + - id: c425cad81658 + killer: 8 + - id: c4983284db2c + killer: 12 + - id: c574f2ef7c1a + killer: 1 + - id: c8f9ebf29d57 + killer: 24 + - id: cb8f7987ba1f + killer: 15 + - id: d0bb6c84ab78 + killer: 21 + - id: d60b674a6a18 + killer: 6 + - id: d93c0dd6e819 + killer: 21 + - id: d9546c462922 + killer: 22 + - id: daba57e187b9 + killer: 2 + - id: dcc083300841 + killer: 9 + - id: dccd688a75b6 + killer: 6 + - id: ddb9c039e333 + killer: 9 + - id: df6bbb54adcf + killer: 6 + - id: e11aebbbedfd + killer: 9 + - id: e584856e538b + killer: 6 + - id: e5e36baf7b8c + killer: 21 + - id: e6c40869bccf + killer: 6 + - id: e6e8fc31bca8 + killer: 19 + - id: ea48bd6823e0 + killer: 9 + - id: ed2fa9834517 + killer: 19 + - id: f17728219226 + killer: 6 + - id: f1b5188d061d + killer: 12 + - id: f1ccf34b249b + killer: 6 + - id: f37b215c7a97 + killer: 9 + - id: f50408d8bab1 + killer: 0 + - id: f81cbb3f4e49 + killer: 6 + - id: faed0054f285 + killer: 6 + - id: fbf72929945b + killer: 8 + - id: fe129d6e519b + killer: 0 +- path: crates/cargo-gamma-lib/src/discover/shard.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::shard::tests::different_ids_can_land_in_different_shards + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::shard::tests::one_shard_holds_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::shard::tests::shards_are_reasonably_balanced + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + mutants: + - id: 0157562812a0 + killer: 3 + - id: 1858f55d0a7d + killer: 3 + - id: 1ccbf2a24026 + killer: 0 + - id: 21a4ec2e44e3 + killer: 0 + - id: 3327787137b1 + killer: 2 + - id: 334e9a7154b7 + killer: 0 + - id: 34930b1a4bd5 + killer: 0 + - id: 3681dd520948 + killer: 2 + - id: 398c43c946cd + killer: 3 + - id: 44737dba8090 + killer: 0 + - id: 4689db280d4f + killer: 0 + - id: 4aec7ca06f45 + killer: 3 + - id: 63e60721bf1d + killer: 0 + - id: 75228e00fc06 + killer: 2 + - id: 77481145c9ef + killer: 3 + - id: 78961b61fa64 + killer: 0 + - id: 7cb25018b62b + killer: 3 + - id: 813c8777a2bb + killer: 0 + - id: 85436f186085 + killer: 0 + - id: 85a9a76c4e68 + killer: 2 + - id: 8653ea02a528 + killer: 2 + - id: 938dc93646f4 + killer: 0 + - id: 9be61b68b759 + killer: 0 + - id: 9c2add26de9c + killer: 3 + - id: baaa0e180b8e + killer: 1 + - id: be9adb9ee014 + killer: 0 + - id: c67bbea47b21 + killer: 2 + - id: c8eedf38e54f + killer: 0 + - id: d4c075622655 + killer: 0 + - id: deea73447147 + killer: 2 +- path: crates/cargo-gamma-lib/src/discover/survey.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_closed_results_pipe_ends_a_listing_successfully_without_a_diagnostic + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_gated_run_with_nothing_to_test_fails_rather_than_passing_silently + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::discovery_resolves_external_inputs_only_for_cache_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_multi_file_run_edits_only_the_file_with_an_eligible_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_binary_whose_required_features_are_off_is_not_surveyed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_binary_whose_required_features_are_on_is_surveyed_like_any_other + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_chain_gives_every_node_a_strictly_smaller_id_than_its_predecessor + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_changed_file_still_only_yields_mutants_on_the_changed_lines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_cross_target_build_surveys_the_code_that_target_compiles + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_dense_graph_matches_the_brute_force_oracle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_dependent_of_an_opaque_package_is_never_ordered_before_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_dependent_reaches_what_it_depends_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_diff_that_touches_no_source_file_selects_nothing_without_failing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_directory_that_cannot_be_walked_is_reported_rather_than_passed_off_as_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_feature_selection_is_carried_into_the_metadata_it_surveys + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_file_filter_still_recognizes_a_test_only_module_declared_outside_the_filter + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_file_too_deep_to_walk_is_left_out_by_name_rather_than_stopping_the_scan + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_file_too_deep_to_walk_is_skipped_the_same_way_when_only_its_declarations_are_needed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_full_cycle_collapses_into_one_component_that_reaches_itself_and_its_own_dependency + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_member_outside_the_workspace_root_is_refused_rather_than_given_an_absolute_path + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_mutant_an_earlier_report_settled_is_kept_with_its_verdict_and_never_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_mutant_from_a_package_no_file_was_walked_for_does_not_inflate_anothers_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_narrow_survey_keeps_unselected_dependency_roots + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_package_that_depends_through_a_non_member_reaches_the_whole_workspace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_package_that_is_not_in_the_workspace_is_a_usage_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_pattern_naming_another_package_is_still_matched_when_one_package_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_registry_build_script_makes_the_snapshot_uncacheable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_root_package_workspace_honours_the_default_members + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_run_from_inside_a_member_selects_that_member_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_scan_interns_package_names_across_source_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_stated_value_that_cannot_be_honoured_fails_the_scan_rather_than_being_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_worker_that_panics_while_parsing_does_not_wedge_the_others_at_the_barrier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::an_opaque_member_of_a_cycle_taints_the_whole_component + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::an_unsettled_mutant_is_still_work_in_an_iterative_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::bitsets_preserve_indices_across_word_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::collection_ordering_helpers_sort_and_deduplicate_their_inputs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::every_mutant_exclusion_rule_must_match + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::every_test_target_in_the_workspace_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::exclusion_validation_is_independent_of_package_selection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::external_input_metadata_honours_every_form_of_feature_selection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::external_path_dependencies_and_local_build_scripts_are_cache_inputs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::files_reached_twice_are_listed_once_and_test_only_modules_are_dropped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::into_plan_absorbs_nonzero_counts_and_restores_mutant_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::naming_one_package_leaves_the_others_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::package_scans_apply_exclusions_after_workspace_validation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::planning_announces_the_scan_and_packages_and_starts_ordinals_at_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::randomized_graphs_with_cycles_and_opaque_nodes_match_the_brute_force_oracle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::scanning_an_unchanged_tree_twice_produces_the_same_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::sharding_counts_every_live_mutant_it_withholds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::test_target_names_are_sorted_and_deduplicated_across_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::the_guard_runtime_yields_no_mutants_while_its_neighbours_still_do + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::the_whole_workspace_is_selected_only_when_asked_for + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::walked_counts_launches_that_happened_not_tests_that_were_listed + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_file_that_does_not_parse_names_the_file + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: cli + test: excluded_files_are_not_scanned + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + mutants: + - id: 00b3eba3798f + killer: 43 + - id: 0106364f59b1 + killer: 56 + - id: 010731563950 + killer: 56 + - id: 01197b17b661 + killer: 22 + - id: 026bd12d9d88 + killer: 60 + - id: 029cae261d45 + killer: 56 + - id: 02a9a713307c + killer: 48 + - id: 02d95850b657 + killer: 36 + - id: 03cccbc0021f + killer: 56 + - id: 03e3c30dbcf2 + killer: 15 + - id: 04ff2fa1f77b + killer: 56 + - id: 071f831d99e0 + killer: 22 + - id: 079013ebcab0 + killer: 56 + - id: 07da2715a11d + killer: 30 + - id: 0881124572d0 + killer: 56 + - id: 08e5fb8a10a8 + killer: 56 + - id: 091e2e1a7a51 + killer: 36 + - id: 09a710a1b83d + killer: 19 + - id: 09b036a223d0 + killer: 56 + - id: 0b4d12e98780 + killer: 58 + - id: 0b6b88b6c13f + killer: 19 + - id: 0c171afcd300 + killer: 37 + - id: 0c2ca104e9c0 + killer: 52 + - id: 0c87c274d3e0 + killer: 19 + - id: 0e62ab0896bd + killer: 56 + - id: 0feaf9bdad00 + killer: 24 + - id: 1092585f23a1 + killer: 62 + - id: 10e1b9fd70d7 + killer: 20 + - id: 1105ff18502c + killer: 8 + - id: 11129db180a1 + killer: 62 + - id: 11a5f7573267 + killer: 40 + - id: 11acb72f8aef + killer: 60 + - id: 11e2da4d3105 + killer: 56 + - id: 129c8c923481 + killer: 56 + - id: 12ae415cc131 + killer: 23 + - id: 137bb31ef5b2 + killer: 47 + - id: 13a8c666791c + killer: 16 + - id: 1411659dd9e0 + killer: 56 + - id: 143b6d84edf5 + killer: 57 + - id: 14522159d361 + killer: 6 + - id: 151d5486a232 + killer: 56 + - id: 15411a72038e + killer: 2 + - id: 155993478f54 + killer: 25 + - id: 1568335522c7 + killer: 60 + - id: 15c037c28e50 + killer: 8 + - id: 16457009c091 + killer: 56 + - id: 1688ef09847a + killer: 58 + - id: 17fde5e94013 + killer: 22 + - id: 17fee1cd6926 + killer: 56 + - id: 186c3a145685 + killer: 48 + - id: 1920587b9b9d + killer: 56 + - id: 1924b15a052d + killer: 56 + - id: 1938b5254f1e + killer: 60 + - id: 196d6068cefd + killer: 56 + - id: 1a3dbd93e06a + killer: 8 + - id: 1aa9398efacf + killer: 66 + - id: 1b45603f51c3 + killer: 65 + - id: 1b5b8b6a7e82 + killer: 61 + - id: 1b95968ebb22 + killer: 56 + - id: 1c97a7d44d04 + killer: 57 + - id: 1ce2fe3786c9 + killer: 9 + - id: 1dea061eb0eb + killer: 60 + - id: 1e1e8ade0ffe + killer: 56 + - id: 1e2c82013bb8 + killer: 6 + - id: 1f61f418f2e9 + killer: 62 + - id: 1fb265e4c4cd + killer: 3 + - id: 1ffd8ec20208 + killer: 9 + - id: 203356b622bc + killer: 56 + - id: 20ca59949a5a + killer: 3 + - id: 20f031e69859 + killer: 11 + - id: 21b3d84c352d + killer: 48 + - id: 224c2e9010ed + killer: 36 + - id: 2252c37a0879 + killer: 62 + - id: 226a88522412 + killer: 56 + - id: 227613f92213 + killer: 16 + - id: 22858838d7be + killer: 56 + - id: 22c1a3eed8a6 + killer: 44 + - id: 2309ef96b0ba + killer: 56 + - id: 23204035ad33 + killer: 36 + - id: 23427b0d847c + killer: 3 + - id: 234daf750fa8 + killer: 56 + - id: 238e09812bdf + killer: 23 + - id: 249ea860d1f0 + killer: 23 + - id: 24fca23325ef + killer: 56 + - id: 2715b6a4be21 + killer: 25 + - id: 271fe2405c0e + killer: 60 + - id: 27ed55937bdb + killer: 56 + - id: 29429214cb65 + killer: 11 + - id: 296a5778eb61 + killer: 8 + - id: 2a42e374cfeb + killer: 6 + - id: 2ac1e4c30b5a + killer: 56 + - id: 2aed97e5e44a + killer: 13 + - id: 2b030d3b0ca1 + killer: 66 + - id: 2b5991f462cf + killer: 13 + - id: 2b59e515ce40 + killer: 56 + - id: 2bdf6d9cb418 + killer: 37 + - id: 2c3d3de6e708 + killer: 56 + - id: 2d15fd27e0b8 + killer: 11 + - id: 2db7b06d30c1 + killer: 25 + - id: 2dc421701014 + killer: 46 + - id: 2e29a8d41446 + killer: 41 + - id: 2e72ab559280 + killer: 8 + - id: 2ea82d7729f1 + killer: 3 + - id: 2ee5c6a4227f + killer: 56 + - id: 2f3e34c67002 + killer: 60 + - id: 2f99ed63156a + killer: 56 + - id: 3023de04a4b4 + killer: 51 + - id: 30b4f709dae0 + killer: 56 + - id: 320512a5e62b + killer: 56 + - id: 328439f9364e + killer: 6 + - id: 32bf31bb2068 + killer: 56 + - id: 33499206573f + killer: 37 + - id: 337241ac590a + killer: 9 + - id: 33ee9379ee2c + killer: 60 + - id: 3424cf4a7b95 + killer: 37 + - id: 3495b1cc20a0 + killer: 56 + - id: 34e7fc9736fc + killer: 37 + - id: 34f870541fde + killer: 59 + - id: 350ad3a64e3b + killer: 29 + - id: 357f03f7652f + killer: 46 + - id: 368592f457fc + killer: 56 + - id: 36cbde800452 + killer: 62 + - id: 36dab8d73ed5 + killer: 20 + - id: 36e018c3a7b2 + killer: 56 + - id: 370d556b6ee2 + killer: 11 + - id: 383bf293ad25 + killer: 11 + - id: 38e2958b8601 + killer: 56 + - id: 3959353e9ee9 + killer: 23 + - id: 3978ef101e7a + killer: 3 + - id: 39cda2cfe4e7 + killer: 58 + - id: 3a5503d8bcd3 + killer: 56 + - id: 3a948875b031 + killer: 56 + - id: 3b32f777e363 + killer: 48 + - id: 3b9e549c60e6 + killer: 21 + - id: 3c52cf2535f9 + killer: 16 + - id: 3c90e2b0ec1f + killer: 56 + - id: 3d79826ee7f8 + killer: 56 + - id: 3d981bbedabb + killer: 58 + - id: 3ddb27ebb51c + killer: 60 + - id: 3df6da145052 + killer: 27 + - id: 3e86563d56a3 + killer: 36 + - id: 3ea3ea962552 + killer: 58 + - id: 3fa30ccc1d69 + killer: 38 + - id: 3fd091643ea3 + killer: 56 + - id: 40222f71c1a8 + killer: 5 + - id: 40d385bb5769 + killer: 20 + - id: 40fe537a83c2 + killer: 56 + - id: 41390f282351 + killer: 62 + - id: 4143be8d87e3 + killer: 50 + - id: 42cafd865421 + killer: 58 + - id: 42cc9743c76e + killer: 29 + - id: 4367a7ac27b0 + killer: 56 + - id: 437ec9b419b6 + killer: 6 + - id: 438ff6f123bd + killer: 56 + - id: 43a1f01bfce0 + killer: 39 + - id: 447352b4d8f0 + killer: 56 + - id: 45acc80a10b0 + killer: 11 + - id: 45cd82561795 + killer: 60 + - id: 4680bb1b648c + killer: 23 + - id: 468549a0c02a + killer: 20 + - id: 46fe2d80b9e4 + killer: 43 + - id: 4728934503d6 + killer: 13 + - id: 476e8e0706a0 + killer: 56 + - id: 476f3f4533d7 + killer: 62 + - id: 47acac5114ca + killer: 9 + - id: 47b43b786016 + killer: 60 + - id: 47d9838c9cf1 + killer: 60 + - id: 47dc8f8d5a7f + killer: 25 + - id: 481a262f8f89 + killer: 56 + - id: 48f707ae71be + killer: 58 + - id: 4918f939fbb3 + killer: 56 + - id: 4930c00caceb + killer: 16 + - id: 49d2ae57d75f + killer: 19 + - id: 4a3c4b6127d9 + killer: 57 + - id: 4a72346b6920 + killer: 25 + - id: 4be008081dd1 + killer: 19 + - id: 4c7faaba8469 + killer: 56 + - id: 4c80a8975fed + killer: 22 + - id: 4d05017d425b + killer: 56 + - id: 4d8b8dc5e64a + killer: 6 + - id: 4d8f56a0c146 + killer: 57 + - id: 4da209b4e66a + killer: 16 + - id: 4db4e0a45bae + killer: 60 + - id: 4e2160d5db37 + killer: 58 + - id: 4e21b7d46e70 + killer: 3 + - id: 4e5ac1d97e68 + killer: 16 + - id: 4ee0ff6f3b74 + killer: 56 + - id: 4f8192772888 + killer: 3 + - id: 5080257688a4 + killer: 18 + - id: 50f1a5c4879c + killer: 56 + - id: 522fe948db9a + killer: 56 + - id: 525036b1166d + killer: 64 + - id: 52e17a9ed668 + killer: 3 + - id: 532b4d8ba3b2 + killer: 60 + - id: 53fe6ad1f2bf + killer: 19 + - id: 54733026b9a3 + killer: 60 + - id: 548a7db5a8e7 + killer: 60 + - id: 54e6d5f02d6b + killer: 59 + - id: 551966deff0f + killer: 3 + - id: 552dde869267 + killer: 60 + - id: 55d7342931f2 + killer: 62 + - id: 562576c4ca1a + killer: 56 + - id: 5670a5e183c7 + killer: 65 + - id: 5685c74f0c90 + killer: 11 + - id: 56b57e0bde13 + killer: 9 + - id: 5730a4361df8 + killer: 56 + - id: 5742582acf74 + killer: 58 + - id: 57475eb61561 + killer: 29 + - id: 57d20b21d8f1 + killer: 56 + - id: 5843f4fa3258 + killer: 61 + - id: 58a120a1b70c + killer: 25 + - id: 592881d0d289 + killer: 63 + - id: 592ce45d7697 + killer: 30 + - id: 59a4fc77d4f6 + killer: 60 + - id: 59e363eb976f + killer: 30 + - id: 5a557f046a34 + killer: 56 + - id: 5a960de0d8f0 + killer: 56 + - id: 5a97b253e3af + killer: 56 + - id: 5b43e65a42ad + killer: 56 + - id: 5ba98e6be257 + killer: 58 + - id: 5c94f9aec980 + killer: 64 + - id: 5cd0567544d8 + killer: 56 + - id: 5d3633cdd111 + killer: 57 + - id: 5d6c26eb85ad + killer: 58 + - id: 5d8fb45d0b2c + killer: 56 + - id: 5e16616661aa + killer: 56 + - id: 5e89182f00a5 + killer: 22 + - id: 5eb05d4faef1 + killer: 56 + - id: 5f69638f6a88 + killer: 56 + - id: 5fd0d213de5f + killer: 16 + - id: 60c7f99778fc + killer: 9 + - id: 60f703704565 + killer: 56 + - id: 615c468c9cb0 + killer: 56 + - id: 616e21bfc590 + killer: 8 + - id: '619615880575' + killer: 60 + - id: 6216e3c93320 + killer: 56 + - id: 624a1663b5aa + killer: 20 + - id: 6259c14151a0 + killer: 28 + - id: 62b7bef588a9 + killer: 30 + - id: 6336e8cb8ff0 + killer: 26 + - id: 633a28bf861a + killer: 46 + - id: 64099de9a5ed + killer: 14 + - id: 64e7ceefd032 + killer: 16 + - id: 65387e97f3df + killer: 60 + - id: 65ade2a2789d + killer: 56 + - id: 6618ca6000a8 + killer: 56 + - id: 666513cf5641 + killer: 60 + - id: 675518911b73 + killer: 57 + - id: 67a62217ffd3 + killer: 60 + - id: 67de068d625a + killer: 51 + - id: 67f9ce5aa32f + killer: 1 + - id: 680647f4b999 + killer: 58 + - id: 681c11927fe0 + killer: 11 + - id: 681cbc248a5e + killer: 8 + - id: 6850ca9afa43 + killer: 8 + - id: 68cf13c43468 + killer: 25 + - id: 69c4c984b167 + killer: 56 + - id: 6a5c5b032b7c + killer: 40 + - id: 6b74184f9f45 + killer: 62 + - id: 6bcb4fc7153c + killer: 25 + - id: 6c6cee30b18b + killer: 11 + - id: 6d459e3a7c88 + killer: 62 + - id: 6d490128cfa0 + killer: 56 + - id: 6da78a6d223b + killer: 24 + - id: 6dd72a441857 + killer: 56 + - id: 6e389f343e13 + killer: 22 + - id: 6f6ebfce3340 + killer: 3 + - id: 6fcffca2b186 + killer: 58 + - id: 6fdbd7842909 + killer: 56 + - id: 6fdf5ee728ee + killer: 56 + - id: 70ac88956024 + killer: 45 + - id: 70ddacb13828 + killer: 62 + - id: 7125c19c0ee5 + killer: 65 + - id: 723099885d44 + killer: 37 + - id: 7255357227a0 + killer: 56 + - id: 73c732903e12 + killer: 56 + - id: 752117d7b6fa + killer: 56 + - id: 75af60b217fe + killer: 46 + - id: 77e73b4a89a4 + killer: 48 + - id: 77fc214372c4 + killer: 20 + - id: 790ff03736dc + killer: 11 + - id: 793f3822c9e8 + killer: 16 + - id: 79788497bfe0 + killer: 28 + - id: 79a61f7325e6 + killer: 56 + - id: 79afc4676b45 + killer: 56 + - id: 7b0db81fe915 + killer: 56 + - id: 7b7533b291d8 + killer: 56 + - id: 7baf7fa2fe33 + killer: 16 + - id: 7c37b1fc7040 + killer: 16 + - id: 7d138efec79e + killer: 23 + - id: 7d2346b3b94a + killer: 56 + - id: 7d9570ae7cee + killer: 56 + - id: 7de41eac3d79 + killer: 58 + - id: 7de60cfd41a3 + killer: 16 + - id: 7dfdc325f0f5 + killer: 19 + - id: 7fa2da698d63 + killer: 60 + - id: 808520a094f0 + killer: 56 + - id: 81fdd40854b8 + killer: 57 + - id: 82623e763925 + killer: 20 + - id: 82d9298c3fd1 + killer: 56 + - id: 82da1fa84efc + killer: 17 + - id: 82e4160b2bd6 + killer: 56 + - id: 83546c42cecf + killer: 56 + - id: 835b6b79be95 + killer: 57 + - id: 841fbd2be547 + killer: 60 + - id: 8425246f384a + killer: 18 + - id: 843dac46115f + killer: 56 + - id: 844734751d49 + killer: 58 + - id: 8496b3a1f00a + killer: 37 + - id: 84d163b44f10 + killer: 8 + - id: 84eae2dfcdd4 + killer: 60 + - id: 853c322204e8 + killer: 56 + - id: 86008c935060 + killer: 56 + - id: 860ee5740de3 + killer: 33 + - id: 86cedf3864d6 + killer: 56 + - id: 875bcc3c8609 + killer: 9 + - id: 87cf7c48316d + killer: 63 + - id: 8a02dd58f655 + killer: 56 + - id: 8a219072cf11 + killer: 56 + - id: 8a40130834b4 + killer: 56 + - id: 8bae39ccb4d3 + killer: 58 + - id: 8c332c36158a + killer: 25 + - id: 8d1a4cc5b207 + killer: 56 + - id: 8d2c25ca2227 + killer: 8 + - id: 8d3fe166a201 + killer: 56 + - id: 8d465eb7524a + killer: 62 + - id: 8de6cf2a5e6e + killer: 14 + - id: 8ded03db9134 + killer: 8 + - id: 8eebf40bca5b + killer: 22 + - id: 8f17ed67c3d7 + killer: 58 + - id: 8f29fe6592a6 + killer: 32 + - id: 8f568533a1e7 + killer: 19 + - id: 8fd3b91a43be + killer: 11 + - id: 90284195d253 + killer: 56 + - id: 90ae3fb9a1bf + killer: 47 + - id: 90c67b993bee + killer: 48 + - id: 90eaa7c2b0c7 + killer: 57 + - id: 90ef1ecb95b4 + killer: 46 + - id: 9101686f52e0 + killer: 20 + - id: 916efd660074 + killer: 56 + - id: 93bdce2cd4b3 + killer: 56 + - id: 941432e9203e + killer: 63 + - id: 950d532f895d + killer: 53 + - id: 958ff32c32f8 + killer: 56 + - id: 95a4561e390b + killer: 30 + - id: 95ceb34968b2 + killer: 19 + - id: 963479e2c60a + killer: 64 + - id: 96f9aa300691 + killer: 57 + - id: 97294e07491d + killer: 9 + - id: 9775a779b5b0 + killer: 23 + - id: 97d24f0d2829 + killer: 28 + - id: 98a4bf80f59b + killer: 39 + - id: 992f9010db12 + killer: 19 + - id: 9991fff6a467 + killer: 60 + - id: 9ac0aa8e71b0 + killer: 56 + - id: 9b435d63ab2d + killer: 60 + - id: 9b80789784aa + killer: 58 + - id: 9beaf6498e81 + killer: 11 + - id: 9c2d797b02d2 + killer: 56 + - id: 9cb8b1b82745 + killer: 60 + - id: 9d01e078bdc1 + killer: 54 + - id: 9d111eb1d213 + killer: 40 + - id: 9e2821223432 + killer: 58 + - id: 9e5a5fd53d1a + killer: 47 + - id: 9e5baea667b1 + killer: 20 + - id: 9e9f8fc85764 + killer: 48 + - id: 9f20585d8525 + killer: 56 + - id: a077576577af + killer: 18 + - id: a11f47d4c98e + killer: 45 + - id: a120c26c6ba6 + killer: 60 + - id: a1edc89f94f1 + killer: 11 + - id: a25e17e814de + killer: 37 + - id: a2690269d656 + killer: 46 + - id: a2b4d818d486 + killer: 56 + - id: a45dda825559 + killer: 58 + - id: a4781397f65c + killer: 61 + - id: a4a49f8818ac + killer: 30 + - id: a4a522e6a78f + killer: 46 + - id: a57f86879e7b + killer: 60 + - id: a5b56b991cb8 + killer: 58 + - id: a64c2eb33d49 + killer: 11 + - id: a64f36262851 + killer: 40 + - id: a6988eef52fa + killer: 11 + - id: a699c72e1a4e + killer: 23 + - id: a70eeb81f746 + killer: 34 + - id: a7262adf7d34 + killer: 7 + - id: a73101b4fedf + killer: 56 + - id: a737ff477e74 + killer: 9 + - id: a796a078916b + killer: 56 + - id: a86fa4bfa02f + killer: 46 + - id: a91890efeb72 + killer: 62 + - id: a96cdd06117c + killer: 22 + - id: a974694bd777 + killer: 30 + - id: a979861bc517 + killer: 56 + - id: aa4af99aa2a1 + killer: 1 + - id: aacc693ec925 + killer: 56 + - id: aad18e1417ad + killer: 60 + - id: ab35e438f5f8 + killer: 61 + - id: ac140453cf2d + killer: 57 + - id: ace0a7db8fc0 + killer: 56 + - id: adaf58f00dd3 + killer: 5 + - id: adea62c2fa0e + killer: 44 + - id: ae37db7ca0ca + killer: 60 + - id: ae7f0f987c80 + killer: 3 + - id: ae987b4f2a12 + killer: 61 + - id: aee41dbe849a + killer: 58 + - id: aee693e17252 + killer: 56 + - id: aef67e17f14c + killer: 11 + - id: b102e8a05f50 + killer: 56 + - id: b201f71bbde0 + killer: 37 + - id: b20917ec2b2c + killer: 23 + - id: b312d234255f + killer: 56 + - id: b43eb09c0371 + killer: 62 + - id: b4fc47d0eb58 + killer: 61 + - id: b57e0d5eca7f + killer: 62 + - id: b62c8fffc7db + killer: 56 + - id: b66151f4bdba + killer: 61 + - id: b6a32bc18956 + killer: 39 + - id: b6aa94c4097e + killer: 41 + - id: b7b6f06cf318 + killer: 50 + - id: b8928823c4b9 + killer: 11 + - id: b9afcca1862d + killer: 56 + - id: b9eace5fe8c8 + killer: 23 + - id: ba049931be1e + killer: 19 + - id: ba56c383e328 + killer: 56 + - id: ba7301ee7144 + killer: 56 + - id: ba7b53b85c07 + killer: 20 + - id: bc2e91942b46 + killer: 56 + - id: bc584b661aa5 + killer: 11 + - id: bd2f566f88d7 + killer: 19 + - id: bd8300f2b0d6 + killer: 11 + - id: bda7a1748731 + killer: 11 + - id: bea62b6ea77c + killer: 56 + - id: bece9b526403 + killer: 29 + - id: bf26e9ae8c24 + killer: 36 + - id: bf7b442603c3 + killer: 62 + - id: bfa59ada5feb + killer: 31 + - id: c0cce9729151 + killer: 56 + - id: c12f3d94de72 + killer: 36 + - id: c1a9436d671c + killer: 63 + - id: c273f73f6f47 + killer: 56 + - id: c29b14248330 + killer: 62 + - id: c2c9d377d39e + killer: 56 + - id: c2cf4bb66f6f + killer: 42 + - id: c397a9c34619 + killer: 64 + - id: c3a2453d3090 + killer: 56 + - id: c40aaa2c8994 + killer: 50 + - id: c4d4a98b92f7 + killer: 1 + - id: c509abd9bfe5 + killer: 56 + - id: c5c824480f05 + killer: 56 + - id: c6ed45fa14dd + killer: 56 + - id: c72c1c9c6605 + killer: 20 + - id: c94fb8388a58 + killer: 56 + - id: ca2244aa2a4a + killer: 22 + - id: cb2aa6243ff5 + killer: 12 + - id: cb5f2373bbbf + killer: 20 + - id: cbd5011348f4 + killer: 59 + - id: cc2198361712 + killer: 56 + - id: cc5bb67f78f1 + killer: 56 + - id: cc952841b6f0 + killer: 16 + - id: cd01a68e906d + killer: 48 + - id: cd4caded6e97 + killer: 59 + - id: cd7157f1c5fe + killer: 49 + - id: ce2a8b879358 + killer: 52 + - id: cec988ba8325 + killer: 58 + - id: cf85841bb224 + killer: 64 + - id: cfbe6f7104df + killer: 56 + - id: cfeb59958b86 + killer: 36 + - id: d0544932f089 + killer: 22 + - id: d08ecbf2ced2 + killer: 58 + - id: d090afbac38e + killer: 8 + - id: d0ec0c28ba70 + killer: 58 + - id: d2da090a3752 + killer: 20 + - id: d412377b9621 + killer: 58 + - id: d41e37893539 + killer: 11 + - id: d43f893419c3 + killer: 36 + - id: d450c7ed5726 + killer: 19 + - id: d4d6245756a8 + killer: 62 + - id: d5387c61a96f + killer: 28 + - id: d5544c135ff1 + killer: 56 + - id: d566cccc4227 + killer: 48 + - id: d58863a08bda + killer: 9 + - id: d73f0c3c4670 + killer: 9 + - id: d761daef3d91 + killer: 43 + - id: d7a4e9291051 + killer: 16 + - id: d81f6929ff16 + killer: 23 + - id: d85e88c19824 + killer: 22 + - id: d8c227d4fb5e + killer: 43 + - id: da2babc0a7d6 + killer: 56 + - id: da75ec12cd3f + killer: 64 + - id: db9ec4907701 + killer: 56 + - id: dc5581c2780f + killer: 62 + - id: dc637a892bc2 + killer: 25 + - id: dc69807daef0 + killer: 62 + - id: ddc408e55397 + killer: 56 + - id: ddd045427a30 + killer: 56 + - id: dddb5dca440c + killer: 60 + - id: dde04e81c1ec + killer: 56 + - id: de044e10d217 + killer: 58 + - id: dec3bacc251f + killer: 56 + - id: def594389a95 + killer: 17 + - id: defddd1c8d4e + killer: 62 + - id: df04f6da1885 + killer: 4 + - id: df5935aa060a + killer: 56 + - id: df87b196bbd1 + killer: 56 + - id: e02ee310990a + killer: 16 + - id: e050bf2d1bcd + killer: 0 + - id: e0e6611f9d75 + killer: 56 + - id: e1b148fcbdb6 + killer: 56 + - id: e1c2378ec31f + killer: 44 + - id: e30904e3158e + killer: 55 + - id: e41ba2941b67 + killer: 56 + - id: e41eaa53de10 + killer: 66 + - id: e4226287790c + killer: 56 + - id: e51153479ea2 + killer: 56 + - id: e55cb58925c3 + killer: 56 + - id: e5c069d37ec8 + killer: 22 + - id: e5d29835fd19 + killer: 59 + - id: e673d60fdd14 + killer: 63 + - id: e6b19ab75a07 + killer: 61 + - id: e6f8670e0504 + killer: 44 + - id: e755e77309ed + killer: 54 + - id: e76d12534036 + killer: 60 + - id: e810419c2fca + killer: 9 + - id: e84000c42c33 + killer: 46 + - id: e935cdb8f4ea + killer: 30 + - id: e949b10c28c1 + killer: 60 + - id: e9fafd6a842e + killer: 3 + - id: ea404cf2e6b1 + killer: 31 + - id: ea53f8c238bc + killer: 56 + - id: ea9bde0549b0 + killer: 56 + - id: eac5f18a96b5 + killer: 56 + - id: eb050ece0fde + killer: 56 + - id: eb1ac71acfb5 + killer: 10 + - id: eb6db3c877a4 + killer: 60 + - id: ecafe9c3d64a + killer: 7 + - id: ed44f2661042 + killer: 45 + - id: ed6562763a43 + killer: 60 + - id: edff57de14a6 + killer: 56 + - id: ee4dd8e85bc8 + killer: 20 + - id: eeee9f38865e + killer: 30 + - id: ef2dc821f8a1 + killer: 37 + - id: ef5f33a1ac81 + killer: 62 + - id: ef6add926d40 + killer: 18 + - id: ef9a1ea8d8f3 + killer: 60 + - id: effe45a82b04 + killer: 60 + - id: f0efe1820e1f + killer: 11 + - id: f113f9a316f0 + killer: 58 + - id: f1f832e68157 + killer: 43 + - id: f1ffdb8232d9 + killer: 35 + - id: f26c5756f9b1 + killer: 56 + - id: f471f980f06c + killer: 58 + - id: f56f40352c1a + killer: 57 + - id: f7ffae760792 + killer: 60 + - id: f81f33d7149e + killer: 56 + - id: f8d3b8e00ba0 + killer: 0 + - id: f900098d4168 + killer: 56 + - id: f96b11312f46 + killer: 20 + - id: fa1f0047ec1a + killer: 58 + - id: fb3d5eedd619 + killer: 60 + - id: fbbd96c67d2b + killer: 56 + - id: fc00597b128c + killer: 56 + - id: fc8112d64364 + killer: 50 + - id: fcbe38aabf74 + killer: 56 + - id: fdc878b6a089 + killer: 30 + - id: fe3eb5b8c246 + killer: 38 + - id: fe4a55b1c44b + killer: 56 + - id: feab884105a4 + killer: 56 + - id: ff4735a8e988 + killer: 65 + - id: ff736114b0e7 + killer: 8 + - id: ff88bde16f57 + killer: 12 + - id: ff9285378a65 + killer: 59 +- path: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_written_artifact_reads_back_as_what_was_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_orders_by_file_and_then_by_id + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_carried_entry_is_dropped_once_its_file_changes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_narrow_run_writes_back_safe_unviability_after_an_unrelated_change + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_narrowed_run_drops_prior_entries_after_any_workspace_input_changes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_revert_to_the_original_bytes_does_not_restore_the_snapshot + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_workspace_dependency_change_invalidates_dependent_unviability + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::an_external_path_dependency_change_carries_neither_verdicts_nor_unviability + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::every_global_and_package_compilation_input_invalidates_unviability + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::target_and_scratch_artifacts_do_not_invalidate_the_workspace_snapshot + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::workspace_snapshot::tests::an_ancestor_path_dependency_does_not_recapture_the_workspace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + mutants: + - id: 050c5d4a8523 + killer: 0 + - id: 05ca1e50d3c8 + killer: 3 + - id: 07cbb3752fe9 + killer: 2 + - id: 09b58c581b0c + killer: 0 + - id: 09d628535852 + killer: 0 + - id: 0d4f37d959fd + killer: 0 + - id: 151df3f96fd9 + killer: 0 + - id: 179e97fe040f + killer: 0 + - id: 1b658245a04a + killer: 0 + - id: 2551457473d6 + killer: 0 + - id: 2fafeb267afe + killer: 2 + - id: 3145ca277e59 + killer: 11 + - id: 3878dc6fc482 + killer: 0 + - id: 39ea1a3d9255 + killer: 1 + - id: 3db471c8d41f + killer: 0 + - id: 3dffc833d06d + killer: 0 + - id: 3eb5f9521cd2 + killer: 10 + - id: 400d7138721e + killer: 4 + - id: 572c05220f6b + killer: 0 + - id: 5997087c91af + killer: 0 + - id: 5f119a4d0214 + killer: 0 + - id: 65a1811f39ed + killer: 0 + - id: 681a81272149 + killer: 0 + - id: 69d2cc863ffd + killer: 0 + - id: 7b99c7209f00 + killer: 5 + - id: 7d5ac121be85 + killer: 0 + - id: 81d0f43a5555 + killer: 0 + - id: 8f45d7633d8d + killer: 7 + - id: 9152138a6e8b + killer: 0 + - id: 94eaf24b66b6 + killer: 10 + - id: 95757ebb8557 + killer: 0 + - id: 989c8d21f511 + killer: 3 + - id: 9d013ec2bc8b + killer: 0 + - id: 9d4b4d96f801 + killer: 6 + - id: a423360fa386 + killer: 6 + - id: a6602e89f3d9 + killer: 7 + - id: ac20613fe590 + killer: 9 + - id: af4d515ebd97 + killer: 5 + - id: af6f3c0041c8 + killer: 4 + - id: afa026c8457b + killer: 7 + - id: b1b410df5034 + killer: 11 + - id: b3e733df781b + killer: 2 + - id: b7f7f88b2303 + killer: 5 + - id: b904881e75da + killer: 0 + - id: ba92ad90be41 + killer: 2 + - id: bf19b666d76b + killer: 8 + - id: c314537a00f9 + killer: 3 + - id: c659fefb57d4 + killer: 7 + - id: d2d37ad84e17 + killer: 6 + - id: d736c8dbc8ec + killer: 4 + - id: d83d268e3c38 + killer: 0 + - id: d9289d34a04c + killer: 0 + - id: d9da82c76fda + killer: 2 + - id: da6e382453d9 + killer: 3 + - id: db68accbb27c + killer: 0 + - id: dc5fbfb0fec8 + killer: 2 + - id: e2f1cf74577a + killer: 5 + - id: e71a45cff58d + killer: 4 + - id: ee058443d5d0 + killer: 0 + - id: efa74b67745d + killer: 2 + - id: fa43e780696a + killer: 0 + - id: fa5fcf7ae8dc + killer: 0 +- path: crates/cargo-gamma-lib/src/docs.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::an_unknown_block_name_is_refused_rather_than_rendered_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::an_unrecognized_family_name_is_given_no_question_rather_than_a_guess + - package: cargo-gamma-lib + target: docs + test: one_row_of_every_generated_block_is_pinned_to_a_hand_written_expectation + - package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + mutants: + - id: 000b8ed99d28 + killer: 3 + - id: 00a0304d224d + killer: 3 + - id: 02bcff2b0fb9 + killer: 3 + - id: 03e8de41b246 + killer: 0 + - id: 0fbf2ad08ae7 + killer: 3 + - id: 1331cb23f926 + killer: 3 + - id: 14b539707774 + killer: 3 + - id: 15f26867a562 + killer: 2 + - id: 16feb7accd41 + killer: 2 + - id: 17b756d21bbe + killer: 3 + - id: 18090f5058cd + killer: 2 + - id: 1840e4608f7d + killer: 3 + - id: 1858b3453756 + killer: 2 + - id: 190bc358d38d + killer: 3 + - id: 19410aa6b09c + killer: 3 + - id: 19e4cd8af173 + killer: 3 + - id: 1b572ea05771 + killer: 3 + - id: 1dcd2f09975c + killer: 3 + - id: 206cfedead79 + killer: 3 + - id: 241e5602c881 + killer: 3 + - id: 2531031de5bb + killer: 3 + - id: 263bc4d7b7eb + killer: 2 + - id: 2854544260a1 + killer: 3 + - id: 2b62e9ef15fa + killer: 3 + - id: 2c00ffe84228 + killer: 3 + - id: 2d1e9c7cc537 + killer: 3 + - id: 2e6edd51a862 + killer: 3 + - id: 2f1267024cc8 + killer: 3 + - id: 2fdecdf8fb07 + killer: 3 + - id: 31f4c383be2c + killer: 3 + - id: 322fed6f4ea8 + killer: 3 + - id: 3268b49e30ea + killer: 3 + - id: 33b2f2a4c9b0 + killer: 3 + - id: 38898fe8f950 + killer: 3 + - id: 38ad23cbccbf + killer: 3 + - id: 3a2ee8665125 + killer: 3 + - id: 3acd293a35f4 + killer: 2 + - id: 4220cce04cd9 + killer: 3 + - id: 42523587c4ad + killer: 3 + - id: 452a0465338f + killer: 3 + - id: 45a99e7354e0 + killer: 2 + - id: 48726a87ada6 + killer: 2 + - id: 490c629a455a + killer: 3 + - id: 4a09a7d3823a + killer: 3 + - id: 4c1311d38500 + killer: 3 + - id: 4e9663dc3ee8 + killer: 3 + - id: 4ee9b5d62b64 + killer: 3 + - id: 4ff6cd3d2a51 + killer: 3 + - id: 5016db20ca8a + killer: 3 + - id: 51104e1e35b7 + killer: 3 + - id: 5209cf0972aa + killer: 3 + - id: '531698418060' + killer: 2 + - id: 56293757f6ce + killer: 3 + - id: 59f7be3be536 + killer: 3 + - id: 5a64e0406b07 + killer: 3 + - id: 5d40f634ec20 + killer: 3 + - id: 5f9e5ec041c1 + killer: 3 + - id: 616d7ce0a072 + killer: 3 + - id: 629b45ac1db0 + killer: 3 + - id: 65f9d5c2a761 + killer: 3 + - id: 6696802de3c3 + killer: 3 + - id: 6803003e2f5e + killer: 3 + - id: 69d53f47e15c + killer: 3 + - id: 720e59cf7445 + killer: 2 + - id: 73431bc86e38 + killer: 1 + - id: 739dd5ec652f + killer: 3 + - id: 74141c309d46 + killer: 3 + - id: 747bd947a9ed + killer: 2 + - id: 76d4d11fd681 + killer: 3 + - id: 77d64e337ef8 + killer: 3 + - id: 78306383fa03 + killer: 3 + - id: 78a5c85363dc + killer: 2 + - id: 7aa54a564349 + killer: 2 + - id: 7ab12a8a9629 + killer: 3 + - id: 7ad47b700635 + killer: 3 + - id: 7b81a60b0a26 + killer: 3 + - id: 7da40defe866 + killer: 3 + - id: 7edfb9b8fdc0 + killer: 3 + - id: 7ef4392bf257 + killer: 3 + - id: 7f6c5876642f + killer: 3 + - id: 81079ab6210d + killer: 3 + - id: 8152783c9c4a + killer: 3 + - id: 81614410916c + killer: 3 + - id: 82b4de12ff59 + killer: 3 + - id: 83cc51355b87 + killer: 3 + - id: 859d53ffad11 + killer: 3 + - id: 860025abed4e + killer: 3 + - id: 8708cf94159b + killer: 3 + - id: 886bbe6342a9 + killer: 3 + - id: 88a751999aa1 + killer: 2 + - id: 89a11f2b4946 + killer: 2 + - id: 8b35307e77bd + killer: 3 + - id: 8cb0765057eb + killer: 3 + - id: 8d75e0c2cee5 + killer: 3 + - id: 91d4f0800975 + killer: 2 + - id: 926d7a9eed10 + killer: 3 + - id: 931976d66c53 + killer: 3 + - id: 94f4d5444a75 + killer: 3 + - id: 975559bcb12f + killer: 3 + - id: 9827e115f1eb + killer: 3 + - id: 986af2b47b97 + killer: 3 + - id: 98c370a1662c + killer: 2 + - id: 9b0299176b04 + killer: 3 + - id: a005292af592 + killer: 3 + - id: a1b439a08ef0 + killer: 3 + - id: a1e837d9cf19 + killer: 3 + - id: a33b48c0ab08 + killer: 3 + - id: af46e6b1625b + killer: 3 + - id: afa74d40403c + killer: 3 + - id: b138ceb14609 + killer: 2 + - id: b1960ecc16bf + killer: 3 + - id: b3f4a3d830da + killer: 2 + - id: b5fab998d554 + killer: 3 + - id: b88fd844dcf1 + killer: 3 + - id: b932431d1bd6 + killer: 3 + - id: b966af86909f + killer: 3 + - id: b97c97f65426 + killer: 3 + - id: b9bdc4349582 + killer: 3 + - id: ba8a1d0c7d3c + killer: 3 + - id: bbab1e28f89e + killer: 3 + - id: bea1888bda91 + killer: 2 + - id: c20ea68815ac + killer: 3 + - id: c4e6e997efd0 + killer: 3 + - id: c561f5b72297 + killer: 3 + - id: c690f0bf97d1 + killer: 3 + - id: c7f1a84459e8 + killer: 3 + - id: ca0ea35077f8 + killer: 3 + - id: cb9a56f82c0c + killer: 2 + - id: d06db77974b4 + killer: 3 + - id: d279dbcff2ca + killer: 3 + - id: d34053dcb156 + killer: 2 + - id: d45393300657 + killer: 3 + - id: d8ee3baa1ef2 + killer: 3 + - id: d932eef8ebf8 + killer: 3 + - id: d9966162d81c + killer: 2 + - id: da2be0114a86 + killer: 2 + - id: da63887af874 + killer: 3 + - id: dc8c143c8eac + killer: 2 + - id: dda1f13d5d6a + killer: 3 + - id: df38867a9959 + killer: 3 + - id: dfab76d68333 + killer: 3 + - id: e1638b485290 + killer: 2 + - id: e30f1ea9aef8 + killer: 3 + - id: e34a1cc4c2f5 + killer: 3 + - id: e5a9aa6285fe + killer: 3 + - id: e8833908323a + killer: 3 + - id: ee0a7f851ad2 + killer: 3 + - id: f2667f885113 + killer: 3 + - id: f652a698655d + killer: 3 + - id: f6ff37ced12f + killer: 3 + - id: f75fdc46e060 + killer: 3 + - id: f7ff31e1f238 + killer: 3 + - id: fad8a31990d2 + killer: 3 + - id: fd0c5e01eebc + killer: 3 + - id: ff4778daec66 + killer: 2 + - id: ffb62ceab960 + killer: 3 +- path: crates/cargo-gamma-lib/src/elements/digest.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_digest_borrows_its_verdicts_and_leaves_the_embedded_source_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_flake_is_not_settled_but_a_real_suppression_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_report_that_does_not_identify_itself_settles_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_report_this_tool_did_not_write_settles_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_status_with_no_reason_to_disambiguate_it_is_not_settled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_timeout_exports_as_undetected_without_losing_its_verdict + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::only_settled_mutants_are_carried_forward + mutants: + - id: 06d3e5141536 + killer: 3 + - id: 0826a560aced + killer: 3 + - id: 0bc095ef8212 + killer: 4 + - id: 0e296345f360 + killer: 0 + - id: 20bc5c776477 + killer: 4 + - id: 20f6abd6b39d + killer: 3 + - id: 2fe0258bac40 + killer: 1 + - id: 30243d66bbed + killer: 3 + - id: 3585f7b9cddf + killer: 4 + - id: 4cf6ee6d3bbd + killer: 3 + - id: 5562041372b0 + killer: 6 + - id: 56215a68ed63 + killer: 1 + - id: 5c496ce8ac8c + killer: 3 + - id: 5e071145e891 + killer: 3 + - id: 62109393dc7e + killer: 5 + - id: 73393f947f0c + killer: 3 + - id: 7405bd6e77d9 + killer: 1 + - id: 74f3a7135b88 + killer: 3 + - id: 84452dbde54b + killer: 3 + - id: 8e794630eeb7 + killer: 4 + - id: 907cc6686b0e + killer: 5 + - id: 977025686ca0 + killer: 3 + - id: 9b19bf27cd6a + killer: 3 + - id: 9d0c724ecccf + killer: 1 + - id: ad4b0bf41938 + killer: 2 + - id: b0166c69e346 + killer: 1 + - id: b1351e38430d + killer: 3 + - id: b4bcc5cde19e + killer: 1 + - id: bace6a7d5d42 + killer: 4 + - id: ca573023bbbd + killer: 0 + - id: d160f39e7ac1 + killer: 3 + - id: d7775109da46 + killer: 5 + - id: e53882684cf0 + killer: 0 + - id: e9d96470069b + killer: 5 + - id: f9a7f039195b + killer: 2 + - id: fa765bed6c11 + killer: 0 + - id: fe5271c65be4 + killer: 5 +- path: crates/cargo-gamma-lib/src/elements/publication.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_save_after_validation_and_before_suppress_publication_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_failed_hints_rollback_leaves_a_later_successful_promotion_intact + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::failed_record_publications_preserve_the_prior_generation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::publication::tests::a_conditional_removal_reports_post_unlink_sync_failure_as_published + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::publication::tests::a_destination_without_a_file_name_uses_the_report_fallback + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::publication::tests::a_publish_sync_failure_removes_its_staging_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::publication::tests::a_staging_file_that_cannot_be_removed_is_reported_with_the_failure + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::publication::tests::publishing_takes_a_free_name_and_leaves_a_taken_one_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::publication::tests::scratch_entropy_includes_the_process_and_invocation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + mutants: + - id: 01649e61b73c + killer: 6 + - id: 0a2f32ab27cd + killer: 1 + - id: 10784731618f + killer: 11 + - id: 1c35bf970d71 + killer: 5 + - id: 1e4ce413d69d + killer: 6 + - id: 1f343d360dfa + killer: 8 + - id: 213c584d8160 + killer: 11 + - id: 2e0fdfb87435 + killer: 6 + - id: 4835efb2ac9f + killer: 10 + - id: 4e92eb8ee9b3 + killer: 9 + - id: 56aa4a76a5bf + killer: 11 + - id: 58b292120788 + killer: 11 + - id: 5c60519d3ec2 + killer: 2 + - id: 6ba639a1d2ce + killer: 1 + - id: 6de09b19d2dd + killer: 11 + - id: 7e550dd7665c + killer: 12 + - id: 83b8630cd8d4 + killer: 7 + - id: 8673503a541e + killer: 0 + - id: 867c84e39def + killer: 11 + - id: 8c150cc0c87b + killer: 3 + - id: 952dfc021e7f + killer: 11 + - id: aa56cb7a60b9 + killer: 7 + - id: aa89ac91c0d1 + killer: 9 + - id: ab2d56fa7a79 + killer: 5 + - id: af167ae85d3c + killer: 8 + - id: b2eca8e3dc8e + killer: 2 + - id: b4d8b664ceb3 + killer: 13 + - id: bb51e4ff1612 + killer: 1 + - id: c79a9a2888e0 + killer: 4 + - id: cb39b194102c + killer: 12 + - id: cfadd0182160 + killer: 9 + - id: d77ba5c20dcb + killer: 13 + - id: e1215b49271c + killer: 6 + - id: e599f8f810e6 + killer: 2 + - id: e7ca07c92c61 + killer: 11 + - id: eaf08a003a03 + killer: 8 + - id: ebad9c91f993 + killer: 12 + - id: ebdbe5b0615c + killer: 4 + - id: f979ec6d5ec8 + killer: 9 +- path: crates/cargo-gamma-lib/src/elements/report.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::the_population_can_be_written_as_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_bom_embedded_in_report_source_offsets_first_line_columns + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_flaky_mutant_keeps_the_test_to_fix_in_its_status_reason + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_killed_mutant_without_a_named_test_falls_back_to_its_note + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_mutant_the_build_gave_up_on_is_not_settled_but_a_real_suppression_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_report_counts_the_mutants_its_run_never_built + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_report_this_tool_did_not_write_settles_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_status_with_no_reason_to_disambiguate_it_is_not_settled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_suppression_carries_its_reason_and_tag_into_the_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::an_out_of_memory_mutant_keeps_its_note_in_the_status_reason + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::an_uncovered_mutant_explains_why_coverage_can_still_be_complete + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::an_untimed_mutant_omits_its_duration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::branding_homepage_uris_follow_the_schema_format + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::compact_report_fields_remain_json_strings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::serialization_refuses_non_finite_durations_before_publishing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::serialization_refuses_reports_outside_the_adopted_schema + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::typed_reports_reject_two_results_for_one_mutant_id + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::unviable_and_timeout_mutants_explain_their_status + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unsupported_or_malformed_schema_versions_are_refused + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + - package: cargo-gamma-lib + target: schema_conformance + test: every_file_entry_has_the_required_fields + - package: cargo-gamma-lib + target: schema_conformance + test: the_emitted_document_matches_the_committed_one_field_for_field + mutants: + - id: 0107d506e40b + killer: 15 + - id: 0114f5335363 + killer: 24 + - id: 01c7d343205f + killer: 24 + - id: 01eb31d78bd5 + killer: 20 + - id: 036dd1f3c2bc + killer: 24 + - id: 03b730cc2dad + killer: 19 + - id: 04acfca76caa + killer: 6 + - id: 05954920ccff + killer: 12 + - id: 063cd0eb7c4c + killer: 24 + - id: 06d95d0b0447 + killer: 24 + - id: 07d52e8ff72a + killer: 12 + - id: 087090b74c17 + killer: 24 + - id: 088613d6e56c + killer: 12 + - id: 0b079c425d4b + killer: 20 + - id: 0b7a73758b2e + killer: 20 + - id: 0cf7abb9f1b9 + killer: 6 + - id: 0d4cd72c6905 + killer: 12 + - id: 0e9cf9c4976e + killer: 26 + - id: 0fdb35221311 + killer: 24 + - id: 104e26d9bf63 + killer: 24 + - id: 118c28d135cd + killer: 9 + - id: 12029e4abc65 + killer: 26 + - id: 128febcd2829 + killer: 12 + - id: 12dc20c4705c + killer: 12 + - id: 132043024e92 + killer: 15 + - id: 138940c0f37f + killer: 24 + - id: 155c153f6497 + killer: 24 + - id: 158032f635a7 + killer: 6 + - id: 15874686c195 + killer: 25 + - id: 15d1b045f848 + killer: 24 + - id: 16cc982b2907 + killer: 16 + - id: 16fedb64defc + killer: 25 + - id: 1999f164903a + killer: 25 + - id: 19e3181b0909 + killer: 7 + - id: 1c8a2a8ff50e + killer: 2 + - id: 1ce4162e966e + killer: 21 + - id: 1eb25e41c0c5 + killer: 12 + - id: 1f767846c1a4 + killer: 24 + - id: 221031fd8594 + killer: 0 + - id: 221cef1df325 + killer: 15 + - id: 228584376f7c + killer: 24 + - id: 2399bf0e4185 + killer: 25 + - id: 2408823e5d94 + killer: 24 + - id: 242c1c7930c5 + killer: 25 + - id: 28a4ebd6770d + killer: 24 + - id: 28c0553992d0 + killer: 25 + - id: 29502b0a747b + killer: 20 + - id: 2bc1d2583959 + killer: 24 + - id: 2d4d7c88e39c + killer: 1 + - id: 2e1fb753c2e7 + killer: 15 + - id: 34f4f635092f + killer: 24 + - id: 372fe662627e + killer: 25 + - id: 37915ddda6b0 + killer: 20 + - id: 384395af71f5 + killer: 25 + - id: 3a32ba9b1067 + killer: 24 + - id: 3ac1568ee22b + killer: 25 + - id: 3b27face41da + killer: 15 + - id: 3c4488ea39e4 + killer: 18 + - id: 3d37d5463b7c + killer: 12 + - id: 3e0222bff00b + killer: 12 + - id: 40ee2b08aeb2 + killer: 2 + - id: 43459982cef3 + killer: 5 + - id: 44382466e24a + killer: 24 + - id: 467fb40c50ff + killer: 24 + - id: 4782a30525ba + killer: 25 + - id: 483659f5d23e + killer: 24 + - id: 4b4751ffd804 + killer: 24 + - id: 4c0e8c6b10a6 + killer: 12 + - id: 4d37321bb9d2 + killer: 24 + - id: 4d584e816c30 + killer: 24 + - id: 4daa2aa0810e + killer: 24 + - id: 4ef9f2a3576a + killer: 24 + - id: 50b9d53fbcf4 + killer: 24 + - id: 50f6d4467dc6 + killer: 4 + - id: 50f869faf7c9 + killer: 19 + - id: 513147a9c75f + killer: 12 + - id: 523105ece286 + killer: 6 + - id: 5254dade71e6 + killer: 15 + - id: 53415b6765dc + killer: 12 + - id: 5346be2bc8a6 + killer: 24 + - id: 578f1cfa57e6 + killer: 24 + - id: 57e7dba02c83 + killer: 24 + - id: 5887fdcdb938 + killer: 21 + - id: 58913ed486f9 + killer: 21 + - id: 58d8976e25f9 + killer: 6 + - id: 5a364180caa7 + killer: 25 + - id: 5ae795c2f027 + killer: 15 + - id: 5b9392b0a1e9 + killer: 15 + - id: 5ceb5d350ede + killer: 15 + - id: 5d10ce8e2535 + killer: 22 + - id: 5f2b3cef21e6 + killer: 12 + - id: 6002aac6e0ec + killer: 7 + - id: 615dfc161beb + killer: 11 + - id: 635a7edd8955 + killer: 12 + - id: 6441d972386c + killer: 24 + - id: 650443814f9a + killer: 12 + - id: 68ecdee48b76 + killer: 6 + - id: 697ef2b9c184 + killer: 24 + - id: 6a5b937fdf6f + killer: 1 + - id: 6a93a902bc41 + killer: 25 + - id: 6cb7d02f35d9 + killer: 15 + - id: 6cd672a734c4 + killer: 13 + - id: 6dd45b06ba4d + killer: 23 + - id: 6e639c669a9e + killer: 6 + - id: 6f14fd27f848 + killer: 15 + - id: 709ffd3ce487 + killer: 15 + - id: 70e6d9c80be9 + killer: 26 + - id: 72a5cd20d5cc + killer: 25 + - id: 72cf53854b66 + killer: 24 + - id: 731d27de111b + killer: 12 + - id: 733b0126565f + killer: 7 + - id: 74d0a8f4be6d + killer: 19 + - id: 7546e343ee3f + killer: 15 + - id: 762361c95427 + killer: 6 + - id: 7693e15f4865 + killer: 22 + - id: 78642a2b8e9e + killer: 12 + - id: 79b86be79216 + killer: 26 + - id: 7aa311c7fe81 + killer: 3 + - id: 7b0481f1e006 + killer: 24 + - id: 7b5e594a7634 + killer: 24 + - id: 7ba8e78f1227 + killer: 14 + - id: 7c514a19b5ac + killer: 25 + - id: 7f4a14d17c8d + killer: 17 + - id: 8015a620d06b + killer: 24 + - id: 80214ea2e806 + killer: 24 + - id: 813e3e094e63 + killer: 11 + - id: 81e1ad01da42 + killer: 6 + - id: 824844181dcd + killer: 8 + - id: 84fee32485d7 + killer: 24 + - id: 8574738fb3e6 + killer: 25 + - id: 85b37f3c2f7b + killer: 10 + - id: 864f22347ef2 + killer: 1 + - id: 866fb06f4451 + killer: 15 + - id: 87f0e7e1620a + killer: 24 + - id: 8a5961d0aab7 + killer: 24 + - id: 8c7522c4d9dd + killer: 16 + - id: 8dd36b91db17 + killer: 24 + - id: 8eb9cf04e894 + killer: 5 + - id: 8f6b48564118 + killer: 12 + - id: 91bb7e9c67e7 + killer: 12 + - id: 936ca827f460 + killer: 24 + - id: 93dc7e85b335 + killer: 5 + - id: 94d0c95fc966 + killer: 24 + - id: 94e9ab54c604 + killer: 24 + - id: 96c151adbf50 + killer: 6 + - id: 974ec3dfdd92 + killer: 10 + - id: 97f9337db95f + killer: 12 + - id: 995f8455b810 + killer: 24 + - id: 9cac28bf1d45 + killer: 15 + - id: 9cb306ef5df1 + killer: 15 + - id: 9d89991909b6 + killer: 1 + - id: 9dd38b7934db + killer: 19 + - id: 9e16c7f7eeea + killer: 15 + - id: a082447bece3 + killer: 12 + - id: a1b660d858e8 + killer: 6 + - id: a3490289649a + killer: 15 + - id: a34afe278e5e + killer: 6 + - id: a45091830510 + killer: 25 + - id: a4bf2ed5d89f + killer: 24 + - id: a4c530b25ea9 + killer: 25 + - id: a5158eb514a1 + killer: 24 + - id: a5b1e44b1178 + killer: 17 + - id: a608b1da9cff + killer: 25 + - id: a657a986ef91 + killer: 9 + - id: a7776f6e9f16 + killer: 24 + - id: a80d4d1bc697 + killer: 4 + - id: a8b35a0a44ed + killer: 6 + - id: a90b5618cc64 + killer: 24 + - id: a9b95ebbd301 + killer: 19 + - id: aa888b4948d4 + killer: 25 + - id: aa9c85214547 + killer: 24 + - id: aaf6f7ee01fb + killer: 24 + - id: ac4550db1c9c + killer: 24 + - id: ad6659d2f78d + killer: 19 + - id: af6fc7c4263b + killer: 12 + - id: af7c026c8895 + killer: 1 + - id: b16d740283a6 + killer: 12 + - id: b17d83ac5b58 + killer: 25 + - id: b203756eaeb9 + killer: 12 + - id: b2d46f80acd6 + killer: 22 + - id: b4f8f45e4cf6 + killer: 1 + - id: b55a7593f0e7 + killer: 24 + - id: b5aa420d9420 + killer: 24 + - id: b66bf03a53e7 + killer: 22 + - id: b704bf9cd643 + killer: 24 + - id: b8f6d39583bc + killer: 5 + - id: b98996ef5879 + killer: 1 + - id: b9b0db40fe68 + killer: 17 + - id: bb017c4f9bcd + killer: 12 + - id: bd812801d7c1 + killer: 5 + - id: be67333e24f0 + killer: 25 + - id: be73a293acd0 + killer: 10 + - id: be8003f88911 + killer: 25 + - id: c027e8dedc09 + killer: 25 + - id: c0f2740ddb96 + killer: 26 + - id: c105b8c8d9b9 + killer: 24 + - id: c20e804ea115 + killer: 12 + - id: c2dd5f9463fb + killer: 24 + - id: c2e90bae5fa7 + killer: 14 + - id: c3472f555d54 + killer: 15 + - id: c5d06f9d48de + killer: 8 + - id: c68c444a1ef2 + killer: 8 + - id: c7f7e309511a + killer: 25 + - id: c80abcc7f16d + killer: 24 + - id: c82c0cbf2d4d + killer: 24 + - id: c84cef863a5f + killer: 12 + - id: c88959d63ee5 + killer: 8 + - id: c8c44ba17356 + killer: 24 + - id: cbd915a0911e + killer: 26 + - id: cc9ab2d9ca4f + killer: 25 + - id: cd7c89170f6f + killer: 12 + - id: ce4f6ed9be3b + killer: 6 + - id: cf0de72f6075 + killer: 12 + - id: cf12732207ef + killer: 12 + - id: cf1b65d51407 + killer: 6 + - id: d01ab79ac2fd + killer: 12 + - id: d2cbda583967 + killer: 6 + - id: d4d0b9179c1b + killer: 24 + - id: d4e8f3a65dbe + killer: 25 + - id: d5db8730c966 + killer: 1 + - id: d69d46f8c9cf + killer: 12 + - id: d7a9af84a635 + killer: 18 + - id: daeab9be7ea5 + killer: 25 + - id: dc1b8637ac7f + killer: 24 + - id: dc5226911e4b + killer: 1 + - id: deab09a840e4 + killer: 24 + - id: df16e6d55ac9 + killer: 25 + - id: dfd19377da34 + killer: 22 + - id: e09a3dcb1542 + killer: 24 + - id: e5c189a5f89e + killer: 15 + - id: e6f12f147c28 + killer: 10 + - id: e9424897c024 + killer: 24 + - id: eadf746d01c2 + killer: 15 + - id: ebc6c7309d57 + killer: 26 + - id: ecd45107a5f1 + killer: 22 + - id: ed5a05a0f526 + killer: 18 + - id: ed7b81075d95 + killer: 12 + - id: eea1eaee22f1 + killer: 1 + - id: ef4fd715444e + killer: 24 + - id: f0031b273a00 + killer: 24 + - id: f021a455137f + killer: 12 + - id: f0302165e7b1 + killer: 25 + - id: f3cf2cc4df1f + killer: 25 + - id: f422f555e05e + killer: 22 + - id: f61bc36dc3b1 + killer: 2 + - id: f6ee92065d11 + killer: 5 + - id: f8bebf46a18b + killer: 24 + - id: fbaf94096076 + killer: 17 + - id: fbc705acc70b + killer: 24 + - id: fbc944df2c33 + killer: 12 + - id: fbe5d59d1dda + killer: 15 + - id: fddba8889ee8 + killer: 26 + - id: fef053fed040 + killer: 6 + - id: ffdd65f3dad8 + killer: 15 +- path: crates/cargo-gamma-lib/src/error.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_baseline_error_writes_its_record_and_the_diagnostics_bundle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::engine_errors_preserve_classification_and_causes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::errors_are_not_usage_errors_by_default + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::message_is_preserved + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + mutants: + - id: 14651fb6010e + killer: 3 + - id: 1645dcde22b1 + killer: 0 + - id: 2f1fa92d0c87 + killer: 1 + - id: 360b4e8516bc + killer: 1 + - id: 51f6c2e48803 + killer: 1 + - id: 5421584fb168 + killer: 1 + - id: 57d5c4dcf1d5 + killer: 4 + - id: 6ef98de03999 + killer: 0 + - id: 85abfcd53101 + killer: 5 + - id: 8d05526ad39a + killer: 4 + - id: a81778d13d66 + killer: 2 + - id: b2a8697aebd4 + killer: 0 + - id: f12b4092fdf7 + killer: 1 + - id: f71e3dc721d0 + killer: 5 + - id: fec9c23e6af5 + killer: 1 +- path: crates/cargo-gamma-lib/src/estimate.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::hanging_mutants_cost_more_than_mutants_that_are_judged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::only_mutants_that_would_run_are_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::only_the_binaries_a_mutant_reaches_are_charged_for_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::parallelism_divides_the_projection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_error_bar_brackets_the_estimate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_worst_case_pays_for_confirming_every_timeout + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::zero_jobs_does_not_divide_by_zero + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::baseline_progress_advances_once_for_every_finished_binary + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: regressions + test: issue_005_the_projected_range_never_reaches_past_the_ceiling + - package: cargo-gamma-lib + target: regressions + test: issue_005_the_worst_case_pays_for_confirming_every_timeout + mutants: + - id: 011eff21db8f + killer: 4 + - id: 01d0bc3ea6da + killer: 9 + - id: 0430e4dd06b5 + killer: 6 + - id: 0b3ce7272a45 + killer: 3 + - id: 10a593b9719a + killer: 4 + - id: 17a65932ea53 + killer: 10 + - id: 17c741bb8360 + killer: 10 + - id: 189f9472d910 + killer: 3 + - id: 1d649ace193e + killer: 10 + - id: 28091d131e6b + killer: 1 + - id: 35f5a782a0bc + killer: 2 + - id: 405b38eac5c8 + killer: 6 + - id: 44c77f5b386d + killer: 8 + - id: 4ac7b2218eff + killer: 9 + - id: 4db01f01c500 + killer: 6 + - id: 4f04cbdd968d + killer: 4 + - id: 4f714f7a3b60 + killer: 10 + - id: 50146ea93f94 + killer: 3 + - id: 530920a9ed06 + killer: 5 + - id: 6737538f3a85 + killer: 10 + - id: 6ebcb1b7e4bf + killer: 10 + - id: 8e54cb77b9b3 + killer: 10 + - id: '929219476764' + killer: 10 + - id: 9b774f3c857f + killer: 10 + - id: 9cce922f499d + killer: 6 + - id: 9dd552e3da47 + killer: 10 + - id: a178a7dd87c2 + killer: 1 + - id: a1d2de48a4f7 + killer: 10 + - id: a73f2db3d9be + killer: 0 + - id: b422a47854b4 + killer: 10 + - id: bb3bb8a97364 + killer: 7 + - id: cc491785a62e + killer: 1 + - id: cf13dcd65ebb + killer: 1 + - id: d75311facf28 + killer: 10 + - id: e4449148f8eb + killer: 11 + - id: e51623432aa7 + killer: 5 + - id: e724ad10d92a + killer: 1 + - id: e807f456c043 + killer: 3 + - id: ed6bfbc2ed06 + killer: 0 + - id: f0a2770ccad8 + killer: 3 + - id: f79304e3628a + killer: 3 + - id: f95306a6ae56 + killer: 6 + - id: fa08b5a72cfe + killer: 0 +- path: crates/cargo-gamma-lib/src/exec/baseline.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_baseline_that_outgrows_its_ceiling_names_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_partial_stream_note_from_a_baseline_worker_reaches_the_parent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_repeated_baseline_test_failure_still_stops_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_transient_baseline_test_failure_gets_one_clean_retry + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::baseline_progress_advances_once_for_every_finished_binary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + mutants: + - id: 060d169a9ddf + killer: 0 + - id: 0783926ed439 + killer: 1 + - id: 0a4e6e491439 + killer: 0 + - id: 0bd046ea1858 + killer: 0 + - id: 12aacbe37722 + killer: 5 + - id: 12cb85d7a63a + killer: 5 + - id: 14451f268c49 + killer: 3 + - id: 335af113427a + killer: 0 + - id: 3f254dd01436 + killer: 4 + - id: 4266718043dc + killer: 2 + - id: 4b8c9f042c43 + killer: 3 + - id: 4c00c4440816 + killer: 2 + - id: 4ccf28595b56 + killer: 2 + - id: 548387d7f671 + killer: 1 + - id: 5978728da737 + killer: 3 + - id: 69404b0edc8b + killer: 2 + - id: 72c1ef6d2b04 + killer: 3 + - id: 765f5c5587de + killer: 2 + - id: 81595c666318 + killer: 2 + - id: 865e1ce364d4 + killer: 2 + - id: 923963081f7a + killer: 4 + - id: 97f58e49f166 + killer: 3 + - id: 9a50e14170aa + killer: 0 + - id: 9f4abc8c6fe2 + killer: 0 + - id: a303313cb899 + killer: 2 + - id: a907f8a4d85e + killer: 2 + - id: aa4e66bbdc46 + killer: 1 + - id: ab833e9b5971 + killer: 0 + - id: b20246c14c28 + killer: 1 + - id: b20a3c107148 + killer: 1 + - id: bb2b2463c609 + killer: 1 + - id: bcc152082753 + killer: 2 + - id: cd258181be3a + killer: 3 + - id: cd72f64fed04 + killer: 7 + - id: ce700a4e8f8c + killer: 2 + - id: d53b3e53265d + killer: 3 + - id: dc9471fa0402 + killer: 1 + - id: f540ed9041b1 + killer: 6 + - id: fc53ae0fb2c6 + killer: 3 + - id: ff3425948521 + killer: 2 +- path: crates/cargo-gamma-lib/src/exec/build/blame.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_context_mismatch_changes_the_order_and_never_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_diagnostic_inside_a_guard_blames_the_innermost_enclosing_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_diagnostic_that_encloses_guards_keeps_only_the_smallest_reported_region + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_diagnostic_that_lands_on_a_guard_is_still_blamed_on_that_guard_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_move_error_is_blamed_on_the_deletion_that_changed_which_paths_exist + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_region_with_no_deletion_falls_back_to_every_guard_in_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_secondary_span_intersecting_generated_text_blames_that_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_secondary_span_on_innocent_original_text_blames_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_wider_enclosing_diagnostic_processed_after_a_narrower_one_does_not_replace_its_attribution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::blame_and_region_collection_ignore_messages_without_usable_spans + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::diagnostic_spans_inside_mutated_text_name_that_mutant_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::diagnostics_are_matched_by_suffix_when_cargo_spells_paths_differently + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::flow_sensitive_regions_match_guards_by_path_suffix + mutants: + - id: 00d24cb1ac6a + killer: 3 + - id: 00d276d9561a + killer: 1 + - id: 02fe5b6cf4ab + killer: 5 + - id: 05d273c775ed + killer: 6 + - id: 068826bd33a7 + killer: 0 + - id: 07c92e9f8295 + killer: 1 + - id: 09462229e29c + killer: 2 + - id: 0b9cacedb739 + killer: 2 + - id: 0bc108284fa6 + killer: 7 + - id: 14c43942f015 + killer: 1 + - id: 15648042cbec + killer: 13 + - id: 15c930ed910e + killer: 1 + - id: 15cb5ba893a1 + killer: 5 + - id: 17093f273fe0 + killer: 10 + - id: 170a797f5893 + killer: 1 + - id: 179718b995e1 + killer: 7 + - id: 18fd8912d4e6 + killer: 7 + - id: 1bbc9e9bdea0 + killer: 6 + - id: 1c56baa3829f + killer: 3 + - id: 1cf5c960ac39 + killer: 5 + - id: 20ac7002fd0b + killer: 6 + - id: 24a0df35ab0e + killer: 1 + - id: 265d084a3890 + killer: 4 + - id: 297fd11bb8fa + killer: 1 + - id: 299e3b118db9 + killer: 5 + - id: 29bf32bc6a20 + killer: 5 + - id: 2e571a75b93a + killer: 1 + - id: 2e7c8915c72a + killer: 1 + - id: 34bac0de2ea8 + killer: 12 + - id: 3603ebef7338 + killer: 1 + - id: 38d0a2261dd0 + killer: 2 + - id: 3a45d823b0e2 + killer: 3 + - id: 3aecd1d0c1da + killer: 3 + - id: 3d177a02dae3 + killer: 1 + - id: 3e8a59cc220a + killer: 1 + - id: 410e5895f2aa + killer: 5 + - id: 43f71e2b4965 + killer: 4 + - id: '442300035347' + killer: 5 + - id: 447643d42e98 + killer: 1 + - id: 45a1cfad9a93 + killer: 3 + - id: 46882bd6d07f + killer: 1 + - id: '475959311913' + killer: 8 + - id: 4af635cb45da + killer: 5 + - id: 4b584e0819fa + killer: 5 + - id: 4d23bacec771 + killer: 7 + - id: 4e2bbda0251e + killer: 3 + - id: 51f5a9164025 + killer: 3 + - id: 5437b33976f9 + killer: 11 + - id: 54879ae53e6c + killer: 5 + - id: 55cd630a2169 + killer: 1 + - id: 5e8dc9a1440c + killer: 1 + - id: 61a52ef7766e + killer: 7 + - id: 652f8f4989db + killer: 3 + - id: 66738182182d + killer: 1 + - id: 66c58d017eb9 + killer: 10 + - id: 68557a608ad2 + killer: 5 + - id: 68d4edfbb48f + killer: 1 + - id: 6a14c332a912 + killer: 2 + - id: 7378c0159766 + killer: 2 + - id: 7ac55a04cc28 + killer: 6 + - id: 7ca042dbe84f + killer: 4 + - id: 84ded3cd8d82 + killer: 1 + - id: 8572534844cb + killer: 5 + - id: 8595b8d7d991 + killer: 1 + - id: 88a155997c3e + killer: 5 + - id: 8efa60784e02 + killer: 6 + - id: '972551898537' + killer: 1 + - id: 98b3a42f42de + killer: 1 + - id: 9c17bb0c9f1f + killer: 1 + - id: 9df98756b689 + killer: 7 + - id: a1789693c3eb + killer: 1 + - id: a2c0f39c54cf + killer: 7 + - id: a5552e754b87 + killer: 3 + - id: ac21d690ce04 + killer: 8 + - id: ac692aecc9d2 + killer: 1 + - id: ad24208ab917 + killer: 1 + - id: afe82d65c9ad + killer: 1 + - id: affae0fe7360 + killer: 5 + - id: b4e2ad1a19a2 + killer: 1 + - id: b8703e8ced36 + killer: 1 + - id: ba2c771da90f + killer: 2 + - id: bd81bc5b37e5 + killer: 3 + - id: c0cb164a3ed8 + killer: 12 + - id: c318ff43092f + killer: 4 + - id: c678f942e6a5 + killer: 9 + - id: c947dafb7e4b + killer: 1 + - id: ccbb23ddd41b + killer: 12 + - id: cd69f00f10ee + killer: 1 + - id: ce5e694a906d + killer: 1 + - id: cf58c865d39e + killer: 5 + - id: cfb2b3910b44 + killer: 6 + - id: d3ca2aef93d9 + killer: 5 + - id: d515288df6e6 + killer: 1 + - id: d81581d9438d + killer: 8 + - id: dee05f28ea47 + killer: 3 + - id: e2f715f8b62c + killer: 5 + - id: ea35a7248567 + killer: 1 + - id: ea3fb707f941 + killer: 3 + - id: ec5427f8edae + killer: 7 + - id: ef6192bde99d + killer: 1 + - id: f7255d9b3972 + killer: 8 + - id: fb2d415bc5e4 + killer: 1 +- path: crates/cargo-gamma-lib/src/exec/build/complaints.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_that_is_being_mutated_still_stops_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_that_never_reached_the_compiler_says_so_rather_than_blaming_the_tree + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_that_reported_nothing_is_not_described_as_a_compile_failure + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_carriage_return_progress_bar_does_not_bury_the_error_it_was_drawn_around + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_diagnostic_list_within_the_limit_is_quoted_whole_and_counts_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_failure_with_nothing_on_either_stream_says_so_rather_than_showing_a_blank + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_leading_blank_line_on_stderr_is_dropped_rather_than_kept + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_long_diagnostic_list_keeps_the_first_errors_whole_and_counts_the_rest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::diagnostics_are_read_from_the_json_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::errors_in_the_mutated_packages_are_quoted_before_anyone_elses + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::mutated_package_manifests_include_root_and_nested_members + mutants: + - id: 006bd712f6fd + killer: 5 + - id: 0b151d53478c + killer: 3 + - id: 104d6b8c5514 + killer: 10 + - id: 13724132fb3c + killer: 6 + - id: 188c600efca9 + killer: 2 + - id: 1a636266149b + killer: 1 + - id: 206b0b663025 + killer: 1 + - id: 26b83fba7ddd + killer: 3 + - id: 2810edb6e2f8 + killer: 7 + - id: 2bd287012c8e + killer: 2 + - id: 2c5f8f366e56 + killer: 10 + - id: 302782602ce9 + killer: 1 + - id: '348910206279' + killer: 8 + - id: 354c47c9f3d9 + killer: 6 + - id: 362242271f94 + killer: 0 + - id: 363dbdb49093 + killer: 4 + - id: 3a82d9e92c97 + killer: 1 + - id: 3d97af3231d9 + killer: 1 + - id: 45ee0ae69281 + killer: 1 + - id: 468a2ea1d507 + killer: 0 + - id: 4bb1f9ee0396 + killer: 2 + - id: 4f77b759db61 + killer: 4 + - id: 507b6e810398 + killer: 10 + - id: 57e9ff879ae5 + killer: 2 + - id: 71a007ee5d1a + killer: 7 + - id: 77513d08641c + killer: 1 + - id: 77735f56ea2b + killer: 0 + - id: '784316243822' + killer: 8 + - id: 7e00c01dc66b + killer: 7 + - id: 7fc9bfaeb644 + killer: 2 + - id: 821f2cad0de1 + killer: 0 + - id: 84e28086da6c + killer: 4 + - id: 85f90b14c352 + killer: 7 + - id: 87b7f7a93943 + killer: 0 + - id: 8bcef68a8ac7 + killer: 0 + - id: 8cb7e37359cc + killer: 2 + - id: 99b203c64b19 + killer: 1 + - id: 9a4d7d3e8469 + killer: 10 + - id: a382afb7b134 + killer: 0 + - id: a8405a299c8d + killer: 10 + - id: ab5684fc4074 + killer: 0 + - id: ad52a2a4e17b + killer: 1 + - id: b0b5ca841317 + killer: 1 + - id: b20ae90925ca + killer: 9 + - id: b3982be11621 + killer: 0 + - id: b5f042fce500 + killer: 0 + - id: b6e865860136 + killer: 0 + - id: b76d3e99e0f9 + killer: 1 + - id: b9f07e7b323f + killer: 0 + - id: ba962ec04707 + killer: 7 + - id: badb705b86d6 + killer: 6 + - id: bbc0a70f0e86 + killer: 3 + - id: bd2fd7a9a2ca + killer: 1 + - id: bee75ae5e438 + killer: 9 + - id: c419b0ac277c + killer: 9 + - id: c887d24eea5c + killer: 0 + - id: d05d4934fa99 + killer: 10 + - id: d869390ec0e8 + killer: 5 + - id: d9bf51461a57 + killer: 1 + - id: df511639fc2e + killer: 1 + - id: e92e33279c89 + killer: 1 + - id: ed26cfbaa56e + killer: 1 + - id: f1a76775296a + killer: 4 + - id: fbcbed380a0e + killer: 5 +- path: crates/cargo-gamma-lib/src/exec/build/invoke.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_nobody_is_mutating_is_dropped_rather_than_failing_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_inside_its_budget_is_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_past_its_output_limit_fails_without_retaining_the_excess + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_stopped_by_its_budget_reports_no_stdout + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_stopped_by_its_budget_takes_its_descendants_with_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_that_never_reached_the_compiler_says_so_rather_than_blaming_the_tree + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_cargo_that_cannot_be_found_names_the_program_and_where_it_came_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_carriage_return_progress_bar_does_not_bury_the_error_it_was_drawn_around + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_context_mismatch_changes_the_order_and_never_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_diagnostic_is_surfaced_the_way_the_compiler_rendered_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_finished_build_is_collected_without_waiting_for_its_survivors + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_line_that_is_not_a_compiler_message_yields_no_diagnostic + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_message_without_a_rendering_yields_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_missing_scratch_tree_is_named_rather_than_blamed_on_cargo + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_pipe_that_fails_part_way_is_not_read_as_the_end_of_the_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::an_over_limit_pipe_keeps_only_its_configured_prefix + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::default_output_limits_accept_large_streams_and_lines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::finishing_readers_drains_a_backpressured_narration_channel + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::the_reader_splits_on_carriage_returns_as_well_as_newlines + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 00c54c4e59e6 + killer: 8 + - id: 03f0de192897 + killer: 8 + - id: 06277255bc6c + killer: 3 + - id: 06cfa158c3b9 + killer: 10 + - id: 0773849cb3c6 + killer: 20 + - id: 07a4f38a9e25 + killer: 20 + - id: 0b03b8e9821e + killer: 20 + - id: 0d4193419f9f + killer: 20 + - id: 0e8696a1e723 + killer: 10 + - id: 0f7afe09caf0 + killer: 6 + - id: 10399c9b5e64 + killer: 7 + - id: 13bc82032cd4 + killer: 19 + - id: 140b282a139f + killer: 20 + - id: 15410047433c + killer: 10 + - id: 185e55700eca + killer: 19 + - id: 1a035631189b + killer: 17 + - id: 1a9cb5579169 + killer: 13 + - id: 1fffff9ef51f + killer: 20 + - id: 23832e283b04 + killer: 4 + - id: 247161c988e9 + killer: 19 + - id: 2484a9b0e703 + killer: 16 + - id: 26e4eeb06008 + killer: 3 + - id: 29bc065e37a3 + killer: 6 + - id: 2bba232a2cbf + killer: 20 + - id: 2bf534261660 + killer: 19 + - id: 2eb59d6e61c6 + killer: 20 + - id: 2f76ce4db3b0 + killer: 20 + - id: 329fac96f331 + killer: 20 + - id: 32accfd06c7c + killer: 10 + - id: 32f79ca6e1eb + killer: 20 + - id: 337c6d735344 + killer: 20 + - id: 3413ceefd0ce + killer: 8 + - id: 34c175cbdee9 + killer: 4 + - id: 3737fd94255d + killer: 1 + - id: 380b41f6ad3e + killer: 3 + - id: 38d1bdc12682 + killer: 20 + - id: 39fd0a724483 + killer: 19 + - id: 3a2a527cf627 + killer: 2 + - id: 3c811b276722 + killer: 14 + - id: 3d484c896995 + killer: 20 + - id: 3daed975d71f + killer: 20 + - id: 3e3015f6f9b0 + killer: 20 + - id: 4176aee003c8 + killer: 3 + - id: 450e019f62c2 + killer: 20 + - id: 47f29f98643b + killer: 19 + - id: 49a411b16aa5 + killer: 19 + - id: 4b004aeee01c + killer: 20 + - id: 55a7addd87a0 + killer: 20 + - id: 566d18d778f5 + killer: 19 + - id: 5a85b17a413c + killer: 13 + - id: 5b41fa136ce3 + killer: 9 + - id: 62d0067e5632 + killer: 20 + - id: 6ba42dc8afe0 + killer: 20 + - id: 6cbc398cd401 + killer: 7 + - id: 6cf00e40ae77 + killer: 19 + - id: 6fdd72d08ed4 + killer: 20 + - id: 72fcb6c067aa + killer: 1 + - id: 76807da7f6d3 + killer: 7 + - id: 7746ad238bb6 + killer: 12 + - id: 781b4e438f43 + killer: 20 + - id: 7a94f32dd2bd + killer: 20 + - id: 7afa0a243ad8 + killer: 16 + - id: 7c594eb18a61 + killer: 16 + - id: 7ee4021b7983 + killer: 20 + - id: 81bed87cf78d + killer: 19 + - id: 84aeb7b4ce71 + killer: 4 + - id: 8639c45ea271 + killer: 18 + - id: 88bfcdd884d7 + killer: 0 + - id: 8924e16031c7 + killer: 19 + - id: 89a6693afa78 + killer: 20 + - id: 8c07428a0eac + killer: 20 + - id: 9137d12d132c + killer: 20 + - id: 9bd6ce5b162d + killer: 18 + - id: 9cdf93a19d3e + killer: 20 + - id: 9f4e3c67adf8 + killer: 10 + - id: a178643aaa9a + killer: 20 + - id: a1e2969f903d + killer: 20 + - id: a5b2430bdbe6 + killer: 8 + - id: a7f69e4ecfe6 + killer: 20 + - id: a8a5c74d85f0 + killer: 11 + - id: a990eb246873 + killer: 17 + - id: ab088bc79ce0 + killer: 1 + - id: b00cb3f50d99 + killer: 3 + - id: b1d487fbfde6 + killer: 10 + - id: b270483d93a3 + killer: 20 + - id: b631b8430471 + killer: 5 + - id: b754deaa838b + killer: 20 + - id: b82c21bdcd1c + killer: 1 + - id: b9c3f1cba9b4 + killer: 8 + - id: bb5e52fcc9af + killer: 20 + - id: bf2e61ce8fed + killer: 20 + - id: c09125423233 + killer: 20 + - id: c0ab63451187 + killer: 6 + - id: c289b777652f + killer: 20 + - id: c44ab352fe30 + killer: 20 + - id: c4552b904ea8 + killer: 20 + - id: c5916bc91048 + killer: 20 + - id: c7eaacf26fde + killer: 20 + - id: cb7463d3be50 + killer: 10 + - id: cd12eeadcc3e + killer: 3 + - id: cee6d8f5fe48 + killer: 20 + - id: cf391a23ed0a + killer: 10 + - id: d2bb989a72e6 + killer: 3 + - id: d4ccae482811 + killer: 10 + - id: dbc4351b1dd8 + killer: 11 + - id: dd6610c30b32 + killer: 8 + - id: de736200f589 + killer: 11 + - id: e4eb6fb49ee7 + killer: 20 + - id: e610eaacae6e + killer: 8 + - id: e77b0ee5c19e + killer: 20 + - id: e8a8b20e011a + killer: 18 + - id: e8b9633a3dce + killer: 4 + - id: eb6bdbb1d903 + killer: 2 + - id: ed3a1e0f80e8 + killer: 15 + - id: f1b7bea5b3dc + killer: 19 + - id: f27ae982e4f5 + killer: 15 + - id: f327fc51e359 + killer: 20 + - id: f52b13ec5072 + killer: 20 + - id: f6c710c027a7 + killer: 20 +- path: crates/cargo-gamma-lib/src/exec/build/messages.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_backslash_that_is_not_an_escape_survives_into_the_path + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_dep_info_line_without_a_rule_separator_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_dep_info_path_that_cannot_be_read_as_text_is_skipped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_dependency_path_containing_an_escaped_space_is_read_as_one_path + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::only_the_dep_info_belonging_to_this_build_is_read + mutants: + - id: 038f10c35f84 + killer: 3 + - id: 072672cf803c + killer: 0 + - id: 07c36b9f4df4 + killer: 3 + - id: 0ff905c36581 + killer: 0 + - id: 107eeae9c6bd + killer: 0 + - id: 13dd6d8d5014 + killer: 0 + - id: 15b8403911b5 + killer: 2 + - id: 1a29effe85ee + killer: 0 + - id: 1d80254ff44a + killer: 0 + - id: 1f9b012bdda5 + killer: 0 + - id: 30290e7df783 + killer: 0 + - id: 316df0806e15 + killer: 3 + - id: 317f5f8b2e6d + killer: 0 + - id: 428067e7288f + killer: 0 + - id: 448dc3736bd9 + killer: 1 + - id: 55de4931b84d + killer: 0 + - id: 56d5aeca2cf9 + killer: 0 + - id: 5f34bcde9b34 + killer: 0 + - id: 619ae25e2fd4 + killer: 0 + - id: 6a28e35e7358 + killer: 0 + - id: 6a3ce7158658 + killer: 0 + - id: 6f819997f6c4 + killer: 0 + - id: 7b2ce6f26d25 + killer: 0 + - id: 88130deb0e27 + killer: 0 + - id: 8bed73073f8c + killer: 4 + - id: 8d52ddbe1e5a + killer: 0 + - id: 94d25cbe6fe5 + killer: 0 + - id: 9770fcf8ff14 + killer: 0 + - id: 986c62afb782 + killer: 0 + - id: 9ca158bde971 + killer: 0 + - id: a53f1e2aa6c0 + killer: 0 + - id: a80079a5a44d + killer: 3 + - id: b5a60433f1e2 + killer: 0 + - id: ba229a8654bc + killer: 0 + - id: bccb45aa4f8d + killer: 0 + - id: bdcd744884c2 + killer: 0 + - id: c6b29585ae33 + killer: 0 + - id: c9c6ef3414f4 + killer: 0 + - id: c9e89c539445 + killer: 0 + - id: cb4a1171475c + killer: 0 + - id: d7f774a92b3e + killer: 0 + - id: e9399cc27dac + killer: 0 + - id: eeb80d22a077 + killer: 3 + - id: fb0977e661d6 + killer: 0 +- path: crates/cargo-gamma-lib/src/exec/build/splices.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::splices::tests::instrumented_text_retains_the_original_byte_order_mark + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_context_mismatch_changes_the_order_and_never_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_live_mutant_whose_span_no_longer_fits_the_file_is_an_internal_error_rather_than_a_silent_survivor + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_second_round_rewrites_only_the_files_it_withdrew_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::an_unattributed_failure_is_isolated_to_the_mutant_that_provably_breaks_the_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::each_build_gets_the_whole_round_budget_rather_than_what_earlier_builds_left + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::sorting_a_staged_plan_reindexes_mutants_before_the_baseline_splice + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 01b5654bf7bb + killer: 7 + - id: 01c2f5a00704 + killer: 7 + - id: 0753407f915b + killer: 8 + - id: 0826f25f62c2 + killer: 0 + - id: 0f08364d33b6 + killer: 1 + - id: 0f1c151170dc + killer: 0 + - id: 10015834ecc5 + killer: 9 + - id: 1031decb6bb1 + killer: 9 + - id: 36fe2ecae5fb + killer: 2 + - id: 3f37d9f163e4 + killer: 5 + - id: 43befb4fd52a + killer: 2 + - id: 4446273b1d2e + killer: 1 + - id: 469b30600fca + killer: 9 + - id: 4b5b578746cc + killer: 9 + - id: 4c152709abee + killer: 5 + - id: 4d88b2c07a6c + killer: 7 + - id: 4faf6bdb3e87 + killer: 2 + - id: 52aafefe5007 + killer: 4 + - id: 533088d5e204 + killer: 9 + - id: 56f6d0fd67c5 + killer: 9 + - id: 5b338d94b41d + killer: 5 + - id: 6546cc0ed023 + killer: 5 + - id: 65b113dda7e0 + killer: 0 + - id: 6bc50773311c + killer: 7 + - id: 70e03d575c15 + killer: 9 + - id: 7780117e20d1 + killer: 6 + - id: 7c25eeea1562 + killer: 5 + - id: 8404339225b0 + killer: 5 + - id: 859c1a0db2b3 + killer: 9 + - id: 8af78e593d98 + killer: 9 + - id: 8c7e9fd16554 + killer: 1 + - id: 96c188ad53a4 + killer: 9 + - id: 98c0dcb173c2 + killer: 9 + - id: 9de95cc7e56e + killer: 3 + - id: a323b28bc2cd + killer: 9 + - id: a6141e4eaa63 + killer: 9 + - id: aee2efea48d1 + killer: 0 + - id: bb3115e2bc84 + killer: 9 + - id: bb7d0b2d2b6f + killer: 2 + - id: bc81f8bbeb58 + killer: 7 + - id: c8577a8b4cc7 + killer: 2 + - id: cf5baf551cf5 + killer: 9 + - id: cfd201b36f41 + killer: 6 + - id: d006c55d4d37 + killer: 2 + - id: d5530ec6e847 + killer: 5 + - id: d57751526126 + killer: 7 + - id: dbaefb6f8ad8 + killer: 9 + - id: e78e3d991cb3 + killer: 7 + - id: e7b085619127 + killer: 9 + - id: ea6c63180f9f + killer: 1 + - id: ec42d50fa114 + killer: 5 + - id: f252013c5d4a + killer: 9 + - id: f772ab68b9a5 + killer: 5 + - id: fdd103dd9ffc + killer: 9 +- path: crates/cargo-gamma-lib/src/exec/build.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_nobody_is_mutating_is_dropped_rather_than_failing_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_that_is_being_mutated_still_stops_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_that_never_reached_the_compiler_says_so_rather_than_blaming_the_tree + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_that_no_guard_explains_stops_with_the_compiler_output + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_check_that_only_the_whole_workspace_passes_says_so + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_compiled_set_disjoint_from_the_survey_withdraws_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_context_mismatch_changes_the_order_and_never_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_handful_of_hints_is_not_worth_a_probe_round + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_mutant_in_a_file_whose_path_contains_a_space_is_not_excused_as_unbuilt + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_narrowed_build_that_fails_is_retried_across_the_whole_workspace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_probe_defers_mutants_outside_the_attribution_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_stage_that_cannot_be_converged_abandons_its_mutants_as_never_built + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_stage_the_run_gave_up_on_leaves_a_tree_the_next_build_can_still_compile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_whole_workspace_build_that_fails_is_reported_rather_than_retried + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_whole_workspace_requirement_survives_into_the_staged_builds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::an_item_only_interaction_settles_its_mutants_to_not_built + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::an_unattributed_failure_is_isolated_to_the_mutant_that_provably_breaks_the_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::build_errors_are_formatted_without_running_cargo + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::diagnostic_blame_is_limited_to_the_stage_being_judged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::each_build_calibrates_its_own_timeout_reference + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::each_build_gets_the_whole_round_budget_rather_than_what_earlier_builds_left + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::the_census_counts_mutants_rather_than_diagnostics_and_leads_with_the_densest_pair + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::the_probe_set_is_ordered_by_the_plan_rather_than_by_the_hint_set + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::the_rollback_limit_error_describes_only_the_build_that_hit_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::workspace_stage_withdraws_mutants_outside_the_attribution_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 01e2f977f990 + killer: 19 + - id: 02161b2a0610 + killer: 29 + - id: 030e5f604bb9 + killer: 24 + - id: 0314f0467978 + killer: 9 + - id: 05d4803892ef + killer: 23 + - id: 07abda885379 + killer: 3 + - id: 0c4f5e7b9e7b + killer: 9 + - id: 0d3b9623b517 + killer: 4 + - id: 0e19594f1039 + killer: 18 + - id: 0f2865767c80 + killer: 7 + - id: 1083429cda30 + killer: 18 + - id: 117a2ba3e930 + killer: 29 + - id: 138a151f8fd4 + killer: 17 + - id: 15a03501bc63 + killer: 19 + - id: 15e1c0176d1b + killer: 3 + - id: 18e7155d8719 + killer: 23 + - id: 1937d41abd13 + killer: 9 + - id: 19571cb75e2c + killer: 19 + - id: 1b6c3217448a + killer: 2 + - id: 1b8c38dc31e3 + killer: 1 + - id: 1fc4aecb0199 + killer: 9 + - id: 1fd5e5ad3187 + killer: 18 + - id: 20994f0a2b04 + killer: 14 + - id: 21e1f090be0b + killer: 18 + - id: 22cec5afa9cc + killer: 19 + - id: 25557e8c3a8c + killer: 9 + - id: 265a7095cc4b + killer: 9 + - id: 2667f18fcbe8 + killer: 19 + - id: 286863d23d51 + killer: 24 + - id: 2872ad10fbf4 + killer: 1 + - id: 28ae6800f8b0 + killer: 9 + - id: 2cb59fe7a485 + killer: 2 + - id: 30190e229f08 + killer: 19 + - id: 30b5dff6af7c + killer: 23 + - id: 31883e940a80 + killer: 13 + - id: 32bbe9c96541 + killer: 9 + - id: 360409c97a15 + killer: 5 + - id: 3627940aadfc + killer: 9 + - id: 3696626ba663 + killer: 18 + - id: 376144a043f5 + killer: 8 + - id: 3774fa583d1f + killer: 9 + - id: 383d370a60ea + killer: 3 + - id: 3852c2f75de7 + killer: 22 + - id: 39832438088f + killer: 18 + - id: 3b016d8ade9b + killer: 1 + - id: 3d402fe3c440 + killer: 9 + - id: 3e3ec5b6d74e + killer: 3 + - id: 3e4e6bf5211a + killer: 14 + - id: 3e7bfe155e91 + killer: 14 + - id: 3e8d65345c9c + killer: 11 + - id: 3eb6c982502e + killer: 9 + - id: 3ebdd94808f5 + killer: 9 + - id: 3feff309d802 + killer: 2 + - id: 40977ebc3b6f + killer: 9 + - id: 417b720f355f + killer: 9 + - id: 41841d622cee + killer: 9 + - id: 421a96f596d6 + killer: 18 + - id: 44bb6121e92f + killer: 19 + - id: 459469ae7e6a + killer: 1 + - id: 4a6c08555324 + killer: 29 + - id: 4bac72a7fd74 + killer: 9 + - id: 4d0bb956c06d + killer: 22 + - id: 4f0b461c7bab + killer: 9 + - id: 4f1821bcee20 + killer: 24 + - id: 4fa3daff88cf + killer: 1 + - id: 518f983669de + killer: 18 + - id: 523a99f1c987 + killer: 18 + - id: 52867a28e3db + killer: 17 + - id: 5289ba4bf23e + killer: 20 + - id: 53f02309e357 + killer: 1 + - id: 546333007b5f + killer: 19 + - id: 55c93a860c30 + killer: 23 + - id: 56024f15c9fc + killer: 18 + - id: 5606e145721e + killer: 18 + - id: 56abc63905ad + killer: 9 + - id: 5807ae2606a7 + killer: 29 + - id: 58b1985a30f0 + killer: 19 + - id: 595f34c0d22b + killer: 22 + - id: 5a7e972c77c6 + killer: 2 + - id: 5accc6b9c2bf + killer: 18 + - id: 5c93255f5217 + killer: 14 + - id: 5ca6171cfe74 + killer: 18 + - id: 6022f09eb8ae + killer: 13 + - id: 60b626099f90 + killer: 18 + - id: 610ab10489e3 + killer: 17 + - id: 617d5f62362b + killer: 11 + - id: 639b9ba1dca1 + killer: 3 + - id: 63d6a8e795f7 + killer: 3 + - id: '648389563863' + killer: 13 + - id: 671f2b11f20d + killer: 18 + - id: 67dbf94e1261 + killer: 18 + - id: 69fd3ad7fa0d + killer: 18 + - id: 6a2716e2f76a + killer: 14 + - id: 6d08005f6430 + killer: 29 + - id: 6ee8f709e6ad + killer: 19 + - id: 714a3e6ee70d + killer: 1 + - id: 7232fdd682bd + killer: 9 + - id: 72e19a8027bd + killer: 15 + - id: 747d7e14947f + killer: 0 + - id: 7484d335a985 + killer: 14 + - id: 74fe954ae877 + killer: 18 + - id: 74ff9f73386a + killer: 12 + - id: 75034c1dd0f9 + killer: 6 + - id: 7531d3918c90 + killer: 29 + - id: 75628b54563a + killer: 27 + - id: 776b48ecdfbc + killer: 18 + - id: 78e472df2a4c + killer: 18 + - id: 7a312a1bd475 + killer: 9 + - id: 7a53fb6fc5a2 + killer: 23 + - id: 7aa0d9ac66f8 + killer: 9 + - id: 7ab5c8e710cd + killer: 3 + - id: 7ac3e8e8bb5e + killer: 9 + - id: 7b9807d1f8c1 + killer: 22 + - id: 7c10e0c048f2 + killer: 28 + - id: 7c578bd94c5c + killer: 1 + - id: 7e76f6b4538c + killer: 14 + - id: 7eef9e79a1dd + killer: 9 + - id: 7f1f6210db5c + killer: 19 + - id: 80b3b0b15041 + killer: 9 + - id: 82c0b6ae465c + killer: 19 + - id: 84ac8b5d63d4 + killer: 14 + - id: 856add0c548d + killer: 16 + - id: 88e9bbeefc24 + killer: 14 + - id: 8a7705a9559b + killer: 14 + - id: 8acb12e99157 + killer: 18 + - id: 8efc5c51db86 + killer: 12 + - id: 91b6c1d4b034 + killer: 18 + - id: 92f5141adcf0 + killer: 1 + - id: 932d0d2fe69e + killer: 9 + - id: 93d01c0f2b5b + killer: 9 + - id: 941ac5e2592e + killer: 29 + - id: 948892d8f558 + killer: 29 + - id: 95102c64b369 + killer: 2 + - id: 96054b823ebb + killer: 23 + - id: 96762906aa2c + killer: 22 + - id: 96f4e4e835e5 + killer: 19 + - id: 979e567645ec + killer: 24 + - id: 97a7eb20b715 + killer: 18 + - id: 9893fe8d7bde + killer: 1 + - id: 99259d998f08 + killer: 19 + - id: 9a2caec99234 + killer: 19 + - id: 9a395737eaef + killer: 11 + - id: 9badb12a4192 + killer: 13 + - id: 9c0dd7b840d0 + killer: 26 + - id: 9c370fb7aaee + killer: 29 + - id: 9d309bf7ccc0 + killer: 14 + - id: 9d43c562c160 + killer: 19 + - id: 9d891dad5c32 + killer: 8 + - id: 9db3630962d8 + killer: 19 + - id: 9f316f23d2cc + killer: 29 + - id: a2a4a627a57e + killer: 14 + - id: a34f01b9489c + killer: 24 + - id: a4217d443fe0 + killer: 29 + - id: a695b736da8b + killer: 1 + - id: a6f48c9b5f71 + killer: 1 + - id: a880dcd87a8f + killer: 29 + - id: a90f174af87b + killer: 29 + - id: aa686b2741dd + killer: 17 + - id: abbf49af9537 + killer: 29 + - id: ac2d64c3759e + killer: 2 + - id: ad2f2f9dc651 + killer: 19 + - id: ae16a6d9f0c7 + killer: 23 + - id: ae7507e37e48 + killer: 18 + - id: af5df54c0c0d + killer: 11 + - id: b0c9b02679be + killer: 1 + - id: b141432e273c + killer: 1 + - id: b142571032f0 + killer: 9 + - id: b151365437bc + killer: 12 + - id: b174cda200b9 + killer: 29 + - id: b24e1bf73305 + killer: 24 + - id: b3ec017bc38b + killer: 14 + - id: b436877837d2 + killer: 1 + - id: b5a2fc35932c + killer: 10 + - id: b66c7ce29a26 + killer: 1 + - id: b7ee5c42a7b3 + killer: 3 + - id: b8a30d29b1ef + killer: 21 + - id: ba7be918992a + killer: 5 + - id: ba954ff315ba + killer: 9 + - id: baa91478cc30 + killer: 14 + - id: bb2ee10b8bca + killer: 18 + - id: bbe93a7dc256 + killer: 3 + - id: bc3e1cdff67a + killer: 14 + - id: be4b5edc69f4 + killer: 2 + - id: bf36e5b3b843 + killer: 29 + - id: bfe93b51a4c0 + killer: 3 + - id: c07f60234f51 + killer: 17 + - id: c0bfbc7ae08e + killer: 26 + - id: c0f4cb0db162 + killer: 9 + - id: c1dacb9ee3ca + killer: 24 + - id: c31283641874 + killer: 14 + - id: c3f8fff37710 + killer: 9 + - id: c4eac49990ad + killer: 13 + - id: c5cbbb05ecf3 + killer: 9 + - id: c7fddfa344d9 + killer: 18 + - id: c86ac9296aaf + killer: 21 + - id: c8d0aa848736 + killer: 22 + - id: c95193339551 + killer: 4 + - id: cad56e148996 + killer: 9 + - id: cae06a8fa1f9 + killer: 2 + - id: cbb9557e5a11 + killer: 9 + - id: cbcc56e02d9b + killer: 19 + - id: cbd3d23ed795 + killer: 18 + - id: cffcb4bb18ee + killer: 18 + - id: d10898babbbb + killer: 9 + - id: d26793172de7 + killer: 14 + - id: d31407ae30a6 + killer: 2 + - id: d50e80889a0a + killer: 13 + - id: d81d399c0fd9 + killer: 12 + - id: d863018e948a + killer: 25 + - id: d9c58850f632 + killer: 11 + - id: dde0b3a83b20 + killer: 8 + - id: de0f5b16475d + killer: 19 + - id: df1390d4efa1 + killer: 18 + - id: dfcc371c8074 + killer: 1 + - id: e02fc272fe14 + killer: 9 + - id: e3d687d576a4 + killer: 9 + - id: e4e0e5c484e1 + killer: 3 + - id: e56bd62a283b + killer: 14 + - id: e8c44166b1d5 + killer: 1 + - id: e94a81a6f058 + killer: 23 + - id: eb4344f57741 + killer: 11 + - id: ec56735f237b + killer: 18 + - id: ed928e95b737 + killer: 9 + - id: f03593322add + killer: 18 + - id: f0acb8b4303d + killer: 12 + - id: f1bb381d2065 + killer: 29 + - id: f464c61e8f87 + killer: 28 + - id: f859b39770d4 + killer: 9 + - id: fa5db04c6490 + killer: 29 + - id: fa9d9c1c8213 + killer: 9 + - id: fc66eecbf409 + killer: 18 + - id: fc6b34e4a5b8 + killer: 23 + - id: fd7c8b4d1801 + killer: 29 +- path: crates/cargo-gamma-lib/src/exec/cargo_options.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::the_build_discovery_is_given_carries_the_command_lines_profile_and_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::verification_keeps_the_configuration_generation_merged_before_the_edit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::discovery_refuses_inline_and_file_cargo_configuration_before_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_stopped_by_its_budget_reports_no_stdout + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::a_frozen_lockfile_is_treated_the_same_way + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::a_lockfile_promise_gamma_cannot_keep_becomes_the_half_it_can + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::a_multiplier_needs_a_first_round_to_scale_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::build_args_are_rendered_in_cargo_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::lockfile_promises_become_one_offline_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::nextest_args_use_its_cargo_profile_spelling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::the_tighter_of_the_two_wins + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 0763ef024e26 + killer: 9 + - id: 07719bf28735 + killer: 8 + - id: 0f574484f21d + killer: 11 + - id: 11880cd889b5 + killer: 3 + - id: 138a85dd2391 + killer: 10 + - id: 18a6ef39ecf6 + killer: 2 + - id: 1a498661af67 + killer: 2 + - id: 1e875c0cfb3b + killer: 2 + - id: 1f1ad74f695f + killer: 2 + - id: 24540b1d45a3 + killer: 7 + - id: 2cfe8f36de1a + killer: 9 + - id: 3612627c2c22 + killer: 2 + - id: 3d1dc63ff550 + killer: 4 + - id: 3f0b221f5135 + killer: 4 + - id: 4637baf0d909 + killer: 8 + - id: 5085bc94fdee + killer: 4 + - id: 5a074628c7e5 + killer: 8 + - id: 5b6803009225 + killer: 10 + - id: 62d5b0912a8d + killer: 9 + - id: 661c05b25db1 + killer: 7 + - id: 6b7aaf58e6b1 + killer: 4 + - id: 7189279cf95d + killer: 9 + - id: 7cbce0dbe0b4 + killer: 5 + - id: 7f28d1d4f43b + killer: 1 + - id: 8781c47bcc83 + killer: 11 + - id: 878dd8f344bc + killer: 8 + - id: 88ee71d96c55 + killer: 9 + - id: 8a6368f83c45 + killer: 7 + - id: 8bf923e60a71 + killer: 4 + - id: 8cb60104c7b2 + killer: 7 + - id: 9c5c53ba845f + killer: 4 + - id: 9cb3e1b98029 + killer: 2 + - id: a418ffbec11a + killer: 4 + - id: a4b1eb168ebb + killer: 4 + - id: b167906fd2b0 + killer: 4 + - id: b4eb02db3213 + killer: 6 + - id: ce54aa6c84c9 + killer: 4 + - id: d115c40c9619 + killer: 7 + - id: d48b2c6f38fc + killer: 5 + - id: d6961814ef21 + killer: 4 + - id: d8347f51e2ed + killer: 4 + - id: dda7baa75a4f + killer: 8 + - id: e157dc644e70 + killer: 2 + - id: e60784da0320 + killer: 1 + - id: eb007afb6304 + killer: 8 + - id: f0605eebe571 + killer: 4 + - id: fcedbe490820 + killer: 9 + - id: fcf3c98f6163 + killer: 0 + - id: ffd77f68bbe4 + killer: 9 +- path: crates/cargo-gamma-lib/src/exec/census.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_duplicated_site_within_one_sample_does_not_inflate_the_saturation_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_listing_is_narrowed_by_the_filters_the_user_gave + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_lone_seal_is_an_empty_reach_not_a_failure + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_malformed_group_keeps_other_positive_observations_as_hints_only + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_site_most_of_the_suite_reaches_is_not_worth_naming + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_site_reports_the_tests_that_reached_it_and_no_others + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_truncated_census_is_refused_rather_than_read_as_far_as_it_goes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::anything_after_the_seal_discards_the_census + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::census_must_cost_less_than_its_maximum_possible_savings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::census_read_errors_expose_io_causes_but_not_protocol_limits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::durable_reach_clusters_are_bounded_and_preserve_untouched_sites + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::durable_reach_clusters_discard_stale_and_unprofitable_records + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::durable_reach_clusters_intern_identical_test_sets + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::durable_reach_clusters_sort_by_normalized_site_before_occurrence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::estimate_uses_measured_tests_and_keeps_whole_and_uncovered_distinct + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::identical_reach_sets_are_interned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::inconsistent_subdivision_cannot_prove_absence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::listing_output_beyond_the_cap_is_not_authoritative + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::listing_reader_thread_failure_degrades_to_no_census + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::localized_modules_use_fewer_total_launches_than_whole_binary_and_per_case_plans + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::many_workers_reach_the_same_census_as_one_worker + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::partial_reach_is_only_a_checked_hint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::read_bounded_accepts_the_protocol_maximum_and_refuses_excess + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::scope_planning_prefers_module_hierarchy_and_falls_back_to_contiguous_chunks + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::subdivision_requires_a_clear_conservative_profit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::taking_a_census_skips_unlistable_binaries_and_work_that_cannot_repay + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::the_budget_keeps_completed_samples_as_hints_without_trusting_missing_ones + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::the_overflow_marker_discards_the_whole_census_even_when_it_is_sealed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::walked_counts_launches_that_happened_not_tests_that_were_listed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::persisted_reach_hints_are_bounded_by_half_the_binary_suite + mutants: + - id: 003240882427 + killer: 0 + - id: 0154049f2bb3 + killer: 9 + - id: 0159088231e1 + killer: 2 + - id: 01af9462c493 + killer: 28 + - id: 01f288025118 + killer: 2 + - id: 0265c354fcee + killer: 5 + - id: 0354c64c2fa0 + killer: 18 + - id: 05219b8f123a + killer: 10 + - id: 05953b2c83af + killer: 12 + - id: 05991855b03d + killer: 21 + - id: 05bd8be585e5 + killer: 16 + - id: 05d1c2510226 + killer: 5 + - id: 06dd3b49558c + killer: 1 + - id: 0788055af2f0 + killer: 19 + - id: 07fb951cf725 + killer: 2 + - id: 0a498ba674cc + killer: 1 + - id: 0a7455ea5ac2 + killer: 0 + - id: 0ab1406a696a + killer: 1 + - id: 0b67e41c38b2 + killer: 11 + - id: 0c2c02b00b2b + killer: 3 + - id: 0ef488ab0607 + killer: 3 + - id: 0f92728ac4c5 + killer: 0 + - id: 0ff9809b05e5 + killer: 1 + - id: 1184c036c35b + killer: 1 + - id: 13b56e9fd022 + killer: 21 + - id: 1484a2709d39 + killer: 21 + - id: 14924244b07f + killer: 14 + - id: 15835b805d5c + killer: 18 + - id: 15dff0a82411 + killer: 24 + - id: 162a0fc4a1f4 + killer: 18 + - id: 17e42d6a5575 + killer: 3 + - id: 18467dc4540a + killer: 2 + - id: 190369fe7f60 + killer: 16 + - id: 1b0436d5b3ba + killer: 17 + - id: 1c030dfd5b9d + killer: 18 + - id: 1c6377712ae6 + killer: 0 + - id: 1c871b8abfbf + killer: 10 + - id: 1dbfc6bc26ed + killer: 11 + - id: 1ee59f899d36 + killer: 19 + - id: 20cf31eb5a20 + killer: 0 + - id: 2186e4f2f795 + killer: 26 + - id: 21c4a3af26c3 + killer: 29 + - id: 228247f94b68 + killer: 4 + - id: 22ac6338af52 + killer: 5 + - id: 24a6bb11a095 + killer: 3 + - id: 24d11cd688ec + killer: 18 + - id: 26e9a8b3b0f0 + killer: 14 + - id: 272fcc8c2e0b + killer: 3 + - id: 27d9a752f9de + killer: 18 + - id: 28c8e6d8717b + killer: 26 + - id: 292b418469fc + killer: 18 + - id: 2b7fc0dbfa02 + killer: 24 + - id: 2ba823e2de5f + killer: 1 + - id: 2be7fcc75f71 + killer: 26 + - id: 2cac36b33b86 + killer: 5 + - id: 2dc9be451e37 + killer: 3 + - id: 2e357bc31158 + killer: 8 + - id: 2eee7d4aec5a + killer: 18 + - id: 2fb854783555 + killer: 1 + - id: 2ff895df0448 + killer: 18 + - id: 302d0939a189 + killer: 21 + - id: 310baea1e365 + killer: 11 + - id: 31a2027ee942 + killer: 18 + - id: 3221ddf8b61c + killer: 24 + - id: 32e3f5e0aa03 + killer: 24 + - id: 345111da2b75 + killer: 16 + - id: 34a4180d013d + killer: 12 + - id: 35bcf1beb399 + killer: 5 + - id: 3732f3213910 + killer: 5 + - id: 382c78e46690 + killer: 3 + - id: 38a2fb908b73 + killer: 6 + - id: 38c403ee1cc6 + killer: 4 + - id: 39ca53a39132 + killer: 23 + - id: 3a58afbbffc4 + killer: 16 + - id: 3c02aaaafe1e + killer: 12 + - id: 3c1c409712c0 + killer: 12 + - id: 3e5d679e5c84 + killer: 1 + - id: 3ea5e63302a5 + killer: 26 + - id: 400fb588955d + killer: 12 + - id: 40b79d474888 + killer: 5 + - id: 412d09239ec1 + killer: 2 + - id: 44bc23260d9b + killer: 21 + - id: 4611d646018c + killer: 19 + - id: 464d3dd0ed37 + killer: 1 + - id: 470d402eadb6 + killer: 18 + - id: 48bd0130ee35 + killer: 12 + - id: 49087a3c592a + killer: 24 + - id: 4b778c0a0d9b + killer: 0 + - id: 4cb95bccf7e4 + killer: 24 + - id: 4d3463c880eb + killer: 2 + - id: 4d8b8b345600 + killer: 0 + - id: 4e1068056b52 + killer: 1 + - id: 4fd488a22f4d + killer: 3 + - id: 50702e56179f + killer: 3 + - id: 51527c768d15 + killer: 26 + - id: 539cf552446b + killer: 3 + - id: 547c18b48eab + killer: 12 + - id: 54d922af4123 + killer: 18 + - id: 559562e1ad9b + killer: 4 + - id: 55964adca085 + killer: 2 + - id: 55eeb05ab1a8 + killer: 0 + - id: 566247cf7342 + killer: 13 + - id: 567c9c71598b + killer: 1 + - id: 57f6863f16d2 + killer: 5 + - id: 57f707bd12d4 + killer: 2 + - id: 583105a1f42d + killer: 0 + - id: 586db02cb908 + killer: 21 + - id: 59914501d53b + killer: 16 + - id: 5a05c508d0b4 + killer: 4 + - id: 5a6792fc6e89 + killer: 12 + - id: 5af55a2b7170 + killer: 13 + - id: 624137badc03 + killer: 18 + - id: 63b7ec3f9830 + killer: 1 + - id: 650cd2d19383 + killer: 3 + - id: 65aa3525ed41 + killer: 1 + - id: 66f12f96969f + killer: 1 + - id: 67af9feddbcd + killer: 0 + - id: 6a3b4fe1d052 + killer: 10 + - id: 6a65fc049204 + killer: 2 + - id: 6a8905e2cdb1 + killer: 18 + - id: 6ae10fbef41a + killer: 12 + - id: 6b51204a2737 + killer: 5 + - id: 6b97839b8149 + killer: 0 + - id: 6c5120231253 + killer: 3 + - id: 6c8cbf114101 + killer: 5 + - id: 6d086894cb66 + killer: 18 + - id: 6d8e78147cf9 + killer: 4 + - id: 6dcf772d7bb0 + killer: 26 + - id: 6e0b6b49da2f + killer: 4 + - id: 6e7d4be88ace + killer: 5 + - id: 6f8486cc77ec + killer: 18 + - id: 6fb2e8d14edb + killer: 0 + - id: 6fcf97eabeee + killer: 12 + - id: 70146f084229 + killer: 0 + - id: 701ed25c4a75 + killer: 1 + - id: 704d3b9a01f1 + killer: 3 + - id: 71679a0f368d + killer: 21 + - id: 73e67a2fce95 + killer: 2 + - id: 745c316300bc + killer: 0 + - id: 74cff6cc4a6b + killer: 3 + - id: 760fe8b5d7ba + killer: 26 + - id: 768a217eb3f0 + killer: 24 + - id: 76c642d516ba + killer: 3 + - id: 77dc9de0e64e + killer: 2 + - id: 77ebd0b22cac + killer: 19 + - id: 783b7d170d8d + killer: 18 + - id: 7b06788bfab6 + killer: 18 + - id: 7b069f96a536 + killer: 0 + - id: 7b34a3f8f520 + killer: 0 + - id: 7c1de703e25d + killer: 0 + - id: 7d6527743cb9 + killer: 2 + - id: 7ebd816bf1f3 + killer: 25 + - id: 7f3558b58830 + killer: 1 + - id: 7f486a697f93 + killer: 21 + - id: 81b083d6debb + killer: 2 + - id: 828dc70a3b82 + killer: 16 + - id: 834be1cf7977 + killer: 1 + - id: 83794b92a9c1 + killer: 3 + - id: 8379e5f9308a + killer: 18 + - id: 838ded197558 + killer: 28 + - id: 8420615b47ec + killer: 0 + - id: 8461f915b5fc + killer: 12 + - id: 84fee76ef83e + killer: 26 + - id: 858bf6a30ec6 + killer: 2 + - id: 86578b86bb38 + killer: 18 + - id: 867f59bcd7f6 + killer: 1 + - id: 86bc4905c18e + killer: 5 + - id: 888020444ea5 + killer: 23 + - id: 88e82a92af4c + killer: 12 + - id: 89143a5fdba5 + killer: 18 + - id: 8b88ec4a45c9 + killer: 0 + - id: 8ba9d73e34c2 + killer: 16 + - id: 8bdee66fcb4f + killer: 3 + - id: 8bf3b1443a5b + killer: 0 + - id: 8c1e112cabb0 + killer: 1 + - id: 8c597f99a637 + killer: 0 + - id: 8e82f0f7b353 + killer: 1 + - id: 8e8e427d4298 + killer: 0 + - id: 8eb7679701e6 + killer: 4 + - id: 8f0ae62f6342 + killer: 5 + - id: 8fc13a5a2533 + killer: 4 + - id: 8fe5475e42a7 + killer: 20 + - id: 9042ddf9a512 + killer: 2 + - id: 9085a1cc8268 + killer: 26 + - id: 90ca0218d89a + killer: 19 + - id: 90d35d533000 + killer: 1 + - id: 9196e03c5400 + killer: 0 + - id: 924b80577344 + killer: 12 + - id: 9286e9ff6342 + killer: 2 + - id: 93540d4d6540 + killer: 4 + - id: 945ebe3b18cd + killer: 18 + - id: 99f0c86c7888 + killer: 26 + - id: 99f2be0f7c09 + killer: 18 + - id: 9ac2512545c4 + killer: 16 + - id: 9ae6be2456fa + killer: 20 + - id: 9f65d5fffd18 + killer: 18 + - id: 9f8c86134d51 + killer: 1 + - id: 9fb8c417ddc6 + killer: 2 + - id: 9fe24e39ffa8 + killer: 18 + - id: 9fee22ab3977 + killer: 26 + - id: a271160c7124 + killer: 22 + - id: a2882f475f4d + killer: 27 + - id: a46a5e4ce48b + killer: 0 + - id: a56dbf453702 + killer: 26 + - id: a5ff26961c48 + killer: 2 + - id: a61f1633bfe7 + killer: 26 + - id: a648fc85f960 + killer: 4 + - id: a695979bc935 + killer: 4 + - id: a6d879ce9bea + killer: 0 + - id: a72f7e703b86 + killer: 16 + - id: a85bacb8486d + killer: 26 + - id: a9eddc744048 + killer: 16 + - id: ab2fe1b4191c + killer: 13 + - id: abbfa6a2a08d + killer: 9 + - id: ad27c611d7dc + killer: 12 + - id: ae7c1b453a55 + killer: 12 + - id: afbf87f4a255 + killer: 25 + - id: b073e0200759 + killer: 3 + - id: b12d3239e00c + killer: 5 + - id: b2e6399ceb74 + killer: 18 + - id: b60c18efe48f + killer: 0 + - id: b6348421d6b6 + killer: 25 + - id: b641ee17a156 + killer: 4 + - id: b776fb0a9ca6 + killer: 3 + - id: b7f1133d5fef + killer: 22 + - id: b80db6185317 + killer: 1 + - id: bb641b620dcd + killer: 4 + - id: bbb66e6f1cd3 + killer: 0 + - id: bd34b6a2fec2 + killer: 24 + - id: bea2e73e1858 + killer: 16 + - id: c000607d99aa + killer: 5 + - id: c09c65b0d5cc + killer: 7 + - id: c113a41afaa8 + killer: 2 + - id: c172e14a0992 + killer: 12 + - id: c1f894fd45ca + killer: 18 + - id: c27b2a3d14c3 + killer: 18 + - id: c32714658dac + killer: 0 + - id: c32c9feb0c2f + killer: 22 + - id: c3e195f39a1e + killer: 28 + - id: c4a25aebda65 + killer: 0 + - id: c4b5e9ddb6ca + killer: 1 + - id: c4cecc3be4be + killer: 24 + - id: c62c5c5a243c + killer: 3 + - id: c7188f27287d + killer: 14 + - id: ca4fbcb4d808 + killer: 0 + - id: cb9993e03e54 + killer: 1 + - id: cc059a85d23b + killer: 3 + - id: cee6ce7f5b70 + killer: 1 + - id: cff53bd7cc6e + killer: 21 + - id: d136143c8b2f + killer: 16 + - id: d1f666ee7819 + killer: 2 + - id: d23b33e4c5c0 + killer: 3 + - id: d287b1b1a7d9 + killer: 12 + - id: d2ddc5631f0b + killer: 12 + - id: d4db98077e22 + killer: 1 + - id: d589338c756a + killer: 18 + - id: d71d5611c2bc + killer: 1 + - id: d73854b9f485 + killer: 21 + - id: d7da62194b3b + killer: 1 + - id: d80e9ef03017 + killer: 21 + - id: d94e7891cede + killer: 12 + - id: d95ffe232e4d + killer: 18 + - id: d9e0372d1883 + killer: 5 + - id: da57835866a0 + killer: 0 + - id: da7e20253c80 + killer: 26 + - id: daa39231083a + killer: 10 + - id: dab6ea7653c8 + killer: 25 + - id: ddba64ec3aba + killer: 3 + - id: ddc376254acc + killer: 4 + - id: de1fc4bc19b9 + killer: 2 + - id: e11b327891c9 + killer: 30 + - id: e18814f66179 + killer: 19 + - id: e1f48722fdcc + killer: 18 + - id: e3a9b5fe6aea + killer: 3 + - id: e46231b345d9 + killer: 0 + - id: e4e72c8d5045 + killer: 1 + - id: e555cdbb6812 + killer: 2 + - id: e59a03fe0fe9 + killer: 0 + - id: e5c5afcf5e1f + killer: 27 + - id: e5fa644e539e + killer: 24 + - id: e6787b03144a + killer: 14 + - id: e74694c192d7 + killer: 31 + - id: e9f841dcf7af + killer: 15 + - id: ea659711c364 + killer: 26 + - id: ec789cd6a2e6 + killer: 3 + - id: f0fb65740e97 + killer: 26 + - id: f1bbce58a510 + killer: 3 + - id: f1cd3c9a0e50 + killer: 5 + - id: f24e053a3019 + killer: 22 + - id: f2f986940a98 + killer: 12 + - id: f305b5ad8b00 + killer: 25 + - id: f3209e1b3071 + killer: 12 + - id: f34b8a4b131f + killer: 12 + - id: f3510d34a00a + killer: 12 + - id: f47311686c64 + killer: 25 + - id: f5af5fcd5895 + killer: 22 + - id: f5d563470e16 + killer: 12 + - id: f65888604ca2 + killer: 18 + - id: f684dd1dd5a8 + killer: 27 + - id: f6b6c709c155 + killer: 10 + - id: f72706e4b32a + killer: 21 + - id: f7c53e44d302 + killer: 0 + - id: f86af9e567f6 + killer: 29 + - id: f8d1f0831f16 + killer: 4 + - id: f9f03b06ca89 + killer: 1 + - id: fb18912f4c2f + killer: 5 + - id: fbdcfbc00b8b + killer: 10 + - id: fc7583835d9f + killer: 4 + - id: fdb82448300e + killer: 0 + - id: ff66e5356b3c + killer: 5 +- path: crates/cargo-gamma-lib/src/exec/config.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_censused_run_records_the_census_phase_in_its_bundle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::every_run_setting_reaches_its_execution_config_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::config::tests::the_default_timeout_never_falls_below_the_floor + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_compile_fail_target_outside_the_oracle_is_not_warned_about + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_suite_that_never_goes_quiet_gets_the_stall_floor_rather_than_zero + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::array_rustflags_from_workspace_config_reach_scratch_cargo_once + mutants: + - id: 157863c09818 + killer: 4 + - id: 18ff00a01916 + killer: 1 + - id: 474e29f73674 + killer: 4 + - id: 633fe92cff75 + killer: 5 + - id: 66de040bcf6b + killer: 4 + - id: 6867c5d45514 + killer: 4 + - id: 6e627ecc3b49 + killer: 2 + - id: 7edda58115b9 + killer: 0 + - id: 82b58cf0abbe + killer: 1 + - id: 8b07d71153a6 + killer: 4 + - id: c3dc56156d24 + killer: 3 + - id: f50cb7f46313 + killer: 1 + - id: f593a77827b1 + killer: 4 +- path: crates/cargo-gamma-lib/src/exec/copy.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_destination_entry_that_cannot_be_replaced_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_directory_that_is_not_a_repository_is_copied_whole + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_files_missing_parent_is_created_on_demand + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_missing_source_tree_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_nested_target_module_survives + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_relative_directory_symlink_is_recreated_as_a_directory_link + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_tracked_file_is_copied_even_when_an_ignore_rule_matches_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_tracked_file_under_a_pruned_directory_is_still_skipped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::an_untracked_ignored_file_is_not_copied + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::asking_a_non_repository_for_its_tracked_files_yields_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::build_output_and_version_control_are_skipped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::pruning_an_entry_without_a_file_name_is_not_a_match + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::reflink_capability_is_scoped_to_one_operation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::array_rustflags_from_workspace_config_reach_scratch_cargo_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::git_directories_and_pointer_files_are_exposed_to_the_scratch_tree + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 04700f9f8091 + killer: 16 + - id: 065b5c48edad + killer: 7 + - id: 0717f9c4f2ea + killer: 7 + - id: 072ea1166acc + killer: 7 + - id: 092e14bdeeac + killer: 8 + - id: 0c4a34b0a313 + killer: 15 + - id: 0d65e30aed66 + killer: 16 + - id: 0f2246b0bd1d + killer: 16 + - id: 1891896d08ec + killer: 16 + - id: 1aa621a19461 + killer: 15 + - id: 1b39a5fbca42 + killer: 6 + - id: 1b9434cb3853 + killer: 7 + - id: 1f2578fe58a3 + killer: 16 + - id: 21c531e95de5 + killer: 5 + - id: 2227b8419c94 + killer: 8 + - id: 22430ed49001 + killer: 9 + - id: 243aefc2eb18 + killer: 10 + - id: 24a809d69efd + killer: 4 + - id: 282eec674e74 + killer: 0 + - id: 285521187a07 + killer: 16 + - id: 29b3fec69ddf + killer: 1 + - id: 2b59a3da8d61 + killer: 7 + - id: 2d9a52cb4e44 + killer: 7 + - id: 36f4aea569e3 + killer: 6 + - id: 38098441558e + killer: 13 + - id: 3cd003c0a775 + killer: 16 + - id: 3db7f131521e + killer: 16 + - id: 3eeff4fbf677 + killer: 11 + - id: 40293958932a + killer: 7 + - id: 42342acd62c1 + killer: 5 + - id: 4363be54280e + killer: 16 + - id: 50f59ed66a91 + killer: 14 + - id: 51db79467743 + killer: 16 + - id: 54297fc6f645 + killer: 16 + - id: 542b8367285a + killer: 5 + - id: 54caffa47c9e + killer: 8 + - id: 58ded3380fc5 + killer: 7 + - id: 5a9711e58fd9 + killer: 16 + - id: 5bb13b1c441e + killer: 13 + - id: 5c3951aa47fb + killer: 16 + - id: 65186e5a1bc9 + killer: 11 + - id: 6eeb167e1e2f + killer: 16 + - id: 70e8dd0eb0dd + killer: 7 + - id: 7256fbde2217 + killer: 13 + - id: 72956da41cc1 + killer: 7 + - id: 72b255ad30cf + killer: 7 + - id: 78dcb6041061 + killer: 7 + - id: 79ce42a2d3c2 + killer: 7 + - id: 7adb8486a6d5 + killer: 16 + - id: 7cb4c160557d + killer: 13 + - id: 865736a6dc48 + killer: 7 + - id: 8752d288a5b0 + killer: 16 + - id: 89784286a603 + killer: 7 + - id: 8afabcfedebb + killer: 3 + - id: 8e27e23a7998 + killer: 16 + - id: 902231ebebe8 + killer: 7 + - id: 9023df695d47 + killer: 5 + - id: 93badcd7ffab + killer: 2 + - id: 98e00b34be01 + killer: 16 + - id: 9c8c7f276f76 + killer: 7 + - id: 9cc26f38816d + killer: 16 + - id: 9d591f3bcd88 + killer: 7 + - id: 9dd4bd9bf822 + killer: 16 + - id: a25c3dc38e31 + killer: 7 + - id: a2bfe3e66b67 + killer: 16 + - id: a4fe2c390062 + killer: 8 + - id: a5208ccb86a4 + killer: 16 + - id: ab130399e721 + killer: 1 + - id: b4101793d3fa + killer: 7 + - id: b4c99f02c0dc + killer: 16 + - id: b6677432b99a + killer: 7 + - id: b68815e60685 + killer: 8 + - id: b80cf62d0052 + killer: 7 + - id: b8bd72108f1f + killer: 1 + - id: bbdc784aa034 + killer: 7 + - id: bfe411c3f6ff + killer: 16 + - id: c1c8cf7819fe + killer: 16 + - id: c3a7576ed75b + killer: 8 + - id: c5315e46bc9a + killer: 6 + - id: c66abd7ea627 + killer: 7 + - id: c6f3b1fc6f11 + killer: 12 + - id: c896506e0de6 + killer: 7 + - id: ca1fa1af68c0 + killer: 7 + - id: cfe340fa330e + killer: 1 + - id: d2f97bc54308 + killer: 6 + - id: d373e987d76c + killer: 7 + - id: d6e4b4025b6d + killer: 13 + - id: da4c94654f89 + killer: 13 + - id: da886fb07cf5 + killer: 16 + - id: dd126b3cd823 + killer: 7 + - id: e092af1e42b9 + killer: 13 + - id: e0ad99f4717a + killer: 1 + - id: e19f741a2d02 + killer: 16 + - id: e1edba6f0d64 + killer: 16 + - id: e3c4f8907cb8 + killer: 1 + - id: ea315dee213f + killer: 16 + - id: edd1281286df + killer: 5 + - id: ede7b126a51f + killer: 1 + - id: f58d94275519 + killer: 7 + - id: f77a061de7af + killer: 5 + - id: fc2fd9c361a2 + killer: 7 +- path: crates/cargo-gamma-lib/src/exec/events.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::events::tests::default_event_methods_are_expressed_in_terms_of_phase_and_outcome + mutants: + - id: 02b39a6d8e94 + killer: 0 + - id: 0f4f61fafab9 + killer: 0 + - id: 18abfb15c65f + killer: 0 + - id: 567679fc038d + killer: 0 + - id: 70eca9e4d2a9 + killer: 0 + - id: 8972a6349de4 + killer: 0 + - id: b7dccec669e2 + killer: 0 + - id: ea5055450d4d + killer: 0 + - id: fc98cf17e412 + killer: 0 +- path: crates/cargo-gamma-lib/src/exec/harness_filters.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_listing_is_narrowed_by_the_filters_the_user_gave + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::a_listing_drops_only_the_format_the_user_asked_for + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::an_option_value_is_not_mistaken_for_a_filter + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::several_filters_are_matched_with_or_exactly_as_libtest_does + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::the_joined_spelling_of_a_format_is_dropped_from_a_listing_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::the_users_exact_flag_makes_their_filters_whole_name_matches + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 007dcf6b1c06 + killer: 2 + - id: 06186e5cb662 + killer: 3 + - id: 09851a83cc5d + killer: 3 + - id: 0bf0bd482456 + killer: 1 + - id: 0fee63df5f7c + killer: 2 + - id: 12783000e795 + killer: 2 + - id: 186cf6f0b238 + killer: 8 + - id: 1a6055cab8f0 + killer: 2 + - id: 1b51cf3a0c96 + killer: 2 + - id: 200c2c90af36 + killer: 3 + - id: 217253648cb5 + killer: 4 + - id: 267678c8d4a1 + killer: 7 + - id: 29cbcd63ab71 + killer: 2 + - id: 2bcf2a344579 + killer: 5 + - id: 2c17086661e9 + killer: 3 + - id: 3704d9c6cc8e + killer: 2 + - id: 37b3f8e04526 + killer: 4 + - id: 3dc66ca21c6d + killer: 3 + - id: 4037df559ef9 + killer: 2 + - id: 4406c4ba64e7 + killer: 7 + - id: 4d015fa07447 + killer: 3 + - id: 5a71aaa5656d + killer: 4 + - id: 5e0cff6e12c2 + killer: 2 + - id: 5f94ddee16fb + killer: 3 + - id: 678cde6eb66e + killer: 4 + - id: 68f9b9f9d5ec + killer: 4 + - id: 6e775db00d83 + killer: 0 + - id: 7007cfc9fc9f + killer: 3 + - id: 7700efa6b67f + killer: 7 + - id: 77ab54548a21 + killer: 2 + - id: 7a94ec87b24e + killer: 2 + - id: 7bb55f6075f4 + killer: 2 + - id: 7edd6956ca8a + killer: 6 + - id: 7f8d45119b62 + killer: 4 + - id: 802c5788e402 + killer: 2 + - id: 8040badc77a7 + killer: 3 + - id: 833ec5378890 + killer: 3 + - id: 88793f56b9fe + killer: 3 + - id: 8f3128cd51bf + killer: 3 + - id: 92ad55d89393 + killer: 2 + - id: 98f630b38a92 + killer: 3 + - id: 9c32dc6ec19e + killer: 3 + - id: 9e764cab01a1 + killer: 8 + - id: a65100fc6621 + killer: 3 + - id: ab1b93df77fe + killer: 3 + - id: aca8cde0412b + killer: 2 + - id: b0ada3d37d74 + killer: 3 + - id: b2b79bf548b7 + killer: 2 + - id: b4814d74543a + killer: 4 + - id: b6754123496b + killer: 3 + - id: b78861e1bc79 + killer: 8 + - id: ba86aa7a35b0 + killer: 7 + - id: baf447665585 + killer: 7 + - id: bc6a037bfb7b + killer: 2 + - id: bfc7cf8aecb8 + killer: 3 + - id: c04bea496166 + killer: 3 + - id: c86e70b2e11f + killer: 2 + - id: d801d8bbfab8 + killer: 3 + - id: d8c71c5e87b5 + killer: 4 + - id: dd2ceda9a7b8 + killer: 7 + - id: ea44748f1343 + killer: 3 + - id: ed40d95262aa + killer: 3 + - id: f03252ab72c3 + killer: 2 + - id: f110208e21d4 + killer: 6 + - id: f39de1d43f65 + killer: 3 + - id: f46483e01b9d + killer: 3 + - id: f4c6b9461a23 + killer: 4 + - id: f9f585b60bd8 + killer: 7 + - id: fad9fe9beb11 + killer: 8 + - id: fd466909249c + killer: 3 + - id: fe98215f0fdc + killer: 8 +- path: crates/cargo-gamma-lib/src/exec/killers.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::killers::tests::a_map_round_trips_through_the_record + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::killers::tests::forgetting_a_mutant_drops_its_hint + mutants: + - id: 2d5999dbdf8b + killer: 1 + - id: 358f2df5f7c9 + killer: 1 + - id: 654f3ebc721c + killer: 0 + - id: 6613c5fd75b8 + killer: 1 + - id: 80f663feb6d9 + killer: 1 + - id: 83192a4b679c + killer: 2 + - id: ea586e7edf9d + killer: 1 + - id: ee6869108bba + killer: 1 +- path: crates/cargo-gamma-lib/src/exec/loader.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::loader::tests::a_caller_with_no_search_path_gets_only_the_toolchain_directories + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::loader::tests::an_empty_library_list_does_not_set_a_loader_path + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::loader::tests::stack_floor_keeps_a_larger_inherited_size + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::loader::tests::the_target_deps_directory_is_always_on_the_toolchain_library_path + mutants: + - id: 06dea69fd89f + killer: 0 + - id: 122ad615d7f8 + killer: 2 + - id: 4b68d0df3176 + killer: 2 + - id: 7efe761f2012 + killer: 2 + - id: 80d7c0b9214c + killer: 2 + - id: a50b600e4826 + killer: 0 + - id: a59418b8bf5b + killer: 1 + - id: b0a3d4d69f5c + killer: 2 + - id: c002c93d8773 + killer: 0 + - id: c4e2078c247b + killer: 1 + - id: d59efd0d4658 + killer: 3 + - id: e9581728f8ea + killer: 3 +- path: crates/cargo-gamma-lib/src/exec/manifest.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_canonical_workspace_runtime_remains_available_to_inheriting_dependencies + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_cargo_config_path_override_is_anchored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_cargo_config_with_no_rustflags_gains_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_dependency_written_as_a_bare_version_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_direct_dependency_does_not_acquire_unrelated_workspace_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_leading_current_directory_component_does_not_change_whether_a_path_escapes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_legacy_cargo_config_name_is_anchored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_patch_entry_that_is_not_a_table_does_not_stop_the_next_registry_from_being_anchored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_path_leaving_the_copied_tree_is_anchored_even_from_a_nested_package + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_rustflags_value_that_is_neither_an_array_nor_a_string_is_replaced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_scalar_build_configuration_is_reported_without_panicking + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_sibling_inside_the_copied_tree_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_target_entry_that_is_not_a_table_does_not_stop_the_cap_from_landing_elsewhere + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_tree_with_no_cargo_config_gets_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_workspace_declared_default_features_false_survives_a_bare_workspace_true_inheritance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::an_existing_runtime_dependency_is_replaced_by_the_vendored_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::an_existing_runtime_is_redirected_before_its_package_is_instrumented + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::an_unrelated_dependency_cannot_occupy_the_runtime_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::an_unrelated_workspace_dependency_cannot_occupy_the_runtime_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::combined_workspace_and_member_features_survive_being_linked_to_the_vendored_runtime + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::every_kind_of_dependency_table_is_covered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::no_feature_settings_from_any_source_produce_the_existing_output + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::normalization_keeps_leading_parent_components + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::target_specific_features_survive_being_linked_to_the_vendored_runtime + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::target_specific_workspace_true_inherits_only_its_own_key + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::the_legacy_cargo_config_name_gains_the_cap_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::the_lint_cap_is_added_to_configured_rustflags_rather_than_replacing_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::workspace_dependency_features_survive_being_redirected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::array_rustflags_from_workspace_config_reach_scratch_cargo_once + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + mutants: + - id: 0025f326cc5f + killer: 12 + - id: 09625466fbe6 + killer: 30 + - id: 0a40c8efa1b9 + killer: 26 + - id: 0b6b9e9d9ae4 + killer: 32 + - id: 0bb532e1870b + killer: 2 + - id: 0c2de6141435 + killer: 5 + - id: 0cdfd1b044e9 + killer: 27 + - id: 0ce7cdd2ae24 + killer: 2 + - id: 0dc136cb1ce4 + killer: 30 + - id: 0f0424ceef79 + killer: 3 + - id: 0feac2ad0a5c + killer: 26 + - id: 115593eaa7b2 + killer: 31 + - id: 12136f917754 + killer: 1 + - id: 13ac81107924 + killer: 30 + - id: 140f421866f9 + killer: 18 + - id: 15d855611cc2 + killer: 21 + - id: 164964cbd49d + killer: 3 + - id: 16eb09a80a2e + killer: 3 + - id: 17972302a17a + killer: 4 + - id: 17bf8c9c9f38 + killer: 2 + - id: 19b95119649d + killer: 21 + - id: 19f448be6623 + killer: 30 + - id: 1ae1e0e11af0 + killer: 3 + - id: 1c5a63c7e7ea + killer: 7 + - id: 1c8f4a83bde8 + killer: 4 + - id: 1e70236804e9 + killer: 27 + - id: 1f524cd8f3c8 + killer: 0 + - id: 201e3f4067c2 + killer: 2 + - id: 206848f037d0 + killer: 30 + - id: 222f741f0ed4 + killer: 2 + - id: 2278b48dee4f + killer: 2 + - id: 22a2e179a0c7 + killer: 3 + - id: 2361e1463707 + killer: 3 + - id: 25b080c51739 + killer: 3 + - id: 277a66494aeb + killer: 27 + - id: 2786642df07a + killer: 31 + - id: 27fe64bf30da + killer: 9 + - id: '284073488759' + killer: 2 + - id: 2910fdb81eaf + killer: 29 + - id: 2b2a8540b701 + killer: 16 + - id: 2b91f50b5b00 + killer: 18 + - id: 2c182e6ddb19 + killer: 12 + - id: 2e95583da077 + killer: 15 + - id: 2f4f2b7cd922 + killer: 3 + - id: 30a12316d86e + killer: 32 + - id: 32a53d51b82c + killer: 2 + - id: 3305fa62df6a + killer: 12 + - id: 331523d44ff4 + killer: 21 + - id: 3343b6f72125 + killer: 30 + - id: 3599ccefe062 + killer: 10 + - id: 380ce58d6e17 + killer: 24 + - id: 394eea010aa5 + killer: 20 + - id: 3c278d347c47 + killer: 31 + - id: 3cca58b8646a + killer: 0 + - id: 3cf7fe5567be + killer: 27 + - id: 3dd562809734 + killer: 18 + - id: 3df66c5169b8 + killer: 3 + - id: 3e480594a0d5 + killer: 15 + - id: 3f120f152ea8 + killer: 30 + - id: 3fe919d612a5 + killer: 27 + - id: 407a424b67e8 + killer: 30 + - id: 41068861acdf + killer: 22 + - id: 417d1d0fb189 + killer: 32 + - id: 41e906570bfc + killer: 1 + - id: 45c77d60a7fa + killer: 2 + - id: 46b0f016aa2f + killer: 31 + - id: 46f56029980c + killer: 21 + - id: 492e7724406c + killer: 2 + - id: 4995af1fc660 + killer: 2 + - id: 4ae5a742463d + killer: 4 + - id: 4af3134101c1 + killer: 27 + - id: 4b19398691ce + killer: 31 + - id: 4dbf0cdcc8f5 + killer: 30 + - id: 4e25f8d3c80e + killer: 15 + - id: 4f06de951046 + killer: 32 + - id: 4f646d58b21d + killer: 16 + - id: 4f871bd829d4 + killer: 10 + - id: 4fb1ac7a4ef2 + killer: 24 + - id: 5042bdf89621 + killer: 30 + - id: 528b977c7e80 + killer: 21 + - id: 535725d47021 + killer: 12 + - id: 539391dd39e7 + killer: 15 + - id: 542e52de0053 + killer: 23 + - id: 55ddc9d2f8d7 + killer: 30 + - id: 569a644efc61 + killer: 3 + - id: 571170afa184 + killer: 24 + - id: 580b0e691380 + killer: 32 + - id: 5a1cea58b24a + killer: 12 + - id: 5b038093927b + killer: 12 + - id: 5b934cf1631e + killer: 32 + - id: 5bb924b08fcc + killer: 2 + - id: 5e75e2b0e9ad + killer: 32 + - id: 5ec20ced25ef + killer: 30 + - id: 5f04f04b724d + killer: 31 + - id: 60e29e8b27b7 + killer: 2 + - id: 6139f974ebe3 + killer: 1 + - id: 632953e9c5ab + killer: 31 + - id: 643c4e5604ac + killer: 8 + - id: 65aa670d5c44 + killer: 27 + - id: 6738f41a2982 + killer: 22 + - id: 67861586fe90 + killer: 31 + - id: 683966b1e52f + killer: 1 + - id: 693e61f825c0 + killer: 24 + - id: 6a0ab6a60e35 + killer: 31 + - id: 6c7137a57170 + killer: 26 + - id: 6e1ea9636da5 + killer: 12 + - id: 6e55581f57c0 + killer: 10 + - id: 6f211a526197 + killer: 20 + - id: 705dd8db8b28 + killer: 24 + - id: 7089033b1521 + killer: 32 + - id: 7212adbb00f6 + killer: 2 + - id: 73d31d7267f1 + killer: 10 + - id: 742b8287ab4a + killer: 2 + - id: 74dc2cbd3f4c + killer: 21 + - id: 751d782d8d8b + killer: 17 + - id: 752fdbeeb7fa + killer: 30 + - id: 75b67023b74d + killer: 28 + - id: 7669c6e3a875 + killer: 32 + - id: 76708b52ef61 + killer: 31 + - id: 7803cc14747e + killer: 30 + - id: 78c7890653c1 + killer: 10 + - id: 7939b795b355 + killer: 31 + - id: 799327ed3c2e + killer: 31 + - id: 7d5ce1a22166 + killer: 30 + - id: 7fee9d325c2f + killer: 20 + - id: 8031e9b7feb1 + killer: 4 + - id: 81151ee482c4 + killer: 25 + - id: 81b9c66252ad + killer: 1 + - id: 82026f6a6ed2 + killer: 1 + - id: 8453c8bb93f5 + killer: 8 + - id: 84c0912de3f5 + killer: 26 + - id: 8611a1131ff8 + killer: 32 + - id: 87ec6ee9e7b9 + killer: 30 + - id: 880024d11837 + killer: 5 + - id: 896a27368007 + killer: 11 + - id: 8bca03838e86 + killer: 2 + - id: 8c9f0b664c6f + killer: 2 + - id: 903670595ef2 + killer: 30 + - id: 9069f52cbd60 + killer: 26 + - id: 91778ec48b08 + killer: 23 + - id: 92f47ac65b47 + killer: 6 + - id: 93c9fd0e474f + killer: 2 + - id: 950dd969d825 + killer: 21 + - id: 9522588b7f80 + killer: 2 + - id: 95a4d4ee1211 + killer: 27 + - id: 97a77fc4f3a6 + killer: 2 + - id: 98845926f8b0 + killer: 31 + - id: 98eae63d2a90 + killer: 30 + - id: 9bd2bd765a74 + killer: 32 + - id: 9cd9b4d8863d + killer: 1 + - id: 9dd1b0716b11 + killer: 2 + - id: 9dfb722f6fd2 + killer: 2 + - id: 9f1fb673d58a + killer: 2 + - id: 9fb387ff9520 + killer: 1 + - id: 9ff0a69d410a + killer: 2 + - id: a04f27e2e5bd + killer: 31 + - id: a1bb4a496cbe + killer: 30 + - id: a237a6f3d7cd + killer: 14 + - id: a240219ca15a + killer: 7 + - id: a2c6d8f9ae31 + killer: 32 + - id: a2ccc17a8409 + killer: 2 + - id: a2ebe4ff4e14 + killer: 5 + - id: a381208e8461 + killer: 21 + - id: a49059dcccd3 + killer: 27 + - id: a5097c04313d + killer: 2 + - id: a9ce67b973bb + killer: 30 + - id: aafda0337050 + killer: 8 + - id: ab27401f3295 + killer: 30 + - id: abec28da6de6 + killer: 0 + - id: ac9f53bc9045 + killer: 31 + - id: accd78a9395b + killer: 12 + - id: ae1209386a9e + killer: 2 + - id: ae5885c242c8 + killer: 8 + - id: ae8ce3b854a6 + killer: 30 + - id: aee437f64ccb + killer: 31 + - id: b1bc1ae2c172 + killer: 12 + - id: b1dbfcaf6e55 + killer: 32 + - id: b2b1e560b287 + killer: 13 + - id: b382411d6bf3 + killer: 1 + - id: b56c4d8000d4 + killer: 30 + - id: b6cb8140ea46 + killer: 8 + - id: b9fa88912dd0 + killer: 27 + - id: bba63aca905c + killer: 31 + - id: bc3c92a2f4b8 + killer: 30 + - id: bcd14b041ddc + killer: 32 + - id: bd75a88bf757 + killer: 30 + - id: becfca9da289 + killer: 30 + - id: bf713daa343c + killer: 30 + - id: c18efeb63824 + killer: 1 + - id: c2a14734493a + killer: 27 + - id: c2db8c80b832 + killer: 18 + - id: c4e8c03ca030 + killer: 2 + - id: c59615f1521f + killer: 2 + - id: c671668d1d28 + killer: 0 + - id: c67e47b5fa0e + killer: 31 + - id: c89cd318b09c + killer: 19 + - id: ca73e14593f5 + killer: 20 + - id: cccddff9977e + killer: 2 + - id: ccebfe3a150d + killer: 2 + - id: cf62580ad319 + killer: 3 + - id: d47c873e93f6 + killer: 13 + - id: d558b36608f9 + killer: 1 + - id: d659a9172e90 + killer: 32 + - id: d69a78d3fab9 + killer: 23 + - id: d9b4bcc98b32 + killer: 27 + - id: d9cf0cb9f587 + killer: 2 + - id: db7b288e2fde + killer: 30 + - id: dce2d51c8086 + killer: 13 + - id: de3c45ac1310 + killer: 32 + - id: def1884ee01e + killer: 31 + - id: e1b16d58a374 + killer: 24 + - id: e20a3c43ec44 + killer: 2 + - id: e246c66a7978 + killer: 26 + - id: e24bb04ba218 + killer: 31 + - id: e30732aa2901 + killer: 7 + - id: e330acb73ec5 + killer: 2 + - id: e3ab16a0f25d + killer: 31 + - id: e3b995ecb54e + killer: 32 + - id: e444939157e4 + killer: 17 + - id: e5624d6158df + killer: 31 + - id: e5dda7ae13af + killer: 30 + - id: e5e3c9062d45 + killer: 30 + - id: e6b59ece014f + killer: 16 + - id: e7921ad4fe5c + killer: 1 + - id: e7a720601ed3 + killer: 32 + - id: e7a897a4da25 + killer: 1 + - id: e875b3a07dda + killer: 32 + - id: e94464dad8ce + killer: 2 + - id: ea103ffc8b76 + killer: 2 + - id: eb24eef9ba17 + killer: 2 + - id: eb678c0a299e + killer: 32 + - id: eea3cd144671 + killer: 31 + - id: eff0efb88e64 + killer: 31 + - id: f0b8af816b55 + killer: 20 + - id: f0b8e28bf768 + killer: 32 + - id: f13345809f28 + killer: 19 + - id: f2832f5bc58f + killer: 31 + - id: f446d90580d3 + killer: 31 + - id: f563cc4a38b8 + killer: 0 + - id: f632d3f14c7e + killer: 0 + - id: f7deb7dd9cf3 + killer: 30 + - id: f91b1cbba0d8 + killer: 30 + - id: fa33fe5b7517 + killer: 27 + - id: fb2de922e19f + killer: 2 + - id: fbdd519d8cc4 + killer: 31 + - id: fd040d3228e1 + killer: 2 + - id: fe9b68dede7f + killer: 24 +- path: crates/cargo-gamma-lib/src/exec/measure.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_failure_with_nothing_on_either_stream_says_so_rather_than_showing_a_blank + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_baseline_with_a_measured_peak_is_described_with_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_cap_that_leaves_the_mutants_unjudged_names_the_package_that_could_judge_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_cap_the_caller_chose_is_left_to_stand + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_cap_whose_own_tests_reach_the_mutants_says_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_compile_fail_target_is_named_before_anything_is_built + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_compile_fail_target_outside_the_oracle_is_not_warned_about + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_defaulted_memory_policy_this_host_cannot_deliver_degrades_with_a_note + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_defaulted_policy_this_host_can_deliver_degrades_with_no_baseline_to_derive_a_ceiling_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_hint_naming_no_reachable_binary_is_treated_as_unhinted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_hinted_mutant_rides_along_on_a_binary_an_unhinted_mutant_already_justifies + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_long_list_of_groups_is_capped_and_the_rest_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_package_nothing_else_links_gets_no_advice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_retreat_does_not_substitute_the_mutated_packages_for_the_oracle_the_caller_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_retreat_from_an_unrestricted_oracle_names_what_was_checked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_retreat_that_empties_the_oracle_is_reported_rather_than_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stated_ceiling_needs_no_baseline_to_derive_one_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stated_memory_policy_this_host_cannot_deliver_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stated_policy_this_host_can_deliver_still_errors_with_no_baseline_to_derive_a_ceiling_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stuck_build_counts_only_what_it_gave_up_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stuck_build_is_described_by_mutator_and_by_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stuck_whole_workspace_build_says_so + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_suite_that_never_goes_quiet_gets_the_stall_floor_rather_than_zero + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::an_oracle_emptied_by_a_retreat_blames_the_retreat_rather_than_the_cap + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::an_uncounted_suite_is_not_reported_as_an_empty_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::census_targets_only_selected_pending_sites_and_relevant_binaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::memory_control_that_was_never_asked_for_needs_no_host_support + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::package_selection_keeps_narrow_stages_even_after_unrestricted_preflight + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::stall_detection_stands_down_when_it_is_switched_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::whole_workspace_selection_requires_wide_stages + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + mutants: + - id: 0182075f3b88 + killer: 33 + - id: 05c98e10a6eb + killer: 5 + - id: 0668f861141c + killer: 5 + - id: 06e1147fff4a + killer: 1 + - id: 0743831d5eda + killer: 12 + - id: 07ea74d4a594 + killer: 3 + - id: 081ba0a4a5a3 + killer: 29 + - id: 0888b7c1391b + killer: 1 + - id: 09758c19891d + killer: 0 + - id: 0a0676a06e8b + killer: 0 + - id: 0ce43f588235 + killer: 34 + - id: 0d8b5d461dbf + killer: 1 + - id: 0e32e309ef12 + killer: 12 + - id: 0f7b69a0d0e5 + killer: 1 + - id: 13f43689b21c + killer: 1 + - id: 15a655504228 + killer: 7 + - id: 17a0241638dc + killer: 5 + - id: 17b6271c0105 + killer: 1 + - id: 18c12b6d1317 + killer: 21 + - id: 1960a3cb38a6 + killer: 24 + - id: 1a69459c3b50 + killer: 5 + - id: 1e278451e910 + killer: 33 + - id: 1e7bacd4a6cb + killer: 11 + - id: 1ed8e7fa638a + killer: 0 + - id: 1ef161e61e5c + killer: 10 + - id: 202c6371e005 + killer: 24 + - id: 2127f8a13e35 + killer: 4 + - id: 221afe3350b6 + killer: 8 + - id: 2552e276aff5 + killer: 16 + - id: 293921596fd0 + killer: 11 + - id: 2e5daf2f387e + killer: 33 + - id: 2eed2d5cd941 + killer: 1 + - id: 347f8913f79c + killer: 18 + - id: 38a8d8325b31 + killer: 13 + - id: 390ad7853f66 + killer: 33 + - id: 3935944a95de + killer: 14 + - id: 3c4640555347 + killer: 31 + - id: 3e4df9d45b55 + killer: 22 + - id: 3fb269f3a29b + killer: 27 + - id: 413d7a709ffc + killer: 33 + - id: 41470876279e + killer: 33 + - id: 43326ec6d1a7 + killer: 4 + - id: 44b37f636c52 + killer: 10 + - id: 45347959f494 + killer: 19 + - id: 484846ee48d3 + killer: 17 + - id: 492de777ac5c + killer: 10 + - id: 493927e61ea0 + killer: 16 + - id: 4ca6d28ee73f + killer: 11 + - id: 53c7eb596898 + killer: 33 + - id: 53fa9edf391c + killer: 32 + - id: 54a7b9425648 + killer: 28 + - id: 5822cec3c0d9 + killer: 1 + - id: 586f50c3e3f4 + killer: 34 + - id: 59ddb65ebab7 + killer: 21 + - id: 5e407a2bafee + killer: 14 + - id: 5e810fc18ed4 + killer: 22 + - id: 623811f25e32 + killer: 33 + - id: 632916d15e28 + killer: 5 + - id: 63a96b3e5ea8 + killer: 6 + - id: 63debc155a05 + killer: 16 + - id: 64acd362643b + killer: 35 + - id: 665dd4622143 + killer: 16 + - id: 68252c9cccaa + killer: 23 + - id: 6846e2baacd3 + killer: 11 + - id: 69d36a1170a4 + killer: 14 + - id: 6a53b7022f52 + killer: 25 + - id: 6c66d4e7aeb8 + killer: 14 + - id: 6cc11bed7665 + killer: 2 + - id: 6e0823f35d86 + killer: 1 + - id: 7157d2fdb949 + killer: 3 + - id: 734a14dd925c + killer: 5 + - id: 75e39559e3fe + killer: 5 + - id: 75f792402eb9 + killer: 3 + - id: 761d0fb44e8a + killer: 1 + - id: 762b1ecaaa14 + killer: 20 + - id: 76be39d5a250 + killer: 5 + - id: 79ead858076a + killer: 33 + - id: 7a2a72ef92f5 + killer: 23 + - id: 81ab32f9bacb + killer: 1 + - id: 826269ca2c2d + killer: 36 + - id: 82d745340710 + killer: 16 + - id: 8306fd82bd75 + killer: 5 + - id: 8532a205a7d0 + killer: 0 + - id: 8659609f2c23 + killer: 10 + - id: 866d837d8675 + killer: 14 + - id: 8731051c11c3 + killer: 33 + - id: 882b46cae7e1 + killer: 33 + - id: 8a4ed87086fa + killer: 5 + - id: 8b0ac9e5da24 + killer: 10 + - id: 8d26c570af07 + killer: 13 + - id: 90bc6b4f885b + killer: 8 + - id: 92411981e063 + killer: 31 + - id: 95a7f9a22ddd + killer: 5 + - id: 9c254bc0c7bd + killer: 20 + - id: 9dce69779d4d + killer: 7 + - id: 9ef312078608 + killer: 5 + - id: 9f0716bef6ad + killer: 33 + - id: a045b52a5e2d + killer: 25 + - id: a306952b395a + killer: 33 + - id: a3e4834a79f2 + killer: 30 + - id: a429bf5e6a04 + killer: 5 + - id: a56f7b969a55 + killer: 9 + - id: a70340505aef + killer: 1 + - id: a9209c2da956 + killer: 33 + - id: a93ee4564e08 + killer: 16 + - id: a9d5d9abdb82 + killer: 11 + - id: b0760b7824f0 + killer: 5 + - id: b0d4c26bbeaf + killer: 24 + - id: b2d1699919d9 + killer: 12 + - id: b57c7d8999bc + killer: 33 + - id: b972e662c850 + killer: 30 + - id: bbe1ab502a42 + killer: 26 + - id: bcce271cbe42 + killer: 5 + - id: be144e04bd01 + killer: 16 + - id: c00ed2ab9df2 + killer: 14 + - id: c08230af29ca + killer: 33 + - id: c0cf5822e72a + killer: 10 + - id: c36154e16f39 + killer: 10 + - id: c6949df70b1f + killer: 16 + - id: c995ce20b984 + killer: 5 + - id: cbc815fc9620 + killer: 24 + - id: cc05b149e0f2 + killer: 1 + - id: ce13cc8c6134 + killer: 22 + - id: ce6a73b40792 + killer: 6 + - id: d284b7c3a9bc + killer: 30 + - id: d2ee3aa9d6eb + killer: 5 + - id: d3e83fc3804c + killer: 15 + - id: d577f7c04ab9 + killer: 22 + - id: d60928a6c6a7 + killer: 11 + - id: d89fd1749191 + killer: 33 + - id: dd3f78bd23de + killer: 11 + - id: df94d8b1e1d9 + killer: 5 + - id: e051876186c7 + killer: 29 + - id: e0b6fb67bffe + killer: 33 + - id: e2efb6190da4 + killer: 12 + - id: e44ba9732bd0 + killer: 35 + - id: e4c1c9720cea + killer: 19 + - id: e50aa4fd6a95 + killer: 5 + - id: e766bee7b8d6 + killer: 1 + - id: e7746105ba99 + killer: 5 + - id: e99bddef68a4 + killer: 26 + - id: eb682ecb5c18 + killer: 3 + - id: ed9a866cfa2d + killer: 19 + - id: edad9e59dadf + killer: 5 + - id: efdc04161db6 + killer: 12 + - id: f35458c0d1f9 + killer: 5 + - id: f4148d9f155c + killer: 33 + - id: f730bbc06ebb + killer: 10 + - id: f85932415dbd + killer: 33 + - id: f9221c0ff559 + killer: 18 + - id: f99035069695 + killer: 11 + - id: fb13c667ad83 + killer: 1 + - id: fd8c76b4d291 + killer: 5 + - id: fe715adbf309 + killer: 25 + - id: ff9eca40ced2 + killer: 8 +- path: crates/cargo-gamma-lib/src/exec/memory.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::config::tests::memory_control_is_enforced_by_default + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_defaulted_policy_this_host_can_deliver_degrades_with_no_baseline_to_derive_a_ceiling_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::memory::tests::a_large_baseline_peak_gets_the_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::memory::tests::a_small_baseline_peak_gets_the_absolute_headroom + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::memory::tests::an_explicit_limit_overrides_whatever_the_baseline_measured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::memory::tests::an_uncalibrated_run_gets_no_derived_ceiling_but_keeps_an_explicit_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::memory::tests::measuring_without_enforcing_never_produces_a_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::memory::tests::scaling_saturates_and_never_shrinks_the_peak + mutants: + - id: 15be4b8056d9 + killer: 2 + - id: 163eb95b6a89 + killer: 6 + - id: 179b757227d1 + killer: 2 + - id: 1d0dddac2b13 + killer: 2 + - id: 2363f66d1351 + killer: 2 + - id: 2e36749c8cbb + killer: 5 + - id: 3af6f294e92f + killer: 0 + - id: 42a896aa9776 + killer: 0 + - id: 46692216822b + killer: 0 + - id: 4c0619ede34f + killer: 2 + - id: 5754e4d90a3d + killer: 2 + - id: 5efbd62d7182 + killer: 6 + - id: 5f4463da0681 + killer: 1 + - id: 62fa09c81818 + killer: 2 + - id: 6f094982508f + killer: 2 + - id: 8240c0a8cdd6 + killer: 0 + - id: 835e1235c46c + killer: 7 + - id: 8a10028a13f8 + killer: 2 + - id: 8d1729a1b78e + killer: 0 + - id: 8d52b01a2968 + killer: 5 + - id: 90bed9bcab46 + killer: 3 + - id: 9780d40d8434 + killer: 3 + - id: 97a64313fe89 + killer: 2 + - id: 9b69ea356c0f + killer: 2 + - id: b3dec3b09936 + killer: 0 + - id: bb9800f63206 + killer: 3 + - id: c86ef7b70af2 + killer: 2 + - id: c8af0496e6f2 + killer: 0 + - id: d662193a156e + killer: 2 + - id: e0d6cb200c79 + killer: 7 + - id: edac5e5d5c8a + killer: 2 + - id: eeadfa776da6 + killer: 0 + - id: efc596bd412a + killer: 3 + - id: f4f13add880b + killer: 4 +- path: crates/cargo-gamma-lib/src/exec/nextest.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::fuzz::a_nextest_failure_is_never_lost_among_arbitrary_output + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::fuzz::arbitrary_output_is_read_without_panicking + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_binary_id_becomes_an_exact_filterset_atom + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_binary_nextest_never_listed_is_an_error_that_names_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_character_that_would_end_the_atom_is_escaped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_failure_is_found_past_lines_that_are_not_failures + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_listing_that_says_nothing_yields_no_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_listing_yields_the_id_each_binary_is_known_by + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_long_test_selection_runs_the_whole_binary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::selected_tests_form_one_parenthesized_union + mutants: + - id: 0317b925bccb + killer: 8 + - id: 054e54bda23b + killer: 9 + - id: 090d50d8e86e + killer: 1 + - id: 0e5ddf909207 + killer: 10 + - id: 141e8faedb66 + killer: 10 + - id: 15ecc99e3c43 + killer: 9 + - id: 1cf961755e44 + killer: 5 + - id: 224e6884a241 + killer: 5 + - id: 29f67dbaff2e + killer: 3 + - id: 36607d68ef8a + killer: 9 + - id: 473d8b0f7340 + killer: 8 + - id: 4d3e13ba29ea + killer: 5 + - id: 5413f3b9c020 + killer: 8 + - id: 5a27e2e3ea78 + killer: 10 + - id: 5f16d767ea02 + killer: 4 + - id: 60e260b2db01 + killer: 6 + - id: 6a69155452a8 + killer: 5 + - id: 6c5faf224f75 + killer: 9 + - id: 775c950b33d3 + killer: 3 + - id: 8ab100aaeb81 + killer: 10 + - id: 9297dffda0fd + killer: 8 + - id: 93267f71847f + killer: 4 + - id: a87ea6acb4fc + killer: 9 + - id: ac5a492486fe + killer: 0 + - id: ad029b8578d2 + killer: 10 + - id: bb9aa8dc4339 + killer: 8 + - id: bf72cbb51d37 + killer: 1 + - id: d10463c653fc + killer: 2 + - id: d57ec0088cc8 + killer: 1 + - id: d6bcf148b9ee + killer: 6 + - id: dbac1fce6e0f + killer: 1 + - id: dc039be26217 + killer: 7 + - id: e01b47398ed5 + killer: 9 + - id: e06ad7ad18a2 + killer: 5 + - id: e16cd4e2bd5b + killer: 5 + - id: e4f98fd1108c + killer: 8 + - id: f7c743d02b91 + killer: 1 + - id: fabba324eea3 + killer: 1 +- path: crates/cargo-gamma-lib/src/exec/progress.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::fuzz::a_libtest_failure_is_never_lost_among_arbitrary_output + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::fuzz::output_from_a_target_that_announced_no_suite_is_never_a_verdict + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::a_later_failure_does_not_replace_the_first + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::a_line_that_is_not_a_test_result_does_not_rename_the_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::a_single_test_is_announced_in_the_singular + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::an_unwatched_run_records_no_failure + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::each_runner_reads_only_its_own_announcement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::either_runtime_startup_marker_disqualifies_live_output + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::process_startup_calibrates_test_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::the_longest_silence_is_the_one_remembered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::diagnostic_output_cannot_forge_a_libtest_failure + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 004bff43ac42 + killer: 8 + - id: 02496ed220da + killer: 1 + - id: 096407b09755 + killer: 5 + - id: 09e1a89f82fd + killer: 12 + - id: 0b7956239975 + killer: 8 + - id: 0d595595757e + killer: 12 + - id: 162d51dfaf7a + killer: 9 + - id: 1b6dac7ae56d + killer: 5 + - id: 232c28cf40b0 + killer: 12 + - id: 23d18971e4a2 + killer: 0 + - id: 255df4641900 + killer: 1 + - id: 25af2862202e + killer: 8 + - id: 2764831f1f7b + killer: 10 + - id: 27e432bd2d91 + killer: 1 + - id: 2bc97796a751 + killer: 9 + - id: 2eb4aeeb1880 + killer: 1 + - id: 32f11d195d3e + killer: 12 + - id: 400e42126dab + killer: 8 + - id: 44408e5e5008 + killer: 1 + - id: 4ff2ffb2f8f0 + killer: 1 + - id: 51aff9597ef5 + killer: 1 + - id: 574a3569fc2e + killer: 8 + - id: 5b1899d5b8af + killer: 8 + - id: 6c5e27a7c235 + killer: 1 + - id: 6ef150896fa9 + killer: 12 + - id: 6ef820274a8b + killer: 12 + - id: 6ff8d6fc175f + killer: 3 + - id: 71eae1fed9ee + killer: 1 + - id: 74fe5792198f + killer: 6 + - id: 76e1fcb62464 + killer: 4 + - id: 79ae19557088 + killer: 1 + - id: 79b00baaf10f + killer: 1 + - id: 89a29c76e72d + killer: 8 + - id: 8c146fb80979 + killer: 7 + - id: 8d143e792535 + killer: 12 + - id: 8df41ba34f90 + killer: 3 + - id: 9a94ab2c0583 + killer: 1 + - id: 9d40224a8e8a + killer: 9 + - id: a39497b06a6d + killer: 3 + - id: a43d7ab69eec + killer: 1 + - id: a4918ab12a59 + killer: 8 + - id: a692249905d7 + killer: 1 + - id: a6bf94911500 + killer: 9 + - id: aaa5a8e28fa7 + killer: 3 + - id: bad0752ea363 + killer: 12 + - id: bdba5034de76 + killer: 1 + - id: c08d1a01b5eb + killer: 8 + - id: cf636a496855 + killer: 1 + - id: d56a13713bd2 + killer: 2 + - id: d8c6bd9f3bac + killer: 1 + - id: dcb3c7c9f2f6 + killer: 2 + - id: de5594903af2 + killer: 0 + - id: dee566679559 + killer: 1 + - id: e3b073c92e75 + killer: 1 + - id: e3c0c2ec000d + killer: 4 + - id: efdb9ba9325e + killer: 12 + - id: f5b7710f65c5 + killer: 1 + - id: f88507fef38c + killer: 1 + - id: fa088dd9fc49 + killer: 12 + - id: ff878c326e78 + killer: 1 + - id: ff99c11d9328 + killer: 11 +- path: crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::a_new_build_recovers_from_interrupted_and_truncated_capture_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::capture_storage_failures_do_not_change_the_compiler_result + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::incomplete_invocations_and_pathless_externs_fail_open + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::parses_split_and_joined_rustc_options_without_mistaking_option_values_for_source + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::parses_split_codegen_options + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::repeated_wrapper_publications_do_not_collide_on_the_process_id + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::wrapper_mode_forwards_records_and_reports_failures + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 0079d7b5232e + killer: 2 + - id: 0101b532c6e8 + killer: 3 + - id: 02a5b387f0dc + killer: 3 + - id: 04fbd51fc296 + killer: 3 + - id: 05d51b2dd907 + killer: 4 + - id: 06ac34331853 + killer: 3 + - id: 080194626a92 + killer: 5 + - id: 09228f48d2d3 + killer: 3 + - id: 0a5559c04e8e + killer: 4 + - id: 0c6ebe4f6c40 + killer: 2 + - id: 0cdb5440fea6 + killer: 1 + - id: 1348ea3c4b9b + killer: 4 + - id: 14de51d7fcc4 + killer: 3 + - id: 15a986b20316 + killer: 3 + - id: 1665ca0b56a2 + killer: 3 + - id: 16da5902d7a3 + killer: 2 + - id: 1844e115e8df + killer: 5 + - id: 1ec95d44a7cc + killer: 3 + - id: 23515e086383 + killer: 4 + - id: 262ca912be83 + killer: 2 + - id: 26bd1f8ff6b2 + killer: 5 + - id: 26bf38e78bb7 + killer: 3 + - id: 2893d6da3123 + killer: 4 + - id: 29adb1d335cb + killer: 4 + - id: 2c51d8cb790a + killer: 3 + - id: 2d2bb23d2e67 + killer: 5 + - id: 2e6a5fbc9ecf + killer: 4 + - id: 2ebef2ddd690 + killer: 4 + - id: 3011215265a4 + killer: 4 + - id: 31244819493a + killer: 5 + - id: 31acf9ec5af0 + killer: 4 + - id: 32088ab41c7d + killer: 5 + - id: 33aa1342fea1 + killer: 5 + - id: 3537736c35ef + killer: 4 + - id: 355be31d8607 + killer: 5 + - id: 380f347afd5a + killer: 4 + - id: 384bca5e75d4 + killer: 0 + - id: 389965016e47 + killer: 7 + - id: 396a7bef070d + killer: 3 + - id: 39a04687d082 + killer: 3 + - id: 3be7fcfb27a4 + killer: 2 + - id: 3c6129b2ad68 + killer: 3 + - id: 3f4743200dc2 + killer: 0 + - id: 3f6680233d49 + killer: 4 + - id: 3fc1f63513e2 + killer: 3 + - id: 40d8ca9c97e8 + killer: 4 + - id: 456e31a988f8 + killer: 3 + - id: 463e4c87cec0 + killer: 3 + - id: 4c9728a55258 + killer: 1 + - id: 4e010e3fcf7d + killer: 3 + - id: 4f74780f07aa + killer: 3 + - id: 5094ab2ceb33 + killer: 7 + - id: 50b5aa39bc14 + killer: 3 + - id: 53a645397964 + killer: 4 + - id: 555d9e50703a + killer: 5 + - id: 559f8cc094a6 + killer: 4 + - id: 5636b1ac8c25 + killer: 5 + - id: 584866b1a193 + killer: 4 + - id: 58517fb6b7b6 + killer: 4 + - id: 58e714877495 + killer: 2 + - id: 5bbc4fb6030e + killer: 4 + - id: 5bc17ef1f387 + killer: 4 + - id: 5d4954da6c89 + killer: 3 + - id: 5dc19f36f0cb + killer: 0 + - id: 60b554464283 + killer: 4 + - id: 611aab57a741 + killer: 5 + - id: 622244371da1 + killer: 0 + - id: 625c892e10e9 + killer: 3 + - id: 628ed96a6cf6 + killer: 4 + - id: 62ef959183d9 + killer: 4 + - id: 658cd977c8e3 + killer: 4 + - id: 66182b4a6c85 + killer: 5 + - id: 6653666dfc90 + killer: 0 + - id: 667ace590092 + killer: 3 + - id: 682cf7b44ad1 + killer: 2 + - id: 6b0fe5db0795 + killer: 2 + - id: 6be67bf283f7 + killer: 3 + - id: 6d05945df112 + killer: 3 + - id: 6de61ddc04e4 + killer: 3 + - id: 6e0d793efd04 + killer: 5 + - id: 718979c368da + killer: 7 + - id: 719168c00ec6 + killer: 3 + - id: 727b8eb20214 + killer: 2 + - id: 7374c40abc5d + killer: 4 + - id: 76078b88bd42 + killer: 4 + - id: 77c50f5aee4d + killer: 4 + - id: 77ff0825a419 + killer: 4 + - id: '792684042046' + killer: 3 + - id: 7c6386aa3bb0 + killer: 8 + - id: 7f92e5b9f360 + killer: 4 + - id: 7fdd95f3ab01 + killer: 0 + - id: 84e965e24959 + killer: 4 + - id: 851a85cdfe0a + killer: 4 + - id: 86d46784ec13 + killer: 4 + - id: 8a393ed03e28 + killer: 0 + - id: 8acb35a67323 + killer: 3 + - id: 8c7b0d57a3aa + killer: 4 + - id: 8d746020fd83 + killer: 3 + - id: 8e069932defb + killer: 3 + - id: 8e7481d6c116 + killer: 5 + - id: 8f5ac874de18 + killer: 4 + - id: 90e07ddaed97 + killer: 2 + - id: 954bd9c5157f + killer: 3 + - id: 98efcb0933b9 + killer: 3 + - id: 996ddd2b2246 + killer: 3 + - id: 99c50fb42e4a + killer: 4 + - id: 9aca6f72b1a7 + killer: 2 + - id: 9b9ec15ec447 + killer: 4 + - id: 9ba2596fba57 + killer: 5 + - id: 9c0526f0021e + killer: 0 + - id: 9d68a157b112 + killer: 5 + - id: 9ec83cb97f05 + killer: 1 + - id: a1802ca4f75a + killer: 2 + - id: a1f3973ca0c0 + killer: 0 + - id: a98a1fd9c1c9 + killer: 4 + - id: a9e3b81ac408 + killer: 2 + - id: ab6dc7572294 + killer: 4 + - id: abfb51c0c4a0 + killer: 3 + - id: aff374aa35d8 + killer: 3 + - id: b27668636845 + killer: 3 + - id: b5139a727682 + killer: 4 + - id: b6572871ad0c + killer: 3 + - id: b9df6c3f0483 + killer: 4 + - id: ba6e9574eb16 + killer: 4 + - id: baa10480c861 + killer: 5 + - id: bb4f5afe795c + killer: 4 + - id: bc719763ca7c + killer: 2 + - id: bed8913ffef4 + killer: 4 + - id: c0ee55645db2 + killer: 4 + - id: c109b241bf91 + killer: 1 + - id: c12c4cea3674 + killer: 2 + - id: c253d069e32c + killer: 3 + - id: c2fc8c5a6931 + killer: 3 + - id: c946c4e61987 + killer: 2 + - id: cab81c6112c5 + killer: 2 + - id: cca376b16265 + killer: 6 + - id: d34f9c4c6c94 + killer: 5 + - id: d8428ef628dc + killer: 3 + - id: de841488be27 + killer: 5 + - id: df328c5903db + killer: 2 + - id: e27050bf9d87 + killer: 4 + - id: e2ad6d95ac94 + killer: 3 + - id: e7c785660f17 + killer: 3 + - id: e7fde7ff7db1 + killer: 4 + - id: e974b8d67f66 + killer: 4 + - id: ed91193fdd36 + killer: 4 + - id: ee2a0e10d6eb + killer: 4 + - id: ef12a2961fbb + killer: 4 + - id: f057a6e656bf + killer: 0 + - id: f502f931a05f + killer: 4 + - id: f5a2fc57ef52 + killer: 5 + - id: f780d61e20e5 + killer: 7 + - id: f7a8a9b66b7e + killer: 3 + - id: f93a8591b0bf + killer: 4 + - id: f9c52057cd80 + killer: 5 + - id: fad43f7cde76 + killer: 4 + - id: fb37327f3869 + killer: 3 + - id: fbc2dbacfd85 + killer: 4 + - id: ff0d0e5ccb32 + killer: 4 +- path: crates/cargo-gamma-lib/src/exec/stall.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_suite_that_never_goes_quiet_gets_the_stall_floor_rather_than_zero + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::stall::tests::a_line_of_output_clears_the_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::stall::tests::the_slack_falls_with_the_silence_and_stops_at_zero + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::stall::tests::the_stall_boundary_is_exclusive_and_is_pinned_on_both_sides_of_itself + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::stall::tests::without_a_budget_nothing_is_ever_declared_stalled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_binary_that_goes_quiet_is_stalled_at_the_last_test_it_named + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 010ed9057c5b + killer: 5 + - id: 039d5780192f + killer: 1 + - id: 0ad03dee6c0e + killer: 0 + - id: 275344519d21 + killer: 6 + - id: 520fde86dc0b + killer: 6 + - id: 5888555129ad + killer: 2 + - id: 66d17a5ec42b + killer: 4 + - id: a2e881de2dec + killer: 0 + - id: a99b87b10b03 + killer: 0 + - id: adcb184dfe10 + killer: 6 + - id: be7e3da8a7be + killer: 1 + - id: cb8e7ee08e3b + killer: 3 + - id: d40e8fde6311 + killer: 6 +- path: crates/cargo-gamma-lib/src/exec/sweep.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_confirmation_of_a_flaky_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_the_canonical_timeout + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_candidate_is_demoted_after_two_misses + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_file_local_killer_cannot_move_a_later_binary_before_a_timeout + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_flaky_note_names_the_test_and_says_nothing_was_judged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_flaky_note_without_a_test_name_still_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_group_census_hint_is_disabled_by_every_canonical_precedence_policy + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_grouped_census_probe_attributes_an_unnamed_failure_to_its_first_selected_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_hint_naming_a_test_the_users_filter_excludes_does_not_convict + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_hinted_mutant_costs_less_than_an_unhinted_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_later_candidate_kill_cannot_bypass_an_earlier_unjudged_binary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_mutant_no_binary_reaches_is_uncovered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_note_whose_figures_would_round_together_prints_the_exact_bytes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_plan_with_no_pending_mutants_sweeps_nothing_and_returns_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_reach_candidate_is_released_only_at_its_canonical_binary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_reported_peak_below_the_ceiling_is_described_as_measured_against_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_run_that_only_reached_its_ceiling_is_not_described_as_having_passed_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_safe_same_item_exact_candidate_waits_for_canonical_iteration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_stall_before_any_test_was_named_says_so + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::adaptive_scout_wait_is_divided_by_benefit_and_clamped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::an_empty_enumeration_output_raises_no_diagnostic + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::another_item_reuses_the_binary_without_assuming_its_exact_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::enumeration_diagnostics_encode_controls_but_preserve_color + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_and_generalized_probe_hit_rates_are_counted_separately + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_negative_reach_cannot_bypass_verdict_precedence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_never_generalizes_or_applies_to_nondeterministic_runs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::only_complete_deterministic_whole_passes_publish_negative_reach + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::package_queues_are_interleaved_instead_of_forming_worker_convoys + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::persisted_file_binary_misses_demote_the_persisted_candidate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::persisted_reach_hints_are_bounded_by_half_the_binary_suite + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::positive_reach_is_reused_by_the_same_item_and_as_a_file_fallback + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::promoted_item_and_file_hints_seed_a_clean_checkout_without_mutant_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::same_item_exact_candidates_always_rank_before_file_binaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::scheduling_cost_handles_unreachable_and_partial_census_sites + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::scoped_learning_replaces_touched_files_and_preserves_untouched_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::timed_out_and_exhausted_fallbacks_publish_without_overwriting + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + mutants: + - id: 00d907c9fff8 + killer: 22 + - id: 01f868bdfd6c + killer: 0 + - id: 043fdf6c8e79 + killer: 40 + - id: 0485580856ea + killer: 40 + - id: 0696e2fac265 + killer: 32 + - id: 071e90f7e7af + killer: 20 + - id: 095adb508319 + killer: 10 + - id: 09842ecd8efb + killer: 34 + - id: 09bddf347af5 + killer: 36 + - id: 0a35aa4771d1 + killer: 31 + - id: 0b5cc6df4e10 + killer: 28 + - id: 0cef41424e59 + killer: 5 + - id: 0d6c85e6dc5e + killer: 13 + - id: 0d87d370b2db + killer: 0 + - id: 0ddfc2f87fdf + killer: 20 + - id: 1012b1dabab1 + killer: 29 + - id: 11bc3025be0d + killer: 25 + - id: 12b2969c15ad + killer: 29 + - id: 136c411aa5db + killer: 23 + - id: 1373427776d1 + killer: 5 + - id: 149b0c317c4d + killer: 5 + - id: 17030acf5a1a + killer: 29 + - id: 17ca441d1da2 + killer: 29 + - id: 18166da12748 + killer: 5 + - id: 194f4a0eb13c + killer: 40 + - id: 19508fa986b1 + killer: 2 + - id: 198dae07dd6c + killer: 30 + - id: 1c17c6121fa7 + killer: 36 + - id: 1df8a22d759e + killer: 34 + - id: 1e3ef157385b + killer: 21 + - id: 1ef00cc812c0 + killer: 40 + - id: 1ef37e2bc1d7 + killer: 29 + - id: 2027786a65c1 + killer: 5 + - id: 21b3d1adb898 + killer: 38 + - id: 23dd75f731fb + killer: 0 + - id: 2418886c7cd1 + killer: 40 + - id: 24d6ce281dca + killer: 32 + - id: 253008c54f4e + killer: 20 + - id: 25584d3fd69e + killer: 33 + - id: 260cab880689 + killer: 40 + - id: 279f5dca9a58 + killer: 40 + - id: 27a16dd79142 + killer: 6 + - id: 292af1db14a0 + killer: 40 + - id: 29302c9223ad + killer: 40 + - id: 29e0e4f7a742 + killer: 5 + - id: 29f338a6d912 + killer: 23 + - id: 2b1f5774aaf0 + killer: 5 + - id: 2bfd1f957ee4 + killer: 40 + - id: 2dc36c0eeb33 + killer: 0 + - id: 2f7f42056737 + killer: 40 + - id: 301f61b87793 + killer: 5 + - id: 30949a62a4c6 + killer: 20 + - id: 3114866a7187 + killer: 40 + - id: 319b04f5c624 + killer: 34 + - id: 3204480e895b + killer: 33 + - id: 332f3ac4d271 + killer: 40 + - id: 3359b1a936bb + killer: 8 + - id: 336ec4c28cba + killer: 33 + - id: 338a0d236f84 + killer: 5 + - id: 357157f2e927 + killer: 19 + - id: 35c851fe510c + killer: 33 + - id: 364be1113f1f + killer: 33 + - id: 3798a9fe1e5e + killer: 31 + - id: 37b2e9742b83 + killer: 40 + - id: 39bad58d940f + killer: 14 + - id: 3a2bda5b88a8 + killer: 5 + - id: 3a7c35b913da + killer: 5 + - id: 3a94762c223f + killer: 15 + - id: 3abfa344efb1 + killer: 10 + - id: 3adb3d2da613 + killer: 40 + - id: 3b5df133d2d1 + killer: 29 + - id: 3b68e601ffcb + killer: 4 + - id: 3b9662fb1337 + killer: 17 + - id: 3c6d9cbb84d1 + killer: 3 + - id: 3c842e22292b + killer: 5 + - id: 3ccd39a66fcd + killer: 40 + - id: 3d19e8515c2b + killer: 13 + - id: 3d95015c56f6 + killer: 0 + - id: 3d96a82cfcc8 + killer: 34 + - id: 3e926165cf3b + killer: 18 + - id: 41dc5757b443 + killer: 25 + - id: 435f5f30915e + killer: 5 + - id: 4379bf49479d + killer: 40 + - id: 445d43e02909 + killer: 40 + - id: 46191c736db9 + killer: 5 + - id: 4643eb2980fc + killer: 17 + - id: 46b28c7ed2dd + killer: 5 + - id: 47534edea64d + killer: 34 + - id: 480cbf60a308 + killer: 33 + - id: 481fd3c8929d + killer: 29 + - id: 48a2879bdd0d + killer: 17 + - id: 48f2440dcc73 + killer: 10 + - id: 49de1c0532fd + killer: 29 + - id: 49dfc684686e + killer: 31 + - id: 4a21ef3da0cc + killer: 40 + - id: 4a5a117ba953 + killer: 40 + - id: 4b9ab2559482 + killer: 40 + - id: 4d0bf7a00ecc + killer: 17 + - id: 4d343800ccc9 + killer: 5 + - id: 4d676b25ca2b + killer: 20 + - id: 4e0d2629b457 + killer: 0 + - id: 4e5cb40436cb + killer: 29 + - id: 4e5e9473b099 + killer: 21 + - id: 4e64c115e4fb + killer: 10 + - id: 4ec2c6edb74b + killer: 5 + - id: 50e42f4f41b6 + killer: 26 + - id: 51f3ece4f227 + killer: 29 + - id: 5243e3cb185d + killer: 36 + - id: 534e2405c3f4 + killer: 38 + - id: 546fede5a6bb + killer: 20 + - id: 54c9686ec6da + killer: 33 + - id: 572d56a100cb + killer: 38 + - id: 5822fadc700d + killer: 2 + - id: 58a326b7f1a0 + killer: 40 + - id: 59e9c933ee72 + killer: 10 + - id: 5b85544de397 + killer: 40 + - id: 5bf89e0bf786 + killer: 5 + - id: 5d0d0c8c25d4 + killer: 40 + - id: 5e40cd9faa04 + killer: 11 + - id: 5fb0eafdef19 + killer: 40 + - id: 5fdcc882d4e9 + killer: 19 + - id: 6062fbd02f18 + killer: 31 + - id: 60665a7d0639 + killer: 22 + - id: 6131989b5b51 + killer: 10 + - id: 647b96b960e6 + killer: 29 + - id: 6527646bd099 + killer: 20 + - id: 655a02b50cc1 + killer: 5 + - id: 65be0c3693d0 + killer: 31 + - id: 660ac7352037 + killer: 40 + - id: 664f056b18b3 + killer: 30 + - id: 6681e7e0ae87 + killer: 40 + - id: 66d7392c0271 + killer: 40 + - id: 674b758f3989 + killer: 10 + - id: 68179b8e725e + killer: 40 + - id: 687080c37010 + killer: 40 + - id: 6873b7bc8fe9 + killer: 23 + - id: 6c8f19a9af72 + killer: 40 + - id: 6d19deabb0a7 + killer: 3 + - id: 6d351a6e7f7b + killer: 5 + - id: 6e4990323d13 + killer: 5 + - id: 6e8c1b511da8 + killer: 40 + - id: 6f812a994831 + killer: 7 + - id: 6fc4936b9ca5 + killer: 38 + - id: 6fcfdb644507 + killer: 5 + - id: 70a85159f52b + killer: 5 + - id: 712d81da301d + killer: 0 + - id: 714b9d8b9942 + killer: 33 + - id: 72cad51c810a + killer: 32 + - id: 739db72c1127 + killer: 15 + - id: 74138fc12f3d + killer: 21 + - id: 74e869aac861 + killer: 29 + - id: 757a6718d382 + killer: 31 + - id: 75858be1ab4d + killer: 29 + - id: 760bafc87837 + killer: 32 + - id: 761909450cf0 + killer: 13 + - id: 7727254ff046 + killer: 40 + - id: 7792e2e5d9f2 + killer: 33 + - id: 7854da3dc96c + killer: 13 + - id: 79ddad9f1c24 + killer: 36 + - id: 7a55df07c1d8 + killer: 23 + - id: 7a74049125b4 + killer: 40 + - id: 7aee04c9b78b + killer: 3 + - id: 7c2ca09fc302 + killer: 15 + - id: 7c5bb6c0b2d7 + killer: 40 + - id: 7e9c67221134 + killer: 20 + - id: 7ef6805fc391 + killer: 15 + - id: 800908672c38 + killer: 26 + - id: 81327bfb23ef + killer: 29 + - id: 82bb6eb50012 + killer: 5 + - id: 841eb7b03513 + killer: 32 + - id: 84eda2c80c02 + killer: 10 + - id: 86316aef0725 + killer: 1 + - id: 8720f379644e + killer: 40 + - id: 8768fcf6a300 + killer: 34 + - id: 87d9ec94dd70 + killer: 16 + - id: 885892e15dde + killer: 29 + - id: 88d28234fc38 + killer: 38 + - id: 89b825061d7d + killer: 34 + - id: 89e4e737bedf + killer: 6 + - id: 8a292cb49ccd + killer: 29 + - id: 8a6dc87b5927 + killer: 3 + - id: 8a79fb5ad4a6 + killer: 40 + - id: 8c88949efc59 + killer: 5 + - id: 8d1df41520f3 + killer: 35 + - id: 8d2e86b98bff + killer: 3 + - id: 8e3840ae81e0 + killer: 13 + - id: 8ec42d02a350 + killer: 40 + - id: 8fc60c72ed79 + killer: 10 + - id: 8fe6d794a23e + killer: 15 + - id: 90274a5a2f99 + killer: 16 + - id: 91a075f88913 + killer: 10 + - id: 9286e923033c + killer: 5 + - id: 9310403f573e + killer: 40 + - id: 94be801ac247 + killer: 40 + - id: 94c93610ddd5 + killer: 9 + - id: 958fa1ebf221 + killer: 33 + - id: 960de907c5c9 + killer: 13 + - id: '969823293430' + killer: 29 + - id: 96a74d8da15e + killer: 33 + - id: 96dc123eb3df + killer: 13 + - id: 97199aa16d69 + killer: 31 + - id: 97417506458c + killer: 5 + - id: 97520dffd81d + killer: 6 + - id: 982249e5e36b + killer: 5 + - id: 98ca81f484c4 + killer: 5 + - id: 9962cd2dd302 + killer: 10 + - id: 9a156576dc13 + killer: 17 + - id: 9c2900749b5e + killer: 0 + - id: 9c73dd0a5607 + killer: 29 + - id: 9cad01f087ab + killer: 32 + - id: 9d66aa7a4f9d + killer: 24 + - id: 9db78c501107 + killer: 40 + - id: 9e5411072394 + killer: 34 + - id: a104bf1a7093 + killer: 17 + - id: a116fe7c8a8d + killer: 22 + - id: a1fdfe5ad172 + killer: 40 + - id: a2adfec24753 + killer: 15 + - id: a40acaea7630 + killer: 5 + - id: a45eb2b939df + killer: 32 + - id: a45f0cb8a458 + killer: 35 + - id: a5ef2e26f9eb + killer: 40 + - id: a66a71bec85a + killer: 40 + - id: a8c6a8f946b7 + killer: 33 + - id: a8f15456e69f + killer: 40 + - id: a90a1d7e8316 + killer: 5 + - id: a95a221fe2c5 + killer: 40 + - id: a979f6af98dd + killer: 34 + - id: aa6b0b4a5453 + killer: 40 + - id: aa6e60b2f47a + killer: 5 + - id: ac2f65230987 + killer: 23 + - id: ad5127188af6 + killer: 17 + - id: aeb367304e11 + killer: 17 + - id: af18add6e196 + killer: 7 + - id: af8af2f890bc + killer: 41 + - id: b2780cc68c97 + killer: 40 + - id: b2c4af914db7 + killer: 40 + - id: b34b155a6fbb + killer: 5 + - id: b51be301d4c0 + killer: 34 + - id: b74d4c934d6c + killer: 20 + - id: b7ac55979053 + killer: 40 + - id: b8828770ba02 + killer: 13 + - id: b997b8d45871 + killer: 38 + - id: ba5ec2a60a18 + killer: 40 + - id: bb3c1165f1fc + killer: 29 + - id: bba02a90cd01 + killer: 40 + - id: bbfff15126f3 + killer: 30 + - id: bca9fc041a60 + killer: 18 + - id: bd267f2fc618 + killer: 40 + - id: bd8be2424dfc + killer: 40 + - id: bdae75c7c218 + killer: 15 + - id: bddbd1054eec + killer: 31 + - id: bed27a96c86a + killer: 3 + - id: bf9068524c22 + killer: 40 + - id: c00cb578e76b + killer: 37 + - id: c0604fec3515 + killer: 34 + - id: c0843914e9bf + killer: 22 + - id: c12540a9d6b8 + killer: 0 + - id: c2f312f8c76e + killer: 14 + - id: c3e8681a4073 + killer: 5 + - id: c65a0184f846 + killer: 34 + - id: c71da6f8371a + killer: 10 + - id: c77007fd709a + killer: 40 + - id: c83e65a4ddb3 + killer: 40 + - id: c84d33b99982 + killer: 34 + - id: c899ef6a00b4 + killer: 30 + - id: c8d9249dca25 + killer: 40 + - id: c94c70585fc8 + killer: 20 + - id: c9bf015325a5 + killer: 10 + - id: c9f32fb622fe + killer: 2 + - id: ca5da3a33370 + killer: 20 + - id: cb4a7f0418da + killer: 40 + - id: cb4b91a3f263 + killer: 38 + - id: cbe692ded5ff + killer: 39 + - id: ccd01a897ed0 + killer: 10 + - id: cd89f2396237 + killer: 27 + - id: cdd2b9b385cf + killer: 17 + - id: cde8de1fe8cd + killer: 33 + - id: ce48bb3ed9fc + killer: 17 + - id: ceb0593188bc + killer: 40 + - id: cffa1f70718f + killer: 22 + - id: d0b4219c6193 + killer: 5 + - id: d175c71acf7a + killer: 5 + - id: d20070c5c0b2 + killer: 0 + - id: d204e45c5537 + killer: 40 + - id: d3994b3d0b81 + killer: 40 + - id: d3c6cc619699 + killer: 12 + - id: d67f3c377492 + killer: 13 + - id: d72582c3eadd + killer: 40 + - id: d90b94def83a + killer: 40 + - id: dadab77109b6 + killer: 40 + - id: db76b229c7f1 + killer: 0 + - id: db7cf393ee98 + killer: 33 + - id: dc68f9065aae + killer: 34 + - id: dc9256eb2584 + killer: 40 + - id: dc99a6b64b69 + killer: 5 + - id: dddaf43c5022 + killer: 15 + - id: de8b86ade681 + killer: 5 + - id: dec3924c1ea7 + killer: 19 + - id: df3cdbbbe6af + killer: 40 + - id: dfaf813bdc44 + killer: 10 + - id: e0adcd4fa713 + killer: 13 + - id: e0d6779aad33 + killer: 31 + - id: e1638063d9ac + killer: 8 + - id: e1fec17da7ba + killer: 5 + - id: e28031c5713d + killer: 40 + - id: e2dc17da93b5 + killer: 40 + - id: e33184638981 + killer: 40 + - id: e4392902766c + killer: 17 + - id: e4560cf0a8de + killer: 21 + - id: e54ea2edd1c6 + killer: 38 + - id: e71fca162520 + killer: 17 + - id: e729abf9b405 + killer: 38 + - id: e9de71228414 + killer: 13 + - id: eacfcda9de65 + killer: 31 + - id: eb37123cfb9e + killer: 3 + - id: ebbcb5b2108f + killer: 13 + - id: ec6ae36e7b05 + killer: 13 + - id: ec8b85b4f918 + killer: 39 + - id: ecfce609af2b + killer: 5 + - id: edb309a3ff7c + killer: 5 + - id: ee4a5ad18619 + killer: 29 + - id: eee3e2447a0b + killer: 20 + - id: efb7d78e158b + killer: 19 + - id: f15a38616b61 + killer: 40 + - id: f1e8a8f4556f + killer: 3 + - id: f786533d77d2 + killer: 39 + - id: f7efb3a16428 + killer: 40 + - id: f81d594d3eff + killer: 40 + - id: f8526a380a33 + killer: 5 + - id: f91f16f9931c + killer: 32 + - id: fac67e805c07 + killer: 29 + - id: fb9437ad9960 + killer: 39 + - id: fbdadf30d1ed + killer: 22 + - id: fd077887454f + killer: 20 + - id: fd1f4ccd5262 + killer: 17 + - id: fd232ef8a8fa + killer: 10 + - id: fe32752194c8 + killer: 31 + - id: fe854b2057e5 + killer: 2 + - id: feec58c4b301 + killer: 36 + - id: ff030b4485e8 + killer: 20 + - id: ff82fc2bdf1e + killer: 6 + - id: ffa79cf199c7 + killer: 40 +- path: crates/cargo-gamma-lib/src/exec/sync.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_deletion_is_reflected_in_the_scratch_tree + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_one_file_change_is_synchronized + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::an_interrupted_prior_sync_triggers_a_fresh_copy + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::changed_bytes_with_identical_size_and_mtime_are_copied_and_freshened + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::content_comparison_aligns_independent_short_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::directories_are_created_and_replace_stale_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::extra_scratch_files_are_removed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::only_the_first_parallel_walk_failure_is_recorded + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::permission_changes_make_otherwise_identical_files_differ + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::regular_files_replace_directories_and_create_missing_parents + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::stale_nonempty_directories_are_retained_for_expected_children + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::symlinks_are_synchronized + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::symlinks_replace_stale_directories_and_create_missing_parents + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::tracked_ignored_files_are_included_but_pruned_paths_are_not + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 0056ab91a560 + killer: 0 + - id: 03889c8a6a4c + killer: 2 + - id: 03b804145863 + killer: 14 + - id: 04325a6c607f + killer: 13 + - id: 046b6bdd1efb + killer: 2 + - id: 05e38fdd1dbb + killer: 4 + - id: 065702d10249 + killer: 2 + - id: 07f55b5bf61b + killer: 2 + - id: 0803f5c45b4f + killer: 6 + - id: 080426e7dd60 + killer: 2 + - id: 0b2e07c3681f + killer: 2 + - id: 0bd0a13b546f + killer: 1 + - id: 0c31bae47576 + killer: 14 + - id: 0f890cd3f54b + killer: 9 + - id: 10b7ec2a457e + killer: 5 + - id: 124501438eeb + killer: 12 + - id: 139954ac2a6d + killer: 1 + - id: 14ff2ed3bcf0 + killer: 13 + - id: 16b31a2f1f78 + killer: 10 + - id: 177e65d823cb + killer: 14 + - id: 1b6fce5abcc8 + killer: 2 + - id: 1d2434cf98f0 + killer: 2 + - id: 1e88b0543754 + killer: 1 + - id: 1ee4df682416 + killer: 13 + - id: 1f1f3bc62780 + killer: 11 + - id: 208279a6c90e + killer: 15 + - id: 218574bb4be8 + killer: 2 + - id: 23fe211bba2e + killer: 12 + - id: 2894a45c0ce5 + killer: 14 + - id: 2a72846f9429 + killer: 10 + - id: 2b601c738bc7 + killer: 6 + - id: 2de04a0c34d8 + killer: 2 + - id: 2edcc92c28ed + killer: 0 + - id: 31234bbc8c0f + killer: 2 + - id: 31b7926f183f + killer: 0 + - id: 3920efb46407 + killer: 11 + - id: 39484cc11332 + killer: 0 + - id: 394d88e2de50 + killer: 1 + - id: 399f774615a4 + killer: 2 + - id: 3c63cc07e6d2 + killer: 13 + - id: 4248b4a2ab0f + killer: 5 + - id: 44de4b9f9848 + killer: 2 + - id: 451b9a3876f9 + killer: 1 + - id: 467562b7c19e + killer: 7 + - id: 4874f84677d2 + killer: 2 + - id: 48a810a5ef14 + killer: 2 + - id: 4a092e43cbae + killer: 8 + - id: 4d4440bea3ee + killer: 2 + - id: 4dbfe731f9cd + killer: 1 + - id: 54042d7d637e + killer: 0 + - id: 55d6e1b78959 + killer: 13 + - id: 5999be2a9f8c + killer: 1 + - id: 5a8a3547ce1c + killer: 2 + - id: 5b472fb5b73d + killer: 14 + - id: 5ecc8857e196 + killer: 10 + - id: 5f01a4e063ac + killer: 2 + - id: 6073aa076bb4 + killer: 2 + - id: 63195cd1ab9c + killer: 3 + - id: 631cf9ed2454 + killer: 8 + - id: 643eb0ead25a + killer: 1 + - id: 65938f729115 + killer: 14 + - id: 674bdd67be83 + killer: 2 + - id: 6b80db2f1627 + killer: 4 + - id: 6ba056ca5a71 + killer: 2 + - id: 6ddd592c51a9 + killer: 1 + - id: 6de37a673952 + killer: 12 + - id: 6fd824857f9a + killer: 2 + - id: 710c343ad271 + killer: 13 + - id: 71f63632f737 + killer: 2 + - id: 74896d16f144 + killer: 10 + - id: 75ea7906fcbc + killer: 2 + - id: 77569d0d6683 + killer: 1 + - id: 79f3109965fd + killer: 1 + - id: 7a755f4c131d + killer: 11 + - id: 7b31159090af + killer: 4 + - id: 7b4023446d8d + killer: 2 + - id: 81021f31ed14 + killer: 12 + - id: 8402a8e44031 + killer: 11 + - id: 843b528bd204 + killer: 4 + - id: 86121dd16336 + killer: 13 + - id: 86d97d5566ee + killer: 5 + - id: 878ab2ecb650 + killer: 2 + - id: 8af26c16cc75 + killer: 2 + - id: 8d6685992854 + killer: 8 + - id: 8ff64e592b8c + killer: 0 + - id: 96fa645fe073 + killer: 1 + - id: 9740179fa151 + killer: 14 + - id: 9954cde97a0c + killer: 6 + - id: 998635b4fbb8 + killer: 2 + - id: 9ee78566cede + killer: 13 + - id: 9ef118a84030 + killer: 14 + - id: 9f017d2aa478 + killer: 1 + - id: 9fc358c9704e + killer: 5 + - id: a1520f93f7d7 + killer: 11 + - id: a1c55fa7bd0b + killer: 6 + - id: a21d46a717c5 + killer: 4 + - id: a47ea87a8e82 + killer: 2 + - id: a53466dba034 + killer: 2 + - id: a69a8d57413e + killer: 8 + - id: a9a47c7aca98 + killer: 2 + - id: a9d24ec32b0f + killer: 6 + - id: aa111668b1de + killer: 2 + - id: aa7c34255686 + killer: 0 + - id: aad99412e4ab + killer: 1 + - id: aca3b40a43a8 + killer: 1 + - id: b249a9c033cd + killer: 9 + - id: b26c963ba741 + killer: 0 + - id: b8e666f43e71 + killer: 2 + - id: c16e1fac19dc + killer: 1 + - id: c4ea0ec56b0f + killer: 2 + - id: c71e94d63c46 + killer: 2 + - id: c8d002755cb7 + killer: 2 + - id: c9eb5ffde770 + killer: 2 + - id: ca18c5aea4ff + killer: 0 + - id: cb1138429127 + killer: 2 + - id: cbbe5ae944c0 + killer: 2 + - id: cd669aa3dc26 + killer: 15 + - id: cead55fd3010 + killer: 3 + - id: cf102123aeda + killer: 11 + - id: cfae78f3789f + killer: 2 + - id: d15d9d7a1750 + killer: 12 + - id: d16e5722fb9c + killer: 2 + - id: d18d71c3eab5 + killer: 13 + - id: d41f5ad29085 + killer: 2 + - id: d5dc2082bd11 + killer: 3 + - id: db03a9b21655 + killer: 2 + - id: ddb2ef3ed126 + killer: 2 + - id: dfb48eb64aec + killer: 2 + - id: e290a9ad79ed + killer: 2 + - id: e408701ebb60 + killer: 2 + - id: e6f85f9c3ea0 + killer: 2 + - id: e7460020a933 + killer: 11 + - id: eb393201a914 + killer: 6 + - id: ebddac7fd878 + killer: 1 + - id: f10a329e57a7 + killer: 1 + - id: f1ff6b0bcb98 + killer: 1 + - id: f7d812cc6ee0 + killer: 6 + - id: f8cff33f03d1 + killer: 2 + - id: f9f876d441d8 + killer: 1 + - id: fdadcb0c382a + killer: 11 + - id: fe3b3d570246 + killer: 15 + - id: fed18c6fae0b + killer: 0 + - id: ffc4ee39f5b4 + killer: 14 +- path: crates/cargo-gamma-lib/src/exec/test_binary.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_stage_that_fails_to_compile_reports_the_failure + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_cap_that_leaves_the_mutants_unjudged_names_the_package_that_could_judge_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_compile_fail_target_is_named_before_anything_is_built + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stale_hints_binary_stays_out_of_targets_when_nothing_else_justifies_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_target_already_excluded_is_not_warned_about + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::census_targets_only_selected_pending_sites_and_relevant_binaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_the_canonical_timeout + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::cold_run_ordering_never_drops_a_reachable_binary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::cold_runs_put_own_package_binaries_before_cheaper_dependents + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::package_queues_are_interleaved_instead_of_forming_worker_convoys + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_binary_carries_the_directory_of_its_packages_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_binary_that_earns_more_than_the_floor_keeps_its_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_harness_width_the_caller_chose_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_package_whose_tests_can_reach_nothing_being_mutated_is_not_built + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_pattern_matching_a_declared_target_is_not_reported_as_unmatched + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_pattern_matching_nothing_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_pre_release_version_is_not_mistaken_for_a_package_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_workspace_run_judges_each_mutant_only_with_its_own_package + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_workspace_with_no_dependency_graph_is_built_whole + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::an_exclusion_beats_an_inclusion_that_also_matches + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::an_exclusion_glob_removes_the_targets_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::an_inclusion_glob_keeps_only_the_targets_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::an_unknown_package_reaches_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::budget_for_computes_per_mutant_overridden_budget + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::exact_compiler_linkage_excludes_only_unlinked_integration_tests + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::exact_linkage_selects_every_supported_cargo_test_target_kind + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::external_path_artifacts_are_opaque_while_registry_artifacts_are_known_external + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::linkage_graph_cycles_registry_edges_and_ambiguous_edges_fail_safely + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::malformed_dep_info_and_unsupported_targets_disable_narrowing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::missing_ambiguous_and_opaque_capture_all_fail_open + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::more_workers_than_cores_still_get_a_thread_each + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::mutating_everything_asks_for_the_whole_workspace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::naming_the_test_packages_replaces_the_default_cap + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::naming_the_tests_that_matter_narrows_the_build_to_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::non_normalized_paths_never_create_a_positive_linkage_match + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::one_unmatched_filename_among_multiple_artifacts_disables_target_narrowing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::package_local_testing_builds_only_the_mutated_packages_own_tests + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::test_binaries_are_read_from_cargo_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::workload_refuses_a_reachability_missing_a_pending_mutants_package - should panic + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::workload_sums_reachable_binary_baselines_with_no_census + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + mutants: + - id: 00972ae56d60 + killer: 15 + - id: 00bae3d9a051 + killer: 16 + - id: 010fae30f67a + killer: 43 + - id: 01a12b079171 + killer: 26 + - id: 0237f55e137f + killer: 20 + - id: 03f6bd37c93f + killer: 0 + - id: 04189006a8ae + killer: 5 + - id: 04c534492c76 + killer: 42 + - id: 04cc92ca49f5 + killer: 27 + - id: 05c3832ff1f4 + killer: 43 + - id: 06001a303c2b + killer: 16 + - id: 073bcbf9d861 + killer: 23 + - id: 07a36d914ec2 + killer: 19 + - id: 0864872ff21c + killer: 27 + - id: 0869dfc7d5d9 + killer: 43 + - id: 0884effb2387 + killer: 31 + - id: 08e40936c039 + killer: 39 + - id: 09054eaaa4d7 + killer: 27 + - id: 0972c6bd945e + killer: 27 + - id: 0aa679235f36 + killer: 35 + - id: 0ae103e1f0fc + killer: 27 + - id: 0b3aa27e598c + killer: 43 + - id: 0ca000192cad + killer: 30 + - id: 0d03dbde196b + killer: 43 + - id: 0d477f3c45b9 + killer: 43 + - id: 0d842d02bc53 + killer: 29 + - id: 0dcc960b29ee + killer: 27 + - id: 0eaad42120c0 + killer: 38 + - id: 106697790b7a + killer: 27 + - id: 1083ebac3856 + killer: 27 + - id: 10c5d0048370 + killer: 27 + - id: 10ca58ec0782 + killer: 16 + - id: 10e93d590dc1 + killer: 43 + - id: 129c8d6a7021 + killer: 29 + - id: 145ff95503a4 + killer: 29 + - id: 1462acdf6c40 + killer: 27 + - id: 15489c41e9e8 + killer: 27 + - id: 15b68c8236b3 + killer: 27 + - id: 1706993ed76c + killer: 43 + - id: 183a10218eab + killer: 43 + - id: 19970d9e0cae + killer: 27 + - id: 1a1ceae4c652 + killer: 16 + - id: 1a72aea41dbc + killer: 31 + - id: 1b3f3be6efc3 + killer: 27 + - id: 1cfecd634fc8 + killer: 15 + - id: 1d4e53b50e21 + killer: 27 + - id: 1dbf76a90440 + killer: 27 + - id: 1e6a6c593a80 + killer: 28 + - id: 1eeaae91f636 + killer: 25 + - id: 2041f17070c5 + killer: 27 + - id: 21e3afe3edac + killer: 29 + - id: 2277177bc90e + killer: 42 + - id: 236770fd0c3a + killer: 20 + - id: 23dae375e6ea + killer: 15 + - id: 24e7f99acf82 + killer: 8 + - id: 257dc567a26d + killer: 5 + - id: 258d6b0933d4 + killer: 16 + - id: 2616762820a2 + killer: 27 + - id: 2661dc93ead4 + killer: 37 + - id: 2794de226f85 + killer: 12 + - id: 2910ef8264dc + killer: 27 + - id: 29337aa0c28d + killer: 24 + - id: 296e15d822b2 + killer: 8 + - id: 2abe305cdc28 + killer: 43 + - id: 2c543eda7936 + killer: 7 + - id: 2e675d2decc1 + killer: 40 + - id: 2fe1fd839d35 + killer: 42 + - id: 301702a9ab49 + killer: 43 + - id: 3041e58211ef + killer: 43 + - id: 3060045abae3 + killer: 28 + - id: 3078600c5b8c + killer: 27 + - id: 312e007a2bb6 + killer: 29 + - id: 31e05ff054db + killer: 3 + - id: 340d1a588ae0 + killer: 16 + - id: 3506f77f4fd1 + killer: 43 + - id: 37283a431162 + killer: 13 + - id: 37c85f1ab698 + killer: 19 + - id: 38cf27dd4169 + killer: 5 + - id: 395eaa67e917 + killer: 27 + - id: 3a53af6d4a7b + killer: 43 + - id: 3ba8192bb280 + killer: 18 + - id: 3bc0012747cb + killer: 27 + - id: 3cd0524e6cb0 + killer: 43 + - id: 3d23cbab5bb5 + killer: 27 + - id: 3d3199b9f364 + killer: 41 + - id: 3ddf70c37b54 + killer: 29 + - id: 3e41440a7178 + killer: 27 + - id: 3e90a30f78b1 + killer: 15 + - id: 3f44ccdef85a + killer: 29 + - id: 3f72eb9420ab + killer: 19 + - id: 3fb0a6640a8e + killer: 6 + - id: 410d5a1a3433 + killer: 6 + - id: 415f27ffb51c + killer: 27 + - id: 4193e1f7d1a5 + killer: 16 + - id: 42e62ed86f7b + killer: 16 + - id: 4314186fc3fe + killer: 19 + - id: 43f48e537c5a + killer: 6 + - id: 46f82c9a872b + killer: 27 + - id: 47dae6df72f8 + killer: 33 + - id: 47f92d7177b0 + killer: 15 + - id: 4903e5a059fa + killer: 27 + - id: 4a284bba1700 + killer: 43 + - id: 4a7c384e6499 + killer: 15 + - id: 4aa4821d16c3 + killer: 19 + - id: 4b541bfe9105 + killer: 3 + - id: 4c65b6d46087 + killer: 43 + - id: 4cb56d457a82 + killer: 27 + - id: 4d3024174e4f + killer: 2 + - id: 4d72d840ff8a + killer: 22 + - id: 4d93e65d7605 + killer: 28 + - id: 4e95b715aa63 + killer: 30 + - id: 4ee1c3d637d9 + killer: 7 + - id: 4f116d77fc4b + killer: 27 + - id: 4fcb0ccbe9ea + killer: 42 + - id: 4fcfec42cc59 + killer: 27 + - id: 501ce30aae58 + killer: 29 + - id: 50b5ee90e83e + killer: 43 + - id: 50e4ce906a96 + killer: 43 + - id: 514e3d252a40 + killer: 14 + - id: 51d9bb0cbf8e + killer: 28 + - id: 5233f6facd7a + killer: 27 + - id: 5246e0c330f7 + killer: 43 + - id: 52c86b7321ee + killer: 27 + - id: 549b3d14cf7d + killer: 27 + - id: 552c8ceef7c5 + killer: 31 + - id: 5588bdbc28bc + killer: 8 + - id: 559ca2c770c4 + killer: 27 + - id: 5696b57bd275 + killer: 43 + - id: 569b64972105 + killer: 27 + - id: 57a096fbeea8 + killer: 29 + - id: 57fbfdada6fc + killer: 28 + - id: 588f33d3847e + killer: 31 + - id: 59b2d43350ee + killer: 5 + - id: 5dc7a9a46910 + killer: 27 + - id: 5e764ee6adf8 + killer: 27 + - id: 5f391c7ef504 + killer: 27 + - id: 6179f5e50be6 + killer: 27 + - id: 619fd81c48ae + killer: 36 + - id: 6277238aea72 + killer: 29 + - id: 62b4a593214e + killer: 28 + - id: 6438bf0cb444 + killer: 19 + - id: 644614f6d89a + killer: 27 + - id: 64896d6e0443 + killer: 27 + - id: 6564adf83857 + killer: 27 + - id: 657bb6594ee7 + killer: 1 + - id: 67ba43655b38 + killer: 18 + - id: 69779150bd15 + killer: 27 + - id: 6a430551675a + killer: 3 + - id: 6a65cd949877 + killer: 29 + - id: 6ab2db2d0278 + killer: 43 + - id: 6c6eef384b76 + killer: 9 + - id: 6e33bf9440c3 + killer: 27 + - id: 6e3bb492366c + killer: 29 + - id: 6ee474b1126e + killer: 28 + - id: 700eef235829 + killer: 3 + - id: 70f2063de7ab + killer: 42 + - id: 7290766746aa + killer: 27 + - id: 72b09aaa1df8 + killer: 43 + - id: 72ef525967e4 + killer: 29 + - id: 7350a1009c5d + killer: 44 + - id: 73e2ed489705 + killer: 29 + - id: 7479a00594e7 + killer: 28 + - id: 7485db28da1b + killer: 15 + - id: 754c4c054b93 + killer: 27 + - id: 75e8ed3439d9 + killer: 29 + - id: 763dbc9d7a80 + killer: 34 + - id: 78ede627da78 + killer: 27 + - id: 79368c13e83d + killer: 29 + - id: 7a25bcedb7b0 + killer: 25 + - id: 7a835f7a57ad + killer: 20 + - id: 7a9754a08481 + killer: 43 + - id: 7b6b8148e10d + killer: 43 + - id: 7bd27e2a4036 + killer: 43 + - id: 7eb64243d6a7 + killer: 27 + - id: 7f61b4f2b600 + killer: 43 + - id: 7f7d15ffca6d + killer: 27 + - id: 8068bf39aad8 + killer: 16 + - id: 8199401dc356 + killer: 41 + - id: 8254702e6dc9 + killer: 27 + - id: 8286cf25698e + killer: 27 + - id: 829810edfd74 + killer: 42 + - id: 836edb4a41ab + killer: 27 + - id: 83b535758e8a + killer: 16 + - id: 83f9b49cd986 + killer: 27 + - id: 84f2b2aeadbb + killer: 28 + - id: 853b8869c0d7 + killer: 0 + - id: 879d57ef9780 + killer: 27 + - id: 88398a732988 + killer: 28 + - id: 896ab00bfa53 + killer: 43 + - id: 8adb1c039d52 + killer: 15 + - id: 8bdc76293e79 + killer: 27 + - id: 8c4b74c5f764 + killer: 42 + - id: 8efaaa046c52 + killer: 15 + - id: 901a5c6b38cb + killer: 5 + - id: 9116f3dbbf72 + killer: 28 + - id: 921acd80a6fe + killer: 10 + - id: 93c29246038c + killer: 27 + - id: 93f935db3d80 + killer: 27 + - id: 93f9c0d17be3 + killer: 25 + - id: 943d9460868c + killer: 43 + - id: 94abd1878f5b + killer: 42 + - id: 95659ac9af03 + killer: 43 + - id: 95a7162aec1f + killer: 27 + - id: 95a7df20eaf4 + killer: 43 + - id: 969a66360153 + killer: 28 + - id: 969bfd8bcdd5 + killer: 43 + - id: 96c32fa8029c + killer: 4 + - id: 980df496e705 + killer: 29 + - id: 987e7d12a38a + killer: 34 + - id: 98d78ae514e3 + killer: 31 + - id: 98f5b5b84346 + killer: 27 + - id: 990dc2c2c20f + killer: 9 + - id: 99cf1dd98233 + killer: 40 + - id: 9ad8536a89ff + killer: 43 + - id: 9bb79749d55f + killer: 1 + - id: 9ce2f9bd9136 + killer: 3 + - id: 9d1a1576d1ac + killer: 5 + - id: 9d723d6b2333 + killer: 29 + - id: 9e3532451823 + killer: 3 + - id: 9f167899a48c + killer: 27 + - id: a1304137e315 + killer: 14 + - id: a1dd81a60be6 + killer: 42 + - id: a23ee3c5dade + killer: 27 + - id: a246977b3320 + killer: 43 + - id: a2c9bd66ece3 + killer: 17 + - id: a32090a83c24 + killer: 43 + - id: a432a129dca6 + killer: 29 + - id: a4b820633234 + killer: 27 + - id: a5c1e40b4507 + killer: 27 + - id: a6060bafcca2 + killer: 29 + - id: a6f15be3dde1 + killer: 43 + - id: a76ecd869e87 + killer: 27 + - id: a8e8a8988a4e + killer: 27 + - id: a900681d4228 + killer: 27 + - id: a99ee6fa0961 + killer: 22 + - id: aa2f9286c536 + killer: 6 + - id: aa686721bbd5 + killer: 19 + - id: aa8ee342ffa3 + killer: 27 + - id: aada1591f378 + killer: 27 + - id: ab214a99a6de + killer: 27 + - id: ab264443fa15 + killer: 27 + - id: ab5c4bfd5376 + killer: 43 + - id: ab8ffc28d9bc + killer: 14 + - id: ae7322252e3d + killer: 43 + - id: af5b0749e90b + killer: 27 + - id: af68d9d81f0e + killer: 29 + - id: afd00069801c + killer: 5 + - id: b21cc10f9c32 + killer: 27 + - id: b4aef921e16d + killer: 19 + - id: b4be98d8ccbb + killer: 3 + - id: b503412810de + killer: 29 + - id: b5b062f16534 + killer: 27 + - id: b8ec71d7f809 + killer: 27 + - id: bbaef857da41 + killer: 43 + - id: bce0186e8784 + killer: 32 + - id: bcfddae3091a + killer: 15 + - id: bdeef9c053f6 + killer: 15 + - id: bdf4c6a22764 + killer: 43 + - id: bebb50e3ba97 + killer: 32 + - id: befc9f2ffd0f + killer: 28 + - id: bf01220d15af + killer: 22 + - id: bf3e091281fd + killer: 8 + - id: bfec10c68dca + killer: 27 + - id: c04d8b5847cc + killer: 27 + - id: c0b917702b11 + killer: 14 + - id: c0dcc66a991d + killer: 27 + - id: c100e6f7b0b2 + killer: 27 + - id: c16bc4acec28 + killer: 19 + - id: c409ee47f66f + killer: 43 + - id: c5077094e8bd + killer: 5 + - id: c5d3b12b27af + killer: 28 + - id: c5edae0d6a75 + killer: 6 + - id: c6e983ffabf6 + killer: 27 + - id: c77cfcf8433a + killer: 33 + - id: caa00bfb6abf + killer: 27 + - id: cc5da03ff1e7 + killer: 41 + - id: cdb081ffdd40 + killer: 43 + - id: cdd29114c5e9 + killer: 10 + - id: d0b31947f01e + killer: 29 + - id: d197fbf202fb + killer: 15 + - id: d22ed9dc65bd + killer: 27 + - id: d2e145b83901 + killer: 27 + - id: d3328ba6db67 + killer: 28 + - id: d36b5b6b78b0 + killer: 31 + - id: d61edb100211 + killer: 16 + - id: d820319c20fa + killer: 27 + - id: d8702dee6710 + killer: 27 + - id: d961078f06b5 + killer: 27 + - id: da4742cbbf1c + killer: 31 + - id: da713486ad85 + killer: 28 + - id: db288eab3310 + killer: 43 + - id: dd4def0cee92 + killer: 42 + - id: ddcfd69a8b73 + killer: 27 + - id: ddeb8d3ce303 + killer: 16 + - id: df0a8addaa6b + killer: 33 + - id: dfde3bfe2dc2 + killer: 29 + - id: e271b4118056 + killer: 33 + - id: e289b1d78658 + killer: 27 + - id: e2c960df733e + killer: 10 + - id: e2e02a5e36bf + killer: 27 + - id: e3122807e124 + killer: 43 + - id: e454c8645acc + killer: 43 + - id: e5e11a811d89 + killer: 22 + - id: e831b695a17c + killer: 43 + - id: e9222a39ef44 + killer: 43 + - id: e9325ec7323d + killer: 27 + - id: e93fd962193e + killer: 13 + - id: e94eebb74565 + killer: 16 + - id: e98ead53693a + killer: 7 + - id: ea8dfc7c5fb3 + killer: 43 + - id: edd6ccfd0b68 + killer: 27 + - id: eec75366ab79 + killer: 17 + - id: f0094425dc99 + killer: 27 + - id: f034fcb3cf71 + killer: 5 + - id: f1abf4693be1 + killer: 29 + - id: f1edf1da4f42 + killer: 29 + - id: f24f51dc9f45 + killer: 43 + - id: f351646e2879 + killer: 21 + - id: f3629f8a9080 + killer: 43 + - id: f41571050c52 + killer: 19 + - id: f4167ca0f263 + killer: 43 + - id: f4bdb6df376b + killer: 43 + - id: f6079919878b + killer: 27 + - id: f71327d22302 + killer: 27 + - id: f7e1ad001223 + killer: 16 + - id: f80c86cd1679 + killer: 27 + - id: f902abe91c76 + killer: 32 + - id: f905472ab779 + killer: 43 + - id: f98304cdd10c + killer: 43 + - id: fa19067d4bb2 + killer: 27 + - id: fd5efcdc2400 + killer: 27 + - id: fd68abd6a0ae + killer: 3 + - id: fd7729476be5 + killer: 31 + - id: fe2420d58544 + killer: 27 + - id: fe7d80db3292 + killer: 27 + - id: feb1b4461bbb + killer: 43 + - id: fef3b06e1d70 + killer: 11 + - id: ff9cb2774419 + killer: 43 +- path: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::advice_goes_where_it_was_asked_for_and_diag_is_emitted_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_readers_gauge_counts_a_reader_for_as_long_as_it_runs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_wakeup_raised_before_the_wait_is_not_slept_through + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_wakeup_raised_during_a_wait_ends_it + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 05d1f4aeed51 + killer: 1 + - id: 06f8894e21ee + killer: 2 + - id: 19c231cd2afe + killer: 1 + - id: 1f9339425a04 + killer: 2 + - id: 2524da54d3ee + killer: 1 + - id: 370f7195ca4b + killer: 0 + - id: 5519f751b141 + killer: 1 + - id: 759aa279ff51 + killer: 1 + - id: 766fe1b93086 + killer: 1 + - id: 794bb51cd6c3 + killer: 1 + - id: 8e47ce574627 + killer: 1 + - id: 8fa8e3ca4698 + killer: 1 + - id: 92656e934699 + killer: 1 + - id: 9656ac18f4f6 + killer: 2 + - id: 97a2e9ff8873 + killer: 4 + - id: 9bfbb14e43d1 + killer: 1 + - id: 9df96892561b + killer: 2 + - id: 9e8114d005f4 + killer: 2 + - id: a2dd6efda07b + killer: 1 + - id: a4969a4bb295 + killer: 2 + - id: ade1b286866c + killer: 1 + - id: b81a41ae070f + killer: 1 + - id: c1a042939aa5 + killer: 3 + - id: cff9798fdab4 + killer: 2 + - id: d96c5c709581 + killer: 1 + - id: ea7cd841b7ab + killer: 1 + - id: ed21b80a7077 + killer: 2 + - id: fcb64f5353ef + killer: 1 + - id: fd0dca2ecab7 + killer: 2 +- path: crates/cargo-gamma-lib/src/exec/verdict.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::baseline_progress_advances_once_for_every_finished_binary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_that_is_being_mutated_still_stops_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_that_never_reached_the_compiler_says_so_rather_than_blaming_the_tree + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_failure_with_nothing_on_either_stream_says_so_rather_than_showing_a_blank + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::walked_counts_launches_that_happened_not_tests_that_were_listed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_confirmation_of_a_flaky_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_the_canonical_timeout + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_group_census_hint_is_disabled_by_every_canonical_precedence_policy + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_grouped_census_probe_attributes_an_unnamed_failure_to_its_first_selected_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_reach_candidate_is_released_only_at_its_canonical_binary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::another_item_reuses_the_binary_without_assuming_its_exact_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_baseline_failure_retains_evidence_without_waiting_for_the_binary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_binary_runs_from_its_package_root + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_binary_that_goes_quiet_is_stalled_at_the_last_test_it_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_census_selection_keeps_only_the_tests_the_users_filter_admits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_chosen_test_the_users_filter_excludes_is_refused_rather_than_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_code_nextest_uses_for_its_own_failures_is_not_a_verdict + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_confirmation_that_agrees_ends_the_ladder + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_confirmation_that_crosses_into_another_detection_class_is_confirmed_in_turn + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_failing_binary_is_named_by_its_first_failing_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_failure_convicts_a_mutant_without_waiting_for_the_rest_of_the_binary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_guard_before_runtime_installation_never_convicts_a_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_named_failure_outranks_the_ceiling_the_same_run_crossed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_nextest_failure_waits_for_a_later_environment_error_marker + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_pipe_that_fails_part_way_is_not_read_as_the_end_of_the_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_plain_libtest_run_is_watched_in_libtest_format + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_read_interrupted_by_a_signal_is_retried_rather_than_cut_short + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_reader_that_never_returns_leaves_the_collection_partial + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_run_through_nextest_is_watched_in_nextest_format + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_run_with_capture_turned_off_takes_no_verdict_from_the_output + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_run_without_a_runner_invokes_the_binary_itself + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_runtime_environment_marker_has_a_standalone_verdict + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_spawn_the_machine_refuses_is_tried_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_termination_failure_abandons_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_verdict_reached_on_a_truncated_stream_says_the_text_was_partial + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_verdict_that_never_settles_stops_at_the_bound + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::an_exoneration_runs_only_the_failing_test_avoiding_suite_tail_timeouts + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::an_exonerations_own_overrun_is_not_adopted_as_the_mutants_verdict + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::an_ordinary_binary_leaves_no_reader_behind + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::an_ordinary_mutant_run_harvests_reach_without_an_extra_launch + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::an_unrepresentable_deadline_is_clamped_without_panicking + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::attempts_and_diagnostic_errors_preserve_their_user_visible_details + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::diagnostic_line_limit_marks_output_truncated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::diagnostic_output_cannot_forge_a_final_libtest_failure_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::diagnostic_output_cannot_forge_a_libtest_failure + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::insta_is_told_not_to_accept_what_a_mutant_produced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::interleaved_output_gives_up_watching_entirely + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::nextest_convicts_a_mutant_only_on_a_real_test_failure + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::nextest_test_enumeration_failure_is_suspect_only_with_a_mutant_active + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::only_a_transient_refusal_is_waited_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::output_discarded_past_the_cap_marks_the_stream_incomplete + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::positive_reach_survives_an_incomplete_observation_but_negative_reach_does_not + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::reader_thread_creation_failure_leaves_the_attempt_unjudged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::readers_that_all_returned_leave_the_collection_whole + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::startup_silence_measured_by_the_baseline_does_not_stall_the_same_binary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::the_tail_keeps_the_last_lines + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + mutants: + - id: 003c081947e8 + killer: 59 + - id: 009c3c87d957 + killer: 56 + - id: 021aad67d084 + killer: 53 + - id: 0231a24c4608 + killer: 12 + - id: 036e390444f6 + killer: 42 + - id: 039010aa3c1a + killer: 57 + - id: 0432db09496b + killer: 12 + - id: 04ed0b6aa7ad + killer: 12 + - id: 0541fbcd5124 + killer: 44 + - id: 05c8366d4bcd + killer: 12 + - id: 0663714e1a13 + killer: 19 + - id: 06d8fdab7b6a + killer: 33 + - id: 07e4597f28bc + killer: 19 + - id: 0848ae6b6d97 + killer: 5 + - id: 090dffb2273f + killer: 28 + - id: 09ade2bcca39 + killer: 33 + - id: 09dbc21e02f2 + killer: 58 + - id: 0a92e449cbed + killer: 19 + - id: 0dce23dd3fcc + killer: 12 + - id: 0e224f20a2a5 + killer: 54 + - id: 106d2cc81d5c + killer: 50 + - id: 10bfe74f07ba + killer: 19 + - id: 10f1e3ef5533 + killer: 43 + - id: 130b468f5a00 + killer: 37 + - id: 136cc329dfb4 + killer: 50 + - id: 14f54d3443db + killer: 58 + - id: 14f8731d032c + killer: 23 + - id: 159f8489d1b6 + killer: 28 + - id: 1649d4aa3e99 + killer: 12 + - id: 1680146d531c + killer: 52 + - id: 16c8852ec827 + killer: 47 + - id: 1725f1178882 + killer: 52 + - id: 17570b4a2f2b + killer: 39 + - id: 17b8b3b0e216 + killer: 7 + - id: 18e3e3cc77e6 + killer: 13 + - id: 193a2cee995a + killer: 12 + - id: 1a8aea5ec9c7 + killer: 31 + - id: 1d4987c1a7e1 + killer: 58 + - id: 1d8b0a1f21e6 + killer: 30 + - id: 1e62af5f2f65 + killer: 21 + - id: 20da404ea0f4 + killer: 43 + - id: 22dcef603284 + killer: 58 + - id: 23221f790749 + killer: 13 + - id: 233c5b150aff + killer: 4 + - id: 23f55dab4193 + killer: 19 + - id: 241dfdeee7e3 + killer: 34 + - id: 2515d2288d5e + killer: 4 + - id: 256d2ed08b95 + killer: 13 + - id: 2581555b779c + killer: 34 + - id: 26883c272e68 + killer: 13 + - id: 276b9e726c3b + killer: 58 + - id: 287f9c4b39ed + killer: 28 + - id: 293143cd31bd + killer: 57 + - id: 2940318ec063 + killer: 27 + - id: 2976a48b9d41 + killer: 13 + - id: 2a4291a9ef38 + killer: 12 + - id: 2aec4d22150d + killer: 31 + - id: 2bbc617b016f + killer: 58 + - id: 2d42e5b5c187 + killer: 49 + - id: 2d496fa43d79 + killer: 40 + - id: 2e4dd0cbb81f + killer: 44 + - id: 2ec243a96c4d + killer: 2 + - id: 2f1455e7ba7b + killer: 36 + - id: 2fbafcdecd1a + killer: 13 + - id: 30ca794c0a55 + killer: 58 + - id: 318c42a6bd11 + killer: 3 + - id: 31c5c9d99521 + killer: 41 + - id: 334c2a943387 + killer: 12 + - id: 335ac384e363 + killer: 0 + - id: 3380b842b1d0 + killer: 12 + - id: 349b3391bb24 + killer: 20 + - id: 352ce86c3cc1 + killer: 11 + - id: 37a8a7215493 + killer: 12 + - id: 38b1e0674ec8 + killer: 10 + - id: 395c77bb1698 + killer: 58 + - id: 397960d084f3 + killer: 10 + - id: 39dd69f66564 + killer: 23 + - id: 3b9438c720c4 + killer: 52 + - id: 3d1f3f5337c7 + killer: 12 + - id: 3d221cd02061 + killer: 13 + - id: 3e7e09b596ba + killer: 13 + - id: 3f58aef935de + killer: 7 + - id: 402783c66195 + killer: 43 + - id: 423c44faf0ff + killer: 2 + - id: 424bfa3d2215 + killer: 13 + - id: 43bf5bb4e726 + killer: 17 + - id: 45628ea058fa + killer: 43 + - id: 456e4bc5c6bf + killer: 53 + - id: 470b75bd023b + killer: 19 + - id: 487af7523931 + killer: 22 + - id: 489bdd612702 + killer: 48 + - id: 48a61d85583a + killer: 13 + - id: 48ef033fccf1 + killer: 5 + - id: 496fcabe87d4 + killer: 12 + - id: 4988a59939dc + killer: 12 + - id: 4a012e51508d + killer: 35 + - id: 4bd27167ecf1 + killer: 41 + - id: 4c78eb22bc8a + killer: 58 + - id: 4d14ddc8f945 + killer: 58 + - id: 4df511de3801 + killer: 58 + - id: 50ef2cc5055e + killer: 2 + - id: 524f2d12c161 + killer: 36 + - id: 528a50b83784 + killer: 34 + - id: 52f5c4a6b766 + killer: 12 + - id: 530633859e1e + killer: 19 + - id: 5378a09e7b87 + killer: 12 + - id: 540a0542810d + killer: 58 + - id: 550d846e2c96 + killer: 13 + - id: 5a02ec13a0cf + killer: 51 + - id: 5a48eedbf535 + killer: 48 + - id: 5c508a1f9ba0 + killer: 50 + - id: 5d0b91115024 + killer: 50 + - id: 5e110336cb76 + killer: 2 + - id: 5fa42524564a + killer: 9 + - id: 5fb045eaca1b + killer: 44 + - id: 6097a260061f + killer: 12 + - id: 60dc86d413d7 + killer: 10 + - id: 626055f0340a + killer: 12 + - id: 63655c7a8a8c + killer: 36 + - id: 64220f07a02d + killer: 57 + - id: 64e2184b010b + killer: 51 + - id: 66b7f03d5032 + killer: 12 + - id: 671ec781a61a + killer: 13 + - id: 681442bd4a0b + killer: 10 + - id: 692d4dd660e6 + killer: 33 + - id: 69c41209e428 + killer: 57 + - id: 6c956cd8050a + killer: 55 + - id: 6c999dd27cd8 + killer: 43 + - id: 6c9b360cdee1 + killer: 18 + - id: 6d00bb9135fd + killer: 6 + - id: 6ee16048e1c5 + killer: 12 + - id: 6ee65cc8647b + killer: 41 + - id: 6fa8889d182f + killer: 44 + - id: 6fb9f584d695 + killer: 4 + - id: 6ff19fcd9850 + killer: 34 + - id: 7006064f79d7 + killer: 10 + - id: 70701708b4b6 + killer: 47 + - id: 71ff5368a217 + killer: 13 + - id: 72a16cb9e6b6 + killer: 13 + - id: 72e4410543d8 + killer: 26 + - id: 737f16cc1781 + killer: 44 + - id: 744c06a913b1 + killer: 40 + - id: 7765a13fb9a5 + killer: 57 + - id: 77896a3629d3 + killer: 7 + - id: 778a822cfa30 + killer: 58 + - id: 78053abbac6e + killer: 19 + - id: 7965abe4cf99 + killer: 13 + - id: 7a853ca071b9 + killer: 16 + - id: 7bc260fc9236 + killer: 47 + - id: 7c7498a55232 + killer: 58 + - id: 7cffeb366baa + killer: 13 + - id: 7d42ebd70390 + killer: 44 + - id: 7d72b2826b15 + killer: 58 + - id: 7e0fb3473906 + killer: 29 + - id: 7e1d0306c72d + killer: 4 + - id: 7ea9de2638af + killer: 1 + - id: 7f252578d0ed + killer: 37 + - id: 7f4640802fea + killer: 10 + - id: 7fedab3c5547 + killer: 25 + - id: 83cb80a27f78 + killer: 50 + - id: 842c9e467b06 + killer: 58 + - id: 8465dfbd00fc + killer: 44 + - id: 84a450ee2816 + killer: 6 + - id: 84d0c319738c + killer: 58 + - id: 84e9e670728e + killer: 6 + - id: 8555c43c0be6 + killer: 12 + - id: 85b381a26024 + killer: 6 + - id: 866f93101dc4 + killer: 52 + - id: 8bfb2e9d7cd2 + killer: 53 + - id: 8bff3dbf9720 + killer: 12 + - id: 8dda9bbe253c + killer: 57 + - id: 8f1f8ce44709 + killer: 32 + - id: 8f9a0b1d4950 + killer: 57 + - id: 90567fffa592 + killer: 6 + - id: 9058a8949347 + killer: 57 + - id: 9179f2f097c6 + killer: 24 + - id: 92a6736c5e2f + killer: 13 + - id: 95617b0b0e21 + killer: 43 + - id: 98bb745d9c67 + killer: 20 + - id: 98cd10b43457 + killer: 6 + - id: 98cf36356c59 + killer: 58 + - id: 9988742d1b14 + killer: 14 + - id: 9bb7fa22f0d4 + killer: 44 + - id: 9dc7acc217ce + killer: 4 + - id: 9f4861d1da16 + killer: 44 + - id: a1bb7e0b76da + killer: 6 + - id: a2cdcb92ba50 + killer: 44 + - id: a30faf2cb25b + killer: 6 + - id: a3278b10f904 + killer: 52 + - id: a32f8f37a75f + killer: 12 + - id: a3e0981e10fb + killer: 45 + - id: a40906907be1 + killer: 58 + - id: a52ca8044eae + killer: 19 + - id: a757ede78f93 + killer: 13 + - id: a88bb6deb768 + killer: 23 + - id: a96d3b77da05 + killer: 44 + - id: a9daa8e048b1 + killer: 12 + - id: aaef160c8fde + killer: 38 + - id: ac6ee3b6561f + killer: 50 + - id: acc8b4ec8bef + killer: 50 + - id: ada0686e10ef + killer: 51 + - id: ae673cccbee3 + killer: 28 + - id: af33b5747982 + killer: 53 + - id: af35fa70df22 + killer: 4 + - id: afb4343ff981 + killer: 47 + - id: afb9bab8934c + killer: 34 + - id: b1a761f3e4f4 + killer: 50 + - id: b1af8c6bed47 + killer: 52 + - id: b2521612b5be + killer: 13 + - id: b28a98c92f6e + killer: 4 + - id: b2b9194397c6 + killer: 57 + - id: b3f40fb02e06 + killer: 53 + - id: b3f440b5bc67 + killer: 52 + - id: b4577a63f14a + killer: 58 + - id: b49e18a3d62d + killer: 13 + - id: b550bdf82331 + killer: 53 + - id: b5fad5b784f0 + killer: 10 + - id: b6d43ff9f0a8 + killer: 6 + - id: b76ffa4dcce0 + killer: 58 + - id: b83fbe1a50f7 + killer: 12 + - id: b884c867ae10 + killer: 13 + - id: b8f524be08ef + killer: 0 + - id: b9646adfb9df + killer: 10 + - id: b9ca1ee55b09 + killer: 48 + - id: b9e2df093460 + killer: 12 + - id: ba56a11f4ef1 + killer: 58 + - id: bad44ad30931 + killer: 58 + - id: bc0c9df89478 + killer: 44 + - id: bc839dcdb69a + killer: 7 + - id: bcf45da756a9 + killer: 12 + - id: be4466a2ad54 + killer: 13 + - id: be614048cc76 + killer: 8 + - id: c0076e3625d7 + killer: 58 + - id: c17db7768b4b + killer: 2 + - id: c28ded377647 + killer: 41 + - id: c2dae505258c + killer: 46 + - id: c47b27924d5a + killer: 13 + - id: c4eb66c94291 + killer: 57 + - id: c5344cf0a236 + killer: 13 + - id: c59673173b18 + killer: 15 + - id: c5ed0e2b0fda + killer: 41 + - id: c933d3bbbdeb + killer: 56 + - id: c9d878bcd2a0 + killer: 8 + - id: caa74ebac89d + killer: 52 + - id: cb2637ef9ebc + killer: 34 + - id: cc5f18b1e1af + killer: 58 + - id: cca863bff47c + killer: 12 + - id: cccf1d28f84c + killer: 41 + - id: ccfcd865abfa + killer: 19 + - id: ce7bdb483bd9 + killer: 12 + - id: cfb8d88c5b9e + killer: 12 + - id: cfb9eb97862b + killer: 7 + - id: d052e46dda91 + killer: 6 + - id: d0ca5f41ca3b + killer: 2 + - id: d0ce8b8f6e93 + killer: 58 + - id: d19c91e50202 + killer: 13 + - id: d3163d79441e + killer: 57 + - id: d380c4ef92f1 + killer: 58 + - id: d444b3f140c9 + killer: 12 + - id: d455f93e0046 + killer: 58 + - id: d4bc29d1f87f + killer: 58 + - id: d948d83dfcc7 + killer: 7 + - id: d94ef0398f88 + killer: 43 + - id: da479b04ae10 + killer: 43 + - id: dbd4b6cea019 + killer: 41 + - id: dbe2e61263ad + killer: 13 + - id: dbe818e18a6e + killer: 52 + - id: dd917ebc50bd + killer: 58 + - id: de6235f1d233 + killer: 26 + - id: e022bd8d8c3a + killer: 51 + - id: e077e4673a93 + killer: 13 + - id: e187f7568530 + killer: 58 + - id: e358bad98a60 + killer: 12 + - id: e6de0f184c77 + killer: 34 + - id: e8083a397d5d + killer: 16 + - id: e91ccde36230 + killer: 12 + - id: eaf251a62d82 + killer: 25 + - id: ec34453895b3 + killer: 44 + - id: ed55d551241d + killer: 44 + - id: ed63448de6ca + killer: 58 + - id: ee2cbb3f17dc + killer: 7 + - id: eeac1b463e2b + killer: 44 + - id: eecf2570efe5 + killer: 12 + - id: efcb860a86d7 + killer: 58 + - id: f0c5078b2f17 + killer: 6 + - id: f2dd7f4ac63f + killer: 6 + - id: f442c17f22ce + killer: 58 + - id: f9c8cfd763f7 + killer: 50 + - id: fa42882dfe08 + killer: 2 + - id: fddf944d3d66 + killer: 48 + - id: fe9bbebb567e + killer: 34 + - id: fea7cc8dd70d + killer: 29 + - id: ff706c9496a7 + killer: 7 + - id: ffd4eaaafbae + killer: 11 +- path: crates/cargo-gamma-lib/src/exec/workspace.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::clean::tests::clean_reports_whether_cached_data_existed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_the_disk_it_left_behind + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_hints_write_uses_the_workspace_lock + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::an_unattributed_failure_is_isolated_to_the_mutant_that_provably_breaks_the_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::build_errors_are_formatted_without_running_cargo + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_listing_is_narrowed_by_the_filters_the_user_gave + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_relative_runtime_path_is_written_absolute + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_run_without_a_runner_invokes_the_binary_itself + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_capture_that_could_not_be_spawned_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_capture_that_exited_non_zero_is_reported_with_its_diagnostic + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_capture_that_is_not_utf8_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_default_cache_directory_claimed_by_another_workspace_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_directory_containing_only_somebody_elses_lock_file_is_not_adopted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_leaked_tree_keeps_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_linked_redirected_cache_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_redirected_cache_owned_by_another_workspace_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_redirected_cache_that_is_not_a_directory_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_relative_cache_directory_is_resolved_against_the_current_directory + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_run_that_never_settled_takes_its_build_output_with_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_run_that_settled_keeps_its_tree_and_build_output_for_the_next_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_scratch_directory_the_copy_cannot_prune_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_scratch_path_that_names_nothing_is_reduced_to_one_spelling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_teardown_of_a_tree_that_was_never_created_succeeds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_tree_that_cannot_be_removed_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_workspace_without_vcs_metadata_can_be_relocated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::an_empty_redirected_cache_is_claimed_for_its_workspace_and_can_be_reused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::an_explicit_teardown_removes_the_tree_and_leaves_the_destructor_nothing_to_do + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::an_oversized_owner_marker_is_rejected_before_its_contents_are_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::an_unmarked_populated_cache_is_refused_for_default_and_redirected_paths + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::array_rustflags_from_workspace_config_reach_scratch_cargo_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::cache_home_fallbacks_follow_cargo_precedence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::claiming_a_lock_never_truncates_its_existing_contents + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::cleaning_removes_cache_data_but_not_published_reports + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::copy_pruning_predicates_distinguish_lexical_relationships + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::empty_and_non_utf8_owner_markers_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::explicitly_naming_the_default_cache_does_not_take_its_lock_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::git_directories_and_pointer_files_are_exposed_to_the_scratch_tree + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::linking_a_package_with_no_manifest_is_a_noop + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::malformed_default_cache_paths_are_refused_before_any_state_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::nextest_inventories_the_profile_gamma_built + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::overwriting_a_copied_file_writes_only_when_the_content_actually_differs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::overwriting_a_directory_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::relocating_a_workspace_that_exposes_vcs_metadata_is_refused_before_copying + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::scratch_files_create_parents_and_nextest_deduplicates_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::scratch_tree_is_derived_from_the_same_base_as_prepare + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::the_default_cache_directory_name_is_pinned_to_this_crate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::the_xdg_cache_variable_and_tool_directory_define_the_default_home + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: clean_deletes_only_the_current_workspaces_cached_data + mutants: + - id: 009f76341092 + killer: 46 + - id: 023732e9dcc9 + killer: 1 + - id: 032d4d643167 + killer: 41 + - id: 03b334fc2178 + killer: 49 + - id: 0422a683723f + killer: 41 + - id: 04d02c04abf7 + killer: 11 + - id: 0514c79318cc + killer: 52 + - id: 0521c3d7b3db + killer: 42 + - id: 053f167e131e + killer: 50 + - id: 0568c9786fbb + killer: 11 + - id: 05bd5eb59f2e + killer: 49 + - id: 062725387056 + killer: 48 + - id: 083299637e9e + killer: 26 + - id: 08c532070d32 + killer: 34 + - id: 0990015c8ec1 + killer: 50 + - id: 09ff21ea13fd + killer: 32 + - id: 0d000c9cf2ed + killer: 50 + - id: 0da081a44d6e + killer: 49 + - id: 0e30ecd3cdf3 + killer: 51 + - id: 0e7045a778ef + killer: 50 + - id: 0e8e33a95173 + killer: 49 + - id: 0eb5143c3d74 + killer: 44 + - id: 10fa9c127560 + killer: 41 + - id: 139f4d938ba6 + killer: 54 + - id: 14ac0734e250 + killer: 49 + - id: 14de333b0429 + killer: 49 + - id: 1590a14347c9 + killer: 20 + - id: 1659b194084a + killer: 30 + - id: 16773f698780 + killer: 38 + - id: 196ebf3d2403 + killer: 54 + - id: 19d347dc6907 + killer: 50 + - id: 1a96e57de109 + killer: 49 + - id: 1b4a3587c71c + killer: 10 + - id: 1bd228343d7d + killer: 45 + - id: 1be879a4e660 + killer: 41 + - id: 1d1cd61a2793 + killer: 22 + - id: 20e09fd2c130 + killer: 54 + - id: 211ff48e5edc + killer: 50 + - id: 21647636a3ac + killer: 14 + - id: 225e42e88117 + killer: 45 + - id: 226eb6afc3a8 + killer: 34 + - id: 2298766df5c8 + killer: 50 + - id: 22d6bd3af2bc + killer: 32 + - id: 23619fd787e7 + killer: 20 + - id: 236a29d8e467 + killer: 44 + - id: 259c9ae1f69d + killer: 54 + - id: 25ce447b5843 + killer: 41 + - id: 265f4c8db1d5 + killer: 50 + - id: 26eb5d768ca0 + killer: 49 + - id: 271a3609419e + killer: 41 + - id: 274468ed2f72 + killer: 20 + - id: 27e4f6bd5090 + killer: 49 + - id: 27fe35432aaf + killer: 46 + - id: 28aa7f1d0f3b + killer: 11 + - id: 28f1b26a4d4d + killer: 25 + - id: 29004daf5790 + killer: 6 + - id: 29b6a0162de2 + killer: 22 + - id: 2bdbaa23b05d + killer: 50 + - id: 2c1e50d2d68b + killer: 49 + - id: 2d13dd69dd2b + killer: 50 + - id: 301b5d32bf21 + killer: 35 + - id: 302a5ef2eda8 + killer: 49 + - id: 3089777cd776 + killer: 50 + - id: 313654f8c3b9 + killer: 53 + - id: 327f980fc1ec + killer: 49 + - id: 3306f72d99cd + killer: 32 + - id: 3524e17a3b6a + killer: 34 + - id: 374a0de151ea + killer: 49 + - id: 37d8e7907054 + killer: 50 + - id: 38325374f692 + killer: 53 + - id: 3841ac23d3f8 + killer: 41 + - id: 38507f6cca36 + killer: 30 + - id: 39eb4c2e09d4 + killer: 21 + - id: 3a6029951024 + killer: 51 + - id: 3ad3e19e76af + killer: 6 + - id: 3b035f891d6f + killer: 28 + - id: 3b810c53bf05 + killer: 53 + - id: 3cfdaa25431b + killer: 48 + - id: 3dc5a455c8cc + killer: 22 + - id: 3e17f6544f8d + killer: 30 + - id: 3f4b11fb060a + killer: 50 + - id: 403c05b190e6 + killer: 7 + - id: 42104710b92d + killer: 22 + - id: 438857634ad7 + killer: 5 + - id: 43a8caddbfa7 + killer: 38 + - id: 44a3f12547c4 + killer: 2 + - id: 44c4ca939909 + killer: 54 + - id: 45a52d83c474 + killer: 40 + - id: 462e7d08c6e6 + killer: 8 + - id: 46debf72b6b2 + killer: 20 + - id: 485e95aaac03 + killer: 49 + - id: 487dfa371872 + killer: 50 + - id: 49aec30f2cc8 + killer: 50 + - id: 4b118467cd9f + killer: 14 + - id: 4c05b6e55bf4 + killer: 36 + - id: 4c5fd4c62706 + killer: 33 + - id: 4d5fb4c4bf9c + killer: 41 + - id: 4f8abbab82a6 + killer: 20 + - id: 51168fe2d892 + killer: 50 + - id: 5219343ca76d + killer: 50 + - id: 5237c34612ee + killer: 34 + - id: 52466be1298c + killer: 54 + - id: 52e2900fc45c + killer: 49 + - id: 535a58f666e5 + killer: 0 + - id: 537ea5545ff8 + killer: 32 + - id: 537eca3d6089 + killer: 50 + - id: 53b9d248f799 + killer: 50 + - id: 543d27a5a573 + killer: 3 + - id: 5642ea9acd98 + killer: 54 + - id: 569783cb22fc + killer: 8 + - id: 56c4e71aea4e + killer: 54 + - id: 57bc79b13041 + killer: 49 + - id: 5999c1dff2ca + killer: 50 + - id: 59a393ad2e48 + killer: 22 + - id: 5afa94174dd5 + killer: 38 + - id: 5b201f4ec758 + killer: 49 + - id: 5b33d88128c9 + killer: 32 + - id: 5b4c62af837f + killer: 16 + - id: 5b91a7decfcd + killer: 14 + - id: 5bd6f504104e + killer: 30 + - id: 5bf23d42606b + killer: 20 + - id: 5c41c11f9881 + killer: 49 + - id: 5e87e6cd6357 + killer: 49 + - id: 5f1aba5b7485 + killer: 13 + - id: 5f3e3189e6ff + killer: 52 + - id: 5f9333903f94 + killer: 38 + - id: 608c216dd5e7 + killer: 50 + - id: 62bab6ba09b3 + killer: 53 + - id: 635b301ec664 + killer: 50 + - id: 63c3de6dcf5a + killer: 29 + - id: 641814552cb0 + killer: 19 + - id: 6444773cefa8 + killer: 49 + - id: 662cb9a40447 + killer: 6 + - id: 66b2c2211499 + killer: 49 + - id: 68d5a8e613d1 + killer: 50 + - id: 69554609b806 + killer: 53 + - id: 69956bd73ec0 + killer: 41 + - id: 6a61d9b45ddf + killer: 54 + - id: 6b05a9e74fb7 + killer: 22 + - id: 6b89725687f4 + killer: 1 + - id: 6c5894c1f282 + killer: 50 + - id: 6ce02cd044d4 + killer: 50 + - id: 6d87e05130f1 + killer: 35 + - id: 6e3f9ca4d03d + killer: 37 + - id: 6e491bc79d95 + killer: 54 + - id: 6eb737bcaf52 + killer: 49 + - id: 702a38e66826 + killer: 44 + - id: 71001520414b + killer: 21 + - id: 729f048287b5 + killer: 14 + - id: 730d777ab5e3 + killer: 50 + - id: 74419b3b71dd + killer: 27 + - id: 74fcfdab38b4 + killer: 45 + - id: 75328e553a08 + killer: 54 + - id: 75a903a04796 + killer: 50 + - id: 76acb520fcd5 + killer: 13 + - id: 76fc9d71b632 + killer: 53 + - id: 778e523bb1d3 + killer: 29 + - id: 77a4e8276625 + killer: 32 + - id: 78c34a1c1e74 + killer: 50 + - id: 78d4aac65aa0 + killer: 27 + - id: 79088a14ffdc + killer: 38 + - id: 7aacc45ec4ca + killer: 49 + - id: 7afb89c8d13e + killer: 12 + - id: 7b07d5e1bc1c + killer: 49 + - id: 7ba6983904d2 + killer: 49 + - id: 7d4a3ce649ad + killer: 49 + - id: 7e11b3e1f5cc + killer: 40 + - id: 7f9849817a3e + killer: 50 + - id: 7fe38a70000c + killer: 49 + - id: 804361e8f72f + killer: 50 + - id: 80d8977d093c + killer: 32 + - id: 83114d2cf0e1 + killer: 28 + - id: 8401b18feee0 + killer: 51 + - id: 845021013c19 + killer: 20 + - id: 850acaac9cc4 + killer: 50 + - id: 8516e7267463 + killer: 41 + - id: 85322b6f5876 + killer: 5 + - id: 86d3cdaf0bad + killer: 20 + - id: 88150bb258a5 + killer: 50 + - id: 88c91187eaee + killer: 50 + - id: 89cc82746d2b + killer: 34 + - id: 8c187f3b494c + killer: 7 + - id: 8d010150157b + killer: 16 + - id: 8e022ef2cfa5 + killer: 49 + - id: 8e0794df32b8 + killer: 23 + - id: 8eb62d348561 + killer: 49 + - id: 8eea6d098640 + killer: 11 + - id: 8f3132fdb160 + killer: 20 + - id: 8fbeeb869d11 + killer: 49 + - id: 8fcca22e43bc + killer: 25 + - id: 90849845a107 + killer: 49 + - id: 917f640242f1 + killer: 49 + - id: 919007e51aac + killer: 50 + - id: 92fb07475118 + killer: 50 + - id: 941b60a958c9 + killer: 32 + - id: 9ba28c5a3877 + killer: 47 + - id: 9dbcfdf437a5 + killer: 50 + - id: 9e5d21394add + killer: 43 + - id: 9f0834173541 + killer: 22 + - id: a0a4be8bf342 + killer: 30 + - id: a11842e57e2d + killer: 31 + - id: a146ba82158e + killer: 49 + - id: a17d3bc9e3d0 + killer: 54 + - id: a197cd96f359 + killer: 50 + - id: a20291d93300 + killer: 38 + - id: a28add3dd969 + killer: 50 + - id: a28c74061dcc + killer: 22 + - id: a373bc28cb0b + killer: 2 + - id: a419b91ace8f + killer: 50 + - id: a49627ba074f + killer: 49 + - id: a531cab7814a + killer: 5 + - id: a563f37a30e0 + killer: 54 + - id: a56c3b81cb3a + killer: 41 + - id: a57c6e4c74f3 + killer: 0 + - id: a5cdf64c3175 + killer: 26 + - id: a663f355a78b + killer: 49 + - id: a8c41f2605cd + killer: 32 + - id: a8e8771d752f + killer: 44 + - id: a97062a4b0dc + killer: 44 + - id: a9899627d250 + killer: 16 + - id: abe5ce084bd5 + killer: 49 + - id: ac7645c53a86 + killer: 20 + - id: ac77fb4d4261 + killer: 24 + - id: ade937fe4192 + killer: 41 + - id: ae3ad120e5d4 + killer: 15 + - id: afb224e11e97 + killer: 50 + - id: aff7d8cb1f6a + killer: 23 + - id: b0fbfc4f3427 + killer: 50 + - id: b15f82bb78f8 + killer: 50 + - id: b2749614cbd7 + killer: 24 + - id: b34a7c795e42 + killer: 50 + - id: b46479cb4cae + killer: 29 + - id: b47a3ef406a5 + killer: 38 + - id: b52c563c4c80 + killer: 21 + - id: b5bad88e8c9e + killer: 50 + - id: b5ca97c1c0ce + killer: 20 + - id: b76bf9712767 + killer: 50 + - id: ba864686f9ef + killer: 7 + - id: babc74e83fdf + killer: 9 + - id: bd0a275d0e40 + killer: 50 + - id: bd3986444636 + killer: 50 + - id: bd796e86de11 + killer: 54 + - id: be6230c66083 + killer: 50 + - id: be961b685eb9 + killer: 18 + - id: beda733e74f3 + killer: 50 + - id: bf041345288f + killer: 21 + - id: bf615a6a4328 + killer: 50 + - id: c0823c12f2ae + killer: 35 + - id: c0988363a5ae + killer: 49 + - id: c33cd9de30a7 + killer: 38 + - id: c3a38b151f43 + killer: 40 + - id: c3c9220d94d2 + killer: 50 + - id: c432974e4df8 + killer: 44 + - id: c4c36c4975c5 + killer: 38 + - id: c546afd54a43 + killer: 50 + - id: c56e3de0453c + killer: 38 + - id: c577e5ba12a6 + killer: 15 + - id: c5863065572b + killer: 49 + - id: c75e592dbd4b + killer: 54 + - id: c75e7e9c0f66 + killer: 6 + - id: c7c014582199 + killer: 54 + - id: c97d33e910a3 + killer: 50 + - id: c9b5699c735f + killer: 20 + - id: ca22598b214d + killer: 5 + - id: cb7d836f9714 + killer: 9 + - id: cb82d6233b24 + killer: 4 + - id: cc77fc7f3ebf + killer: 50 + - id: cce587a85c23 + killer: 49 + - id: ce66ca254ad7 + killer: 54 + - id: cf90838c0537 + killer: 21 + - id: cfa50f43c343 + killer: 14 + - id: d09612aa2fbe + killer: 41 + - id: d30f94ca30b4 + killer: 50 + - id: d36bced2cad2 + killer: 32 + - id: d694edff995b + killer: 40 + - id: d8addfc51e3c + killer: 32 + - id: dad03d3fe4db + killer: 17 + - id: dafad8fb3738 + killer: 22 + - id: db04227d4c93 + killer: 17 + - id: dcb3a6e538c1 + killer: 53 + - id: de0e29428533 + killer: 53 + - id: df0ef3a97e15 + killer: 50 + - id: e0eb2e343077 + killer: 47 + - id: e10750309ef3 + killer: 50 + - id: e107d072eb67 + killer: 50 + - id: e1fa21fc896f + killer: 26 + - id: e2aab409b336 + killer: 50 + - id: e34a26a905c6 + killer: 50 + - id: e37c132c6528 + killer: 5 + - id: e5edecafceb6 + killer: 43 + - id: e6c6d03161f5 + killer: 49 + - id: e742a50a6511 + killer: 49 + - id: e8a183efb42d + killer: 38 + - id: e8bb82867c96 + killer: 50 + - id: e9d2b62948e2 + killer: 49 + - id: ead92fddb45c + killer: 10 + - id: ebfe3d8b77d2 + killer: 50 + - id: ed2a8ef19890 + killer: 50 + - id: eddd8946d897 + killer: 54 + - id: ef25869bf425 + killer: 7 + - id: f150865ded04 + killer: 5 + - id: f1cab87a91a4 + killer: 28 + - id: f1ee2f71c02c + killer: 49 + - id: f2682ee5fca7 + killer: 50 + - id: f45daf70ed2d + killer: 5 + - id: f4d495814bad + killer: 50 + - id: f544da14d907 + killer: 31 + - id: f590f6d67368 + killer: 53 + - id: f5b560be2490 + killer: 49 + - id: f69d2a712f7b + killer: 37 + - id: f80c11d0528a + killer: 49 + - id: f9f97e7d361b + killer: 32 + - id: fa518502e9ef + killer: 50 + - id: fa59552d28a2 + killer: 18 + - id: fa8e773ba39e + killer: 49 + - id: fabc10b19712 + killer: 39 + - id: fbba602d45c6 + killer: 51 + - id: fc2f883a31d7 + killer: 4 + - id: fd689a37ad5d + killer: 50 + - id: fd804cd19232 + killer: 50 + - id: fdfbddcc8ff1 + killer: 50 + - id: fe69837945db + killer: 53 +- path: crates/cargo-gamma-lib/src/fix/diff.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_preview_shows_the_removal_and_leaves_the_file_alone + - package: cargo-gamma-lib + target: units + test: diff::a_diff_accounts_for_every_line_of_both_texts + - package: cargo-gamma-lib + target: units + test: diff::a_diff_of_a_file_against_itself_is_all_context + - package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_a_deleted_line_as_a_removal + - package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_an_inserted_line_as_an_addition + - package: cargo-gamma-lib + target: units + test: diff::an_emptied_file_is_all_removals_and_a_filled_one_all_additions + - package: cargo-gamma-lib + target: units + test: diff::two_empty_texts_diff_to_nothing + mutants: + - id: 01171f72d530 + killer: 1 + - id: 022a2c9866d8 + killer: 1 + - id: 032081ead1c5 + killer: 6 + - id: 06fe9ed6b9e6 + killer: 1 + - id: 073afd76eb08 + killer: 1 + - id: 0bcf01067ede + killer: 1 + - id: 0d7d8cb023e3 + killer: 1 + - id: 0d8332fd00a1 + killer: 1 + - id: 0f24dc41a77a + killer: 1 + - id: 1147ba9064fb + killer: 1 + - id: 11c3e0524cea + killer: 1 + - id: 12668cae6081 + killer: 1 + - id: 16a4be8796ba + killer: 1 + - id: 16ba18a58a72 + killer: 1 + - id: 1715cf36c66c + killer: 1 + - id: 1a15e2d25d3c + killer: 1 + - id: 1bcb4d2134b1 + killer: 1 + - id: 1c997b74a786 + killer: 1 + - id: 1d561a9cfb13 + killer: 1 + - id: 20594ba8d258 + killer: 1 + - id: 22adcecae4ca + killer: 1 + - id: 23efdee34839 + killer: 1 + - id: 245f8d1c8c6a + killer: 1 + - id: 248ff645c5d0 + killer: 1 + - id: 270d8edcc72b + killer: 5 + - id: 27f61e2d14fe + killer: 1 + - id: 28805cd47d87 + killer: 3 + - id: 29037852212a + killer: 1 + - id: 2bd57a11c228 + killer: 1 + - id: 2c2e11e11bac + killer: 1 + - id: 31708d5d87a9 + killer: 1 + - id: 324e0a3a64e8 + killer: 5 + - id: 329df1105189 + killer: 1 + - id: 335d0522fb5e + killer: 1 + - id: 34cc71103c78 + killer: 1 + - id: 35e2ff09bf6d + killer: 1 + - id: 38eb0829fa26 + killer: 4 + - id: 3931c75affa3 + killer: 1 + - id: 3bd3932421f7 + killer: 4 + - id: 3bd93c31cf85 + killer: 1 + - id: 3c56369f3f7d + killer: 1 + - id: 3da619031925 + killer: 1 + - id: 3de3d826d73f + killer: 5 + - id: 3e1b616292f2 + killer: 2 + - id: 3ec18acb69c6 + killer: 5 + - id: 3f7963a73fc9 + killer: 1 + - id: 4203f3d23cb2 + killer: 1 + - id: 42957c188b32 + killer: 1 + - id: 46823813b639 + killer: 1 + - id: 477bae433e76 + killer: 1 + - id: 4976def7d1d4 + killer: 1 + - id: 4a9f170e1656 + killer: 3 + - id: 4b842ffa4aa8 + killer: 5 + - id: 4caf5bbca9de + killer: 1 + - id: 4e7451dca82f + killer: 1 + - id: 4ec7ad2717e5 + killer: 1 + - id: 4ff47e850fb6 + killer: 1 + - id: 53ea25995720 + killer: 0 + - id: 543c421a6080 + killer: 1 + - id: 54573d6b5a8e + killer: 1 + - id: 555c4baf983c + killer: 1 + - id: 56cafedcff34 + killer: 1 + - id: 590d04b9a5b1 + killer: 3 + - id: 5aed604aa434 + killer: 2 + - id: 5b5cca965962 + killer: 1 + - id: 613c4538d15b + killer: 6 + - id: 62b1590d8f31 + killer: 2 + - id: 62ebf56c5b72 + killer: 5 + - id: 63b66fd876ad + killer: 1 + - id: 642818fa4ae7 + killer: 1 + - id: 650835f4724c + killer: 1 + - id: 67d0bdfe0aa4 + killer: 3 + - id: 6af1c379203d + killer: 4 + - id: 6b8cba5587ec + killer: 1 + - id: 6cef17b7ebb3 + killer: 1 + - id: 6d6522a37166 + killer: 1 + - id: 6da790e85454 + killer: 1 + - id: 6dc4ccea7646 + killer: 1 + - id: 6e9937896b21 + killer: 1 + - id: 6f18646150c3 + killer: 1 + - id: 70786ee2f25f + killer: 1 + - id: 7207069f18a9 + killer: 1 + - id: 726c2f651e26 + killer: 1 + - id: 73b5a7bcd24b + killer: 1 + - id: 73bc2ef2597c + killer: 1 + - id: 744cfd6d4f62 + killer: 1 + - id: 78cd94229edd + killer: 1 + - id: 7c366e13af5a + killer: 1 + - id: 7d04e401bb6d + killer: 1 + - id: 7fa3c9f68f42 + killer: 1 + - id: 83f64024de99 + killer: 1 + - id: 85c59c9135e3 + killer: 1 + - id: 866673cf7790 + killer: 1 + - id: 8767ed2d4178 + killer: 1 + - id: 8838628e11ed + killer: 1 + - id: 8b918532766e + killer: 1 + - id: 8c6e05979a77 + killer: 1 + - id: 8d35167f9788 + killer: 1 + - id: 8e338fcfe3fe + killer: 1 + - id: 9205648d82a5 + killer: 2 + - id: 92ed29352c43 + killer: 1 + - id: 9354a23d2879 + killer: 1 + - id: 93cef364e73e + killer: 3 + - id: 941de72a033b + killer: 1 + - id: 953bf56401a9 + killer: 1 + - id: 9559244a9c4c + killer: 1 + - id: 98269130c9d8 + killer: 1 + - id: 98ab056ad545 + killer: 1 + - id: 9983c98eb04c + killer: 1 + - id: 9dd34e4eabae + killer: 1 + - id: 9edcaa86aad6 + killer: 4 + - id: 9fb614807e60 + killer: 1 + - id: 9fe500898d6d + killer: 1 + - id: 9ff71fe73e64 + killer: 1 + - id: a117b24d2621 + killer: 1 + - id: a1252876f608 + killer: 5 + - id: a597ee3dab70 + killer: 5 + - id: a5f9d9962db2 + killer: 3 + - id: a6350f9272c9 + killer: 1 + - id: a6815d62f7cb + killer: 1 + - id: a76fd1e5ec11 + killer: 1 + - id: a98f710c59ab + killer: 5 + - id: ab36e7f3cfe4 + killer: 1 + - id: acec798f9800 + killer: 1 + - id: ae9df6d50163 + killer: 1 + - id: aed932c5ea3a + killer: 5 + - id: b1d70f464953 + killer: 5 + - id: b56e35885c7c + killer: 1 + - id: b85bad142072 + killer: 1 + - id: b98a527999c4 + killer: 1 + - id: b9f1b615f165 + killer: 5 + - id: befda076a66d + killer: 1 + - id: bfbf7fe241ad + killer: 1 + - id: c47686879158 + killer: 1 + - id: c7fd631226f2 + killer: 1 + - id: c91f882bf131 + killer: 1 + - id: cb0e01e0fb86 + killer: 1 + - id: cc46cace6390 + killer: 1 + - id: cdcce9781b12 + killer: 1 + - id: cf8f20535068 + killer: 1 + - id: cf9ab596fff7 + killer: 1 + - id: d1b6f342a3fa + killer: 1 + - id: d20bec2abb4d + killer: 1 + - id: d60eb6ecf49a + killer: 1 + - id: d66eeeb3d03c + killer: 1 + - id: d6c981eccb57 + killer: 5 + - id: d9a4eb9a5470 + killer: 1 + - id: da1178de67d6 + killer: 1 + - id: da405befebf1 + killer: 2 + - id: dc685e336fdd + killer: 5 + - id: debdbe44e55c + killer: 1 + - id: e01479394202 + killer: 1 + - id: e042b1b8b2b2 + killer: 1 + - id: e0ea876004b6 + killer: 1 + - id: e1873f2f1ea1 + killer: 1 + - id: e2db30b66482 + killer: 1 + - id: e662bb98074e + killer: 5 + - id: e91d25babc56 + killer: 1 + - id: ec8714be87ca + killer: 1 + - id: ec9336fc984f + killer: 2 + - id: ed85b013a86c + killer: 1 + - id: ee37b50bb868 + killer: 1 + - id: ef5a65f03ac5 + killer: 1 + - id: efa15607b5b6 + killer: 1 + - id: f00aa0f7fb6c + killer: 1 + - id: f0eb66049b54 + killer: 1 + - id: f208c0e4c8d5 + killer: 1 + - id: f328546876cb + killer: 1 + - id: f32aa89b5c8c + killer: 1 + - id: f3b19c3103da + killer: 1 + - id: f3fa872a43e5 + killer: 5 + - id: f48b594c11e6 + killer: 1 + - id: f5be5e1d0c40 + killer: 1 + - id: f636d14b4573 + killer: 1 + - id: f64d2543b44f + killer: 3 + - id: f70ef3248bdd + killer: 1 + - id: f78695a04998 + killer: 3 + - id: fa5debdb0ff8 + killer: 1 + - id: fdc5b8ff0588 + killer: 1 + - id: fde956663f4f + killer: 1 + - id: ff15e686306e + killer: 1 +- path: crates/cargo-gamma-lib/src/fix/edit.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + mutants: + - id: 46bfe206ab8a + killer: 0 + - id: bd4dc96970ef + killer: 0 +- path: crates/cargo-gamma-lib/src/fix/eligible.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::suppress_defaults_to_suppressing_both_timeouts_and_out_of_memory + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::a_survivor_cannot_be_made_eligible + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::eligible_lists_are_trimmed_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::unknown_eligible_verdicts_are_errors + mutants: + - id: 08f898dc4e6b + killer: 2 + - id: 118d7724840a + killer: 0 + - id: 14c2914b0069 + killer: 3 + - id: 1c224c95c45c + killer: 1 + - id: 2f797c79a846 + killer: 4 + - id: 3f10cfe8f4e0 + killer: 0 + - id: 562e25f027b0 + killer: 3 + - id: a94af3ba6314 + killer: 2 + - id: da770a49c860 + killer: 0 + - id: f682703cdee5 + killer: 0 +- path: crates/cargo-gamma-lib/src/fix/plan.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_multi_file_run_edits_only_the_file_with_an_eligible_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::bom_prefixed_files_match_the_plan_and_keep_the_bom_for_first_and_later_edits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_crlf_file_keeps_its_line_endings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_new_reason_at_a_suppressed_site_does_not_retag_the_existing_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_second_mutator_extends_the_generated_directive_rather_than_stacking + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_survivor_is_skipped_even_if_it_reaches_the_planner + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::edits_are_applied_from_the_end_so_earlier_lines_stay_valid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::running_twice_is_a_no_op + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::the_epoch_converts_to_its_known_date + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::today_is_a_plausible_date + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::two_reasons_at_one_site_stack_above_the_line_they_govern + - package: cargo-gamma-lib + target: regressions + test: issue_019_a_crlf_file_keeps_its_line_endings + mutants: + - id: 005f8b4c1a49 + killer: 6 + - id: 00b4572f8d45 + killer: 10 + - id: 0180ed0025d3 + killer: 13 + - id: 02059add7e16 + killer: 10 + - id: 055f9ce24612 + killer: 10 + - id: 056a342d09bd + killer: 10 + - id: 05a2bef7bf26 + killer: 10 + - id: 0766585d6257 + killer: 10 + - id: 0988b1f7b9a6 + killer: 10 + - id: 0aa003860970 + killer: 4 + - id: 0b6772e99a31 + killer: 0 + - id: 0c23a1c2ed39 + killer: 0 + - id: 0c3453be791a + killer: 6 + - id: 0f4a9cbc3b06 + killer: 13 + - id: 10b4ed333bc3 + killer: 10 + - id: 1212a1fbff4d + killer: 6 + - id: 13286b39f252 + killer: 0 + - id: 16282b638187 + killer: 6 + - id: 17c17a0e4292 + killer: 10 + - id: 1d8ed92b9998 + killer: 10 + - id: 1e79eed58335 + killer: 10 + - id: 1ee37ba2c696 + killer: 0 + - id: 20e8f052379f + killer: 10 + - id: 21372108bc31 + killer: 6 + - id: 22528dd8e041 + killer: 10 + - id: 24648216d29e + killer: 10 + - id: 24b5c0d4c647 + killer: 10 + - id: 2501e0eb6fa5 + killer: 10 + - id: 257ba200a2d8 + killer: 10 + - id: 26d44a72b842 + killer: 0 + - id: 288df287261e + killer: 6 + - id: 3570541378aa + killer: 10 + - id: 35e1e6e62d3e + killer: 13 + - id: 365d5c472612 + killer: 6 + - id: 372f7a080b1e + killer: 0 + - id: 37357d77e9eb + killer: 0 + - id: 39c2d3a193d6 + killer: 10 + - id: 39e5f726f0d4 + killer: 1 + - id: 3a70f5a6d21b + killer: 10 + - id: 3b5c0c73bc9d + killer: 10 + - id: 406a8ba289be + killer: 10 + - id: 41a7008e925c + killer: 10 + - id: 41c7aff40783 + killer: 10 + - id: 430731ca53c6 + killer: 10 + - id: 436394a6eb36 + killer: 5 + - id: 452d1102c930 + killer: 10 + - id: 4660e25305ce + killer: 10 + - id: 46c61e28ed1c + killer: 10 + - id: 4c8dc0c474a5 + killer: 13 + - id: 4c9d45b782a4 + killer: 10 + - id: 4cfa2d4301d9 + killer: 10 + - id: 4e9cea5c8b19 + killer: 10 + - id: 4fb37f6135ea + killer: 10 + - id: 5207512379ef + killer: 3 + - id: 56a555ffaffc + killer: 10 + - id: 57a12af54308 + killer: 1 + - id: 58994295c9fb + killer: 10 + - id: 59c66bc182cc + killer: 6 + - id: 59cd4c84b489 + killer: 13 + - id: 5a05aa15689b + killer: 10 + - id: 5a700854b5fe + killer: 10 + - id: 5b45b36113e8 + killer: 10 + - id: 5c1b1e139898 + killer: 6 + - id: 5d864b9dfc67 + killer: 10 + - id: 6058d6f3e0ba + killer: 10 + - id: 6166a0c575e6 + killer: 10 + - id: 643f1bd50d94 + killer: 10 + - id: 656af095a811 + killer: 1 + - id: 659cbafc530c + killer: 10 + - id: 66b1746aff1b + killer: 10 + - id: 66dd1eb1aece + killer: 5 + - id: 67bd8b68d28a + killer: 4 + - id: 67de9030d651 + killer: 10 + - id: 69c772015314 + killer: 6 + - id: 6a500d718e0c + killer: 10 + - id: 6c0a1c4ba0d1 + killer: 10 + - id: 6cbffeccd4fa + killer: 10 + - id: 6d0f1dc5abd1 + killer: 13 + - id: 6f19e00ff607 + killer: 10 + - id: 6f77a72e33d4 + killer: 0 + - id: 6f9d49fafb2a + killer: 10 + - id: 71f7dc8f1c61 + killer: 10 + - id: 72533f31a508 + killer: 10 + - id: 7372a2650541 + killer: 6 + - id: 7444654f2316 + killer: 6 + - id: 74a55811e8d0 + killer: 10 + - id: 74a827765c38 + killer: 10 + - id: 74d7421b2d92 + killer: 6 + - id: 75f6e86ce8ab + killer: 10 + - id: 78ec2ce35933 + killer: 13 + - id: 7963801bcfaa + killer: 6 + - id: 798693a1a56a + killer: 10 + - id: 7af94dfefde0 + killer: 10 + - id: 7b32ca897007 + killer: 10 + - id: 7b4498c84ef5 + killer: 10 + - id: 7cc0c7eafd27 + killer: 10 + - id: 7cf77b79b26c + killer: 1 + - id: 7e1431398cf1 + killer: 6 + - id: 8227bf75c912 + killer: 0 + - id: 82475927b70c + killer: 8 + - id: 8283ef84bbef + killer: 0 + - id: 828a6a814e39 + killer: 10 + - id: 83107c349417 + killer: 6 + - id: 83cb5bffccb5 + killer: 11 + - id: 84269c7bf576 + killer: 6 + - id: 84307f0973f0 + killer: 10 + - id: 871fb44adc11 + killer: 10 + - id: 893e182fc119 + killer: 0 + - id: 8b50ed08c561 + killer: 2 + - id: 8ff92320e7b2 + killer: 10 + - id: 908fe20c56f6 + killer: 10 + - id: 90cdb23b6bf4 + killer: 10 + - id: 922f13825d16 + killer: 10 + - id: 956131c1623a + killer: 10 + - id: 95882dd27dac + killer: 10 + - id: 985919400f5c + killer: 10 + - id: 992ba4fa930b + killer: 10 + - id: 9969ed815fcd + killer: 6 + - id: 9a75ff55fa10 + killer: 3 + - id: 9a879d3829a9 + killer: 6 + - id: 9ade28168b7a + killer: 10 + - id: 9c09aaed159c + killer: 13 + - id: 9d4413438d5d + killer: 6 + - id: 9d54b10772fe + killer: 6 + - id: 9d8bbc22be60 + killer: 10 + - id: 9deed9797ede + killer: 10 + - id: 9ef193efc013 + killer: 10 + - id: a07d9c704311 + killer: 10 + - id: a248877572a2 + killer: 0 + - id: a2b463a3a152 + killer: 6 + - id: a31789a55bf2 + killer: 10 + - id: a3ff1d9022f8 + killer: 0 + - id: a4b99186a74f + killer: 10 + - id: a6730dd8c31b + killer: 10 + - id: a772bd0e78f9 + killer: 0 + - id: a98635de4adc + killer: 10 + - id: ad87e4511f54 + killer: 9 + - id: b4b3bce5eef9 + killer: 6 + - id: b6087aee4533 + killer: 1 + - id: b61241557dfb + killer: 10 + - id: b72a9a8dbb3e + killer: 10 + - id: b73195c56524 + killer: 0 + - id: b755f3b2d6b9 + killer: 10 + - id: b9800af28643 + killer: 13 + - id: bdd8aa976825 + killer: 10 + - id: beb83fc659b1 + killer: 10 + - id: c008ea4a64a1 + killer: 10 + - id: c0c8209e7a6c + killer: 6 + - id: c11112f09257 + killer: 10 + - id: c1a2fbbd166f + killer: 0 + - id: c1ec6ecae169 + killer: 6 + - id: c27fa337baff + killer: 10 + - id: c2c9f1189c42 + killer: 10 + - id: c449ce174679 + killer: 10 + - id: c47f756e0029 + killer: 11 + - id: c7aeb5c41e9f + killer: 10 + - id: c8cf391d4270 + killer: 11 + - id: c9bb41f2e4cc + killer: 10 + - id: c9c735bd6094 + killer: 0 + - id: c9cfcdcf4312 + killer: 10 + - id: cb68bca8a5b6 + killer: 10 + - id: cd6066ddaa76 + killer: 10 + - id: cfcc70ade1ce + killer: 10 + - id: d06047aef39b + killer: 0 + - id: d394295d7c63 + killer: 10 + - id: d3b89b8953fb + killer: 10 + - id: d42bc1ab7ad8 + killer: 13 + - id: d498b7f306e3 + killer: 6 + - id: d57e5935535f + killer: 6 + - id: d5929672ef78 + killer: 0 + - id: d5d6d4436d7b + killer: 10 + - id: d74e7d4cb9e0 + killer: 1 + - id: d80484435192 + killer: 12 + - id: da8875e2932f + killer: 0 + - id: db50cb0b057d + killer: 6 + - id: dcc67e76e44b + killer: 0 + - id: dd656d015a63 + killer: 0 + - id: dd709394e80c + killer: 10 + - id: e0ccb882f482 + killer: 10 + - id: e0ec73049d4a + killer: 1 + - id: e2a247e6f397 + killer: 10 + - id: e3455e0784e9 + killer: 10 + - id: e3457943133f + killer: 10 + - id: e519e54c5a81 + killer: 11 + - id: e8281950502b + killer: 10 + - id: e9d8231d5a82 + killer: 10 + - id: ea069298d1be + killer: 10 + - id: ea916a429af9 + killer: 10 + - id: eab93d3ab40d + killer: 10 + - id: eb87d7091be3 + killer: 6 + - id: ebcc9cd77368 + killer: 10 + - id: ee1f3b0552ce + killer: 10 + - id: efceb4dbbe19 + killer: 6 + - id: f46e984d8d68 + killer: 7 + - id: f67b63e9ef03 + killer: 10 + - id: f7b71758791e + killer: 6 + - id: f823e58d63bf + killer: 0 + - id: f9457ef47f9d + killer: 11 + - id: fa1124ca61d9 + killer: 10 + - id: fb25ddbd4f43 + killer: 10 + - id: fb411612a70f + killer: 10 + - id: fb60b86d0e5c + killer: 6 + - id: fddfd516cb5a + killer: 6 + - id: fe63c0259391 + killer: 1 + - id: ff768cace778 + killer: 0 +- path: crates/cargo-gamma-lib/src/fix/removal.rs + killers: + - package: cargo-gamma-lib + target: units + test: removal::a_directive_sharing_its_line_with_anything_else_is_not_removable + - package: cargo-gamma-lib + target: units + test: removal::a_line_that_is_only_a_directive_is_removable + - package: cargo-gamma-lib + target: units + test: removal::removal_keeps_the_line_endings_the_file_already_had + mutants: + - id: 070596b2fde3 + killer: 1 + - id: 0885d99db9b4 + killer: 1 + - id: 15e20f94ffeb + killer: 2 + - id: 24d50b573a73 + killer: 2 + - id: 3fe8aed20497 + killer: 2 + - id: 510b8d632fbf + killer: 1 + - id: 51e400e89cce + killer: 0 + - id: 54a7e28d4952 + killer: 0 + - id: 67989f2ceeec + killer: 0 + - id: 6fb2a273cea4 + killer: 1 + - id: 71891f04b679 + killer: 1 + - id: 9aa94f2377b8 + killer: 0 + - id: 9df6f1cf0141 + killer: 2 + - id: 9f24a2e344bc + killer: 0 + - id: a4ed6e8ccc71 + killer: 1 + - id: a6b6508847ca + killer: 1 + - id: ac6f1a7b3ba1 + killer: 1 + - id: ae0f97f35cbf + killer: 2 + - id: ba112f33ac41 + killer: 1 + - id: bcd3a2e4e7c0 + killer: 2 + - id: bd6cafca5198 + killer: 0 + - id: c997086fe6a4 + killer: 1 + - id: d4d6b8c64159 + killer: 0 + - id: d6c1e815412f + killer: 2 + - id: e0e6be70f29e + killer: 1 + - id: e936b03609a4 + killer: 1 + - id: efeb07c9e5c6 + killer: 1 + - id: fc8a90fa2dc9 + killer: 1 +- path: crates/cargo-gamma-lib/src/fix/verify.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_killed_mutant_sharing_a_line_is_not_required_to_be_suppressed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_survivor_sharing_a_site_with_a_timeout_is_caught_as_collateral + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_removal_that_changes_what_is_suppressed_puts_every_file_back + mutants: + - id: 2315b3810203 + killer: 1 + - id: 304a8f905e6c + killer: 0 + - id: 6301a4635a0b + killer: 0 + - id: ce64cefa1062 + killer: 2 + - id: e1a7bd1ba80a + killer: 0 + - id: ee99ac36941f + killer: 1 +- path: crates/cargo-gamma-lib/src/html.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::a_closing_script_tag_in_the_source_cannot_break_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::escaping_leaves_the_document_valid_json + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + mutants: + - id: 008bceffd044 + killer: 0 + - id: 0456259a196d + killer: 0 + - id: 0eace22fcb4d + killer: 1 + - id: 17d3c60a96f4 + killer: 0 + - id: 25399ba48e77 + killer: 2 + - id: 27dd3268a790 + killer: 0 + - id: 2de52cae3220 + killer: 0 + - id: 3edaf5793cc8 + killer: 3 + - id: 6230c5485edf + killer: 1 + - id: 704663d98326 + killer: 1 + - id: a4d33e4f8624 + killer: 0 + - id: a7cacef511eb + killer: 2 + - id: b416bfb65e84 + killer: 0 + - id: b5695dca7fb7 + killer: 0 + - id: bcc42eda88a1 + killer: 0 + - id: c4c60d490412 + killer: 1 + - id: caed56d240ad + killer: 0 + - id: dc03b8a21c2a + killer: 2 + - id: e102127367a2 + killer: 0 + - id: f1f27a95dbca + killer: 0 + - id: fc2e9fc6b641 + killer: 0 +- path: crates/cargo-gamma-lib/src/merge/incoming.rs + killers: + - package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + mutants: + - id: 1b8017827e40 + killer: 0 +- path: crates/cargo-gamma-lib/src/merge/merged.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_merge_with_no_gate_and_no_outputs_succeeds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::directories_are_scanned_and_outputs_are_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::an_unchecked_shard_count_is_reported_up_to_the_bound_and_no_further + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merging_nothing_prints_a_perfect_score_but_has_nothing_to_grade + - package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + - package: cargo-gamma-lib + target: gate + test: a_merged_score_at_or_above_the_bar_exits_ok + - package: cargo-gamma-lib + target: gate + test: a_merged_score_below_the_bar_exits_gate_failed + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + mutants: + - id: 002238514052 + killer: 4 + - id: 0205f7a73803 + killer: 4 + - id: 03ddea1fa739 + killer: 0 + - id: 2832afd2fc0a + killer: 0 + - id: 2db04c9b0fa0 + killer: 5 + - id: 2f8be9dfb1a9 + killer: 9 + - id: '301372030911' + killer: 7 + - id: 3a84e8685f1f + killer: 9 + - id: 505059ac4560 + killer: 4 + - id: 522b34b9b38c + killer: 0 + - id: 53e1d2ebd52d + killer: 5 + - id: 55601458ba85 + killer: 0 + - id: 57f552253757 + killer: 9 + - id: 63033bfe8881 + killer: 4 + - id: 6804cad57f50 + killer: 9 + - id: 89aca08ed62b + killer: 2 + - id: 8dbbb10d8b0a + killer: 8 + - id: 9039dcedb5b3 + killer: 7 + - id: 94337140153e + killer: 8 + - id: 9cf5e6adda05 + killer: 8 + - id: ac8130af7884 + killer: 4 + - id: baacbc71c88e + killer: 9 + - id: c1f733c7e32f + killer: 6 + - id: ca8d515039de + killer: 0 + - id: d09da4a5db1e + killer: 3 + - id: d2a9f59c9c15 + killer: 9 + - id: dd5283d76f65 + killer: 8 + - id: f0cd6032870e + killer: 4 + - id: f9f761f9c5c4 + killer: 4 + - id: fed161f1e875 + killer: 3 + - id: fefc76fd04db + killer: 1 +- path: crates/cargo-gamma-lib/src/merge/read.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::aggregate_report_bytes_are_bounded_before_a_report_is_retained + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_file_over_the_ceiling_is_refused_by_its_size_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_that_grows_after_its_handle_is_checked_still_hits_the_read_cap + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + mutants: + - id: 020fb1e3ac8c + killer: 7 + - id: 050a5a04f691 + killer: 0 + - id: 1d48d0812b97 + killer: 7 + - id: 2326d8620da7 + killer: 3 + - id: 2afcc9fb7686 + killer: 3 + - id: 2b6ed737c827 + killer: 3 + - id: 2d56b0a15222 + killer: 0 + - id: 2fc80876adde + killer: 0 + - id: 39009261c7b3 + killer: 0 + - id: 4717d13208a6 + killer: 3 + - id: 49932d8b8a17 + killer: 7 + - id: 564a8ec0ff95 + killer: 7 + - id: 58c7ef37b079 + killer: 7 + - id: 5e64b4e67085 + killer: 1 + - id: 6291d6b52818 + killer: 7 + - id: 7611b7808ca6 + killer: 5 + - id: 76f8a450b53a + killer: 7 + - id: 7b2adba9a0e1 + killer: 7 + - id: 803274739ff6 + killer: 3 + - id: 868b7ed3997c + killer: 3 + - id: 890c8fee8915 + killer: 3 + - id: 900fc69dcf49 + killer: 1 + - id: 9693e302b226 + killer: 0 + - id: 9728fe74b6cf + killer: 7 + - id: 9d6aeb25a24d + killer: 7 + - id: a1df63825c4d + killer: 1 + - id: a8fcb2cacfbe + killer: 2 + - id: ac04f327c04b + killer: 1 + - id: aca34f28762c + killer: 7 + - id: b2245538afc5 + killer: 6 + - id: b57eba30a2a6 + killer: 5 + - id: b594f8d3cbeb + killer: 7 + - id: b958ac2c1bc9 + killer: 7 + - id: be3f8abb68fb + killer: 7 + - id: c220778d297e + killer: 7 + - id: c6e4440877a1 + killer: 7 + - id: cc41bf729084 + killer: 3 + - id: d0304dd552e1 + killer: 0 + - id: d534029324b5 + killer: 7 + - id: e48b17714fda + killer: 4 + - id: f7c4160ad75f + killer: 7 + - id: ff1d75938193 + killer: 1 +- path: crates/cargo-gamma-lib/src/merge/status.rs + killers: + - package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + - package: cargo-gamma-lib + target: gate + test: a_merged_score_at_or_above_the_bar_exits_ok + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + mutants: + - id: 3dcc8d139f58 + killer: 1 + - id: 41d7265bfa9c + killer: 2 + - id: 59f1679f144d + killer: 0 + - id: 5f29ec209dce + killer: 2 + - id: bb146ee5b02a + killer: 2 + - id: d7c4d222f864 + killer: 0 + - id: ede83875b408 + killer: 1 +- path: crates/cargo-gamma-lib/src/merge/union.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_stream_is_reported_by_the_withdrawn_note + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_merge_with_pending_mutants_fails_the_min_score_gate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_merged_only_input_says_no_complete_population_was_supplied + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_score_gate_refuses_an_identity_incompatible_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::directories_are_scanned_and_outputs_are_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unstamped_report_has_exactly_the_current_identity_version + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::incompatible_input_names_are_reported_in_stable_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::metadata_aggregation_distinguishes_zero_one_and_maximum_values + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + - package: cargo-gamma-lib + target: gate + test: a_merged_score_at_or_above_the_bar_exits_ok + - package: cargo-gamma-lib + target: gate + test: a_merged_score_below_the_bar_exits_gate_failed + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + mutants: + - id: 01bc0659ad69 + killer: 9 + - id: 0293a9745792 + killer: 28 + - id: 02e289003ab5 + killer: 18 + - id: 0359f177a66c + killer: 16 + - id: 04a64afe9cec + killer: 27 + - id: 057ae3254882 + killer: 13 + - id: 06664f420fc9 + killer: 29 + - id: 07886422ee9d + killer: 11 + - id: 07ab3328c4c0 + killer: 27 + - id: 082e129b8270 + killer: 22 + - id: 084009256e24 + killer: 27 + - id: 086e40615e15 + killer: 11 + - id: 0bdb714a9400 + killer: 16 + - id: 0bfab7c349d6 + killer: 9 + - id: 0d3f857a21d7 + killer: 13 + - id: 0fc388a33b0d + killer: 10 + - id: 10cf5f42723e + killer: 27 + - id: 12b98fae8ed2 + killer: 11 + - id: 16c9cc57adbe + killer: 24 + - id: 16cd13f9585f + killer: 29 + - id: 1796f65cf3d7 + killer: 3 + - id: 191065c696e1 + killer: 14 + - id: 198eccc288a0 + killer: 27 + - id: 1c37a24210fd + killer: 15 + - id: 1cb271ec9aa4 + killer: 18 + - id: 1cd190fcbda1 + killer: 10 + - id: 1e13b30e71cf + killer: 27 + - id: 21030250c3bb + killer: 23 + - id: 2547cc09c862 + killer: 16 + - id: 25f6cbe88d24 + killer: 12 + - id: 2619564b306e + killer: 26 + - id: 2754152d5685 + killer: 18 + - id: 284eb72870d5 + killer: 14 + - id: 2dc81934ca3b + killer: 11 + - id: 2e1d5216f414 + killer: 9 + - id: 2eafa2beed28 + killer: 27 + - id: 2ef779445c82 + killer: 10 + - id: 2f05f6bd4e58 + killer: 27 + - id: 30f9d2a05f4b + killer: 24 + - id: 316a7ba7b3b4 + killer: 6 + - id: 31c5b201424b + killer: 7 + - id: 320ff9d8de5c + killer: 7 + - id: 32dd7dd239f0 + killer: 28 + - id: 3315f11d9f00 + killer: 29 + - id: 337ebed4af83 + killer: 29 + - id: 341bc9183bd3 + killer: 15 + - id: 35be46082128 + killer: 13 + - id: 365a9803e035 + killer: 5 + - id: 365e19a0caaa + killer: 6 + - id: 384565b82098 + killer: 17 + - id: 39bd2f86ac24 + killer: 26 + - id: 409c74d84aab + killer: 12 + - id: 41c16838cb67 + killer: 12 + - id: 41c38ef23a3f + killer: 29 + - id: 45c237bc7910 + killer: 15 + - id: 482d2c262707 + killer: 21 + - id: 49223acbd2f9 + killer: 25 + - id: 49faa2c47132 + killer: 22 + - id: 4a6342008893 + killer: 7 + - id: 4aa0372b5c1e + killer: 22 + - id: 4c54547db80a + killer: 11 + - id: 4e3675711d48 + killer: 12 + - id: 4f1d03184399 + killer: 23 + - id: 5073273dac21 + killer: 16 + - id: 5083c755d9cd + killer: 12 + - id: 51447c7ec52c + killer: 10 + - id: 51a1b55e83ad + killer: 27 + - id: 5293b0492d72 + killer: 27 + - id: 52dea3c96397 + killer: 27 + - id: 5439e2f276ef + killer: 29 + - id: 5532d2b2c1aa + killer: 14 + - id: 559a54df4313 + killer: 28 + - id: 58c4c7f57edc + killer: 2 + - id: 5998262236c4 + killer: 27 + - id: 5bd98cc0edca + killer: 28 + - id: 5d26a651cbfc + killer: 20 + - id: 5d360e56f882 + killer: 13 + - id: 609028dc7e44 + killer: 13 + - id: 62f626f55bab + killer: 28 + - id: 6364542c401e + killer: 10 + - id: 648b3a5c21df + killer: 9 + - id: 65c1ab5e4777 + killer: 0 + - id: 65fe1fd56661 + killer: 12 + - id: 69ab4c45ceb3 + killer: 27 + - id: 69fab9f8e8ea + killer: 27 + - id: 6cd1b8471369 + killer: 0 + - id: 6eec3cebc26b + killer: 10 + - id: 729e921ddb32 + killer: 19 + - id: 7362ed816334 + killer: 28 + - id: 73be4096d614 + killer: 21 + - id: 73d62f0cbe75 + killer: 16 + - id: 751184aae86a + killer: 22 + - id: 7618da65d85c + killer: 27 + - id: 7758c727b74c + killer: 3 + - id: 78ad23ecc80c + killer: 19 + - id: 7b9708f7a64d + killer: 4 + - id: 7f352e871aea + killer: 12 + - id: 809cb6d90046 + killer: 22 + - id: 81805023c76b + killer: 10 + - id: 82eea77bc09c + killer: 5 + - id: 83c975037df5 + killer: 9 + - id: 84b5c71d8077 + killer: 29 + - id: 85382ee4c5d3 + killer: 11 + - id: 860ba865bbc4 + killer: 17 + - id: 87a9afe8be81 + killer: 16 + - id: 89cd648d707b + killer: 23 + - id: 8b76e25c7728 + killer: 27 + - id: 8f4413db557c + killer: 7 + - id: 92425c0d714f + killer: 11 + - id: 92eb573b3d5b + killer: 15 + - id: 9442a2b7d087 + killer: 14 + - id: 9462eb406ef9 + killer: 0 + - id: 99588b4a676b + killer: 15 + - id: 9afffccd477a + killer: 9 + - id: 9fc48eedda8e + killer: 4 + - id: 9fc731a29171 + killer: 23 + - id: a1735a1e5db3 + killer: 10 + - id: a2b237400bd4 + killer: 6 + - id: a2f2e05d039e + killer: 16 + - id: a52dd42b8dca + killer: 23 + - id: a6b25973ece1 + killer: 29 + - id: a7e6803ada36 + killer: 0 + - id: a92b01efb6db + killer: 15 + - id: aa4ce3d44a67 + killer: 9 + - id: aaabbf1c542f + killer: 2 + - id: ac3ffe8395b1 + killer: 29 + - id: ad1430ef19d7 + killer: 13 + - id: ad5b0cdc42ab + killer: 21 + - id: addea44d615d + killer: 2 + - id: aef7d24c7335 + killer: 4 + - id: b11a08c22f38 + killer: 11 + - id: b5666229a339 + killer: 27 + - id: b6932320b2dc + killer: 21 + - id: b9b32c14feb3 + killer: 14 + - id: be69a03ef593 + killer: 23 + - id: bf1f364c543b + killer: 27 + - id: bf44158b5874 + killer: 27 + - id: bf58c9b18157 + killer: 29 + - id: c11bb50c74fa + killer: 21 + - id: c2422bf725ee + killer: 23 + - id: c36f2aa0c16e + killer: 27 + - id: c3c895a0fa96 + killer: 10 + - id: c407c7c30fd3 + killer: 22 + - id: c4ff62bed97d + killer: 12 + - id: c96b272c993e + killer: 18 + - id: cc10d6a8b053 + killer: 12 + - id: d0db49271670 + killer: 27 + - id: d1e7a9682c9c + killer: 10 + - id: d23e1a541c67 + killer: 9 + - id: d439787d3318 + killer: 27 + - id: d483b09ae8dc + killer: 10 + - id: d566187ca411 + killer: 0 + - id: d66f2e7664e8 + killer: 2 + - id: d96999824d87 + killer: 3 + - id: d99f65dedace + killer: 1 + - id: dae157259266 + killer: 27 + - id: dae39a4188c6 + killer: 13 + - id: dc8c747369f7 + killer: 4 + - id: ddf8fb438255 + killer: 9 + - id: df152cfc77fe + killer: 29 + - id: df95aa4f16e1 + killer: 18 + - id: e4130bf143a7 + killer: 0 + - id: e58f80ea2787 + killer: 14 + - id: e5ad4172dd92 + killer: 16 + - id: e67de98b22c8 + killer: 27 + - id: e77b2afc001d + killer: 6 + - id: e7a2a08d35f7 + killer: 27 + - id: e84989a56913 + killer: 8 + - id: e85febfd44ca + killer: 15 + - id: ecb011d70fa9 + killer: 10 + - id: ecea5026c940 + killer: 22 + - id: f02f3ef16d8d + killer: 29 + - id: f04ef36e586e + killer: 9 + - id: f1f815c1e6cd + killer: 29 + - id: f20506250524 + killer: 22 + - id: f2df8d199abc + killer: 18 + - id: f36a5473d772 + killer: 23 + - id: f45f33279653 + killer: 0 + - id: f4c1b81fccca + killer: 27 + - id: f5139ed87fb9 + killer: 17 + - id: f69212ce5153 + killer: 2 + - id: f8cfc58712c0 + killer: 10 + - id: f9abec618f09 + killer: 22 + - id: f9d3fe5420ef + killer: 14 + - id: faf4adbf4de0 + killer: 28 + - id: fb31bedeae6f + killer: 23 + - id: fd98b42baf10 + killer: 10 +- path: crates/cargo-gamma-lib/src/model/interner.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_changed_file_still_only_yields_mutants_on_the_changed_lines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_scan_interns_package_names_across_source_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::interner::tests::sharing_a_decoded_population_leaves_its_values_alone + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 11d10297536d + killer: 2 + - id: 1eeb498b02d1 + killer: 1 + - id: 3384ec5868b3 + killer: 1 + - id: 4aeb0505bc96 + killer: 3 + - id: 7b46105a7420 + killer: 2 + - id: 9b27694a2910 + killer: 4 + - id: d9d6801960d5 + killer: 0 + - id: e219421720a4 + killer: 2 +- path: crates/cargo-gamma-lib/src/model/mutant.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::a_definition_starts_with_no_execution_state + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::a_long_construct_is_elided_in_the_middle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: sarif_contract + test: fingerprint_values_have_the_production_identity_shape + - package: cargo-gamma-lib + target: sarif_contract + test: the_emitted_log_matches_the_committed_one_field_for_field + mutants: + - id: 150c94ed042e + killer: 1 + - id: 17e6510d8b04 + killer: 1 + - id: '270355963570' + killer: 5 + - id: 2d07a10a9ea6 + killer: 5 + - id: 2faa48627915 + killer: 0 + - id: 35bada25f609 + killer: 6 + - id: 3d9b763a8a7d + killer: 0 + - id: 3f7e1ecd953b + killer: 1 + - id: 43356c8b91a7 + killer: 1 + - id: 4a5c504ec2d7 + killer: 1 + - id: 4e4dd0f6ab00 + killer: 1 + - id: 53bf602e6d6f + killer: 0 + - id: 5cdcaaf9a728 + killer: 6 + - id: 60279723f108 + killer: 4 + - id: 644ae5a46ecd + killer: 4 + - id: 64b8e0f56c15 + killer: 2 + - id: 67ced7cb4fe2 + killer: 3 + - id: 6d92b279b9dd + killer: 1 + - id: 7bb82437c024 + killer: 1 + - id: 8625038eb58d + killer: 1 + - id: 8f6a2cef159a + killer: 6 + - id: 98b51bdd9d43 + killer: 6 + - id: a2a7b8ca2d77 + killer: 1 + - id: ab6684a128e0 + killer: 1 + - id: b30c9934c7a1 + killer: 5 + - id: c81b87369131 + killer: 1 + - id: cd9860d06531 + killer: 0 + - id: d3d8375b55a1 + killer: 1 + - id: d614a3753f05 + killer: 6 + - id: e16361c684a6 + killer: 1 + - id: e2b9c72056bf + killer: 6 + - id: e899d6f00b3a + killer: 1 + - id: f81f7c782cff + killer: 1 + - id: fdd5f5655bc9 + killer: 4 + - id: fe61feba0fbc + killer: 3 +- path: crates/cargo-gamma-lib/src/model/outcome.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_breakdown_counts_unviable_mutants_separately_from_survivors + mutants: + - id: d49dbda57754 + killer: 0 +- path: crates/cargo-gamma-lib/src/model/summary.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + - package: cargo-gamma-lib + target: units + test: summary::a_population_of_only_excluded_mutants_has_no_score_to_grade + - package: cargo-gamma-lib + target: units + test: summary::a_scored_population_grades_at_its_printed_score + - package: cargo-gamma-lib + target: units + test: summary::an_empty_run_scores_one_hundred + - package: cargo-gamma-lib + target: units + test: summary::covered_score_excludes_uncovered_mutants + - package: cargo-gamma-lib + target: units + test: summary::every_outcome_is_tallied_into_its_own_counter + mutants: + - id: 114442d34b77 + killer: 0 + - id: 1de721d2cf92 + killer: 5 + - id: 2ca0935b9d7f + killer: 3 + - id: 35518f83fcf5 + killer: 4 + - id: 4727b6ed4226 + killer: 4 + - id: 48a173e57334 + killer: 3 + - id: 5a97497bc3f5 + killer: 4 + - id: 64bdf2248491 + killer: 4 + - id: 75f79dd9ec35 + killer: 1 + - id: 7e69d06ee90f + killer: 5 + - id: 97c6feebe0db + killer: 5 + - id: 97cdb15e8f45 + killer: 3 + - id: 98ae53ed5c18 + killer: 3 + - id: a9fd47d3be6b + killer: 3 + - id: bfefd71b330d + killer: 3 + - id: c1ea593b814a + killer: 2 + - id: ce3ccc249a23 + killer: 5 + - id: ce52666f971a + killer: 3 + - id: ea4be2dfd092 + killer: 5 + - id: ec6e60b2ffd0 + killer: 2 + - id: fd6c20d151f0 + killer: 4 +- path: crates/cargo-gamma-lib/src/notes.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_closed_results_pipe_ends_a_listing_successfully_without_a_diagnostic + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_note_is_said_once_and_not_again_by_the_next_command + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::exactly_one_note_past_the_cap_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::leaving_a_nested_scope_restores_the_previous_run + mutants: + - id: 15186dae08ef + killer: 0 + - id: 2bbb40cec738 + killer: 2 + - id: 31c36a0387c1 + killer: 2 + - id: 397baa205763 + killer: 0 + - id: 449ab2e8f415 + killer: 2 + - id: 46200da3d95a + killer: 3 + - id: 5c922186fb54 + killer: 2 + - id: 7dc6fbeb79d6 + killer: 1 + - id: 8e018ed03b4e + killer: 1 + - id: 8e16a33e69a2 + killer: 0 + - id: 969c59c4941a + killer: 2 + - id: a90da1db2c1b + killer: 3 + - id: af94242a871f + killer: 0 + - id: c204b6b9d546 + killer: 0 + - id: c481c4cc33b2 + killer: 2 + - id: c7badb079393 + killer: 2 + - id: ccf2597b3382 + killer: 1 + - id: cd19f6691d71 + killer: 1 + - id: ce439526f76b + killer: 1 + - id: d0cf4a3d82b3 + killer: 2 + - id: d69813bf335c + killer: 1 + - id: d9702ea33586 + killer: 2 + - id: e68764511d2f + killer: 1 + - id: f447aadc3f05 + killer: 2 +- path: crates/cargo-gamma-lib/src/ops/collect.rs + killers: + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: instrumented_compiles + test: a_disabled_match_arm_still_compiles + mutants: + - id: 51ba129a69a7 + killer: 0 + - id: 617d61c35e73 + killer: 1 +- path: crates/cargo-gamma-lib/src/paths.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::merge_outputs_with_identical_names_are_refused_before_any_report_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_failure_on_the_second_file_puts_the_first_one_back_byte_for_byte + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::containment_accepts_descendants_and_refuses_siblings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::excessive_windows_link_indirection_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::lexical_normalization_removes_current_and_parent_components + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + mutants: + - id: 074bd1da7523 + killer: 2 + - id: 283cda771f3e + killer: 4 + - id: 32dea9eaf24d + killer: 7 + - id: 35a49d33e4cc + killer: 3 + - id: 418388f9ee7e + killer: 5 + - id: 6488abb6ee08 + killer: 7 + - id: 687a71227911 + killer: 3 + - id: 74cb2909ad3c + killer: 5 + - id: 77d0ccdee7ec + killer: 1 + - id: 88dd26d3a363 + killer: 6 + - id: '940630890164' + killer: 4 + - id: 96c7930cdd8e + killer: 7 + - id: 9eaf6f23332d + killer: 4 + - id: a90f494c9c3f + killer: 5 + - id: acc3092d929b + killer: 1 + - id: c0896e5b698a + killer: 0 + - id: dc01c5450146 + killer: 4 + - id: f3427e51e297 + killer: 7 + - id: f9b13f27f90a + killer: 1 + - id: fb4986c54844 + killer: 5 +- path: crates/cargo-gamma-lib/src/report/progress.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_multi_line_warning_is_labelled_on_every_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_timeout_says_how_long_the_mutant_ran_before_it_was_stopped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::asking_whether_build_output_is_wanted_agrees_with_what_is_done_with_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::phase_events_are_displayed_and_ordinary_verdicts_are_not_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_safe_same_item_exact_candidate_waits_for_canonical_iteration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_changed_borrowed_line_is_drawn_once_the_interval_has_passed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_disabled_display_writes_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_finished_run_has_no_time_left_to_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_without_a_phase_at_all_writes_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_insisted_line_is_written_whether_the_display_is_on_or_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_unchanged_borrowed_line_is_not_repainted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::cargos_erase_prefix_is_not_rendered_as_progress_text + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::no_total_means_no_progress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::styling_costs_no_columns_and_a_cut_line_stops_styling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + mutants: + - id: 004fe3e158b2 + killer: 36 + - id: 01d6f8cf4eaf + killer: 4 + - id: 0362337448b8 + killer: 31 + - id: 037a4c5798c3 + killer: 27 + - id: 04ba87b11c07 + killer: 27 + - id: 04f1d8c698bb + killer: 31 + - id: 054f60166992 + killer: 9 + - id: 06add6d34a69 + killer: 14 + - id: 06d594dc6097 + killer: 6 + - id: 084966bba03e + killer: 27 + - id: 087dd3ce1524 + killer: 28 + - id: 08b3d8104c61 + killer: 1 + - id: 0b7835b27ab2 + killer: 3 + - id: 0c5c9765376c + killer: 6 + - id: 0c9cda63bfdd + killer: 9 + - id: 0d081938724c + killer: 33 + - id: 0d0a8b75e6c8 + killer: 12 + - id: 0d102506e29a + killer: 24 + - id: 0d565e25d483 + killer: 25 + - id: 0ea57e1b062f + killer: 17 + - id: 0f00227c509d + killer: 9 + - id: 10085f33f17b + killer: 38 + - id: 1435163e3706 + killer: 12 + - id: 1482891c6f70 + killer: 15 + - id: 15e382b24e24 + killer: 14 + - id: 1628fd147806 + killer: 4 + - id: 1662da011441 + killer: 35 + - id: 1720a58890aa + killer: 17 + - id: 17aa89164343 + killer: 8 + - id: 1805df68bf79 + killer: 1 + - id: 1855ebcdc7c8 + killer: 14 + - id: 19eba97fd7df + killer: 6 + - id: 1a1d424a3494 + killer: 6 + - id: 1ac45e468d43 + killer: 1 + - id: 1ae561e54656 + killer: 23 + - id: 1b761c054e51 + killer: 33 + - id: 1c195452611c + killer: 8 + - id: 1ce426d3df6d + killer: 17 + - id: 1dcbafc75b0a + killer: 27 + - id: 1df5b847aea4 + killer: 26 + - id: 1f7e9b043926 + killer: 13 + - id: 20e75cef50da + killer: 27 + - id: 20e831414345 + killer: 6 + - id: 21cb3eb2334b + killer: 17 + - id: 21d324cfeb4b + killer: 18 + - id: 2220275699fe + killer: 12 + - id: 2223c6229681 + killer: 34 + - id: 222978e8ecd5 + killer: 20 + - id: 2456dd0600b6 + killer: 32 + - id: 24858fb0b584 + killer: 27 + - id: 24ba5784574f + killer: 23 + - id: 2512327966ce + killer: 18 + - id: 2612b14234cc + killer: 34 + - id: 2648c28cdd69 + killer: 35 + - id: 272eff387adf + killer: 27 + - id: 284e2ebb2fb2 + killer: 10 + - id: 284fd72a3a8f + killer: 32 + - id: 297b40b04259 + killer: 27 + - id: 2b02ab3df0fd + killer: 9 + - id: 2b572b0d8ee5 + killer: 12 + - id: 2d46a14f55e0 + killer: 31 + - id: 2d53fc188781 + killer: 12 + - id: 2d70abaf33ca + killer: 12 + - id: 2e0d8407b771 + killer: 1 + - id: 2fd7089196e7 + killer: 6 + - id: 30f7722144ce + killer: 12 + - id: 31ff8b1ffb82 + killer: 27 + - id: 32e5ce4421eb + killer: 1 + - id: 332d0fe89dd9 + killer: 34 + - id: 33da7a3f461d + killer: 29 + - id: 35c579b23ac6 + killer: 9 + - id: 368551db933e + killer: 3 + - id: 37870aca59cd + killer: 35 + - id: 381af4c2a76d + killer: 28 + - id: 38a49d08a2f7 + killer: 1 + - id: 38b8d20668e9 + killer: 6 + - id: 3925590eb4fd + killer: 17 + - id: 3a9a61bf941e + killer: 25 + - id: 3ae1777dcaea + killer: 25 + - id: 3bb1f6d797ea + killer: 9 + - id: 3dc7a8a2a221 + killer: 32 + - id: 3e7a296f0d58 + killer: 27 + - id: 3fc2334f3fd5 + killer: 23 + - id: 407155521e80 + killer: 32 + - id: 42b4eb7e1953 + killer: 17 + - id: 42c06aa8fc65 + killer: 32 + - id: 434188b52839 + killer: 8 + - id: 434b8228223b + killer: 16 + - id: 43a5cf67fab6 + killer: 17 + - id: 43cfcbae749a + killer: 20 + - id: 4457552f3774 + killer: 0 + - id: 45b9633319ae + killer: 37 + - id: 46b86bc9661b + killer: 14 + - id: 46de0447d193 + killer: 32 + - id: 4725538a3933 + killer: 3 + - id: 4756b8c8fce6 + killer: 14 + - id: 475c15cc98ee + killer: 28 + - id: 48263f6f733f + killer: 25 + - id: 4859e027d81f + killer: 31 + - id: 48c2ab76162f + killer: 27 + - id: 4965c0705212 + killer: 3 + - id: 49a928ede9a2 + killer: 33 + - id: 49d18902e613 + killer: 17 + - id: 49e1b04b872b + killer: 27 + - id: 4a50e4c1352b + killer: 32 + - id: 4a7cca0afa7c + killer: 5 + - id: 4b3c634c6369 + killer: 17 + - id: 4c1269ed6a13 + killer: 32 + - id: 4d5309b3752c + killer: 13 + - id: 4d600ccc8e20 + killer: 32 + - id: 4f4d48b768b0 + killer: 19 + - id: 4f5bcc1170c9 + killer: 32 + - id: 4f77437decaf + killer: 18 + - id: 4fa6286af22b + killer: 8 + - id: 4fe2f62ba965 + killer: 2 + - id: 50bc8f03623a + killer: 0 + - id: 50c4756fa8ff + killer: 12 + - id: 513fb156707d + killer: 17 + - id: 533f09b872a8 + killer: 25 + - id: 543d32cce613 + killer: 6 + - id: 5478e5a4ac0d + killer: 8 + - id: 553e821103d3 + killer: 10 + - id: 55914adebdc3 + killer: 14 + - id: 57b37fc3c2ae + killer: 9 + - id: 58401defbcb2 + killer: 12 + - id: 59123199ec5c + killer: 6 + - id: 593d08d2673c + killer: 27 + - id: 5ae7bf77f88c + killer: 35 + - id: 5b003b00117a + killer: 37 + - id: 5b7a319082d8 + killer: 12 + - id: 5d7e68188c12 + killer: 17 + - id: 5fe61e747df9 + killer: 10 + - id: 61463a20d8fd + killer: 8 + - id: 6286c5081008 + killer: 3 + - id: 62e5acb26c1d + killer: 32 + - id: 638b4990d966 + killer: 32 + - id: 64552d72692a + killer: 18 + - id: 64cdc7b35534 + killer: 6 + - id: 653a03afea9e + killer: 17 + - id: 6643f5f9a93d + killer: 9 + - id: 66601b5b1185 + killer: 0 + - id: 671f57ed2768 + killer: 11 + - id: 6738a1c42e7a + killer: 14 + - id: 6a2b703e1871 + killer: 30 + - id: 6c28390909f0 + killer: 14 + - id: 6c4533e25b91 + killer: 9 + - id: 6cb5c5587afa + killer: 33 + - id: 6d9048646963 + killer: 17 + - id: 6e3b260ae4cd + killer: 12 + - id: 70d0a8317a58 + killer: 6 + - id: 711da9bf736d + killer: 29 + - id: '715161180870' + killer: 27 + - id: 7393fef02ac1 + killer: 22 + - id: 73d7292eb7fb + killer: 4 + - id: 74c04d712a36 + killer: 32 + - id: 74d1a695e6c4 + killer: 32 + - id: 74d6466e0e08 + killer: 14 + - id: 7605f4c21125 + killer: 12 + - id: 760b94ffb0e0 + killer: 8 + - id: 76e87d2de4f9 + killer: 23 + - id: 77ed48803e33 + killer: 31 + - id: 78078dfd3b60 + killer: 18 + - id: 788497e8b0dc + killer: 6 + - id: 78adb3c10122 + killer: 4 + - id: 78e32b20f8a1 + killer: 7 + - id: 792a04672474 + killer: 9 + - id: 79ddb8b6598d + killer: 0 + - id: 7b998c9a3eb5 + killer: 33 + - id: 7c63f948e4d0 + killer: 4 + - id: 7d899a6e2ee0 + killer: 32 + - id: 7eedbff14843 + killer: 1 + - id: 7f99b99c932e + killer: 9 + - id: 7fe0d3136097 + killer: 12 + - id: 8090752233e8 + killer: 4 + - id: 80b93d97a263 + killer: 14 + - id: 80dca50797a7 + killer: 8 + - id: 81881e5b49b7 + killer: 14 + - id: 81d70b3142ce + killer: 32 + - id: 823a8b957457 + killer: 17 + - id: 84f6b02b13a5 + killer: 37 + - id: 85d04c375984 + killer: 4 + - id: 88a5b0517f3c + killer: 12 + - id: 891695330d3c + killer: 2 + - id: 8b6f7ca1ea6e + killer: 0 + - id: 8edd8a9d584a + killer: 32 + - id: 8f6b3bca0807 + killer: 32 + - id: 8fabaa8a0b60 + killer: 32 + - id: 9033201d6246 + killer: 9 + - id: 92a7cbe0674b + killer: 28 + - id: 92b44adeef50 + killer: 16 + - id: 94ad57b28d1d + killer: 12 + - id: 97710e73e96e + killer: 32 + - id: 97e75839e5a6 + killer: 1 + - id: 97ffb2bbc8f9 + killer: 14 + - id: 98b6fc000e04 + killer: 37 + - id: 9a67aec44ee9 + killer: 33 + - id: 9bf1088dafdd + killer: 34 + - id: 9c99918a1f3c + killer: 31 + - id: 9c9f20c77826 + killer: 16 + - id: 9e1ef2dd4bd1 + killer: 11 + - id: 9e9bc660885e + killer: 8 + - id: 9ecbb2642e2a + killer: 27 + - id: 9f215ac07899 + killer: 28 + - id: 9fe34e4429d6 + killer: 32 + - id: a03e6a13e420 + killer: 37 + - id: a092e2144fc2 + killer: 17 + - id: a0ec0e846a04 + killer: 6 + - id: a15326113743 + killer: 1 + - id: a1c164122fc8 + killer: 13 + - id: a341986840a9 + killer: 21 + - id: a44cff4a16a3 + killer: 35 + - id: a51e6161cdc3 + killer: 0 + - id: a71283947bd2 + killer: 13 + - id: a796099be295 + killer: 33 + - id: a8cd93b5dbb5 + killer: 33 + - id: a8f97539da7d + killer: 9 + - id: a93160a19c0e + killer: 32 + - id: a9a1f06ff3a9 + killer: 8 + - id: ab259bc99d12 + killer: 14 + - id: ac2528e2787e + killer: 35 + - id: acf2460771b7 + killer: 32 + - id: adcf815ae2bb + killer: 32 + - id: ae185ad2adea + killer: 8 + - id: b004430a7406 + killer: 28 + - id: b16a521f7b78 + killer: 27 + - id: b1e55b3e77a9 + killer: 32 + - id: b2f3f85418a4 + killer: 6 + - id: b4639b16392d + killer: 8 + - id: b5234e232b9b + killer: 4 + - id: b5b218d81194 + killer: 34 + - id: b684f2270d44 + killer: 6 + - id: b7fe55bb708f + killer: 4 + - id: b8b38972fc88 + killer: 9 + - id: b8c7bfd9eca3 + killer: 32 + - id: b8d55004aeef + killer: 8 + - id: bab1b51078ff + killer: 37 + - id: bcc6acd5bd11 + killer: 27 + - id: bd7514b3b312 + killer: 4 + - id: beacf84e7a99 + killer: 1 + - id: c07fd4d1a875 + killer: 32 + - id: c2a8fef6a5a8 + killer: 12 + - id: c418f1b7c23e + killer: 35 + - id: c449ec3ad08b + killer: 29 + - id: c58e4b168af4 + killer: 34 + - id: c64411fecb6d + killer: 27 + - id: c67a939976a5 + killer: 29 + - id: c6b234bfca9f + killer: 8 + - id: c7356ef8212a + killer: 28 + - id: c74b5d0ea0a0 + killer: 32 + - id: c74c4f69c86c + killer: 16 + - id: c84fb20a1c87 + killer: 7 + - id: ca74b030469c + killer: 27 + - id: cad45e52717f + killer: 10 + - id: cde29385e1b9 + killer: 14 + - id: ce89ad34a9dc + killer: 36 + - id: ce9362069642 + killer: 12 + - id: cf83175b5dc3 + killer: 31 + - id: d0140f1d055a + killer: 34 + - id: d29ede44a1b1 + killer: 26 + - id: d2ecd6f680ee + killer: 24 + - id: d3e0c0e0f2bb + killer: 6 + - id: d4cdc332015c + killer: 28 + - id: d4e1e72b9773 + killer: 9 + - id: d657952601b9 + killer: 14 + - id: d712f8616973 + killer: 4 + - id: d730c78b68e4 + killer: 32 + - id: d923f86a3c1d + killer: 12 + - id: da266b336c17 + killer: 32 + - id: dabee042fea5 + killer: 17 + - id: db891ead8c98 + killer: 32 + - id: dbc5fd436333 + killer: 32 + - id: dc2214306bd0 + killer: 9 + - id: dc7dce3d8ad7 + killer: 27 + - id: dd1e6b9cb7e1 + killer: 27 + - id: de04df45ca14 + killer: 6 + - id: df3f56541aa2 + killer: 4 + - id: e04a0ae47984 + killer: 21 + - id: e06b492bf23b + killer: 9 + - id: e0ef4e88fa2b + killer: 28 + - id: e1cc346821af + killer: 4 + - id: e25f7a0a78ca + killer: 3 + - id: e37bcba462cb + killer: 3 + - id: e3bcb9af086f + killer: 4 + - id: e403b6f5f42e + killer: 27 + - id: e45695eb4277 + killer: 16 + - id: e49c4652675a + killer: 4 + - id: e4c8f6eaecb0 + killer: 32 + - id: e677afdf1c6c + killer: 18 + - id: e7653f515f53 + killer: 32 + - id: e834eee94307 + killer: 32 + - id: ea1b517dc209 + killer: 32 + - id: ea46eafdda3d + killer: 24 + - id: edd3df737b0d + killer: 6 + - id: ee1d2eaec5cd + killer: 29 + - id: ee704cc4f513 + killer: 16 + - id: ee913f534b23 + killer: 27 + - id: ef5a03855784 + killer: 14 + - id: ef9fb0358d62 + killer: 0 + - id: efba29653f09 + killer: 18 + - id: f011ad8605c4 + killer: 12 + - id: f24d24e53303 + killer: 35 + - id: f25dac40311e + killer: 33 + - id: f2ab51ad375a + killer: 32 + - id: f3401ef786f7 + killer: 32 + - id: f37570504b54 + killer: 30 + - id: f3bac0e11d7a + killer: 6 + - id: f4bdae216fa0 + killer: 7 + - id: f589c4c88104 + killer: 24 + - id: f6ca5e5c990d + killer: 27 + - id: f703a2283317 + killer: 18 + - id: f8ad22749de1 + killer: 17 + - id: f919146d75ab + killer: 18 + - id: f9a993eb0562 + killer: 4 + - id: fa84cd62be94 + killer: 14 + - id: fab2f690a3c6 + killer: 4 + - id: fb8c41f30008 + killer: 34 + - id: fc7db171c049 + killer: 1 + - id: fcdb6188097a + killer: 34 + - id: fd60a8cc4a32 + killer: 6 + - id: ff50806a04b3 + killer: 4 + - id: ffdf15c20a4e + killer: 11 +- path: crates/cargo-gamma-lib/src/report/styler.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_multi_line_warning_is_labelled_on_every_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_foreign_config_is_called_out_before_anything_is_loaded + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::a_disabled_styler_emits_no_escape_sequences + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + mutants: + - id: 1249ffc63210 + killer: 3 + - id: 14be9dde1e42 + killer: 3 + - id: 281041edf0b7 + killer: 0 + - id: 44863aa1cc8b + killer: 4 + - id: 805776ead573 + killer: 4 + - id: 8d91483545a1 + killer: 2 + - id: 939fa3b637cc + killer: 0 + - id: a0098be3b6a5 + killer: 3 + - id: a6a772b59e28 + killer: 3 + - id: b5114f158f54 + killer: 3 + - id: c00c3b693985 + killer: 4 + - id: c2adb2b96662 + killer: 1 + - id: c3a2a902f572 + killer: 3 + - id: c720a4fbd190 + killer: 0 + - id: c8691ecf5d97 + killer: 0 + - id: ce01ff8f1084 + killer: 3 + - id: cf46ae38b49c + killer: 1 + - id: d2dcc655f4e7 + killer: 3 + - id: e2b3b32ccb55 + killer: 2 +- path: crates/cargo-gamma-lib/src/report/summary.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_closed_results_pipe_ends_a_listing_successfully_without_a_diagnostic + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::linking_a_package_whose_manifest_exists_adds_the_runtime_dependency + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_build_that_had_to_widen_says_so + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_build_that_kept_its_scope_says_nothing_about_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_missing_hints_file_suggests_creating_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_pipe_that_closes_partway_through_fails_whichever_note_was_writing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::every_skipped_file_is_written_to_the_diagnostic_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::suppressible_mutants_suggest_the_suppress_command + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + mutants: + - id: 0501ebf7036d + killer: 3 + - id: 0fbabb1ff9bb + killer: 20 + - id: 121b5782d5d0 + killer: 4 + - id: 123c005b0643 + killer: 0 + - id: 14f73607d7e7 + killer: 18 + - id: 1ae88d5e6895 + killer: 6 + - id: 1c0248a981bb + killer: 19 + - id: 1f500b928a61 + killer: 6 + - id: 20c2898cc5b5 + killer: 9 + - id: 23a6bda93dea + killer: 21 + - id: 264e1e54d34f + killer: 6 + - id: 287ff11d77d2 + killer: 6 + - id: 2ebc9432b62f + killer: 6 + - id: 309e12504adc + killer: 8 + - id: 330f8da686f1 + killer: 5 + - id: 3609b2ce0f59 + killer: 20 + - id: 39cbda95a38e + killer: 7 + - id: 3c96ff0cf87d + killer: 3 + - id: 44ed5c751875 + killer: 6 + - id: 45719386e52b + killer: 9 + - id: 4653c32d3afa + killer: 6 + - id: 492ac8ed44fd + killer: 17 + - id: 4b61f03dd56c + killer: 10 + - id: 55ed009cdd2e + killer: 8 + - id: 59287674e153 + killer: 5 + - id: 5cf0d2c5ffd7 + killer: 19 + - id: 6038189cbff4 + killer: 21 + - id: 65694e8b6dd2 + killer: 13 + - id: 683233ce37dc + killer: 6 + - id: 68580d436a59 + killer: 18 + - id: 68818df77abd + killer: 5 + - id: 6c88e95858c8 + killer: 7 + - id: 6ca8c68218ca + killer: 19 + - id: 6d1da5391a4d + killer: 18 + - id: 6dc464d2baa4 + killer: 20 + - id: 6ddae998ee6d + killer: 1 + - id: 70f0a346389e + killer: 8 + - id: 7502d3568d39 + killer: 14 + - id: 7735ba3b6450 + killer: 5 + - id: 778ffd3dadf6 + killer: 18 + - id: 7b195699f2c1 + killer: 6 + - id: 81cbbbaf84fe + killer: 13 + - id: 83ff582b2fe9 + killer: 14 + - id: 8997d094d51f + killer: 6 + - id: 8a40cdba1461 + killer: 14 + - id: 8b94caf4232b + killer: 8 + - id: 8f194bf35e49 + killer: 7 + - id: 93f3e97bbd0f + killer: 12 + - id: 961956c182e8 + killer: 2 + - id: 98c451fead4a + killer: 5 + - id: 9b4d6fd1f4c5 + killer: 21 + - id: 9e2bf3521015 + killer: 15 + - id: 9f0e7818ee0a + killer: 20 + - id: a15e782f19f4 + killer: 18 + - id: a76383eab4cf + killer: 18 + - id: a7f93f41d98f + killer: 18 + - id: a9fa5f6716f2 + killer: 8 + - id: ac7d111abe29 + killer: 8 + - id: b6684f720090 + killer: 3 + - id: b815729ec688 + killer: 11 + - id: b899250b79aa + killer: 13 + - id: ba54f9236ca6 + killer: 21 + - id: c052de61d212 + killer: 17 + - id: c35540bf82ef + killer: 6 + - id: c3f81c5e2989 + killer: 5 + - id: c65c00ace7b9 + killer: 15 + - id: ca5211e14212 + killer: 5 + - id: ca88f6cfd222 + killer: 18 + - id: cc5e5ff78742 + killer: 5 + - id: d144c99fc4ce + killer: 20 + - id: d6dcf503c222 + killer: 13 + - id: d7880f09bfca + killer: 5 + - id: d7f3c7b18104 + killer: 14 + - id: d9dcd22bdc21 + killer: 6 + - id: dc4ec68ae9b6 + killer: 1 + - id: e5cfe2dece75 + killer: 19 + - id: e6fd354c2f96 + killer: 7 + - id: e85efab2e10e + killer: 9 + - id: e9dbd9381b71 + killer: 20 + - id: ec745469d53f + killer: 16 + - id: edf10be9a6a6 + killer: 11 + - id: ee8f99b5f1fb + killer: 0 + - id: f5dd1f197bbd + killer: 6 + - id: fcbaf38db12e + killer: 6 +- path: crates/cargo-gamma-lib/src/report/text.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::inexact_merged_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_the_disk_it_left_behind + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_baseline_that_outgrows_its_ceiling_names_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_carriage_return_progress_bar_does_not_bury_the_error_it_was_drawn_around + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_baseline_with_a_measured_peak_is_described_with_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::a_continuation_is_exactly_the_status_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::byte_counts_read_the_way_a_person_would_say_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::only_exact_boundary_scores_are_rendered_at_the_boundary + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + mutants: + - id: 0026ce92267f + killer: 1 + - id: 02aaad392fba + killer: 3 + - id: 0bb51a8b7948 + killer: 2 + - id: 0d4c75629825 + killer: 3 + - id: 0fd254e750f5 + killer: 0 + - id: 0fd7e57adc10 + killer: 6 + - id: 13e82d199f41 + killer: 5 + - id: 18992d905a1f + killer: 3 + - id: 1a3d8e4e105d + killer: 0 + - id: 1af612ddd6a6 + killer: 3 + - id: 1b660964b58c + killer: 1 + - id: 1bf54fd2022a + killer: 3 + - id: 1e3de1b36efd + killer: 0 + - id: 1f7ab476a80d + killer: 0 + - id: 1fd319afeb1a + killer: 3 + - id: 1fea6f9ded24 + killer: 8 + - id: 245caf14f9d5 + killer: 6 + - id: 26805c966d3e + killer: 3 + - id: 26d9e5d894e9 + killer: 0 + - id: 28e69f813b08 + killer: 0 + - id: 2a1026f32e49 + killer: 1 + - id: 3071b4d2735b + killer: 0 + - id: 3884c072a7b4 + killer: 1 + - id: 4532e40ad3e6 + killer: 6 + - id: 4667f9049e5e + killer: 8 + - id: 48cd0b1b7472 + killer: 5 + - id: 491e1446fcb8 + killer: 10 + - id: 496d1a4aabda + killer: 7 + - id: 4ab872d23ee2 + killer: 3 + - id: 4b9e8a5cdd87 + killer: 1 + - id: 4d9e6f0f0f7e + killer: 1 + - id: 503b961abc3c + killer: 1 + - id: 5462b90bbaee + killer: 0 + - id: 6703fd02bb9a + killer: 3 + - id: 6a465e98fdaf + killer: 0 + - id: 6e11968cb3e2 + killer: 0 + - id: 771d26c1d408 + killer: 9 + - id: 7a1e498643ed + killer: 6 + - id: 7fe35113bb42 + killer: 8 + - id: 81ac981787c7 + killer: 3 + - id: 915fa8796d3e + killer: 9 + - id: 9273027f10cc + killer: 10 + - id: 9645446c49e0 + killer: 8 + - id: 9a855c8c158f + killer: 8 + - id: 9b0a785753db + killer: 3 + - id: 9b6298e5fd02 + killer: 1 + - id: a14a9db502c0 + killer: 7 + - id: a8dc24aa1542 + killer: 4 + - id: aca28105d1df + killer: 7 + - id: afd0d2dc132b + killer: 6 + - id: b0db353185d0 + killer: 7 + - id: b1ac6d4def72 + killer: 10 + - id: b4c8967fd061 + killer: 10 + - id: b855d6cc58ea + killer: 0 + - id: c432078c70e3 + killer: 1 + - id: c705b7f7b8e4 + killer: 3 + - id: c9572beb3688 + killer: 3 + - id: cb9461a8c875 + killer: 1 + - id: cdac3128d6e5 + killer: 0 + - id: d226c2a656b1 + killer: 1 + - id: d723ce44a415 + killer: 7 + - id: d794b9497802 + killer: 3 + - id: d81173284362 + killer: 1 + - id: da183f1f6fd7 + killer: 7 + - id: de0cc886bb83 + killer: 8 + - id: de37de2d8bb5 + killer: 3 + - id: de6d585ef33f + killer: 3 + - id: e153fab85f53 + killer: 0 + - id: e38d3dc38bd7 + killer: 3 + - id: e42a22a1e315 + killer: 0 + - id: e69eea498dfa + killer: 0 + - id: e940d6af642b + killer: 3 + - id: eb91514d2afd + killer: 8 + - id: eba2ae4c778e + killer: 2 + - id: f0e4d1896994 + killer: 10 + - id: f0e961acbc9f + killer: 3 + - id: f57cbbcfddb8 + killer: 1 +- path: crates/cargo-gamma-lib/src/schema.rs + killers: + - package: cargo-gamma-lib + target: instrumented_compiles + test: a_disabled_match_arm_still_compiles + - package: cargo-gamma-lib + target: instrumented_compiles + test: a_stated_value_of_the_wrong_type_becomes_an_unviable_mutant + mutants: + - id: 0d274a641bb7 + killer: 1 + - id: 9564a813cb7d + killer: 1 + - id: 9fd31f1155cd + killer: 0 +- path: crates/cargo-gamma-lib/src/suppress/apply.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_suppressed_mutant_is_marked_and_counted_in_the_text_listing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::package_scans_apply_exclusions_after_workspace_validation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::scanning_an_unchanged_tree_twice_produces_the_same_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + mutants: + - id: 046b6b468242 + killer: 0 + - id: 0dea65bcaa05 + killer: 0 + - id: 17c0f469b599 + killer: 5 + - id: 1bf07a6924ca + killer: 3 + - id: 1cdefd4035d5 + killer: 6 + - id: 376a02eab71e + killer: 0 + - id: 3bb33faba396 + killer: 4 + - id: 41bb08734836 + killer: 1 + - id: 45fd94787a85 + killer: 0 + - id: 54bc736c46f8 + killer: 3 + - id: 702945a97cbf + killer: 0 + - id: 7968260441ab + killer: 1 + - id: 84466f3c14f7 + killer: 0 + - id: 86771b694d14 + killer: 2 + - id: 92b64bb0b8cf + killer: 2 + - id: 9728efc8d6e9 + killer: 7 + - id: a56f12c673b1 + killer: 0 + - id: c957c137c1db + killer: 1 + - id: cd9114afe7b1 + killer: 1 + - id: e74cb8f5eda2 + killer: 8 + - id: f7db18b703f7 + killer: 6 +- path: crates/cargo-gamma-lib/src/suppress/directive.rs + killers: + - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_suppressed_mutant_is_marked_and_counted_in_the_text_listing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::literal_selectors_and_none_delimited_groups_are_rendered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + mutants: + - id: 00b0c8be136f + killer: 0 + - id: 01448de87280 + killer: 0 + - id: 0c00cfc39ad4 + killer: 3 + - id: 13381ea342cf + killer: 0 + - id: 1a92fb893de0 + killer: 3 + - id: 1c2d6fb1d176 + killer: 0 + - id: 224ff6bff9f4 + killer: 11 + - id: 2eab3ab27592 + killer: 0 + - id: 303afc22aa59 + killer: 0 + - id: 32a5ca5b5bfa + killer: 0 + - id: 348f6c4c5344 + killer: 10 + - id: 349adf451ebe + killer: 0 + - id: 35363cb63eb6 + killer: 0 + - id: 3830ef1c1f29 + killer: 0 + - id: 389085b70d22 + killer: 0 + - id: 3a07f58469de + killer: 1 + - id: 3b3ec7acc22a + killer: 0 + - id: 3b54a661bd0e + killer: 0 + - id: 3d357582e27e + killer: 0 + - id: 3d5f15ee4f14 + killer: 11 + - id: 41d9fdf5337d + killer: 0 + - id: 426ef2807ddc + killer: 0 + - id: 49894bd2ee36 + killer: 8 + - id: 4b193e5dd3fd + killer: 0 + - id: 53c24eab7610 + killer: 0 + - id: 55ca63bf9440 + killer: 0 + - id: 58e85f41cad9 + killer: 0 + - id: 5b3ac3d6307e + killer: 0 + - id: 5ed00f44f4ac + killer: 12 + - id: 63709ebfbe25 + killer: 2 + - id: 6549235b983b + killer: 6 + - id: 6665ac028e00 + killer: 8 + - id: 672541d9cf2b + killer: 3 + - id: 67cee833e5db + killer: 3 + - id: 6a3b30d347f5 + killer: 1 + - id: 6b57f4b6e14d + killer: 0 + - id: 6df1c3bf7658 + killer: 3 + - id: 71ae25246a1d + killer: 1 + - id: 76188bcf5122 + killer: 0 + - id: 7867903a75e2 + killer: 7 + - id: 7c79d68046ec + killer: 1 + - id: 7d8fca0e696f + killer: 0 + - id: 7f50c4b5f03a + killer: 3 + - id: 822774f683cb + killer: 4 + - id: 8359e96b8fee + killer: 0 + - id: 874e3c59fa2c + killer: 0 + - id: 8868c218bb06 + killer: 3 + - id: 89b69952c359 + killer: 9 + - id: 8ae9603760bc + killer: 0 + - id: 8b6c5b3d1d28 + killer: 2 + - id: 8fb4bf178ebe + killer: 3 + - id: 903bcc922b0f + killer: 12 + - id: 92b476018e93 + killer: 11 + - id: 937aa8aff6df + killer: 7 + - id: 96434fc994cc + killer: 0 + - id: 97be62c6600f + killer: 12 + - id: 99322f70b86f + killer: 6 + - id: 9c82a9e5c83f + killer: 2 + - id: 9f8182682081 + killer: 1 + - id: a099d05cfba6 + killer: 0 + - id: a1b56e36219a + killer: 1 + - id: a5884133eacf + killer: 11 + - id: ae8cd552137a + killer: 1 + - id: b11bd89ab1c3 + killer: 0 + - id: b2d9244079fa + killer: 0 + - id: b3b1506186b3 + killer: 5 + - id: b648feef1706 + killer: 1 + - id: b864799e43b0 + killer: 0 + - id: baa03ffc10a3 + killer: 0 + - id: bb96c0c78c12 + killer: 8 + - id: bce46d288fcf + killer: 2 + - id: bce7b595df8a + killer: 0 + - id: bf87a0936759 + killer: 0 + - id: c29ebbd511af + killer: 0 + - id: c6c376df0fdc + killer: 0 + - id: c93ce3b5da88 + killer: 3 + - id: c98f12d80f1f + killer: 3 + - id: ce657d8d9635 + killer: 11 + - id: d0d300d70a67 + killer: 0 + - id: d5194af95047 + killer: 0 + - id: ddcae990a675 + killer: 0 + - id: e2d48e826cf9 + killer: 5 + - id: e4519dc13420 + killer: 0 + - id: e4f594cd2116 + killer: 0 + - id: e4ff7ef0b0c2 + killer: 0 + - id: e8a64dd29ae4 + killer: 0 + - id: ede86d9e43b3 + killer: 0 + - id: ef2eb7731e49 + killer: 10 + - id: fa6464c875bc + killer: 0 + - id: fa6bb3ab527c + killer: 0 + - id: fe4678028f5f + killer: 0 + - id: fff22c46f1a7 + killer: 0 +- path: crates/cargo-gamma-lib/src/suppress/idle.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_still_suppresses_something_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + mutants: + - id: 2929d40defd9 + killer: 0 + - id: 5aa83ee7bb34 + killer: 0 + - id: 7e138b2f2958 + killer: 0 + - id: ac0600cf254c + killer: 2 + - id: dcb5776031fb + killer: 1 + - id: e58ba70f6195 + killer: 0 +- path: crates/cargo-gamma-lib/src/suppress/intent.rs + killers: + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + mutants: + - id: 6fe89dfaeaab + killer: 1 + - id: 93fd4dcc9b2e + killer: 2 + - id: 9a5cbdb871e5 + killer: 2 + - id: a0aa1cea2947 + killer: 2 + - id: a3018904b961 + killer: 0 + - id: c637e1cea15b + killer: 0 + - id: cf6ba433dd8f + killer: 1 +- path: crates/cargo-gamma-lib/src/suppress/scan.rs + killers: + - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::bom_prefixed_files_keep_the_bom_when_removing_first_and_later_directives + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_stated_value_reaches_the_population_as_a_mutant_of_its_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::an_unknown_suppression_directive_fails_the_scan_rather_than_being_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + mutants: + - id: 031dd902ac11 + killer: 0 + - id: 04a65520eb32 + killer: 0 + - id: 04b26ca55ee7 + killer: 23 + - id: 04d968c48b70 + killer: 23 + - id: 072093757c2a + killer: 0 + - id: 0bf3967c05fc + killer: 8 + - id: 0c39c9b1bbe0 + killer: 24 + - id: 0d0180245614 + killer: 17 + - id: 0fba79bf6deb + killer: 0 + - id: 144e851e9bb5 + killer: 24 + - id: 14f093b84aa2 + killer: 23 + - id: 156239c77654 + killer: 23 + - id: 15e2fa1760dc + killer: 23 + - id: 17d08b04ebd5 + killer: 12 + - id: 19bb347f240b + killer: 23 + - id: 19fb71e6d464 + killer: 14 + - id: 1be858dd4f44 + killer: 0 + - id: 1e2b682e3c67 + killer: 22 + - id: 27755a25b996 + killer: 24 + - id: 2ed82b2511d6 + killer: 19 + - id: 2eecfaba569b + killer: 18 + - id: 2f6a422849c1 + killer: 0 + - id: 3716045a00ef + killer: 24 + - id: 3abc0efe6fcb + killer: 20 + - id: 3abc165cfa61 + killer: 23 + - id: 3ad864be1a31 + killer: 0 + - id: 3b4e4038336d + killer: 23 + - id: 3bccd34348d5 + killer: 2 + - id: 3dee485ae491 + killer: 3 + - id: 40d6f6c2b107 + killer: 24 + - id: 426953c4de92 + killer: 23 + - id: 45cc278114af + killer: 23 + - id: 4947755be5d2 + killer: 24 + - id: 49ea285f57b9 + killer: 11 + - id: 4a2a2f03c4a2 + killer: 0 + - id: 4aea1dc424d2 + killer: 24 + - id: 4aec592ab84b + killer: 17 + - id: 4b2e126e4633 + killer: 0 + - id: 4cd3c1b1a92e + killer: 23 + - id: 4f067af0eed1 + killer: 23 + - id: 4f2eebb8bdc9 + killer: 23 + - id: 4ff0d4730509 + killer: 0 + - id: 535fbe210b64 + killer: 24 + - id: '565466923766' + killer: 0 + - id: 59daa0ba43c3 + killer: 13 + - id: 5a2b1ab28d7d + killer: 24 + - id: 5abf58fb582f + killer: 24 + - id: 63411944b49d + killer: 0 + - id: 66e3cee316f5 + killer: 24 + - id: 685e2fd4f172 + killer: 24 + - id: 6b3330ae6a4f + killer: 5 + - id: 6cb94313e244 + killer: 24 + - id: 6dfd15a7d3d0 + killer: 0 + - id: 6fe7c76531c8 + killer: 0 + - id: 723540c15330 + killer: 4 + - id: 72db29da356d + killer: 1 + - id: 73b9a67a021b + killer: 10 + - id: 73ed1924fcca + killer: 0 + - id: 786c9b74a20c + killer: 23 + - id: 7bbd6180a0f8 + killer: 19 + - id: 7c93766bdc8f + killer: 0 + - id: 7ce202cfe0a0 + killer: 22 + - id: 85cbc40c816a + killer: 0 + - id: 8793a556471d + killer: 21 + - id: 880fda87c662 + killer: 23 + - id: 8b00e7ffdf84 + killer: 0 + - id: 8c157946758c + killer: 0 + - id: 92ae7cb23471 + killer: 0 + - id: 9395c5e14fb5 + killer: 14 + - id: 976ccff9113e + killer: 16 + - id: 983818d05804 + killer: 6 + - id: 9feee1d354e3 + killer: 24 + - id: a28dbf7b5d5f + killer: 19 + - id: a36371d5aeb3 + killer: 16 + - id: a5db6188106d + killer: 0 + - id: a88004d53d10 + killer: 23 + - id: aa40368964d7 + killer: 11 + - id: ab45281a7bc8 + killer: 0 + - id: ac8a462562aa + killer: 24 + - id: ae4796885db7 + killer: 0 + - id: b04499fbce10 + killer: 14 + - id: b5b74ae3cb9b + killer: 13 + - id: b62d56775c2f + killer: 4 + - id: b68b566a357e + killer: 14 + - id: b7650fe20b51 + killer: 24 + - id: b8c640c80d91 + killer: 24 + - id: b92b1c9b543a + killer: 1 + - id: bcde8304ebdb + killer: 7 + - id: bf05e781c8c6 + killer: 12 + - id: c062c56b0700 + killer: 24 + - id: c0a457e7b9f3 + killer: 0 + - id: c8deecbf24a7 + killer: 24 + - id: cc79a46f8487 + killer: 13 + - id: cd3b0d7d7ba1 + killer: 23 + - id: d1ac3fdfdbb0 + killer: 1 + - id: d62e051fb96b + killer: 23 + - id: d9d0780d8115 + killer: 0 + - id: db5cfcdf9436 + killer: 23 + - id: dd9266e74bd6 + killer: 15 + - id: ddb59c643c32 + killer: 0 + - id: e042623e547c + killer: 24 + - id: e220f402fbb2 + killer: 24 + - id: e58fdec4fc16 + killer: 15 + - id: e5a79e4fdac7 + killer: 10 + - id: e7be258b10d4 + killer: 24 + - id: e877db61c9da + killer: 24 + - id: ed3abdeea28c + killer: 23 + - id: edce72b37a34 + killer: 24 + - id: f27af12394b7 + killer: 24 + - id: f32ac8491e6a + killer: 24 + - id: f60b6fc4fef5 + killer: 19 + - id: fbec10a232ed + killer: 9 + - id: fdedd0854381 + killer: 23 +- path: crates/cargo-gamma-lib/src/suppress/scopes.rs + killers: + - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_span_reaching_past_the_recorded_file_end_is_dropped_by_the_collector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::among_spans_sharing_a_start_the_widest_is_chosen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_offset_on_a_span_start_selects_that_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_unattributed_function_gets_no_synthetic_function_head + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::equal_ending_nested_spans_do_not_displace_the_outer_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::spans_outside_the_source_are_never_recorded + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_nearest_span_after_the_offset_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + mutants: + - id: 02d33ce69fb1 + killer: 20 + - id: 03de6f6c9798 + killer: 7 + - id: 08e76af91611 + killer: 1 + - id: 0d05fc4ed248 + killer: 1 + - id: 126b66d85a1f + killer: 4 + - id: 155996986b69 + killer: 9 + - id: 15621a1a3f4d + killer: 6 + - id: 195dd215b492 + killer: 15 + - id: 1d543347b0e6 + killer: 20 + - id: 21129d25ae61 + killer: 20 + - id: 298824a86173 + killer: 8 + - id: 2ba52c0fc5b5 + killer: 11 + - id: 2ff06212ef5d + killer: 20 + - id: 30b9d5e48f53 + killer: 20 + - id: 33fc4dffd0b3 + killer: 7 + - id: 36efe28975cd + killer: 7 + - id: 477ee0ddeb77 + killer: 6 + - id: 4f62e52c8ca2 + killer: 3 + - id: 5065a1ea3dd2 + killer: 20 + - id: 54b9ed37cdd2 + killer: 20 + - id: 55659b23da68 + killer: 13 + - id: 567e20ce903b + killer: 16 + - id: 5e723f2c7626 + killer: 0 + - id: 68b160220eee + killer: 20 + - id: 6a05d96ea701 + killer: 0 + - id: 6a5949241859 + killer: 3 + - id: 6da33ee36d4a + killer: 18 + - id: 70b01f049482 + killer: 19 + - id: 70e3a17d28e0 + killer: 1 + - id: 7191f3deb5b2 + killer: 0 + - id: 748fe90cad65 + killer: 4 + - id: 74c752d9a302 + killer: 19 + - id: 788c13383235 + killer: 5 + - id: 7afa06f27039 + killer: 0 + - id: 81a17cfff82f + killer: 5 + - id: 8700ce0e4ac3 + killer: 20 + - id: 8b5fff82c9de + killer: 20 + - id: 95c17dafa3a8 + killer: 20 + - id: 96520f654806 + killer: 20 + - id: 9cace9c41b86 + killer: 15 + - id: a5fbda0e80d8 + killer: 9 + - id: a8a242265f3c + killer: 20 + - id: a9bb47a2903a + killer: 2 + - id: afd5992aed3e + killer: 5 + - id: b7545c709f2f + killer: 18 + - id: b814f22f86e6 + killer: 13 + - id: c25bc19a21c5 + killer: 14 + - id: c43dc3f6702a + killer: 20 + - id: c51250f227e9 + killer: 5 + - id: c7936c79d1f9 + killer: 20 + - id: cb1ed630569e + killer: 15 + - id: d14303b377b2 + killer: 9 + - id: d45e94c26f59 + killer: 5 + - id: d522f1984f2c + killer: 1 + - id: d752ff82e541 + killer: 12 + - id: da6ff18c8190 + killer: 16 + - id: e01fb3bb751f + killer: 7 + - id: ec33e785a803 + killer: 10 + - id: f2e784d609e1 + killer: 19 + - id: fa9d680b132d + killer: 20 + - id: fdb295276ed8 + killer: 20 + - id: fde8c3bad943 + killer: 17 +- path: crates/cargo-gamma-process/src/process_tree.rs + killers: + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_cleanup_failure_is_reported_after_the_leader_is_reaped + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_can_still_be_run_and_waited_for + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_failed_spawn_returns_the_preparation_for_retry + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_metered_subtree_reports_what_it_used + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_pending_observation_neither_cleans_nor_reaps + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_prepare_fault_refuses_to_install_containment + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_subtree_with_no_job_still_kills_the_child_directly + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_adopt_fault_abandons_the_child_and_refuses + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_errors_preserve_their_causes + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::detached_output_capture_releases_bytes_and_stops_retaining + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_a_jobless_spawned_command_stops_its_child + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_a_jobless_subtree_stops_its_child + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::output_reader_preserves_absence_and_read_failures + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::output_reader_retries_interrupted_reads + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::platform_capacity_and_spawned_id_are_observable + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::terminating_an_already_reaped_subtree_reports_the_exact_reason + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + mutants: + - id: 045faf1eb630 + killer: 9 + - id: 04e1358614ca + killer: 12 + - id: 0961963bb968 + killer: 11 + - id: 0d0ab0f6d226 + killer: 10 + - id: 12138697f849 + killer: 1 + - id: 14a984d523b6 + killer: 1 + - id: 14c0b3648d19 + killer: 11 + - id: 175c28e63c06 + killer: 1 + - id: 193d70981684 + killer: 9 + - id: 1ee37884a95e + killer: 10 + - id: 1f0514c4482d + killer: 5 + - id: 209970326c05 + killer: 11 + - id: 22c190ea3d86 + killer: 13 + - id: 235c37d4de6e + killer: 16 + - id: 25eace44de46 + killer: 2 + - id: 28ef8269a23f + killer: 10 + - id: 29cbb31b3231 + killer: 1 + - id: 2b16d565d9a9 + killer: 7 + - id: 2f7261b6e6ff + killer: 1 + - id: 33e0ce2eb3d6 + killer: 19 + - id: 37211bf8b713 + killer: 1 + - id: 37cc6b4fd475 + killer: 1 + - id: 37f38d05f9b6 + killer: 1 + - id: 3db9a215ee55 + killer: 5 + - id: 40c5c6cfa844 + killer: 16 + - id: 4397759c364f + killer: 1 + - id: 498454ab5614 + killer: 1 + - id: 4bcbd1703a71 + killer: 3 + - id: 4c34d627df63 + killer: 0 + - id: 4d1a74ac5543 + killer: 20 + - id: 5508d42ed624 + killer: 6 + - id: 5cf390606cd7 + killer: 10 + - id: 5eb895c2f833 + killer: 4 + - id: 61e84426582d + killer: 11 + - id: 657f58ea7ac9 + killer: 1 + - id: 669ae2eafded + killer: 11 + - id: 68f40017c1b7 + killer: 12 + - id: 6aeb29ce6f76 + killer: 7 + - id: 6d1d9338b20c + killer: 2 + - id: 6e3287cd8923 + killer: 15 + - id: 747b06443375 + killer: 17 + - id: 7774b1e11dab + killer: 9 + - id: 7b2a17cc5813 + killer: 16 + - id: 7fbd0d0d78f5 + killer: 7 + - id: 81d7406d152a + killer: 11 + - id: 90c6941d4f66 + killer: 11 + - id: 9275f494e3f0 + killer: 11 + - id: 996ae4129b3f + killer: 1 + - id: 9a7b5a52867a + killer: 8 + - id: a08301acff3d + killer: 0 + - id: a10243145da6 + killer: 11 + - id: a23e2d9d8289 + killer: 20 + - id: a399789c6a77 + killer: 18 + - id: a97203371db3 + killer: 1 + - id: ac01b55cc2fa + killer: 2 + - id: ac75fc9ee9be + killer: 8 + - id: ad552054ff61 + killer: 11 + - id: b2c4d3a44eeb + killer: 11 + - id: b7fcf1a19fff + killer: 8 + - id: b865400edec6 + killer: 1 + - id: b8a21a785e91 + killer: 20 + - id: c58694b35cd1 + killer: 0 + - id: c588fb2786b4 + killer: 1 + - id: c877d19e73ec + killer: 19 + - id: ccf786a990b3 + killer: 18 + - id: d16373d0cdc9 + killer: 1 + - id: d72ae6165784 + killer: 16 + - id: e0600b1340d8 + killer: 5 + - id: e2f6970520c5 + killer: 9 + - id: e4c225b4fd06 + killer: 1 + - id: f02ce6529675 + killer: 20 + - id: f2ccf4dec307 + killer: 1 + - id: f49d0aced7f0 + killer: 6 + - id: fd72562319a0 + killer: 14 +- path: crates/cargo-gamma-unsafe/src/job.rs + killers: + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_completion_message_is_consumed_once_and_then_remembered + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_reports_a_peak_that_grew_once_something_ran_in_it + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_suppresses_unhandled_exception_dialogs + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_that_cannot_be_completely_configured_is_refused + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_without_a_completion_port_cannot_report_a_memory_limit_hit + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_limited_job_installs_its_completion_port_and_memory_limit + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_refused_job_creation_closes_what_it_opened + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_resume_that_fails_is_reported_and_leaves_the_child_killable + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_system_completion_read_reports_the_posted_message + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_termination_that_fails_leaves_the_subtree_reachable + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::accounting_call_failures_do_not_invent_peak_or_limit_evidence + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::an_unlimited_job_has_no_completion_port_or_memory_limit_flag + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::an_unrelated_failing_child_is_not_memory_exhaustion + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::in_any_job_distinguishes_an_unassigned_child_from_an_assigned_one + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::invalid_handles_make_each_fallible_system_job_call_fail + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::snapshot_validity_rejects_both_win32_failure_sentinels + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::start_suspended_keeps_an_immediate_child_from_running + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::system_open_thread_does_not_grant_termination_access + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::system_open_thread_uses_the_requested_identifier + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::system_thread_calls_honor_the_win32_snapshot_contract + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::terminating_a_job_kills_the_child_in_it + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::the_process_and_its_children_suppress_system_error_dialogs + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::the_system_resume_call_reports_the_previous_suspension_count + mutants: + - id: 01b2874bbdba + killer: 1 + - id: 01ef5d35b86a + killer: 13 + - id: 02824b70e045 + killer: 3 + - id: 048a505c7204 + killer: 2 + - id: 04d2cc566d48 + killer: 0 + - id: 0549602e1304 + killer: 16 + - id: 09d9c2f0eaa7 + killer: 0 + - id: 0a4de0d4ab4c + killer: 22 + - id: 0cc50d27b89f + killer: 0 + - id: 0e1b4734827a + killer: 11 + - id: 0e3e657f639b + killer: 0 + - id: 0ea11b378157 + killer: 0 + - id: 0eada6dab309 + killer: 0 + - id: 10a2190c8657 + killer: 0 + - id: 13acbe3cc0ae + killer: 4 + - id: 19567acc4e69 + killer: 8 + - id: 1b8009f40c49 + killer: 0 + - id: 2147393d9632 + killer: 1 + - id: 224fe90ef237 + killer: 0 + - id: 22ded21cb0b1 + killer: 20 + - id: 22f598d70431 + killer: 0 + - id: 23d7d2e4c916 + killer: 23 + - id: 2896ffba339e + killer: 8 + - id: 2f002d843dc9 + killer: 0 + - id: 2fc1b2510a29 + killer: 0 + - id: 31a596c0d92d + killer: 3 + - id: 3264954898c5 + killer: 21 + - id: 32abc64b1dc2 + killer: 1 + - id: 34dbaae8194b + killer: 2 + - id: 39a4c1d37d19 + killer: 3 + - id: 3bc273c8cfe3 + killer: 14 + - id: 3bf56677dab1 + killer: 15 + - id: 3fd37d537091 + killer: 6 + - id: 401c222f9754 + killer: 4 + - id: 405b739382e5 + killer: 23 + - id: 40aed93dc07c + killer: 0 + - id: 4115d5c9e35f + killer: 0 + - id: 427722d078c4 + killer: 4 + - id: 429b6f24a551 + killer: 3 + - id: 4c88939da348 + killer: 1 + - id: 4d54548f65bf + killer: 0 + - id: 4f324a6eae7b + killer: 0 + - id: 529e52aaf285 + killer: 7 + - id: 5477a3ab1ff1 + killer: 21 + - id: 55956965f41d + killer: 0 + - id: 57c26ae61dce + killer: 1 + - id: 5d081e0169a2 + killer: 3 + - id: 5ed655747463 + killer: 6 + - id: 604a88104e16 + killer: 0 + - id: 6564b201bf11 + killer: 0 + - id: 6582c2001f33 + killer: 0 + - id: 65d80ceac1a9 + killer: 0 + - id: 6b163f9b815e + killer: 1 + - id: 6ca58a12e4c6 + killer: 8 + - id: 6e90cc65d1d3 + killer: 1 + - id: 72eb04f6202f + killer: 22 + - id: 74a27b696f9a + killer: 9 + - id: 75b1d6f5f9dd + killer: 0 + - id: 7a9c474f3c3b + killer: 1 + - id: 7c1fa9f8fbad + killer: 2 + - id: 7e074c873883 + killer: 0 + - id: 7ebc2fd7c48c + killer: 18 + - id: 7fb485669bc7 + killer: 0 + - id: 7fce4e147719 + killer: 1 + - id: 80d6309c1276 + killer: 10 + - id: 81d744c740cc + killer: 1 + - id: 88c8ac9592ed + killer: 0 + - id: 89529d982a57 + killer: 1 + - id: 89f0a2ad3032 + killer: 22 + - id: 8ca93be7beec + killer: 0 + - id: 8cbc28c219e8 + killer: 1 + - id: 8d74a47dabef + killer: 1 + - id: 8dd16061e980 + killer: 0 + - id: 904bd201619e + killer: 1 + - id: 91ac69f3254e + killer: 21 + - id: 91fa336c4960 + killer: 0 + - id: 921b2ee53180 + killer: 0 + - id: 933a5100cbbf + killer: 1 + - id: 9434ea1b81b7 + killer: 1 + - id: 95cf3518ed56 + killer: 1 + - id: 9c3e5850d043 + killer: 2 + - id: 9d377ca2250b + killer: 5 + - id: 9f7dd0175f6e + killer: 0 + - id: a055d715d564 + killer: 14 + - id: a2e4abaf2c97 + killer: 19 + - id: a3e0c154fc65 + killer: 0 + - id: a47b59e54355 + killer: 17 + - id: a7c265d72c90 + killer: 0 + - id: a81850795aec + killer: 1 + - id: a9c6869ea809 + killer: 0 + - id: abad9ff8ce5b + killer: 1 + - id: b23c616755d1 + killer: 0 + - id: b3602892312a + killer: 0 + - id: b738cf428d8b + killer: 11 + - id: b9f5cfbca7dd + killer: 0 + - id: bd47bd5b20f9 + killer: 0 + - id: c10a4242dedb + killer: 8 + - id: c73b6e5be7a5 + killer: 1 + - id: c8a659850372 + killer: 22 + - id: c972671aa217 + killer: 0 + - id: ca17a7601f08 + killer: 1 + - id: caa958eede6a + killer: 16 + - id: cac1386a67eb + killer: 1 + - id: ccbb11f56fd4 + killer: 2 + - id: ce90275748ac + killer: 0 + - id: cfcd0f21847a + killer: 0 + - id: d15e7ebf78fd + killer: 1 + - id: d3e4cfb56546 + killer: 2 + - id: d4476504301e + killer: 0 + - id: d47c47ae2621 + killer: 1 + - id: da724e3a925e + killer: 0 + - id: db3b3ed2d6f6 + killer: 0 + - id: db98d1473ad1 + killer: 1 + - id: de8279b97eeb + killer: 0 + - id: e0a0404425be + killer: 1 + - id: e1cd48c0f779 + killer: 3 + - id: e3f2b59f7711 + killer: 22 + - id: e9471267e5ce + killer: 0 + - id: ea60082e8fcc + killer: 0 + - id: ed781f8a0ef8 + killer: 1 + - id: f065697f56ac + killer: 4 + - id: f4bc4176b96b + killer: 1 + - id: f523cf55c098 + killer: 5 + - id: f712515fc252 + killer: 0 + - id: f7e4134bd50a + killer: 0 + - id: f84c0b69d71f + killer: 0 + - id: f960b2d34851 + killer: 2 + - id: f96838485297 + killer: 11 + - id: fa3cafc12f86 + killer: 12 +- path: crates/cargo-gamma-unsafe/src/platform_error.rs + killers: + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::a_borrowed_non_static_message_remains_accepted + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::an_operating_system_cause_is_retained_as_the_error_source + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::an_owned_operating_system_cause_is_retained_as_the_error_source + mutants: + - id: 0ba3313387cc + killer: 0 + - id: 4ea5c07efee1 + killer: 1 + - id: 7a6a9c3613db + killer: 2 + - id: 8ded1e090611 + killer: 1 +- path: crates/cargo-heather/src/bin/cargo-heather/cli.rs + killers: + - package: cargo-heather + target: cargo-heather + test: cli::tests::project_dir_defaults_to_current_directory + mutants: + - id: 8efcf327c042 + killer: 0 + - id: b16b0ffbde13 + killer: 0 + - id: f70cd17359cd + killer: 0 +- path: crates/cargo-heather/src/bin/cargo-heather/config.rs + killers: + - package: cargo-heather + target: cargo-heather + test: config::tests::fallback_config_enables_scripts_and_disables_dot_toml + - package: cargo-heather + target: cargo-heather + test: config::tests::find_workspace_root_errors_when_no_workspace_ancestor + - package: cargo-heather + target: cargo-heather + test: config::tests::load_config_errors_when_neither_config_nor_cargo_toml_present + - package: cargo-heather + target: cargo-heather + test: config::tests::load_config_falls_back_to_cargo_toml_license + - package: cargo-heather + target: cargo-heather + test: config::tests::read_config_file_missing_path_is_config_not_found + - package: cargo-heather + target: cargo-heather + test: config::tests::read_config_file_on_directory_is_file_read_error + - package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_accepts_custom_header_and_explicit_options + - package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_accepts_spdx_license_and_applies_option_defaults + - package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_rejects_both_license_and_header + - package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_rejects_empty_header + - package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_rejects_neither_license_nor_header + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_empty_or_false_workspace_license_is_none + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_resolves_workspace_inherited_license + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_uses_workspace_package_license + - package: cargo-heather + target: cli + test: cargo_script_processed_when_scripts_default_true + - package: cargo-heather + target: cli + test: config_rejects_both_license_and_header + - package: cargo-heather + target: cli + test: config_rejects_empty_header + - package: cargo-heather + target: cli + test: config_rejects_missing_license_and_header + - package: cargo-heather + target: cli + test: scanner_includes_dot_prefixed_toml_when_dot_toml_true + mutants: + - id: 0101991ee5d9 + killer: 16 + - id: 09492086c899 + killer: 1 + - id: 13279055519a + killer: 4 + - id: 2a53d1e5c038 + killer: 10 + - id: 2e32abf3ef3f + killer: 3 + - id: 30d33b688883 + killer: 4 + - id: 401c8cb82fa9 + killer: 1 + - id: 411824b070dd + killer: 3 + - id: 454d7bcdb92a + killer: 3 + - id: 461a3cfa5b72 + killer: 4 + - id: 575acfcdb961 + killer: 3 + - id: 5a89625a4354 + killer: 14 + - id: 5d172212936c + killer: 0 + - id: 62e8b3344588 + killer: 13 + - id: 661653ca934f + killer: 4 + - id: 69efb381da2e + killer: 1 + - id: 6ba946f72cb5 + killer: 12 + - id: 6d324f51df34 + killer: 18 + - id: 8cbb95e571c2 + killer: 7 + - id: 8cc45c088caa + killer: 1 + - id: 9032f9a8b552 + killer: 3 + - id: 9145bf28fc09 + killer: 16 + - id: 92aff432ca58 + killer: 17 + - id: 947d2dd8138d + killer: 5 + - id: 99b2335edbe4 + killer: 4 + - id: 9b394a43bfa8 + killer: 6 + - id: a0d141ffd0f3 + killer: 8 + - id: a517feb5b9b1 + killer: 15 + - id: a73da6359a66 + killer: 4 + - id: afc6ddd6400e + killer: 12 + - id: c01b3dd099dc + killer: 12 + - id: c2bf650bc22d + killer: 2 + - id: c512218c898d + killer: 6 + - id: cd0b66734da9 + killer: 3 + - id: d4b286755670 + killer: 15 + - id: d5b474985492 + killer: 9 + - id: d689d2225510 + killer: 17 + - id: d80ba2aa4ee7 + killer: 7 + - id: daeea0450c1e + killer: 1 + - id: e277fe5e0242 + killer: 12 + - id: e568bee1a6f9 + killer: 0 + - id: e95932e7eea9 + killer: 11 + - id: ed4676c94f10 + killer: 13 + - id: f2944da56488 + killer: 12 + - id: f88bc84d5142 + killer: 1 + - id: fb1aebc1bdc3 + killer: 3 +- path: crates/cargo-heather/src/bin/cargo-heather/main.rs + killers: + - package: cargo-heather + target: cli + test: cargo_script_processed_when_scripts_default_true + mutants: + - id: b30680589127 + killer: 0 +- path: crates/cargo-heather/src/bin/cargo-heather/run.rs + killers: + - package: cargo-heather + target: cargo-heather + test: run::tests::format_mismatch_details_handles_empty_expected_and_actual + - package: cargo-heather + target: cargo-heather + test: run::tests::format_mismatch_details_lists_nonempty_lines_with_markers + - package: cargo-heather + target: cargo-heather + test: run::tests::make_relative_strips_base_or_falls_back + - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_propagates_read_error + - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_rejects_unsupported_file_type + - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_returns_kind_and_content_for_supported_file + - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + - package: cargo-heather + target: cargo-heather + test: run::tests::write_fixed_propagates_write_error + - package: cargo-heather + target: cli + test: cargo_script_processed_when_scripts_default_true + - package: cargo-heather + target: cli + test: cargo_script_skipped_when_scripts_false + - package: cargo-heather + target: cli + test: check_fails_with_mismatch_diff_block + - package: cargo-heather + target: cli + test: check_passes_when_all_files_have_correct_header + - package: cargo-heather + target: cli + test: check_succeeds_when_no_files_found + - package: cargo-heather + target: cli + test: custom_header_fix_inserts_header_in_rust_file + - package: cargo-heather + target: cli + test: custom_header_fix_replaces_wrong_header + - package: cargo-heather + target: cli + test: fix_adds_missing_header_and_reports_count_one + - package: cargo-heather + target: cli + test: fix_mixed_two_missing_one_mismatch_reports_three + - package: cargo-heather + target: cli + test: fix_with_all_correct_reports_zero_count + - package: cargo-heather + target: cli + test: scanner_includes_dot_prefixed_toml_when_dot_toml_true + mutants: + - id: 005b5c816c3f + killer: 15 + - id: 0386174a038a + killer: 7 + - id: 04624743d5c0 + killer: 5 + - id: 0518bdf31c59 + killer: 5 + - id: 093c56b95e92 + killer: 0 + - id: 0982aa7197f3 + killer: 9 + - id: 0e0ff566d0a6 + killer: 9 + - id: 0eb9217ccd0a + killer: 0 + - id: 107ffa52922e + killer: 11 + - id: 10a88eceb8dd + killer: 10 + - id: 1a43a8c124c7 + killer: 0 + - id: 1bd3e8a245e9 + killer: 9 + - id: 2458bac04aa9 + killer: 6 + - id: 270968ca5607 + killer: 4 + - id: 2b0aae661106 + killer: 11 + - id: 2f51add8f691 + killer: 12 + - id: 3219d552e3fe + killer: 5 + - id: 358d8c98a19c + killer: 19 + - id: 3b7052b28de8 + killer: 18 + - id: 3b884c118970 + killer: 0 + - id: 3e61573d619b + killer: 16 + - id: 3e78b0ee9d83 + killer: 1 + - id: 454a5b139b38 + killer: 12 + - id: 492e0c1debcc + killer: 16 + - id: 4a7e5cb2b4be + killer: 10 + - id: 4c4564971236 + killer: 6 + - id: 4ef7c990670f + killer: 0 + - id: 51813fd039f7 + killer: 0 + - id: 53b63fc0d60f + killer: 6 + - id: 60aa9516e2fa + killer: 6 + - id: 61c906b0cf85 + killer: 7 + - id: 65738887507d + killer: 8 + - id: 67704550c638 + killer: 9 + - id: 6c403e72eb74 + killer: 0 + - id: 6d0162523c06 + killer: 9 + - id: 70288d420b32 + killer: 11 + - id: 71c0da237e6a + killer: 0 + - id: 71f5c5232b91 + killer: 11 + - id: 7658b9077955 + killer: 17 + - id: 7870c9e59dd0 + killer: 0 + - id: 7a5dba7bb1d3 + killer: 11 + - id: 7aef37cb1210 + killer: 6 + - id: 7d4b05e8f2e4 + killer: 10 + - id: 7edcab3bf595 + killer: 7 + - id: 8151147fce0e + killer: 0 + - id: 84955de140b4 + killer: 6 + - id: 89c12fa8d6f3 + killer: 1 + - id: 8a26b52cbe15 + killer: 6 + - id: 8b79715d2fa9 + killer: 17 + - id: 8c1e775f375b + killer: 11 + - id: 8e0853797a52 + killer: 1 + - id: 9b62aca22e44 + killer: 17 + - id: 9dc27fa45b90 + killer: 14 + - id: 9e86591501a3 + killer: 11 + - id: a1c47f4dd7cc + killer: 2 + - id: a2ff4eb45c0d + killer: 13 + - id: a5b858aa8a2b + killer: 6 + - id: b5f6fcb0fce2 + killer: 3 + - id: c13e3b4534ad + killer: 11 + - id: c541aecdbe5c + killer: 6 + - id: c56a1693f902 + killer: 3 + - id: c7a644ada47e + killer: 7 + - id: cee765fb687c + killer: 9 + - id: cefcd0b1b2a6 + killer: 14 + - id: d69fbbdafe99 + killer: 16 + - id: d79ed9ebcfa4 + killer: 9 + - id: dc9996dd8e05 + killer: 0 + - id: dffbf83fc977 + killer: 0 + - id: e290fccca3b5 + killer: 19 + - id: e94dedc04567 + killer: 3 + - id: e9e27a57a8e2 + killer: 7 + - id: ee40d2be7ab9 + killer: 12 + - id: f0322d38e916 + killer: 11 + - id: f04a31cd8db5 + killer: 4 + - id: f2d9dd39c46f + killer: 11 + - id: f708588510cd + killer: 7 + - id: f798c57b0926 + killer: 7 + - id: f86fd1ec7ace + killer: 1 +- path: crates/cargo-heather/src/bin/cargo-heather/scanner.rs + killers: + - package: cargo-heather + target: cli + test: cargo_script_processed_when_scripts_default_true + - package: cargo-heather + target: cli + test: cargo_script_skipped_when_scripts_false + - package: cargo-heather + target: cli + test: scanner_exclude_list_filters_directory_subtree + - package: cargo-heather + target: cli + test: scanner_excludes_a_path_matching_only_one_of_multiple_entries + - package: cargo-heather + target: cli + test: scanner_ignores_unsupported_extension_even_when_hash_comments_would_work + - package: cargo-heather + target: cli + test: scanner_includes_dot_prefixed_rust_files + - package: cargo-heather + target: cli + test: scanner_includes_dot_prefixed_toml_when_dot_toml_true + - package: cargo-heather + target: cli + test: scanner_skips_dot_git_directory + - package: cargo-heather + target: cli + test: scanner_skips_dot_prefixed_toml_files_by_default + - package: cargo-heather + target: cli + test: scanner_skips_hidden_directories_at_any_depth + - package: cargo-heather + target: cli + test: scanner_skips_target_directory + mutants: + - id: 11039a36c379 + killer: 2 + - id: 12c02b3f5c24 + killer: 0 + - id: 170106780c16 + killer: 9 + - id: 1f8c65d64d79 + killer: 8 + - id: 24c45a20c6ff + killer: 9 + - id: 2f9e666d2eba + killer: 0 + - id: 3212d682c0c3 + killer: 0 + - id: 34cb52074abb + killer: 5 + - id: 367bb7f1ba68 + killer: 2 + - id: 4aed9e63cae6 + killer: 7 + - id: 50fa669c4bd4 + killer: 9 + - id: 54abd5b5975b + killer: 8 + - id: 582d2a12bad7 + killer: 8 + - id: 6592446d2bf2 + killer: 5 + - id: 6a72755a23bc + killer: 4 + - id: 7183cf6bc7c4 + killer: 2 + - id: 71c4be1e4313 + killer: 10 + - id: 7a4db02fa414 + killer: 5 + - id: 93d2bbcec745 + killer: 7 + - id: 94cf4996042b + killer: 0 + - id: 96d2805acea0 + killer: 3 + - id: 9b83d0a0949d + killer: 0 + - id: af855e927102 + killer: 0 + - id: b59944a6957a + killer: 6 + - id: b666629ba84d + killer: 2 + - id: bc0598b5583c + killer: 0 + - id: c2e2579f4809 + killer: 0 + - id: c376530c14f3 + killer: 0 + - id: c717c137ce9e + killer: 8 + - id: d2b1af4f08e0 + killer: 8 + - id: e05ec1cf5690 + killer: 0 + - id: e22b12f63d7f + killer: 1 + - id: e4adf7468ee9 + killer: 0 + - id: e4ffbaf459c8 + killer: 9 + - id: ebb68d0a7751 + killer: 2 + - id: fc3e6d779d66 + killer: 0 + - id: fd41535f7cce + killer: 7 +- path: crates/cargo-heather/src/checker/extract.rs + killers: + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_stops_at_first_non_comment + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_trims_only_trailing_blank_comments + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::script_header_returns_none_when_second_line_is_not_dash + - package: cargo-heather + target: cli + test: scanner_includes_legacy_hash_comment_file_types + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - package: cargo-heather + target: powershell_ms + test: ps1_ok_with_trailing_comments + - package: cargo-heather + target: script_mit + test: script_mismatch + - package: cargo-heather + target: script_mit + test: script_missing + - package: cargo-heather + target: toml_mit + test: toml_mismatch + mutants: + - id: 0cd4ab3ee659 + killer: 6 + - id: 14ab04c9525d + killer: 5 + - id: 1884dc07c710 + killer: 4 + - id: 1fb2df7b9a7a + killer: 6 + - id: 2bbed67123e1 + killer: 3 + - id: 2d9c4ac717c9 + killer: 1 + - id: 373eaa854e1b + killer: 6 + - id: 3a254769965d + killer: 6 + - id: 411c4cb2689e + killer: 7 + - id: 42b914c73edd + killer: 6 + - id: 45d85ddf11bf + killer: 6 + - id: 49a6c7a0f009 + killer: 3 + - id: 4a092edd1329 + killer: 6 + - id: 5a462106580b + killer: 6 + - id: 5dcdea0a6f80 + killer: 6 + - id: 657287cb6267 + killer: 6 + - id: 6c80fd768498 + killer: 5 + - id: 86f1cf923b25 + killer: 4 + - id: 8a7518afc07f + killer: 8 + - id: a0038137a2c5 + killer: 2 + - id: beec6e8653d1 + killer: 4 + - id: c4a80b41d47c + killer: 6 + - id: d2dc7f2fdd7e + killer: 6 + - id: de1c8447bfda + killer: 6 + - id: e428a2b092d0 + killer: 6 + - id: e9ac670c42ae + killer: 3 + - id: f0276fd65500 + killer: 6 + - id: f34b406a5743 + killer: 0 + - id: f5e3c1cc057c + killer: 4 + - id: fdea36f8ceed + killer: 6 + - id: fee3d11e06b9 + killer: 6 +- path: crates/cargo-heather/src/checker/matcher.rs + killers: + - package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::header_matches_false_when_actual_shorter_than_expected + - package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::header_matches_ignores_outer_blank_lines + - package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::normalize_strips_outer_blank_lines_and_trailing_ws + - package: cargo-heather + target: powershell_ms + test: ps1_ok_with_trailing_comments + - package: cargo-heather + target: script_mit + test: script_mismatch + - package: cargo-heather + target: script_mit + test: script_ok + mutants: + - id: 027fe8b3f2cb + killer: 4 + - id: 09e7e7f9fe4b + killer: 4 + - id: 172c1afac574 + killer: 3 + - id: 1fc4e0f00de7 + killer: 1 + - id: 2eaab41ca6fd + killer: 5 + - id: 3160b2f3cccc + killer: 2 + - id: 5f25755a9cba + killer: 0 + - id: 6492f3d02903 + killer: 4 + - id: 6c32377efc09 + killer: 5 + - id: a1ceb4af60a3 + killer: 5 + - id: adb1cafbfcf4 + killer: 4 + - id: b79870f597d5 + killer: 5 + - id: ba25057f53cd + killer: 0 + - id: bb8d527412d0 + killer: 4 + - id: c95d2cb87e60 + killer: 5 + - id: d9118fc16aff + killer: 1 + - id: edfcc18601b2 + killer: 4 + - id: ee0b719b94a3 + killer: 4 + - id: f3a63d5ae0f3 + killer: 4 + - id: f7197cf115d8 + killer: 2 +- path: crates/cargo-heather/src/checker/mod.rs + killers: + - package: cargo-heather + target: cli + test: scanner_includes_legacy_hash_comment_file_types + - package: cargo-heather + target: rust_mit + test: rust_empty + - package: cargo-heather + target: script_mit + test: script_mismatch + - package: cargo-heather + target: script_mit + test: script_ok + - package: cargo-heather + target: toml_mit + test: toml_mismatch + mutants: + - id: 0ead24b398b1 + killer: 2 + - id: 0fa854735f5f + killer: 4 + - id: 2d2db49ca914 + killer: 4 + - id: 2ff6eb1c97a8 + killer: 0 + - id: 55a1487e3ec3 + killer: 4 + - id: 6e92d3c4adeb + killer: 2 + - id: 86b39a441719 + killer: 3 + - id: 99ca7e3863be + killer: 4 + - id: 9e6dc5d30912 + killer: 2 + - id: fcc6cd19fc4d + killer: 1 +- path: crates/cargo-heather/src/checker/strip.rs + killers: + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_no_blank_when_next_line_is_real_code + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_returns_none_when_no_header_lines + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_no_body_emits_frontmatter_and_header + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_only_emits_header_without_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_preserves_absence_of_trailing_newline + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_yields_empty_when_file_is_only_a_header + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - package: cargo-heather + target: powershell_ms + test: ps1_missing_no_comments + - package: cargo-heather + target: powershell_ms + test: ps1_shebang_missing_with_descriptive_comments + - package: cargo-heather + target: script_mit + test: script_mismatch + - package: cargo-heather + target: script_mit + test: script_missing + - package: cargo-heather + target: toml_mit + test: toml_mismatch + mutants: + - id: 022a2f392d09 + killer: 8 + - id: 031a04f83a30 + killer: 8 + - id: 05fbb1ae620b + killer: 11 + - id: 0eacdf3241eb + killer: 9 + - id: 140cebe5f774 + killer: 7 + - id: 26df5eb89159 + killer: 7 + - id: 27c7793b165a + killer: 1 + - id: 284943d06e4c + killer: 9 + - id: 2898918aa713 + killer: 9 + - id: 2b62326ae2b0 + killer: 2 + - id: 357d8d777c77 + killer: 6 + - id: 3abfd12a650f + killer: 3 + - id: 3efc609470f9 + killer: 9 + - id: 40fe9e1f56c2 + killer: 11 + - id: 460b910df18e + killer: 9 + - id: 4e3fb99bedb1 + killer: 9 + - id: 4eeaaf462823 + killer: 8 + - id: 5788a8e2d2b2 + killer: 5 + - id: 5ac73f5812c8 + killer: 8 + - id: 606c445165b8 + killer: 7 + - id: 60b1f1964112 + killer: 0 + - id: 6428006371a5 + killer: 9 + - id: 65890da99c62 + killer: 9 + - id: 6af4f5a1bc5e + killer: 6 + - id: 6b00a67a6432 + killer: 9 + - id: 7158bd945e80 + killer: 9 + - id: 738706c76c3e + killer: 7 + - id: 763e3a6903d8 + killer: 3 + - id: 77d184e64859 + killer: 6 + - id: 7943cc9928b0 + killer: 9 + - id: 7ccceabe74f3 + killer: 9 + - id: 7eb7d7769f7c + killer: 6 + - id: 7ed55b428f8c + killer: 11 + - id: 85c9e549028c + killer: 8 + - id: 8cc1da406c8d + killer: 9 + - id: 94e468750139 + killer: 11 + - id: 94fe04549236 + killer: 7 + - id: 95cac8c8d59f + killer: 8 + - id: 9628b8b38d92 + killer: 4 + - id: 96feef619720 + killer: 8 + - id: 9790fcaf8f09 + killer: 11 + - id: 9a1a4a094859 + killer: 7 + - id: a28b78eb79da + killer: 6 + - id: a2ce0bd87725 + killer: 8 + - id: a5781df21c87 + killer: 9 + - id: ad5f338d9246 + killer: 11 + - id: ae4795556361 + killer: 9 + - id: af4cb40b39d1 + killer: 9 + - id: b1b31ec6a259 + killer: 8 + - id: b2165d90a858 + killer: 11 + - id: b55508944bcd + killer: 3 + - id: b6671921fe4b + killer: 9 + - id: b9f5ab238d4f + killer: 9 + - id: bbad95d2943d + killer: 8 + - id: c17b8c1236ad + killer: 9 + - id: c37995e8f071 + killer: 9 + - id: c7ae61043fe1 + killer: 9 + - id: c95a2dbebfe1 + killer: 3 + - id: dda481b18ab3 + killer: 6 + - id: e42a22453385 + killer: 9 + - id: ec80b29c07f2 + killer: 3 + - id: ec847503a146 + killer: 9 + - id: f526607141fc + killer: 1 + - id: f5f2286a8e46 + killer: 10 + - id: feb3fe1ba022 + killer: 9 +- path: crates/cargo-heather/src/comment.rs + killers: + - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_propagates_read_error + - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_rejects_unsupported_file_type + - package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_stops_at_first_non_comment + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_trims_only_trailing_blank_comments + - package: cargo-heather + target: cargo_heather + test: comment::tests::detect_powershell_data_file_by_psd1_extension + - package: cargo-heather + target: cargo_heather + test: comment::tests::doc_comment_is_not_header_comment + - package: cargo-heather + target: cargo_heather + test: comment::tests::empty_content_is_not_cargo_script + - package: cargo-heather + target: cargo_heather + test: comment::tests::inner_attribute_is_not_cargo_script + - package: cargo-heather + target: cargo_heather + test: comment::tests::inner_doc_comment_is_not_header_comment + - package: cargo-heather + target: cargo_heather + test: comment::tests::ordinary_rust_with_dash_second_line_is_not_cargo_script + - package: cargo-heather + target: cli + test: check_fails_with_mismatch_diff_block + - package: cargo-heather + target: cli + test: config_workspace_package_license_inferred_at_root + - package: cargo-heather + target: cli + test: scanner_includes_legacy_hash_comment_file_types + - package: cargo-heather + target: powershell_ms + test: ps1_missing_with_banner_comment + - package: cargo-heather + target: rust_apache + test: rust_apache_mismatch + - package: cargo-heather + target: script_mit + test: script_mismatch + - package: cargo-heather + target: script_mit + test: script_ok + mutants: + - id: 0515f6aa4637 + killer: 6 + - id: 07fedf0af50f + killer: 16 + - id: 0f2c790ea6dc + killer: 1 + - id: 16de1f4625e7 + killer: 0 + - id: 18236436ab26 + killer: 1 + - id: 1adccb163fcc + killer: 4 + - id: 1d848c49f2be + killer: 1 + - id: 1dbce455f420 + killer: 1 + - id: 1e5e79bb87ea + killer: 11 + - id: 23d23beeade5 + killer: 13 + - id: 2a290aae9a3e + killer: 13 + - id: 2b76cd6fac56 + killer: 1 + - id: 344d721d3a30 + killer: 13 + - id: 391465582bc0 + killer: 0 + - id: 3c4318907329 + killer: 2 + - id: 3e2bf9b54c1c + killer: 3 + - id: 3ea68aa45014 + killer: 12 + - id: 41de40632e5e + killer: 13 + - id: 42248bf09955 + killer: 1 + - id: 430795e98587 + killer: 13 + - id: 432b6522cb2e + killer: 2 + - id: 44c0a519b247 + killer: 3 + - id: 46ce44589e03 + killer: 2 + - id: 4987dd01af7c + killer: 0 + - id: 4a0aa79c2946 + killer: 2 + - id: 4cbd26d74221 + killer: 2 + - id: 4e1dfd0b7cc0 + killer: 16 + - id: 4f433c335edb + killer: 1 + - id: 4f8476740f4d + killer: 1 + - id: 4fbfa3ce0ce2 + killer: 0 + - id: 51c9e3f6dfbd + killer: 16 + - id: 520536ca2250 + killer: 13 + - id: 5af143a7d986 + killer: 1 + - id: 5c448fad333b + killer: 3 + - id: 5f9f728f5c37 + killer: 15 + - id: 6114b34aab3f + killer: 14 + - id: 6421798e3aa0 + killer: 2 + - id: 6730114569b1 + killer: 3 + - id: 679f0b8ab9e2 + killer: 2 + - id: 6956dc9eeea0 + killer: 3 + - id: 72ad48950e63 + killer: 16 + - id: 74b98463c6b9 + killer: 2 + - id: 755e6dae0167 + killer: 16 + - id: 79db58ab6eca + killer: 8 + - id: 81ea6c60b090 + killer: 8 + - id: 846727aca858 + killer: 0 + - id: 852f9cec8abd + killer: 3 + - id: 8bd9645ce787 + killer: 13 + - id: 8cb60a2937de + killer: 16 + - id: 8f0d4723a86e + killer: 2 + - id: 8f7df3c9ca55 + killer: 8 + - id: 97456e17577e + killer: 10 + - id: 9896460001af + killer: 7 + - id: 9c306ba615a0 + killer: 2 + - id: 9cd4caa1c74f + killer: 7 + - id: a31c3d685bbe + killer: 16 + - id: a3f2ac0574df + killer: 3 + - id: a488b3ce546d + killer: 1 + - id: a57c3f03bf42 + killer: 13 + - id: a77afcf0b2e2 + killer: 3 + - id: b39049178648 + killer: 17 + - id: b7751d7fa739 + killer: 16 + - id: bb72926876c3 + killer: 3 + - id: bb764c53af43 + killer: 8 + - id: bf7a889f5b07 + killer: 3 + - id: c1841f696e7e + killer: 12 + - id: c6906954a073 + killer: 1 + - id: c6bec647e265 + killer: 13 + - id: cb203b7efea6 + killer: 5 + - id: d378b342f246 + killer: 6 + - id: da6a93023cef + killer: 1 + - id: daf4fd73bbc2 + killer: 3 + - id: e14dead78bfb + killer: 13 + - id: edb1804e40c1 + killer: 16 + - id: eeeef4ba653d + killer: 9 + - id: f1c8fa7deb81 + killer: 2 + - id: f50f8a6c0538 + killer: 3 + - id: f5cb916c8aee + killer: 2 + - id: f88186442fd1 + killer: 8 + - id: f9f1777aa32b + killer: 5 + - id: faf3ee2fd985 + killer: 2 +- path: crates/cargo-heather/src/error.rs + killers: + - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - package: cargo-heather + target: cargo_heather + test: error::tests::file_read_error_exposes_source + mutants: + - id: 133641a55a1f + killer: 1 + - id: 1c9377edbc31 + killer: 1 + - id: 3d1ae8e96edd + killer: 0 + - id: b4cf6b0c7966 + killer: 1 +- path: crates/cargo-heather/src/license.rs + killers: + - package: cargo-heather + target: cargo-heather + test: config::tests::load_config_falls_back_to_cargo_toml_license + - package: cargo-heather + target: cargo_heather + test: license::tests::supported_licenses_contains_known_ids + - package: cargo-heather + target: cargo_heather + test: license::tests::supported_licenses_is_sorted + - package: cargo-heather + target: cli + test: config_falls_back_to_cargo_toml_license_field + mutants: + - id: 084fac848d05 + killer: 1 + - id: 0e31109f763e + killer: 1 + - id: 149e1f2f25b1 + killer: 2 + - id: 18ad5a3bf081 + killer: 3 + - id: 229f22296419 + killer: 1 + - id: 5506c924712c + killer: 0 +- path: crates/cargo-heather/src/process.rs + killers: + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_adding_missing_header + - package: cargo-heather + target: script_mit + test: script_mismatch + mutants: + - id: 057497eb8d84 + killer: 1 + - id: 05dcb19c02fc + killer: 1 + - id: 598a6d56c3f4 + killer: 0 + - id: 85ced370390b + killer: 0 + - id: 88d99e3492de + killer: 1 + - id: 93a0439de44f + killer: 1 + - id: 9c19601f2783 + killer: 1 + - id: 9de326fc8565 + killer: 0 + - id: e970b4d02b10 + killer: 0 +- path: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + killers: + - package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: missing_manifest_reports_metadata_context + - package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: test_command_without_ + - package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: test_workspace_with_cycle + - package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: test_workspace_with_dev_cycle + - package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: test_workspace_with_self_dev_dependency + mutants: + - id: 0052d6a91a9e + killer: 4 + - id: 04d05dba5ad7 + killer: 0 + - id: 0ceed1b8c419 + killer: 1 + - id: 0e3f4a61b075 + killer: 2 + - id: 1895f9e9cd79 + killer: 4 + - id: 1a982037cd7d + killer: 1 + - id: 2b164a01800c + killer: 2 + - id: 2ddd644e916b + killer: 3 + - id: 407bcd3d31b3 + killer: 2 + - id: 41f480b24054 + killer: 1 + - id: 4f943b6382da + killer: 2 + - id: 5bf79766d6a3 + killer: 1 + - id: 5c9a2a9120c2 + killer: 1 + - id: 5e6f18255ead + killer: 1 + - id: 70b08945a657 + killer: 1 + - id: 7c74bce12a49 + killer: 4 + - id: 93b7c920ed1e + killer: 0 + - id: 9ecc9f503a96 + killer: 0 + - id: a1fe28416341 + killer: 4 + - id: a5591f9fa2c4 + killer: 1 + - id: aaf25dccfe93 + killer: 2 + - id: b0e4f20b58b5 + killer: 2 + - id: b7df65b8aeea + killer: 1 + - id: ba1eb47260b8 + killer: 0 + - id: c3d0f5f7c9f7 + killer: 2 + - id: d75802928c39 + killer: 4 + - id: ee51b8e5c8b1 + killer: 2 + - id: f60c46517838 + killer: 1 +- path: crates/cargo_ensure_no_cyclic_deps/src/main.rs + killers: + - package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: missing_manifest_reports_metadata_context + mutants: + - id: 3101506386a8 + killer: 0 +generalized: + version: 1 + items: + - file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: advisory_comments + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: all + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: custom_pr_stages + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: custom_scheduled_stages + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: impact_step + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: job_wrapper + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 80 + - file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: pr_root_pipeline + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: pr_stages + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: scheduled_root_pipeline + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: scheduled_stages + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: setup_step + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: all + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_base + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_base_image + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_entry + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_setup + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_tools + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: all + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: github_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-anvil + target: schemas + test: emitted_powershell_scripts_disable_profiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: code_review_skill + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: github_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: impact_action + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: github_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: just_problem_matcher + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: github_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: pr_impl_workflow + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: github_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: pr_root_workflow + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: github_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: report_status_action + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: github_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: run_group_action + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: github_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: scheduled_impl_workflow + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: github_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: scheduled_root_workflow + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: github_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: setup_action + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: github_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - file: crates/cargo-anvil/src/anvil/artifacts/instructions.rs + item: adoption_skill + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-anvil/src/anvil/artifacts/instructions.rs + item: cargo_anvil + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-anvil/src/anvil/artifacts/justfile.rs + item: check_files + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-anvil/src/anvil/artifacts/justfile.rs + item: dev_files + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-anvil/src/anvil/artifacts/justfile.rs + item: group_files + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: anvil_artifacts + candidates: + - candidate: + package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - candidate: + package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - candidate: + package: cargo-anvil + target: schemas + test: emitted_powershell_scripts_disable_profiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: composed_hosts + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: impact_mode + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_single_crate_lints_body + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::single_crate_body_prepends_lints_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_workspace_lints_body + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-anvil/src/anvil/mod.rs + item: anvil_cli_meta + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - file: crates/cargo-anvil/src/backend.rs + item: Backend::parse + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_ado + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_github + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - file: crates/cargo-anvil/src/backend.rs + item: extract_host + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_handles_garbage + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_ado + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_github + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_https + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: backend::tests::origin_output_reports_each_failure_boundary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - file: crates/cargo-anvil/src/backend.rs + item: resolve + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_explicit_backends_deduplicate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_explicit_backends_skip_autodetect + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-anvil + target: snapshots + test: local_only_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 125 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - file: crates/cargo-anvil/src/catalog/artifact.rs + item: ::fmt + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::region_id_round_trips + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-anvil/src/catalog/artifact.rs + item: Artifact::backend_file + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-anvil/src/catalog/artifact.rs + item: Artifact::body + candidates: + - candidate: + package: cargo-anvil + target: extensibility + test: multi_level_chain_composes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-anvil/src/catalog/artifact.rs + item: Artifact::with_body + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::with_body_preserves_owned_file_path_and_gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: Catalog::artifacts + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 229 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: Catalog::checksum + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - candidate: + package: cargo-anvil + target: extensibility + test: multi_level_chain_composes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 189 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::about + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::build + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 169 + - candidate: + package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 216 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::position_of + candidates: + - candidate: + package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 207 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::replace_artifact + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_uses_the_matched_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - candidate: + package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 212 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::subcommand + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 162 + - candidate: + package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 205 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::version + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 181 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::with_artifact + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 166 + - candidate: + package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 209 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::without_artifact + candidates: + - candidate: + package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 213 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: canonical_repr + candidates: + - candidate: + package: cargo-anvil + target: extensibility + test: multi_level_chain_composes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 199 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: gate_repr + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::canonical_repr_uses_explicit_stable_tags + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: host_repr + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::canonical_repr_uses_explicit_stable_tags + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 173 + - candidate: + package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 219 + - file: crates/cargo-anvil/src/catalog/builder.rs + item: syntax_repr + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::canonical_repr_uses_explicit_stable_tags + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - file: crates/cargo-anvil/src/catalog/meta.rs + item: CliMeta::new + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::meta::tests::new_derives_only_the_binary_name_and_documented_defaults + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + candidates: + - candidate: + package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 183 + - file: crates/cargo-anvil/src/checksum.rs + item: checksum_str + candidates: + - candidate: + package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 154 + - file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 120 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: checksum::tests::crlf_and_lf_yield_same_checksum + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 121 + - candidate: + package: cargo-anvil + target: cli + test: dry_run_fails_when_only_the_lockfile_is_stale + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 162 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 194 + - file: crates/cargo-anvil/src/cli.rs + item: Cli::parse_from_cargo_args + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_works_without_subcommand_token + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-anvil/src/decision.rs + item: decide + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: decision::tests::disk_matches_last_template_changed_writes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: decision::tests::opt_out_via_empty_with_template_change_proposes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-anvil/src/decision.rs + item: decide_removal + candidates: + - candidate: + package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-anvil/src/emit/managed_region.rs + item: plan_managed_region + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - file: crates/cargo-anvil/src/emit/managed_region.rs + item: splice + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - candidate: + package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - file: crates/cargo-anvil/src/io.rs + item: find_entry_case_insensitive + candidates: + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_a_composed_host_is_refused_and_changes_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-anvil/src/io.rs + item: read_file_if_present + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: io::tests::read_file_if_present_propagates_non_not_found_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - file: crates/cargo-anvil/src/io.rs + item: resolve_existing_case_insensitive + candidates: + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_a_composed_host_is_refused_and_changes_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - candidate: + package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - file: crates/cargo-anvil/src/io.rs + item: select_case_insensitive + candidates: + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_a_composed_host_is_refused_and_changes_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: io::tests::exact_case_wins_over_an_earlier_case_insensitive_candidate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - file: crates/cargo-anvil/src/lib.rs + item: run_app + candidates: + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-anvil/src/lib.rs + item: test_support::rustfmt_region_id + candidates: + - candidate: + package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-anvil/src/main.rs + item: main + candidates: + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-anvil/src/manifest.rs + item: Manifest::file_checksum + candidates: + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_an_owned_file_is_not_deleted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 264 + - file: crates/cargo-anvil/src/manifest.rs + item: Manifest::has_region_host + candidates: + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_composed_host_that_lost_its_regions_is_told_to_restore_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 265 + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_case_variant_repository_dockerfile_is_refused_too + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 266 + - file: crates/cargo-anvil/src/manifest.rs + item: Manifest::load + candidates: + - candidate: + package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 315 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 397 + - file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: manifest::tests::malformed_toml_reports_the_parser_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: manifest::tests::containment_errors_name_the_manifest_entry_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 168 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_newer_schema + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 200 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: manifest::tests::legacy_rendered_by_parses_without_setting_tool + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 201 + - candidate: + package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 242 + - candidate: + package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 269 + - candidate: + package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 277 + - candidate: + package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 320 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 341 + - file: crates/cargo-anvil/src/manifest.rs + item: Manifest::path_for + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 396 + - file: crates/cargo-anvil/src/manifest.rs + item: Manifest::save + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_stops_when_the_temporary_sibling_cannot_be_cleared + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 234 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_clears_a_stale_temporary_sibling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 235 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 395 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 400 + - file: crates/cargo-anvil/src/manifest.rs + item: Manifest::set_file + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 236 + - file: crates/cargo-anvil/src/manifest.rs + item: Manifest::set_region + candidates: + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 257 + - file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + candidates: + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: manifest::tests::empty_manifest_round_trip + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 227 + - candidate: + package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 252 + - candidate: + package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 286 + - candidate: + package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 301 + - candidate: + package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 327 + - candidate: + package: cargo-anvil + target: cli + test: dry_run_fails_when_only_the_lockfile_is_stale + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 379 + - file: crates/cargo-anvil/src/manifest.rs + item: ensure_contained + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: manifest::tests::containment_errors_name_the_manifest_entry_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 153 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 155 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_path_that_names_no_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_file_path_that_escapes_the_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 186 + - file: crates/cargo-anvil/src/manifest.rs + item: file_tables + candidates: + - candidate: + package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: manifest::tests::empty_manifest_round_trip + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 109 + - file: crates/cargo-anvil/src/manifest.rs + item: region_tables + candidates: + - candidate: + package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: manifest::tests::empty_manifest_round_trip + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::apply + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_carries_provenance_forward + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::apply_files + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 272 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::dry_run_exit_code + candidates: + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 229 + - candidate: + package: cargo-anvil + target: cli + test: dry_run_fails_when_only_the_lockfile_is_stale + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 231 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::has_changes + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::empty_plan_is_in_sync + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - candidate: + package: cargo-anvil + target: cli + test: dry_run_fails_when_only_the_lockfile_is_stale + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 226 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 227 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::items + candidates: + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 213 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::items_mut + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::note + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_planning_notes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::notes + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::projected_manifest + candidates: + - candidate: + package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 161 + - candidate: + package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 163 + - candidate: + package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 169 + - candidate: + package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 173 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::push + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 270 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::refusal + candidates: + - candidate: + package: cargo-anvil + target: cli + test: dry_run_refusal_exits_1_without_writing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 208 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::refusals + candidates: + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_a_composed_host_is_refused_and_changes_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 159 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::set_manifest_update_required + candidates: + - candidate: + package: cargo-anvil + target: cli + test: dry_run_fails_when_only_the_lockfile_is_stale + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 217 + - file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::empty_plan_is_in_sync + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_distinguishes_create_from_update + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_propose_and_leave_alone_sections + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_removal_and_orphan_sections + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_categorizes_items + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_planning_notes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 237 + - candidate: + package: cargo-anvil + target: cli + test: dry_run_fails_when_only_the_lockfile_is_stale + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 253 + - candidate: + package: cargo-anvil + target: cli + test: dry_run_refusal_exits_1_without_writing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 257 + - file: crates/cargo-anvil/src/plan.rs + item: PlanItem::insync + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_refreshes_stale_manifest_l + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - file: crates/cargo-anvil/src/plan.rs + item: PlanItem::noop + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_without_checksum_preserves_manifest_entry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - file: crates/cargo-anvil/src/plan.rs + item: PlanItem::orphaned_kept + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 185 + - file: crates/cargo-anvil/src/plan.rs + item: PlanItem::propose_file + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 199 + - file: crates/cargo-anvil/src/plan.rs + item: PlanItem::propose_region + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-anvil/src/plan.rs + item: PlanItem::remove_file + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - file: crates/cargo-anvil/src/plan.rs + item: PlanItem::remove_region + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 164 + - file: crates/cargo-anvil/src/plan.rs + item: PlanItem::write_file + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 203 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 268 + - file: crates/cargo-anvil/src/plan.rs + item: PlanItem::write_region + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 207 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 269 + - file: crates/cargo-anvil/src/plan.rs + item: contained_path + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_path_that_resolves_outside_the_repository_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 116 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_component_that_cannot_be_resolved_is_an_error_not_an_absence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 273 + - file: crates/cargo-anvil/src/plan.rs + item: make_temp_path + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_temporary_sibling_that_cannot_be_cleared_stops_the_write + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 283 + - file: crates/cargo-anvil/src/plan.rs + item: write_file + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_temporary_sibling_that_cannot_be_cleared_stops_the_write + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 131 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 280 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 281 + - file: crates/cargo-anvil/src/plan.rs + item: write_section + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: plan::tests::empty_plan_is_in_sync + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 196 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 263 + - file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + candidates: + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1440 + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1646 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1681 + - file: crates/cargo-anvil/src/region.rs + item: CommentSyntax::prefix + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_comments_are_excluded_when_scanning_slash_syntax + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 383 + - candidate: + package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1653 + - file: crates/cargo-anvil/src/region.rs + item: Region<'a>::body_str + candidates: + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1397 + - candidate: + package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1441 + - file: crates/cargo-anvil/src/region.rs + item: Region<'a>::is_empty + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 388 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 393 + - file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 219 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 228 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 282 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::a_literal_multi_line_string_declines_adoption_entirely + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 682 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 723 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 725 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 844 + - candidate: + package: cargo-anvil + target: fixtures + test: migration_preserves_user_content + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1450 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1452 + - file: crates/cargo-anvil/src/region.rs + item: collect_values + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1091 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1096 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1106 + - candidate: + package: cargo-anvil + target: fixtures + test: migration_preserves_user_content + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1462 + - file: crates/cargo-anvil/src/region.rs + item: contains_multi_line_string + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::a_literal_multi_line_string_declines_adoption_entirely + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 207 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1221 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::a_multi_line_string_declines_adoption_entirely + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1246 + - file: crates/cargo-anvil/src/region.rs + item: find_region + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::unterminated_region_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 407 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 411 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::closer_before_opener_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 414 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_closing_sentinel_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 415 + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_malformed_sentinel_is_named_in_the_refusal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1415 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1657 + - file: crates/cargo-anvil/src/region.rs + item: is_array_of_tables + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1175 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1177 + - file: crates/cargo-anvil/src/region.rs + item: iterate_lines + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1490 + - file: crates/cargo-anvil/src/region.rs + item: parsed_tables + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 996 + - file: crates/cargo-anvil/src/region.rs + item: prepend_region + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 346 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 590 + - file: crates/cargo-anvil/src/region.rs + item: remove_region + candidates: + - candidate: + package: cargo-anvil + target: cli + test: dry_run_refusal_exits_1_without_writing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 371 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 374 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 378 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 631 + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1428 + - candidate: + package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1431 + - file: crates/cargo-anvil/src/region.rs + item: render_region + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::render_region_adds_trailing_newline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 617 + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1618 + - file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::strip_trailing_comment_tracks_quoting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 255 + - candidate: + package: cargo-anvil + target: fixtures + test: migration_preserves_user_content + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1367 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1678 + - file: crates/cargo-anvil/src/region.rs + item: table_path + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 245 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1024 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1032 + - file: crates/cargo-anvil/src/region.rs + item: table_values + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1064 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1072 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1079 + - file: crates/cargo-anvil/src/region.rs + item: toml_table_header + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1128 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1136 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1144 + - file: crates/cargo-anvil/src/region.rs + item: toml_tables + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::managed_markers_exclude_their_complete_body_from_adoption_candidates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 153 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_comments_are_excluded_when_scanning_slash_syntax + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 192 + - candidate: + package: cargo-anvil + target: fixtures + test: migration_preserves_user_content + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1458 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1675 + - file: crates/cargo-anvil/src/region.rs + item: upsert_region + candidates: + - candidate: + package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1443 + - file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 310 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 343 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 416 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 419 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 431 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 440 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_into_empty_text_adds_no_leading_blank + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 461 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 485 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 509 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 537 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 549 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 571 + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_newly_added_region_is_inserted_in_order_not_appended + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1421 + - candidate: + package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1445 + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1524 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1666 + - file: crates/cargo-anvil/src/run.rs + item: HostTextCache::get_or_read + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::host_text_cache_reads_a_host_only_once + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 361 + - candidate: + package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 431 + - file: crates/cargo-anvil/src/run.rs + item: HostTextCache::set + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 365 + - file: crates/cargo-anvil/src/run.rs + item: build_plan + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 359 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 427 + - file: crates/cargo-anvil/src/run.rs + item: composed_host_spec + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 417 + - file: crates/cargo-anvil/src/run.rs + item: composed_host_state + candidates: + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_case_variant_repository_dockerfile_is_refused_too + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 191 + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_malformed_sentinel_is_named_in_the_refusal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 192 + - candidate: + package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 196 + - candidate: + package: cargo-anvil + target: container_upgrade + test: an_edited_superseded_dockerfile_is_never_overwritten + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 197 + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_composed_host_that_lost_its_regions_is_told_to_restore_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 201 + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_reordered_composed_dockerfile_is_refused_with_one_diagnostic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 210 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 341 + - file: crates/cargo-anvil/src/run.rs + item: composed_placement + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_parser_directive_without_a_trailing_newline_uses_its_full_length + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 109 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_newly_added_region_is_inserted_in_order_not_appended + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 184 + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 403 + - file: crates/cargo-anvil/src/run.rs + item: delta_region_body + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 154 + - candidate: + package: cargo-anvil + target: cli + test: dry_run_refusal_exits_1_without_writing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 349 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 350 + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 419 + - file: crates/cargo-anvil/src/run.rs + item: enforce_single_tool_guard + candidates: + - candidate: + package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 262 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 317 + - file: crates/cargo-anvil/src/run.rs + item: plan_removals + candidates: + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 161 + - candidate: + package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 212 + - candidate: + package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_owned_dockerfile_reseeds_the_composed_host + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 213 + - candidate: + package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 219 + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 222 + - candidate: + package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_spares_a_retired_region_entry_too + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 227 + - candidate: + package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 265 + - file: crates/cargo-anvil/src/run.rs + item: push_region + candidates: + - candidate: + package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 273 + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 371 + - candidate: + package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 432 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 433 + - file: crates/cargo-anvil/src/run.rs + item: push_region_at + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 99 + - candidate: + package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_a_composed_host_is_refused_and_changes_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 167 + - candidate: + package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 178 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 339 + - candidate: + package: cargo-anvil + target: cli + test: dry_run_refusal_exits_1_without_writing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 340 + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 383 + - candidate: + package: cargo-anvil + target: schemas + test: just_lists_emitted_recipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 434 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 435 + - file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 323 + - file: crates/cargo-anvil/src/run.rs + item: region_placement + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 155 + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 411 + - file: crates/cargo-anvil/src/run.rs + item: run + candidates: + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 288 + - candidate: + package: cargo-anvil + target: cli + test: dry_run_fails_when_only_the_lockfile_is_stale + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 290 + - file: crates/cargo-anvil/src/run.rs + item: run_update + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 62 + - candidate: + package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 247 + - candidate: + package: cargo-anvil + target: cli + test: dry_run_fails_when_only_the_lockfile_is_stale + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 297 + - candidate: + package: cargo-anvil + target: cli + test: apply_writes_files_then_dry_run_is_clean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 304 + - candidate: + package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 424 + - file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + candidates: + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: workspace::tests::unsupported_glob_pattern_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: workspace::tests::empty_member_pattern_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: workspace::tests::workspace_resolving_to_zero_members_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_explicit_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: workspace::tests::errors_when_explicit_member_missing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 111 + - file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_single_crate_workspace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: workspace::tests::walks_up_to_workspace_root + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - candidate: + package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: workspace::tests::nearest_package_manifest_wins_without_a_workspace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 139 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 146 + - file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: workspace::tests::manifest_without_workspace_or_package_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - candidate: + package: cargo-anvil + target: cargo_anvil + test: workspace::tests::glob_with_existing_parent_but_no_member_dirs_resolves_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - candidate: + package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 152 + - file: crates/cargo-anvil/src/workspace.rs + item: normalize_relpath + candidates: + - candidate: + package: cargo-anvil + target: snapshots + test: ado_backend_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 141 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 174 + - file: crates/cargo-anvil/src/workspace.rs + item: resolve_workspace_members + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-anvil + target: schemas + test: actionlint_validates_emitted_workflows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 160 + - file: crates/cargo-anvil/src/workspace.rs + item: sort_relpaths + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + test: workspace::tests::glob_member_sorting_is_independent_of_directory_iteration_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - file: crates/cargo-aprz-lib/src/commands/cache_dir.rs + item: lookup + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::windows_uses_the_local_application_data_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::an_empty_variable_counts_as_unset + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-aprz-lib/src/commands/cache_dir.rs + item: platform_cache_dir + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::the_process_environment_is_consulted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-aprz-lib/src/commands/cache_dir.rs + item: resolve + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::windows_uses_the_local_application_data_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::init_logging + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::new + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::common_new_reports_metadata_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 303 + - file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::process_crates + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 304 + - file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::report + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::resolve_cache_dir + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::resolve_cache_dir_from + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::cache_directory_failure_has_actionable_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::cache_directory_uses_the_override_or_platform_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 109 + - file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_endpoints_apply_every_override + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_append_non_passing_outcomes_reports_each_disposition + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 214 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_append_non_passing_outcomes_caps_and_omits_details + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 217 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 219 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 241 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 288 + - file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 142 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 144 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 152 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 154 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 156 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 162 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 166 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 188 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 190 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 202 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 271 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 272 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 279 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 301 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 305 + - file: crates/cargo-aprz-lib/src/commands/common.rs + item: logger_builder + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::logger_builder_omits_timestamp_module_and_low_level_target + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::logger_builder_includes_target_for_debug_and_trace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_misspelled_crate_shows_suggestions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 71 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_unanalyzable_crates + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_report_unanalyzable_crates_lists_suggestions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 136 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_misspelled_crate_shows_suggestions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 268 + - file: crates/cargo-aprz-lib/src/commands/common.rs + item: should_include_rejection_details + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_partial_console_modes_include_rejection_details + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 258 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 296 + - file: crates/cargo-aprz-lib/src/commands/config.rs + item: AllowListEntry::matches + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::bug_label_matcher + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_invalid_bug_label_regex_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::is_allowed + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 71 + - file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::load + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_reports_a_non_missing_read_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::save_default + candidates: + - candidate: + package: cargo-aprz-lib + target: init_command_integration + test: init_command_writes_a_default_configuration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_invalid_bug_label_regex_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - file: crates/cargo-aprz-lib/src/commands/config.rs + item: default_bug_labels + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_default_when_absent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-aprz-lib/src/commands/crates.rs + item: process_crates + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_walks_every_edge_case + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 142 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 146 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_respects_the_requested_first_hop_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 148 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 169 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_dev_deps_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 170 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 118 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::compute_dep_features_basic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::compute_dep_features_no_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::compute_dep_features_propagates_from_parent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + item: configure_metadata_features + candidates: + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_no_default_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_feature_flags_are_applied_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_explicit_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + item: execute_metadata + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_failure_has_exact_operation_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + item: expand_features + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::expand_features_skips_dep_syntax + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::expand_features_transitive + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 159 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + item: find_dep_declaration + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_walks_every_edge_case + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::find_dep_declaration_by_name_and_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_walks_every_edge_case + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_implicit_feature + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_dep_colon_syntax + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_slash_syntax + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_bare_dep_name_in_feature + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_ignores_unrelated_bare_feature_activations + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 108 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 161 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_explicit_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 163 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + item: package_name_is_present + candidates: + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_package_flag_on_leaf_member + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_nonexistent_package + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + item: process_dependencies + candidates: + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_no_default_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + item: process_packages + candidates: + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 156 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + item: requested_package_names + candidates: + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_nonexistent_package + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + item: selected_features + candidates: + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_explicit_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_feature_flags_are_applied_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + item: validate_package_name + candidates: + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_nonexistent_package + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_package_flag_on_leaf_member + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-aprz-lib/src/commands/duration.rs + item: >::expecting + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::deserializing_reports_the_reason_a_value_was_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 295 + - file: crates/cargo-aprz-lib/src/commands/duration.rs + item: >::visit_str + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 333 + - file: crates/cargo-aprz-lib/src/commands/duration.rs + item: ::fmt + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::every_parse_error_has_a_message + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_invalid_duration_format + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-aprz-lib/src/commands/duration.rs + item: deserialize + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 332 + - file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::durations_are_written_largest_unit_first + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 208 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 245 + - file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_pins_thresholds_and_cache_ttl + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::malformed_input_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 111 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 305 + - file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_pins_thresholds_and_cache_ttl + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::deserializing_reports_the_reason_a_value_was_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 298 + - file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::durations_are_written_largest_unit_first + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 191 + - file: crates/cargo-aprz-lib/src/commands/init.rs + item: init_config + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::init::tests::test_init_config_default_output_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-aprz-lib + target: init_command_integration + test: init_command_writes_a_default_configuration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::done + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::done_aborts_the_refresh_task + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 193 + - file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::println + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::println_emits_each_line_through_the_configured_sink + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 175 + - file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_becomes_visible_and_tracks_callback + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_with_zero_length_leaves_bar_untouched + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 284 + - file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::indeterminate_progress_prefixes_elapsed_seconds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 171 + - file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_phase + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_becomes_visible_and_tracks_callback + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 127 + - file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::use_colors + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_becomes_visible_and_tracks_callback + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 203 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_with_zero_length_leaves_bar_untouched + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 208 + - file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ProgressReporter::with_draw_target_and_line_sink + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::bar_stays_hidden_until_the_delay_elapses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_becomes_visible_and_tracks_callback + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 211 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::bar_stays_hidden_until_the_delay_elapses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 220 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::indeterminate_progress_prefixes_elapsed_seconds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 257 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_with_zero_length_leaves_bar_untouched + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 269 + - file: crates/cargo-aprz-lib/src/commands/run.rs + item: run + candidates: + - candidate: + package: cargo-aprz-lib + target: validate_command_integration + test: test_validate_without_config_file_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-aprz-lib + target: validate_command_integration + test: test_validate_without_config_file_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config_inner + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_equal_thresholds_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-aprz-lib/src/expr/appraisal.rs + item: Appraisal::required_check_failure + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_returns_zero_points + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/expr/appraisal.rs + item: Appraisal::weighted_evaluation_failure + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_basic_comparison + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 338 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 342 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_now_variable_available + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 356 + - file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 62 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_expressions_keep_default_perfect_score + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 99 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 125 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 160 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 257 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 278 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 301 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 375 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 390 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 391 + - file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate_expression + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 323 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_expression_returns_non_boolean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 329 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 384 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 385 + - file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: metric_key + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 332 + - file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_roundtrip_with_description + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/expr/expression.rs + item: Expression::description + candidates: + - candidate: + package: cargo-aprz-lib + target: config_expressions_test + test: test_load_config_with_expressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-aprz-lib/src/expr/expression.rs + item: Expression::expression + candidates: + - candidate: + package: cargo-aprz-lib + target: config_expressions_test + test: test_load_config_with_expressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - file: crates/cargo-aprz-lib/src/expr/expression.rs + item: Expression::name + candidates: + - candidate: + package: cargo-aprz-lib + target: config_expressions_test + test: test_load_config_with_expressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-aprz-lib/src/expr/risk.rs + item: ::fmt + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + candidates: + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_counts_informational_warnings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_maps_each_severity + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_cache_reuse + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_historical_vs_per_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryData::count_advisory_for_version + candidates: + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryData::count_advisory_historical + candidates: + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: ::fetch + candidates: + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_fetches_when_the_marker_is_missing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: Provider::get_advisory_data + candidates: + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: Provider::with_fetcher + candidates: + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_fetches_when_the_marker_is_missing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_reports_a_missing_database_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 99 + - file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: download_db + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::advisories::provider::tests::a_successful_fetch_marks_the_database_as_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_fetches_when_the_marker_is_missing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: run_blocking_with_progress + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::advisories::provider::tests::a_successful_fetch_marks_the_database_as_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: scan_advisories + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::advisories::provider::tests::scan_summary_log_reports_checked_and_matched_counts + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_ignores_withdrawn_advisories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_historical_vs_per_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::load + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::cache::tests::load_future_timestamp_treated_as_fresh + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::cache::tests::exactly_at_ttl_boundary_is_miss + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_ignore_cached_bypasses_cache + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::save + candidates: + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 80 + - file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::save_no_data + candidates: + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_reports_an_error_when_caching_a_negative_result_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::write_envelope + candidates: + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - file: crates/cargo-aprz-lib/src/facts/cache_lock.rs + item: acquire_cache_lock + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::cache_lock::tests::test_acquire_lock_creates_lock_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-aprz-lib/src/facts/codebase/git.rs + item: check_git_output + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_check_git_output_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_check_git_output_success + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - file: crates/cargo-aprz-lib/src/facts/codebase/git.rs + item: clone_repo + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_repo_clone_from_bare + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_clone_removes_the_directory_left_behind_by_a_failed_clone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_repo_fails_when_fetch_and_reclone_both_fail + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_repository_not_found_is_unavailable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - file: crates/cargo-aprz-lib/src/facts/codebase/git.rs + item: count_contributors + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_count_contributors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_count_contributors_counts_distinct_authors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_count_contributors_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-aprz-lib/src/facts/codebase/git.rs + item: get_commit_stats + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_commit_stats_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_commit_stats_basic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - file: crates/cargo-aprz-lib/src/facts/codebase/git.rs + item: get_repo_core + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_repo_clone_from_bare + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_repo_updates_existing_clone_without_recloning + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_repo_fails_when_fetch_and_reclone_both_fail + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - file: crates/cargo-aprz-lib/src/facts/codebase/git.rs + item: is_repo_not_found + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_is_repo_not_found_case_insensitive + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_repo_fails_when_fetch_and_reclone_both_fail + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-aprz-lib/src/facts/codebase/git.rs + item: path_str + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_count_contributors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/facts/codebase/git.rs + item: run_git_with_timeout + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_clone_removes_the_directory_left_behind_by_a_failed_clone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - file: crates/cargo-aprz-lib/src/facts/codebase/git.rs + item: summarize_commit_timestamps + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_commit_stats_basic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_get_commit_stats_windows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::git::tests::test_summarize_commit_timestamps_skips_unparsable_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - file: crates/cargo-aprz-lib/src/facts/codebase/github_workflow_analyzer.rs + item: contains_ignore_ascii_case + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::matches_needles_regardless_of_case + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - file: crates/cargo-aprz-lib/src/facts/codebase/github_workflow_analyzer.rs + item: sniff_github_workflows + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_case_insensitive_detection + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_no_workflows_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_empty_workflows_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_hundredth_workflow_file_is_still_scanned + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_multiple_workflow_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_non_yaml_files_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_workflow_file_after_limit_is_not_scanned + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_malformed_yaml_is_still_scanned + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::github_workflow_analyzer::tests::test_nested_workflow_directories_are_scanned + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - file: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + item: Provider::analyze_crate + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - file: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + item: Provider::analyze_source_files + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_stops_at_the_file_limit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_includes_file_at_size_limit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_skips_oversized_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_does_not_log_limit_before_limit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_counts_unparsable_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 98 + - file: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + item: Provider::count_transitive_dependencies + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 118 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_count_transitive_dependencies_for_unknown_package + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 120 + - file: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + item: Provider::fetch_and_analyze_repo + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_repository_analysis_failure_is_written_as_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - file: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + item: Provider::fetch_repo_data_core + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_missing_root_manifest_is_unavailable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_repo_data_tolerates_a_non_git_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + item: Provider::get_codebase_data + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_second_call_is_served_from_cache + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_missing_root_manifest_is_unavailable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 136 + - file: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + item: Provider::get_data_filename + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_get_data_filename + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - file: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + item: Provider::get_repo_cache_path + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_get_repo_cache_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 114 + - file: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + item: Provider::safe_repo_components + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_get_data_filename + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - file: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + item: filter_source_entry + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 126 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_skips_oversized_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_includes_file_at_size_limit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 132 + - file: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + item: filter_source_result + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - file: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + item: filter_walk_entry + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 125 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::analyze + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_test_module_context_does_not_leak_to_following_items + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::count_lines + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_attr_test_is_production_code + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 103 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::get_line_text + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::has_test_attribute + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_not_test_is_production_code + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_malformed_test_attribute_with_arguments_is_production_code + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::is_blank_line + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_blank_line_detection_uses_real_line_text + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::is_code_node + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_test_function_attribute + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::is_test_context + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_test_module_context_does_not_leak_to_following_items + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::mark_line + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::new + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_blank_line_detection_uses_real_line_text + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::offset_to_line + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_attr_test_is_production_code + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 131 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_with_comments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::process_node + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_test_function_attribute + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::process_token + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::record_code_lines + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_source_files_counts_only_rust_extension + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_attr_test_is_production_code + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: SourceFileAnalyzer<'a>::record_comment_lines_from_token + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: analyze_source_file + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 181 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_attr_test_is_production_code + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 186 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: attribute_marks_test + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::provider::tests::test_analyze_local_repository_end_to_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 132 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_attribute_marks_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: cfg_predicate_is_test_only + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_attribute_marks_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 166 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_predicate_is_test_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 168 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: split_predicates + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_predicate_is_test_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 143 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + item: strip_call + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::codebase::source_file_analyzer::tests::test_cfg_predicate_is_test_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 165 + - file: crates/cargo-aprz-lib/src/facts/collector.rs + item: Collector::collect + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 270 + - file: crates/cargo-aprz-lib/src/facts/collector.rs + item: Collector::new + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::collector::portable_tests::query_providers_runs_for_found_crates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 265 + - file: crates/cargo-aprz-lib/src/facts/collector.rs + item: Collector::query_providers + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::collector::portable_tests::query_providers_runs_for_found_crates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 242 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 274 + - file: crates/cargo-aprz-lib/src/facts/collector.rs + item: create_cache_dir + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 276 + - file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::get_cache_filename + candidates: + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_reports_an_error_when_caching_a_negative_result_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::get_code_coverage + candidates: + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_skips_unsupported_forge_and_caches_the_answer + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_handles_badge_without_a_percentage + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::get_coverage_data + candidates: + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::try_branch_coverage + candidates: + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_reports_an_error_for_persistent_server_failures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_unknown_coverage + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_handles_badge_without_a_percentage + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - file: crates/cargo-aprz-lib/src/facts/crate_ref.rs + item: ::fmt + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crate_ref::tests::test_display_from_str_roundtrip_with_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-aprz-lib/src/facts/crate_ref.rs + item: ::from_str + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-aprz-lib/src/facts/crate_ref.rs + item: CrateRef::name + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - file: crates/cargo-aprz-lib/src/facts/crate_ref.rs + item: CrateRef::to_spec + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crate_ref::tests::test_to_spec_with_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-aprz-lib/src/facts/crate_ref.rs + item: CrateRef::version + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_missing_crates_and_versions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-aprz-lib/src/facts/crate_ref.rs + item: CrateRef::version_arc + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-aprz-lib/src/facts/crate_spec.rs + item: ::fmt + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-aprz-lib/src/facts/crate_spec.rs + item: ::partial_cmp + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crate_spec::tests::test_partial_cmp + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/facts/crate_spec.rs + item: CrateSpec::name + candidates: + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-aprz-lib/src/facts/crate_spec.rs + item: by_repo + candidates: + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::aggregate_all_monthly_downloads + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::exact_version_lookup_reads_the_matched_table_row + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 459 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 683 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 783 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::assemble_result + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_both_kinds_of_owner + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 717 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: tolerates_dangling_references_in_the_dump + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 724 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 727 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::collect_crate_categories + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::collect_crate_data + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_both_kinds_of_owner + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 511 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 772 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::collect_crate_downloads + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::exact_version_lookup_stops_before_later_duplicate_rows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 412 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::exact_version_lookup_is_not_overwritten_during_a_mixed_latest_query + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 427 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::exact_version_lookup_reads_the_matched_table_row + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 436 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 658 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 782 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::collect_crate_keywords + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::collect_crate_owners + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_both_kinds_of_owner + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::get_crates_data + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: handles_an_empty_request_list + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 484 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 771 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::exact_version_lookup_is_not_overwritten_during_a_mixed_latest_query + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 304 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::suggestions_replace_the_lowest_scoring_full_slot + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 315 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::suggestions_keep_the_first_three_equal_best_matches + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 317 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_only_the_closest_suggestions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 499 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 517 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: normalizes_repository_urls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 524 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 526 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_missing_crates_and_versions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 554 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 773 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::exact_version_lookup_is_not_overwritten_during_a_mixed_latest_query + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 358 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::latest_version_lookup_uses_the_preferred_stable_row + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 359 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::exact_version_lookup_stops_before_later_duplicate_rows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 378 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: resolves_latest_version_skipping_prereleases_and_yanked_versions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 568 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: resolves_the_latest_version_when_versions_ascend + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 572 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: handles_an_empty_request_list + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 585 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: logs_diagnostics_while_downloading_and_reusing_tables + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 590 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_both_kinds_of_owner + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 597 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 600 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase5_load_lookup_tables + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_both_kinds_of_owner + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 634 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase6_populate_join_table_data + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_both_kinds_of_owner + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 639 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase7_collect_downloads + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 661 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: count_dependents + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_both_kinds_of_owner + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 249 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: monthly_btree_to_vec + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 752 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: normalize_name + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_only_the_closest_suggestions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 762 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: normalize_name_into + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::normalize_name_skips_each_separator_independently + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 465 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_only_the_closest_suggestions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 741 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: version_age_buckets + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 132 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::version_age_buckets_include_each_exact_boundary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 189 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/crate_owners_table.rs + item: CrateOwnerRow::owner + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/crates_table.rs + item: CrateRow<'_>::repository + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_iter.rs + item: as Iterator>::next + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_iter.rs + item: as Iterator>::size_hint + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::row_iter::tests::size_hint_reports_the_remaining_rows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_reader.rs + item: RowReader<'a>::read_bool + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_reader.rs + item: RowReader<'a>::read_byte + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_reader.rs + item: RowReader<'a>::read_datetime + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_reader.rs + item: RowReader<'a>::read_optional_u64 + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_reader.rs + item: RowReader<'a>::read_str + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_reader.rs + item: RowReader<'a>::read_u64 + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_reader.rs + item: RowReader<'a>::skip_datetime + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_reader.rs + item: RowReader<'a>::skip_optional_u64 + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_reader.rs + item: RowReader<'a>::skip_str + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_reader.rs + item: RowReader<'a>::skip_u64 + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_reader.rs + item: RowReader<'a>::skip_version + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::new + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 155 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::row_done + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 158 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 234 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::write_bool + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 186 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 238 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::write_byte + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 153 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 235 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::write_optional_str_as_u64 + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_every_edition_and_drops_unparseable_version_urls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 239 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::write_optional_u64 + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::row_writer::tests::writes_optional_and_url_discriminants_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::row_writer::tests::absent_optional_u64_is_a_single_zero_byte + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_every_edition_and_drops_unparseable_version_urls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 189 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::write_str + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 178 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 237 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::write_str_as_bool + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::latest_version_lookup_uses_the_preferred_stable_row + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 139 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 219 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 241 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::write_str_as_date + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 204 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::write_str_as_datetime + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 200 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::write_str_as_u64 + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 196 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::write_str_as_url + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::row_writer::tests::writes_optional_and_url_discriminants_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: normalizes_repository_urls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 207 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::write_str_as_version + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 223 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: RowWriter<'a,W>::write_u64 + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 170 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 236 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: parse_pg_date + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::row_writer::tests::pre_epoch_dates_and_timestamps_clamp_to_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::provider::tests::exact_version_lookup_reads_the_matched_table_row + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 149 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 245 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + item: parse_pg_timestamp + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::row_writer::tests::pre_epoch_dates_and_timestamps_clamp_to_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 243 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table.rs + item: Table::create_table + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table.rs + item: Table::open + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: logs_diagnostics_while_downloading_and_reusing_tables + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table.rs + item: validate_table_header + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table::tests::rejects_bad_magic_and_out_of_range_timestamp + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table::tests::exactly_sized_table_headers_are_valid + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table::tests::table_age_equal_to_ttl_is_still_fresh + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 98 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 121 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_a_cached_table_is_too_short + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 127 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_cached_tables_are_stale + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 129 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 141 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: ::consume + candidates: + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 357 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: ::fill_buf + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::channel_reader_crosses_chunk_boundaries_without_losing_bytes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 348 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: ::read + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::channel_reader_crosses_chunk_boundaries_without_losing_bytes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 141 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 360 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: TableMgr::cleanup_tables + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::cleanup_tables_caps_sleep_at_remaining_wait_time + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 197 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::cleanup_tables_retries_locked_files_with_exponential_backoff + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 220 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: TableMgr::new + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: logs_diagnostics_while_downloading_and_reusing_tables + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 320 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_cache_is_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 324 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: cleanup_delete_all_tables + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::cleanup_tables_caps_sleep_at_remaining_wait_time + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 237 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: cleanup_elapsed_ms + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::cleanup_tables_caps_sleep_at_remaining_wait_time + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 238 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::cleanup_timing_helpers_use_their_real_fallbacks_without_hooks + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 242 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: cleanup_sleep + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::cleanup_tables_caps_sleep_at_remaining_wait_time + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 246 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::download_progress_messages_report_mebibytes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 248 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: renders_the_progress_callbacks + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 328 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::download_progress_messages_report_mebibytes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 297 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: retries_a_response_without_a_content_length_that_dies_mid_body + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 335 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: prep_tables + candidates: + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 341 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: prep_tables_core + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: rejects_a_dump_that_is_not_served + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 338 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: renders_the_progress_callbacks + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 339 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: retries_a_response_without_a_content_length_that_dies_mid_body + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 340 + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 342 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: removal_left_file_locked + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::a_successful_removal_leaves_nothing_locked + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 167 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::a_locked_table_file_is_reported_instead_of_failing_the_delete + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 170 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::table_mgr::tests::any_other_removal_failure_is_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 176 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: stream_download + candidates: + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 345 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/version_downloads_table.rs + item: VersionDownloadRow::date_naive + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::crates::tables::version_downloads_table::tests::download_rows_round_trip_date_as_epoch_days + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/versions_table.rs + item: VersionRow<'_>::documentation + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/versions_table.rs + item: VersionRow<'_>::features + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/versions_table.rs + item: VersionRow<'_>::homepage + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/versions_table.rs + item: VersionsTable::get_query + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/versions_table.rs + item: VersionsTable::iter_lean + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/versions_table.rs + item: read_row_lean + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/versions_table.rs + item: read_row_query + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: resolves_latest_version_skipping_prereleases_and_yanked_versions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: calculate_docs_metrics + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::every_supported_format_version_is_parsed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::broken_links_are_reported_through_metrics + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_ignore_cached_bypasses_cache + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 269 + - file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::backtick_quoted_key_resolves_link + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::broken_links_are_reported_through_metrics + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 138 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::link_analysis_log_reports_each_classification_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 142 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::last_path_component_resolves_through_reference_definition + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 150 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::inline_links_are_skipped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 161 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::inline_reference_target_resolves_link + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 178 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::external_links_are_skipped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 179 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::method_link_resolves_to_backtick_quoted_key_without_trailing_parens + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 214 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::method_link_resolves_without_trailing_parens + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 219 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::directly_resolved_link_is_not_broken + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 221 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::unresolved_qualified_path_counts_as_broken + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 228 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::last_path_component_resolves_link + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 229 + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_ignore_cached_bypasses_cache + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 277 + - file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::coverage_counts_public_items + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::broken_links_are_reported_through_metrics + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::counts_code_examples_in_docs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::crate_level_docs_false_when_root_docs_are_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::item_classification_log_reports_private_and_use_counts + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::crate_level_docs_detected_when_name_has_hyphens + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::coverage_is_full_when_there_is_no_public_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::crate_level_docs_detected_for_simple_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::mixed_item_metrics_are_reported_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 116 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::calc_metrics::tests::full_coverage_when_all_items_documented + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 125 + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_ignore_cached_bypasses_cache + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 270 + - file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: Provider::download_zst_core + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::provider::tests::download_log_reports_exact_byte_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_ignore_cached_bypasses_cache + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_reports_an_error_for_an_unexpected_status + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_not_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: Provider::fetch_docs_for_crate + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::provider::tests::batch_request_accounting_balances_issued_and_completed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: Provider::fetch_docs_for_crate_core + candidates: + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_ignore_cached_bypasses_cache + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 62 + - file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: Provider::get_cache_filename + candidates: + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_ignore_cached_bypasses_cache + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_uses_cache + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: Provider::get_docs_data + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::provider::tests::batch_request_accounting_balances_issued_and_completed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_ignore_cached_bypasses_cache + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: temp_zst_path + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::provider::tests::temp_zst_path_is_unique_per_download + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_ignore_cached_bypasses_cache + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::advisory_url + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_endpoints_apply_every_override + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::coverage_url + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_endpoints_apply_every_override + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::dump_url + candidates: + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::host_url + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::endpoints::tests::unknown_host_has_no_override + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_cache_write_failure_is_reported_as_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: codeberg_reports_watchers_as_subscribers + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_advisory_url + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_endpoints_apply_every_override + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_codeberg_url + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: codeberg_reports_watchers_as_subscribers + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_coverage_url + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_endpoints_apply_every_override + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_docs_url + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_endpoints_apply_every_override + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_dump_url + candidates: + - candidate: + package: cargo-aprz-lib + target: collector_integration + test: collector_debug_lists_every_provider + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_github_url + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_cache_write_failure_is_reported_as_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - file: crates/cargo-aprz-lib/src/facts/hosting/bug_labels.rs + item: BugLabelMatcher::is_match + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: bug_labels_select_which_issues_count_as_bugs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - file: crates/cargo-aprz-lib/src/facts/hosting/bug_labels.rs + item: BugLabelMatcher::new + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_regex_bug_labels_are_compiled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: bug_labels_select_which_issues_count_as_bugs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-aprz-lib/src/facts/hosting/cached_repo.rs + item: >::from + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_reopened_issue_counts_only_towards_the_open_ages + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-aprz-lib/src/facts/hosting/cached_repo.rs + item: CachedIssue::is_bug + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: bug_labels_select_which_issues_count_as_bugs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: Client::base_url + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_cache_write_failure_is_reported_as_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::client::tests::classify_403_no_rate_limit_headers_with_retry_after + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::client::tests::classify_403_no_headers_no_retry_after + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::client::tests::classify_429_remaining_positive_no_retry_after + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_cache_write_failure_is_reported_as_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: missing_repository_is_unavailable_and_cached + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: server_errors_are_reported_as_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::finish + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 267 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::age_buckets_only_fill_the_windows_an_event_falls_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 145 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 248 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Cutoffs::new + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 214 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::a_rate_limit_pauses_the_throttler_and_the_request_is_retried + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::fetch_hosting_data_for_repo + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: codeberg_reports_watchers_as_subscribers + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 161 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 162 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: negative_and_missing_counts_become_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 165 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::fetch_with_retry + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::a_rate_limit_pauses_the_throttler_and_the_request_is_retried + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 159 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_cache_filename + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_get_cache_filename + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_cache_write_failure_is_reported_as_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 169 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_hosting_data + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_cache_write_failure_is_reported_as_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::unsupported_host_miss_is_saved_as_negative_cache_entry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: codeberg_reports_watchers_as_subscribers + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 151 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: unsupported_hosts_are_unavailable_and_cached + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 158 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::issue_pagination_uses_ten_year_lookback_next_page_number_and_request_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::pagination_stops_when_another_task_pauses_the_throttler + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 174 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: consumes_every_page_advertised_by_the_link_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 175 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_cache_write_failure_is_reported_as_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 176 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_reopened_issue_counts_only_towards_the_open_ages + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 177 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: stops_paginating_at_the_page_limit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 191 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_repo_info + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_cache_write_failure_is_reported_as_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 173 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::new + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_cache_write_failure_is_reported_as_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::rate_limited_result + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::a_paused_throttler_skips_the_http_calls_entirely + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 170 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::repo_url + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_cache_write_failure_is_reported_as_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 171 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::report_rate_limit_progress + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::rate_limit_progress_waits_until_the_throttler_resumes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_age_stats + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_compute_age_stats_filters_nan_and_negative + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 103 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_reopened_issue_counts_only_towards_the_open_ages + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 192 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_age_stats_from_vec + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_compute_age_stats_open_issues + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_compute_age_stats_divides_seconds_into_days + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_reopened_issue_counts_only_towards_the_open_ages + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 194 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 197 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_hosting_data + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_reopened_issue_counts_only_towards_the_open_ages + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 299 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 300 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_issue_family_stats + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: bug_labels_select_which_issues_count_as_bugs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 268 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_reopened_issue_counts_only_towards_the_open_ages + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 269 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 270 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_labeled_issue_ratio + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: bug_labels_select_which_issues_count_as_bugs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 287 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: negative_and_missing_counts_become_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 291 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 293 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_pull_request_stats + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 279 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: increment_window + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_increment_window_old + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_increment_window_recent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 139 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_reopened_issue_counts_only_towards_the_open_ages + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 223 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 224 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 228 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: percentile + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_percentile_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_compute_age_stats_divides_seconds_into_days + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_percentile_boundary_values + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 130 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_reopened_issue_counts_only_towards_the_open_ages + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 205 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 213 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: rate_limit_wait_until + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::a_rate_limit_pauses_the_throttler_and_the_request_is_retried + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: should_start_rate_limit_pause + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::a_rate_limit_pauses_the_throttler_and_the_request_is_retried + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::test_rate_limit_wait_helpers_cap_and_use_strict_future + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - file: crates/cargo-aprz-lib/src/facts/path_utils.rs + item: sanitize_path_component + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::path_utils::tests::test_sanitize_combined + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_reports_an_error_when_caching_a_negative_result_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-aprz-lib/src/facts/progress.rs + item: Progress::use_colors + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::advisories::provider::tests::the_recording_progress_reporter_captures_every_callback + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: ::fmt + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::repo_spec::tests::test_display_trait + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::host + candidates: + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::owner + candidates: + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::repo_spec::tests::test_parse_invalid_url_empty_owner + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::repo_spec::tests::test_parse_invalid_url_empty_repo + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::repo_spec::tests::test_git_extension_with_path_stripped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::repo + candidates: + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::add_requests + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::provider::tests::batch_request_accounting_balances_issued_and_completed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 253 + - file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::complete_request + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::docs::provider::tests::batch_request_accounting_balances_issued_and_completed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::completing_the_boundary_request_marks_only_that_topic_done + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::completing_without_issued_requests_does_not_mark_done + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 168 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 254 + - file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::new + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::constructing_tracker_registers_its_progress_callback + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::println + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::test_println_delegates_to_progress + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::completing_the_boundary_request_marks_only_that_topic_done + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 185 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::test_blocked_topic_blinks_yellow + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 198 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::test_add_single_request + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 212 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::test_all_requests_completed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 235 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::completing_without_issued_requests_does_not_mark_done + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 247 + - file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::set_topic_status + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::request_tracker::tests::test_blocked_topic_blinks_yellow + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 178 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::rate_limit_progress_waits_until_the_throttler_resumes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 182 + - file: crates/cargo-aprz-lib/src/facts/resilient_http.rs + item: parse_retry_after + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::forbidden_with_retry_after_is_retried + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - file: crates/cargo-aprz-lib/src/facts/resilient_http.rs + item: parse_retry_after_value + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::client::tests::classify_403_no_rate_limit_headers_with_retry_after + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::parses_http_date + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::past_dates_do_not_underflow + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-aprz-lib/src/facts/resilient_http.rs + item: resilient_get + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::retry_attempt_limit_is_exact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-aprz-lib/src/facts/resilient_http.rs + item: should_retry_response + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::network_errors_are_classified_as_retryable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::server_errors_are_retried + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::rate_limited_responses_are_retried + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::forbidden_with_retry_after_is_retried + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::resilient_http::tests::client_errors_with_retry_after_are_not_retried + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_undecodable_payload_is_unavailable_and_cached + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::acquire + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::throttler::tests::a_permit_acquired_during_a_pause_is_released_again + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::is_paused + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::a_paused_throttler_skips_the_http_calls_entirely + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::new + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::throttler::tests::a_permit_acquired_during_a_pause_is_released_again + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::hosting::provider::tests::a_paused_throttler_skips_the_http_calls_entirely + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::throttler::tests::a_shorter_pause_does_not_override_a_longer_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::throttler::tests::a_similar_extension_within_the_minimum_extension_is_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::try_resume + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::throttler::tests::longer_pause_wins + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: facts::throttler::tests::pause_resume_state_machine_is_bounded + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - file: crates/cargo-aprz-lib/src/lib.rs + item: hash_map_with_capacity + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-aprz-lib/src/metrics/metric.rs + item: default_metrics + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/metrics/metric.rs + item: flatten + candidates: + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-aprz-lib/src/metrics/metric_def.rs + item: calculate_recent_downloads + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric_def::tests::recent_downloads_sum_all_available_months + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: as fmt::Display>::fmt + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_outcome_icon_name_includes_description + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 378 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 396 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: build_metric_lookup_maps + candidates: + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 395 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_explains_total_weighted_evaluation_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 320 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_explains_total_weighted_evaluation_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 328 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_supports_custom_separator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 334 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_ignore_weighted_outcomes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 348 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_weighted_evaluation_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 350 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 392 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_status + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_explains_total_weighted_evaluation_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 373 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_keywords_or_categories_with_prefix + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 174 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_keywords_or_categories_with_prefix_empty_input + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 178 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_metric_value + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_metric_value_boolean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_all_metrics_by_category + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 377 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 379 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_metrics_by_category + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_multiple_categories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 375 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 376 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_categories_metric + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_is_categories_metric + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 168 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_crate_name_metric + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_keywords_metric + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_is_keywords_metric + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 150 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_url + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_is_url + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 388 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: join_with + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 206 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 210 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_supports_custom_separator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 233 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_distinguish_failures_and_inconclusive_outcomes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 237 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_ignore_weighted_outcomes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 242 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 390 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_summary + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_supports_custom_separator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 283 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_describes_a_countless_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 290 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_counts_are_pluralized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 295 + - file: crates/cargo-aprz-lib/src/reports/common.rs + item: write_metric_value + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_metric_value_boolean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 114 + - file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::reasons_only_output_still_separates_multiple_crates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 154 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 158 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 166 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 174 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 396 + - file: crates/cargo-aprz-lib/src/reports/console.rs + item: get_terminal_width + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 281 + - file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_when_indent_exceeds_width + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 294 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 296 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_exact_fit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 312 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::wrap_text_wraps_at_width_boundary_and_keeps_continuation_words_together + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 314 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_long + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 364 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_short + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 383 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + test: cli_uses_the_platform_cache_directory_and_installs_a_logger + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 398 + - file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_with_quotes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_no_special_chars + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_quotes_neutralized_formula + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 125 + - file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv_untrusted + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_formula_prefixes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_preserves_non_formula_whitespace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_whitespace_prefixed_formulas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate + candidates: + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate_with_context + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_empty_crates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - file: crates/cargo-aprz-lib/src/reports/csv.rs + item: is_textual_metric_value + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_list_metric_is_textual_when_any_value_is_textual + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - file: crates/cargo-aprz-lib/src/reports/excel.rs + item: appraisal_cell_values + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 402 + - file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate + candidates: + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 417 + - file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 151 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 185 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 416 + - file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_eval_row + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 408 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 424 + - file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 355 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 366 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 421 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_simple + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 615 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 620 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_special_chars_in_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 640 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_special_chars_in_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 681 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 766 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: format_keywords_or_categories + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_categories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 744 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_or_categories_multiple + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 750 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 751 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 146 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 155 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 203 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 756 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 693 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_with_special_chars + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 696 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 723 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_all_special_chars + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 730 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 523 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 527 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 546 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 478 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 481 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 497 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 501 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 764 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_header + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 234 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 236 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 555 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 572 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 589 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 356 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_pie_chart_half_circle_uses_small_arc_flag + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 360 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 368 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_pie_chart_is_omitted_when_there_are_no_crates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 371 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_pie_chart_is_a_full_circle_for_a_single_category + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 381 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 763 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 442 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_write_risk_crate_list_renders_entries + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 445 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_write_risk_crate_list_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 446 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 454 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_list_scripts + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 686 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_scripts + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 682 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_styles + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 232 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 237 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 241 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_summary_omits_zero_count_not_evaluated_card + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 243 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 261 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 266 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 760 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_tab_scripts + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 690 + - file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_theme_scripts + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 687 + - file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_denied_status + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_single_crate_with_evaluation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - file: crates/cargo-aprz-lib/src/reports/json.rs + item: metric_value_to_json + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_metric_value_to_json_boolean + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_metric_value_to_json_datetime + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cli + test: gated_crate_with_no_data_exits_2 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-coverage-gate + target: cli + test: lcov_with_test_name_records_is_parsed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: aggregate::tests::percent_computes_correctly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - file: crates/cargo-coverage-gate/src/aggregate.rs + item: aggregate + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::assigns_files_to_matching_crates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::unmatched_files_are_reported_separately + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::longest_prefix_wins_for_nested_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - file: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/main.rs + item: main + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cli + test: conflicting_coverage_metadata_exits_2 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/run.rs + item: run + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-coverage-gate + target: cli + test: defaults_to_target_coverage_lcov_when_flag_omitted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/run.rs + item: summary_target + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: github_step_summary_env_is_auto_detected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - file: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/run.rs + item: summary_target_with_env + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo-coverage-gate + test: run::tests::explicit_summary_file_skips_environment_lookup + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-coverage-gate + target: cargo-coverage-gate + test: run::tests::summary_environment_falls_back_in_priority_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/run.rs + item: write_summary_file + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: github_step_summary_env_is_auto_detected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/run.rs + item: write_text_output + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-coverage-gate + target: cli + test: quiet_suppresses_stdout_but_still_writes_summary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: lcov_with_test_name_records_is_parsed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::from_strs_merges_line_counts_and_unions_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_strs + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - file: crates/cargo-coverage-gate/src/lib.rs + item: EvaluatedReport::render_markdown + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: github_step_summary_env_is_auto_detected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-coverage-gate/src/lib.rs + item: EvaluatedReport::render_text + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - file: crates/cargo-coverage-gate/src/lib.rs + item: EvaluatedReport::unattributed_count + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: tests::evaluated_report_unattributed_count_round_trips + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - file: crates/cargo-coverage-gate/src/lib.rs + item: Verdict::as_exit_code + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-coverage-gate + target: cli + test: gated_crate_with_no_data_exits_2 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - file: crates/cargo-coverage-gate/src/lib.rs + item: implicit_target + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: tests::evaluate_many_uses_the_implicit_host_target + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: diagnostic_line_count + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: failure_detail + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::diagnostics::tests::passing_statuses_have_no_failure_detail + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::diagnostics::tests::line_ranges_compress_only_adjacent_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: push_line_range + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::diagnostics::tests::line_ranges_compress_only_adjacent_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - file: crates/cargo-coverage-gate/src/render/markdown.rs + item: render + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: github_step_summary_env_is_auto_detected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_failures + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - candidate: + package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_no_data + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - candidate: + package: cargo-coverage-gate + target: cli + test: gated_crate_with_no_data_exits_2 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 112 + - file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_unexpected_coverable_lines + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 120 + - candidate: + package: cargo-coverage-gate + target: cli + test: expect_no_coverable_lines_fails_when_lines_present_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - file: crates/cargo-coverage-gate/src/render/mod.rs + item: files + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 198 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::plural_helpers_pick_singular_only_for_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 204 + - file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_collapses_sub_precision_noise_to_unsigned_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_threshold_and_delta_for_assertion_statuses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_returns_dash_for_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_negative_with_sign + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_positive_with_sign + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: target_zero_threshold_opts_package_out_of_gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_lines_for_assertion_statuses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_source + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_markdown + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: summary_file_flag_writes_markdown + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_text + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: expect_no_coverable_lines_fails_when_lines_present_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - candidate: + package: cargo-coverage-gate + target: cli + test: multiple_lcov_files_merge_at_line_level + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-coverage-gate + target: cli + test: gated_crate_with_no_data_exits_2 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - candidate: + package: cargo-coverage-gate + target: cli + test: expect_no_coverable_lines_passes_with_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_threshold + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_threshold_and_delta_for_assertion_statuses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-coverage-gate/src/render/mod.rs + item: packages + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 190 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::plural_helpers_pick_singular_only_for_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 196 + - file: crates/cargo-coverage-gate/src/render/mod.rs + item: plural + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 182 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::plural_helpers_pick_singular_only_for_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 185 + - file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 130 + - candidate: + package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - candidate: + package: cargo-coverage-gate + target: cli + test: expect_no_coverable_lines_fails_when_lines_present_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - candidate: + package: cargo-coverage-gate + target: cli + test: gated_crate_with_no_data_exits_2 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 160 + - file: crates/cargo-coverage-gate/src/render/text.rs + item: render + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - file: crates/cargo-coverage-gate/src/render/text.rs + item: write_row + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-coverage-gate/src/render/text.rs + item: write_separator + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::matches + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-coverage-gate + target: cli + test: target_zero_threshold_package_remains_gated_when_override_does_not_match + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve_with_runner + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_a_failed_host_query + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_a_cfg_query_that_cannot_be_launched + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_version_output_without_a_host_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_a_failed_cfg_query + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-coverage-gate + target: cli + test: target_zero_threshold_package_remains_gated_when_override_does_not_match + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-coverage-gate/src/threshold.rs + item: ThresholdSource::as_str + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-coverage-gate/src/verdict.rs + item: PackageOutcome::percent + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_collapses_sub_precision_noise_to_unsigned_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-coverage-gate/src/verdict.rs + item: Report::verdict + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-coverage-gate/src/verdict.rs + item: classify + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 103 + - candidate: + package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - candidate: + package: cargo-coverage-gate + target: cli + test: lcov_with_test_name_records_is_parsed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - file: crates/cargo-coverage-gate/src/verdict.rs + item: classify_no_coverable_lines + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 136 + - candidate: + package: cargo-coverage-gate + target: cli + test: expect_no_coverable_lines_fails_when_lines_present_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - file: crates/cargo-coverage-gate/src/verdict.rs + item: diagnostics + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: one_crate_below_threshold_exits_1 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::diagnostics_omit_files_without_relevant_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::diagnostics_are_sorted_by_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 142 + - file: crates/cargo-coverage-gate/src/verdict.rs + item: evaluate + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 144 + - file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: package_flag_accepts_glob_pattern + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-coverage-gate + target: cli + test: package_flag_accepts_repeated_short_form + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_matcher_handles_wildcards + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_matches + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: package_flag_accepts_glob_pattern + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - file: crates/cargo-coverage-gate/src/verdict.rs + item: resolve_gated + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-coverage-gate + target: cli + test: package_flag_accepts_glob_pattern + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-coverage-gate + target: cli + test: package_flag_with_unknown_name_exits_2 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - file: crates/cargo-coverage-gate/src/verdict.rs + item: round_to_displayed_precision + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: default_threshold_is_100_when_nothing_configured + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::round_to_displayed_precision_keeps_one_decimal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 129 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::measured_rounds_down_below_threshold_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - file: crates/cargo-coverage-gate/src/workspace.rs + item: Member::apply_policy_override + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 151 + - file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_negative_workspace_threshold + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::does_not_resolve_target_without_target_policies + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-coverage-gate + target: cli + test: target_zero_threshold_package_remains_gated_when_override_does_not_match + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_coverage_gate + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-coverage-gate + target: cli + test: conflicting_coverage_metadata_exits_2 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_expect_no_coverable_lines + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 127 + - candidate: + package: cargo-coverage-gate + target: cli + test: conflicting_coverage_metadata_exits_2 + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 129 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_workspace_scoped_expect_no_coverable_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_min_lines_percent + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: all_pass_mixed_sources + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 103 + - candidate: + package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_negative_workspace_threshold + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 116 + - file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_target_policy_at_workspace_scope + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_build_context_target_selectors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 71 + - candidate: + package: cargo-coverage-gate + target: cli + test: target_zero_threshold_opts_package_out_of_gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unsupported_build_context_options_are_sorted_and_deduplicated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 156 + - file: crates/cargo-coverage-gate/src/workspace.rs + item: metadata_command + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::does_not_resolve_target_without_target_policies + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::metadata_command_excludes_dependencies + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + test: target_zero_threshold_package_remains_gated_when_override_does_not_match + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_selection_skips_non_matching_candidates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 153 + - file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_build_context_target_selectors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - candidate: + package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unsupported_build_context_options_are_sorted_and_deduplicated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options::visit + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_build_context_target_selectors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-coverage-gate + target: cli + test: empty_lcov_passes_when_all_effective_policies_allow_no_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 80 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::accepts_target_derived_cfg_selectors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - file: crates/cargo-each/src/filter.rs + item: Predicate::matches + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::dep_predicate_matches + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-each/src/filter.rs + item: Predicate::parse + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::rejects_unknown_and_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::parses_kind_predicates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::metadata_bool_equals + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::parses_dep_predicate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-each/src/filter.rs + item: lookup + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::metadata_bool_equals + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - file: crates/cargo-each/src/filter.rs + item: validate_key + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::rejects_unknown_and_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::rejects_metadata_keys_with_empty_segments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::rejects_empty_metadata_key_before_equals + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::metadata_bool_equals + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - file: crates/cargo-each/src/filter.rs + item: value_equals + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::metadata_bool_equals + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::metadata_nan_uses_string_equality + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::metadata_present_and_equals + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-each + target: cargo-each + test: filter::tests::metadata_non_scalar_never_equals + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - file: crates/cargo-each/src/main.rs + item: main + candidates: + - candidate: + package: cargo-each + target: cli + test: bad_predicate_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-each/src/plan.rs + item: Plan::build + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: plan::tests::chdir_with_once_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-each + target: cargo-each + test: plan::tests::chdir_sets_work_dir_to_crate_root + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-each + target: cargo-each + test: plan::tests::empty_set_still_validates_placeholders + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-each + target: cargo-each + test: plan::tests::per_package_builds_one_invocation_each + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-each/src/plan.rs + item: packages_flags + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-each + target: cargo-each + test: plan::tests::once_whole_workspace_uses_workspace_flag + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-each/src/run.rs + item: apply_filters + candidates: + - candidate: + package: cargo-each + target: cli + test: bad_predicate_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-each + target: cli + test: dep_filter_selects_member_with_declared_dependency + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-each + target: cli + test: bare_invocation_runs_only_default_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - file: crates/cargo-each/src/run.rs + item: build_selection + candidates: + - candidate: + package: cargo-each + target: cli + test: exclude_with_workspace_removes_member + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-each/src/run.rs + item: execute + candidates: + - candidate: + package: cargo-each + target: cli + test: chdir_executes_from_crate_root + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - candidate: + package: cargo-each + target: cli + test: keep_going_treats_spawn_failure_as_invocation_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - candidate: + package: cargo-each + target: cli + test: keep_going_runs_all_members_then_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-each + target: cli + test: executes_command_and_propagates_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - candidate: + package: cargo-each + target: cli + test: fail_fast_stops_before_running_later_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - file: crates/cargo-each/src/run.rs + item: exit_byte + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: run::tests::in_range_codes_pass_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 103 + - candidate: + package: cargo-each + target: cargo-each + test: run::tests::signal_terminated_child_maps_to_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - candidate: + package: cargo-each + target: cargo-each + test: run::tests::nonzero_code_with_zero_low_byte_maps_to_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - file: crates/cargo-each/src/run.rs + item: parse_predicates + candidates: + - candidate: + package: cargo-each + target: cli + test: bad_predicate_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - file: crates/cargo-each/src/run.rs + item: run + candidates: + - candidate: + package: cargo-each + target: cli + test: bad_predicate_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-each + target: cli + test: missing_manifest_reports_workspace_load_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-each + target: cli + test: unknown_selector_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-each + target: cli + test: once_whole_workspace_expands_to_workspace_flag + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-each + target: cli + test: once_with_exclude_filter_uses_explicit_packages_not_workspace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-each + target: cli + test: once_with_filter_uses_explicit_packages_not_workspace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-each + target: cli + test: chdir_with_once_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-each + target: cli + test: bare_invocation_runs_only_default_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-each + target: cli + test: none_is_a_successful_noop + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-each + target: cli + test: chdir_executes_from_crate_root + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - file: crates/cargo-each/src/run.rs + item: shell_join + candidates: + - candidate: + package: cargo-each + target: cli + test: bare_invocation_runs_only_default_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - candidate: + package: cargo-each + target: cli + test: dry_run_quotes_arguments_with_whitespace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - file: crates/cargo-each/src/select.rs + item: Selection::is_whole_workspace + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::is_whole_workspace_detects_pass_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - file: crates/cargo-each/src/select.rs + item: Selection::resolve + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::all_selects_every_member + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::none_resolves_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::empty_selection_uses_default_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::exclude_removes_from_workspace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-each/src/select.rs + item: glob_matches + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::exclude_removes_from_workspace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::glob_matcher_advances_each_backtrack_coordinate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::glob_matcher_handles_wildcards + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 116 + - file: crates/cargo-each/src/select.rs + item: resolve_selectors + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::exclude_removes_from_workspace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::unknown_selector_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - file: crates/cargo-each/src/select.rs + item: version_matches + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - candidate: + package: cargo-each + target: cargo-each + test: select::tests::version_matches_follows_cargo_partial_version_rule + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - file: crates/cargo-each/src/substitute.rs + item: substitute + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: substitute::tests::per_package_tokens_expand + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-each + target: cargo-each + test: plan::tests::per_package_builds_one_invocation_each + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: substitute::tests::once_rejects_per_package_token + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-each + target: cargo-each + test: substitute::tests::packages_token_rejected_in_per_package_mode + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-each + target: cargo-each + test: plan::tests::empty_set_still_validates_placeholders + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-each + target: cargo-each + test: plan::tests::per_package_builds_one_invocation_each + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-each + target: cargo-each + test: substitute::tests::once_rejects_embedded_packages_token + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-each + target: cargo-each + test: plan::tests::chdir_sets_work_dir_to_crate_root + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - file: crates/cargo-each/src/workspace.rs + item: Member::spec + candidates: + - candidate: + package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-each/src/workspace.rs + item: Workspace::load + candidates: + - candidate: + package: cargo-each + target: cli + test: bare_invocation_runs_only_default_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-each + target: cli + test: multiple_filters_intersect + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-each + target: cli + test: multiple_exclude_filters_union + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-each/src/workspace.rs + item: is_bin_target + candidates: + - candidate: + package: cargo-each + target: cli + test: multiple_exclude_filters_union + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-each/src/workspace.rs + item: is_lib_target + candidates: + - candidate: + package: cargo-each + target: cli + test: filter_lib_drops_bin_only_member + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-ensure-no-default-features/src/lib.rs + item: run + candidates: + - candidate: + package: cargo-ensure-no-default-features + target: integration_tests + test: test_default_manifest_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-ensure-no-default-features + target: integration_tests + test: test_invalid_default_features_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-ensure-no-default-features + target: integration_tests + test: test_exception_not_found_warning + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-ensure-no-default-features + target: integration_tests + test: test_exception_found_no_warning + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-ensure-no-default-features/src/lib.rs + item: sections_label + candidates: + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: tests::section_labels_name_both_supported_dependency_tables + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-ensure-no-default-features/src/main.rs + item: main + candidates: + - candidate: + package: cargo-ensure-no-default-features + target: integration_tests + test: test_default_manifest_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + candidates: + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::package_dependencies_must_be_a_table + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::workspace_dependencies_must_be_a_table + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-ensure-no-default-features + target: integration_tests + test: test_invalid_toml_syntax + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_no_workspace_no_package + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependency + candidates: + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_simple_version_string + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_not_a_table + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_default_features_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_default_features_string + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + candidates: + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_exceptions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_skip_workspace_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - file: crates/cargo-gamma/src/real_host.rs + item: ::may_replace_process + candidates: + - candidate: + package: cargo-gamma + target: cargo-gamma + test: real_host::tests::the_real_host_answers_the_same_contract_the_fakes_stand_in_for + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: Frame::exceeds_chain_limit + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_binary_chain_is_rejected_by_the_guard + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-attrs-impl + target: agreement + test: agreement_support_exposes_the_parser_contract + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::each_chain_counter_accepts_the_exact_limit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 284 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: ParsedFunction::has_a_body + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: body_of + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: error + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_unary_chain_expands_to_a_guard_diagnostic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 280 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_else_if_ladder_is_rejected_by_the_guard + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-attrs-impl + target: agreement + test: agreement_support_exposes_the_parser_contract + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_postfix_expressions_are_rejected_safely + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_binary_chain_is_rejected_by_the_guard + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::separators_restart_the_expression_chain_budget + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 282 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::only_expression_ending_punctuation_makes_a_following_group_postfix + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 290 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: inert + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_attribute_keeps_the_item_and_adds_one_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: inert_timeout + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_timeout_multiplier_keeps_the_item_and_names_the_macro + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_bounded_multiplier + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 127 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_positional_multiplier + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 136 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 142 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_string_literal + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_byte_string_value_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 125 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::malformed_value_attribute_paths_are_not_recognized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: parse_function + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_a_method_and_a_trait_method_are_all_functions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: states_a_value + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::malformed_value_attribute_paths_are_not_recognized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 103 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bare_word_value_is_rejected_as_not_a_string + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 180 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bare_word_value_is_rejected_as_not_a_string + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 182 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::selector_validation_does_not_apply_timeout_only_literal_rules + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 302 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 184 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_followed_by_the_wrong_punctuation_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 189 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_byte_string_value_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 202 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bare_word_value_is_rejected_as_not_a_string + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 204 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 205 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 211 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 220 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 223 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 247 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::selector_validation_does_not_apply_timeout_only_literal_rules + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 263 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_argument_inside_a_nested_group_is_still_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 274 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 159 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 162 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 173 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 143 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 145 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 150 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_binary_chain_is_rejected_by_the_guard + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_nothing_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_value_keeps_the_item_and_names_the_macro + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_unary_chain_expands_to_a_guard_diagnostic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_else_if_ladder_is_rejected_by_the_guard + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_more_than_one_expression_is_rejected_by_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::one_expression_with_a_trailing_comma_is_not_reported_as_multiple_values + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_statement_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_function_reports_the_inheritance_problem + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 301 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: value + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_unary_chain_expands_to_a_guard_diagnostic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_value_keeps_the_item_and_names_the_macro + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-gamma-attrs-impl/src/lib.rs + item: test_support::exceeds_nesting_limit + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: agreement + test: agreement_support_exposes_the_parser_contract + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: >::from + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 151 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 98 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_list + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 108 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 109 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 112 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_malformed_not_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_str + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::effective + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds_effective + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds_for + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds_str + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::is_test_build + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::skip_gate + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::test_gated + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::test_gated_effective + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::verdict + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::with_features + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::with_test + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::with_undecided + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_attr + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 125 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_predicate + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 118 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: combine + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 154 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 156 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 159 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_attribute + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 132 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::tokio_test_functions_are_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_only + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 141 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 142 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - file: crates/cargo-gamma-engine/src/cfg.rs + item: test_gated_for + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::any_test_gate_marks_an_item_among_other_attributes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 138 + - file: crates/cargo-gamma-engine/src/error.rs + item: ::fmt + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: error::tests::a_cause_is_displayed_and_surfaced_as_the_source + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-gamma-engine/src/error.rs + item: >::from + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: error::tests::an_io_error_converts_with_its_detail_preserved_as_the_cause + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-engine/src/error.rs + item: ::source + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: error::tests::a_cause_is_displayed_and_surfaced_as_the_source + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-gamma-engine/src/error.rs + item: Error::caused_by + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: error::tests::a_cause_is_displayed_and_surfaced_as_the_source + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-engine/src/error.rs + item: Error::new + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: error::tests::a_new_error_starts_plain + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: <&str as PartialEq>::eq + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::from + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::as_ref + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::borrow + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: ::fmt + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::from + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::from + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::from + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: MutantId::as_str + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: MutantId::is_heap_allocated + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: MutantId::new + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::mutant_id_delegates_to_the_discriminated_form_with_no_discriminator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::each_field_and_the_discriminator_affect_the_identity + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::mutant_id_delegates_to_the_discriminated_form_with_no_discriminator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::line_comments_are_dropped_and_replaced_by_a_single_space + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - file: crates/cargo-gamma-engine/src/model/identity.rs + item: site_key + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::a_site_key_keeps_the_first_digest_bytes_in_little_endian_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - file: crates/cargo-gamma-engine/src/model/interner.rs + item: Interner::share + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::interner::tests::sharing_a_decoded_population_leaves_its_values_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::column + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::mutant_definition::tests::accessors_read_through_to_the_shared_site + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::end_line + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::mutant_definition::tests::accessors_read_through_to_the_shared_site + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::line + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::mutant_definition::tests::accessors_read_through_to_the_shared_site + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::original + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::mutant_definition::tests::accessors_read_through_to_the_shared_site + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::span + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::mutant_definition::tests::accessors_read_through_to_the_shared_site + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 132 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_for_loop + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 154 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_index + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 141 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 142 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_method_call + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 148 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_impl_item + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_impl_item_const + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 118 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_const + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 112 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_static + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_struct + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_use + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 109 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_stmt + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_trait_item + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_trait_item_const + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 121 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::declared + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::declared_ignores_constants_when_numeric_index_is_disabled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::descend + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::descend_handles_groups_renames_and_globs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::imported + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::descend_handles_groups_renames_and_globs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::note + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::note_tracks_named_fields_behind_references + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_index + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_method_call + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_struct + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_use + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'cfg>::new + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 164 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 169 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: indexes_in + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 158 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 162 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_default_call + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 217 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::default_call_checks_reject_invalid_shapes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 218 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_noop + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_same_leak + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leak_comparison_rejects_text_that_only_mentions_leak + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: lexemes + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::layout_and_comments_do_not_change_token_equality + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 261 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::default_call_checks_reject_invalid_shapes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 263 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 264 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::invalid_tokens_are_rejected_while_literals_remain_valid + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 267 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_ends_with + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 120 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::default_call_checks_reject_invalid_shapes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 132 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::layout_and_comments_do_not_change_token_equality + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 229 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::invalid_tokens_are_rejected_while_literals_remain_valid + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 230 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 232 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 238 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::punctuation_jointness_remains_semantic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 243 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 253 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 169 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_field + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item_const + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_const + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 62 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_fn + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_static + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_struct + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_use + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item_const + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 71 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: run + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: >::visit_expr_break + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 216 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::nested_loop_forms_are_visited_when_deciding_whether_a_loop_yields_a_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_for_loop + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::nested_loop_forms_are_visited_when_deciding_whether_a_loop_yields_a_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::nested_loop_forms_are_visited_when_deciding_whether_a_loop_yields_a_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: binds_a_pattern + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: block_diverges + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::macro_statement_tails_diverge_but_non_expression_tails_do_not + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 203 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 206 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: boolean_literal + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: callee_name + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::capacity_and_callee_helpers_fall_back_for_non_call_expressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 240 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_path_still_names_the_variant_it_constructs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 243 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: callee_path + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 142 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: callee_type + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::capacity_and_callee_helpers_fall_back_for_non_call_expressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 236 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 238 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: declared_name + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 226 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_number_in_tail_position_perturbs_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 187 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 188 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 191 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 193 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: expr_attrs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 247 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: has_break + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 212 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 213 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_binding_case + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 130 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 131 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_capacity_call + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::capacity_and_callee_helpers_fall_back_for_non_call_expressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 114 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_capacity_result + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::capacity_and_callee_helpers_fall_back_for_non_call_expressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 178 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 179 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_capacity_call_is_still_a_capacity_call + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 182 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_catch_all + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 127 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_binding_pattern_still_catches_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_constant_case + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_default_call + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 136 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 140 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_diagnostic_message + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 116 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_diverging_macro + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::macro_statement_tails_diverge_but_non_expression_tails_do_not + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 209 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_int_literal + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 98 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_integer_zero_literal + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_zero_is_still_zero_when_negated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_numeric_binding + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 233 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 234 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 235 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_numeric_receiver + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_numeric_return + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 184 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 185 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_numeric_type + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_is_still_recognised_by_its_type + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 111 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 146 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::literal_macro_method_and_reference_forms_can_all_be_textual + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 80 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: loop_produces_value + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::nested_loop_forms_are_visited_when_deciding_whether_a_loop_yields_a_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: payload + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 220 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: returns_numeric + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 112 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: returns_result + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 245 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_values_only_reach_functions_returning_result + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 246 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: returns_text + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::literal_macro_method_and_reference_forms_can_all_be_textual + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::only_whitelisted_method_names_are_treated_as_returning_text + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: stmt_attrs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 248 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: in_place_reorder + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tables::tests::in_place_reorder_distinguishes_sort_dedup_and_other_calls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tables::tests::method_renames_depend_on_both_name_and_arity + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::concrete_self_associated_type + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::concrete_self_type + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_fmt_result + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::lacks_default + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_abstract_type + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 99 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::abstract_type_detection_handles_empty_paths_and_boxed_trait_objects + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 103 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::foreign_error_detection_rejects_empty_paths_and_empty_import_prefixes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: returns_undefaultable_error + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: undefaulted_parameters + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 120 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: cap + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 177 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: collection_ctor + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 214 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::reference_and_type_argument_helpers_reject_non_matching_syntax + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 216 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 218 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: inner_values + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 182 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 183 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 184 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 186 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 189 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: iterator_item + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 190 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::iterator_item_requires_an_impl_trait_with_item_binding + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 193 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 132 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_return_type_still_resolves_to_the_type_inside + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_iterator_trait_that_either_satisfies_is_served_iterator_values + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 143 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_elem + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 173 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 176 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_values + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 161 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 163 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 167 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 223 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 224 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 226 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 235 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 239 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 241 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 242 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 259 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 264 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: return_values + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: some_value + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: strip + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 222 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 120 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_argument + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 196 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 197 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 200 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_arguments + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 209 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 210 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_text + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 202 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::reference_and_type_argument_helpers_reject_non_matching_syntax + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 207 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: wrapper_ctor + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 220 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_arm + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 651 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 653 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_block + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 587 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 589 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 590 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 595 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 602 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 603 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_assign + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 744 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 745 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 746 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 539 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 540 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 541 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 542 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 544 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 552 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 560 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_break + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 675 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 676 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_carrying_a_value_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 677 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 702 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 704 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_path_still_names_the_variant_it_constructs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 710 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 717 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 724 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 730 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 687 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 689 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 691 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_for_loop + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 644 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 646 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_if + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 620 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 622 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 624 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 628 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_index + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 767 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 768 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 774 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_collision_keeps_the_perturbation_rather_than_the_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 775 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 781 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_unsuffixed_zero_keeps_its_decrement_candidate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 785 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_explicitly_unsigned_zero_is_not_decremented_below_its_range + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 786 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 799 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_collision_still_yields_a_mutant_when_only_the_value_mutator_is_selected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 811 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::booleans_flip_to_the_other_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 824 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_loop + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 648 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 649 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_match + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 657 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 659 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_method_call + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 756 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 760 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 761 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 765 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_path + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 731 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 733 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_range + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 663 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 664 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 668 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 672 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_reference + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 564 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_repeat + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 561 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_return + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 770 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_number_in_tail_position_perturbs_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 771 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_value_is_perturbed_however_it_is_returned + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 772 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_struct + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 660 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 662 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 607 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_zero_is_still_zero_when_negated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 608 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 609 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 629 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 630 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 631 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_generic_argument + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 572 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_impl_item_fn + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 468 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 469 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 474 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_fn + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 458 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 459 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 464 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 489 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_impl_block_is_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 490 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 493 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 494 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 496 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_mod + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 478 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 479 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_trait + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 483 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 484 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_local + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 448 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 449 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 452 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 454 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 523 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_single_element_vec_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 530 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_trait_item_fn + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 577 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 578 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 584 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::bind + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 411 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 162 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 163 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 166 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 171 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::emit + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::emit_at + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_element_is_never_offered_when_the_mutator_is_not_selected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_site_whose_span_runs_past_the_text_offers_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_collision_keeps_the_perturbation_rather_than_the_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::emit_shaped + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::finish + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_a_const_fn_produces_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 118 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_values_only_reach_functions_returning_result + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::impl_scope + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 62 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::in_const + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 381 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 382 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::in_function + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_value_is_perturbed_however_it_is_returned + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 388 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 390 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 393 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 399 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::in_scope + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 413 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 415 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::inert + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 420 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::initializes_deferred + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 159 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 160 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 161 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 353 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 355 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 356 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 357 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 362 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 366 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 368 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 369 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 370 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_tuple_field_access_is_never_known_numeric + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 371 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 372 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 373 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 194 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 198 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 203 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 204 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 211 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 214 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::negation_of + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 272 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 317 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_arguments + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 374 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_capacity_call_is_still_a_capacity_call + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 375 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 324 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 332 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_number_in_tail_position_perturbs_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 335 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_capacity_call_is_still_a_capacity_call + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 338 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 347 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 348 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::record_declaration + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 405 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 407 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 410 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 297 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 308 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::replacement_at + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_collision_keeps_the_perturbation_rather_than_the_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::scoped + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::skipped + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 379 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 380 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 138 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 143 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 148 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 153 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 222 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 237 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 243 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::omit_update_refuses_field_spans_outside_the_struct + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 246 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 260 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::text_of + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::unwind + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 416 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 417 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::wants + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::with_defaulted_parameters + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 384 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 386 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::with_indexes + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 428 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 438 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_enum + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 215 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_impl + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 228 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 229 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_struct + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 207 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 208 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 234 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 235 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 246 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_union + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 222 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::descend_use + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 98 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::expand_module_alias + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 118 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_callee_segments + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_callee + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_callee_path_not_ending_in_default_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_segments + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::empty_or_non_default_segments_are_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_derive + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait_name + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait_segments + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 103 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::note_type_shadow + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 127 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 129 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::absorb + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 194 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 196 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 197 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::aliased_error + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 202 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::lacks_default + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 191 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 192 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 193 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::lacks_error_default + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 198 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 199 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::note_derive + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 203 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 204 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::of + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 186 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::of_in + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 187 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 188 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 189 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 253 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 254 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 262 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 265 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 266 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: impl_item_attrs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::associated_item_attrs_read_macros_and_fall_back_for_verbatim_tokens + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 152 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: is_standard_module_path + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: is_standard_trait_path + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 136 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::item_attrs_reads_every_recognized_item_kind_and_falls_back_for_the_rest + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 139 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 144 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: merge_alias + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 178 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 179 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 180 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 181 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: name_of + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 270 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::name_of_reads_through_a_parenthesized_type + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 273 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::name_of_reads_through_an_invisible_group + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 274 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: payload_name + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 276 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::payload_name_handles_non_path_types_bare_paths_and_non_type_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 277 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_default_bound + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 176 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 177 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 162 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 163 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_bound_also_names_its_parameter_as_defaulted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 165 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_repeating_an_inline_bound_is_not_reported_twice + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 172 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: trait_item_attrs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::associated_item_attrs_read_macros_and_fall_back_for_verbatim_tokens + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - file: crates/cargo-gamma-engine/src/ops/collect/definitions.rs + item: into_definitions + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_attribute + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_impl_item_fn + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_item_fn + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_trait_item_fn + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::item + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_attribute + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_file_with_no_stated_values_is_accepted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_impl_item_fn + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_item_fn + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_trait_item_fn + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: arguments + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_item_that_states_nothing_has_no_range + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: check + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: fault + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_inside_a_function_may_state_its_own_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: is_stated_value + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_file_with_no_stated_values_is_accepted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: stated_range + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_one_token_expression_is_read_whole + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_stated_value_has_no_range + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-engine/src/ops/collect/traversal.rs + item: check_stated_and_collect_with + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-engine/src/ops/collect/traversal.rs + item: collect + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/traversal.rs + item: collect_in + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-engine/src/ops/collect/traversal.rs + item: collect_with + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-engine/src/ops/collect/traversal.rs + item: finish + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: families + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::lookup::tests::a_close_unknown_selector_offers_a_spelling_suggestion + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: find + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: find_preset + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::default_and_pedantic_presets_partition_everything + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: resolve + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_of_only_types_yields_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::lookup::tests::a_close_unknown_selector_offers_a_spelling_suggestion + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: unknown + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::lookup::tests::a_distant_unknown_selector_falls_back_to_the_registry_hint + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::lookup::tests::a_close_unknown_selector_offers_a_spelling_suggestion + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::add + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::any_in_family + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::any_in_family_gates_on_the_selected_family + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::apply + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::contains + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::default_preset + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::default_and_pedantic_presets_partition_everything + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::drop_errors + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::an_empty_error_list_does_not_enable_the_error_mutator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::caller_supplied_error_values_toggle_the_error_mutator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::errors + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::everything + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::parse + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::remove + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::negation_carves_out_of_a_preset + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::set_errors + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::an_empty_error_list_does_not_enable_the_error_mutator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::sorted + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::default_and_pedantic_presets_partition_everything + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 161 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 165 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_block_comment_stops_at_end_of_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 170 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_comments_nest + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 171 + - file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 98 + - file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::doc_comments_are_not_string_literals + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::line_comments_are_found_and_stripped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 138 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::known_comments_satisfy_the_fuzz_scan_invariants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 140 + - file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::line_comments_are_dropped_and_replaced_by_a_single_space + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::spans_point_at_the_comment_itself + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::arbitrary_text_is_scanned_into_spans_that_exist + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::line_comments_are_dropped_and_replaced_by_a_single_space + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 145 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::spans_point_at_the_comment_itself + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 155 + - file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::doc_comments_are_distinguished_from_directive_comments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 62 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_literal_does_not_confuse_the_scanner + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 313 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 316 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 317 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 320 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_literal_stays_inside_the_text + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 334 + - file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 251 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::invalid_raw_string_prefix_consumes_only_the_r + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 252 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 255 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 261 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::unterminated_strings_and_raw_strings_stop_at_end_of_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 286 + - file: crates/cargo-gamma-engine/src/parse/comment.rs + item: scan_comments + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::doc_comments_are_distinguished_from_directive_comments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 225 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 232 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::unterminated_strings_and_raw_strings_stop_at_end_of_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 235 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 236 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 243 + - file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_file_within_the_limit_reports_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::blocks_cross_the_limit_without_needing_parentheses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_cast_chain_is_nesting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_else_if_ladder_is_nesting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::siblings_do_not_accumulate_depth + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 108 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_binary_chain_is_nesting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 116 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 127 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_list_of_elements_is_not_a_chain + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 136 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 153 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::mixed_method_and_index_links_accumulate_on_one_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 161 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::the_reported_offset_is_the_delimiter_that_crossed_the_limit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 172 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 190 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::an_unbalanced_closer_does_not_wrap_the_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 246 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_name_value_predicate_whose_literal_is_not_a_string_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 304 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::non_ascii_non_identifier_bytes_are_skipped_without_affecting_depth + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 310 + - file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: grow + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 363 + - file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: identifier_end + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_cast_chain_is_nesting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 374 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 375 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 377 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_head_is_not_a_bare_identifier_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 380 + - file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: link + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_binary_chain_is_nesting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 319 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 320 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 322 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::the_reported_offset_is_the_delimiter_that_crossed_the_limit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 332 + - file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: raise + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 351 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::an_unbalanced_closer_does_not_wrap_the_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 356 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_postfix_call_chain_is_nesting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 357 + - file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: set + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 342 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 345 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_name_value_predicate_whose_literal_is_not_a_string_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 346 + - file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: set_bool + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_else_if_ladder_is_nesting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 366 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 367 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 371 + - file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::line_of + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::slice + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_one_token_expression_is_read_whole + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: exceeds_nesting_limit + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: line_starts + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_trailing_newline_does_not_open_a_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: strip_bom + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::strip_bom_removes_only_a_leading_mark + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: without_bom + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_zero_based_count_becomes_the_position_after_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-gamma-engine/src/schema.rs + item: attach + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 129 + - file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 111 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 112 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::overlapping_sites_are_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 114 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - file: crates/cargo-gamma-engine/src/schema.rs + item: copy + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - file: crates/cargo-gamma-engine/src/schema.rs + item: instrument + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - file: crates/cargo-gamma-engine/src/schema.rs + item: positions + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_reports_the_whole_range_it_spans + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guard_positions_count_unicode_characters_not_bytes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - file: crates/cargo-gamma-engine/src/schema.rs + item: render + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 132 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_instrumented_iterator_body_is_still_balanced_rust + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 141 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_stays_a_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 145 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_reports_the_whole_range_it_spans + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 146 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guard_positions_count_unicode_characters_not_bytes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::break_to_continue_keeps_break_as_the_tail_expression + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 164 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 174 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 187 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_arm_still_parses_as_rust + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 191 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 192 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_statement_site_is_skipped_when_active + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 212 + - file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 225 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::style_validation_covers_simple_extended_and_invalid_parameters + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 226 + - file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 173 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 174 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::style_validation_covers_simple_extended_and_invalid_parameters + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 175 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 179 + - file: crates/cargo-gamma-engine/src/text.rs + item: color_component + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 239 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::style_validation_covers_simple_extended_and_invalid_parameters + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 240 + - file: crates/cargo-gamma-engine/src/text.rs + item: encode + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_nested_deeper_than_the_limit_is_refused_rather_than_overflowing_the_stack + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::ordinary_text_is_borrowed_unchanged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::a_newline_cannot_forge_a_second_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::multibyte_text_around_a_control_survives_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c1_control_is_encoded + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - file: crates/cargo-gamma-engine/src/text.rs + item: encode_controls + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_nested_deeper_than_the_limit_is_refused_rather_than_overflowing_the_stack + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-engine/src/text.rs + item: encode_preserving_color + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::a_newline_cannot_forge_a_second_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 126 + - file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 129 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 171 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze_context + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze_run + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::advice_uses_elapsed_wall_time_for_concurrent_baselines_and_sparse_workers + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: family_of + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 62 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::fixed_cost_threshold_and_zero_wall_are_handled_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_at_exactly_ten_percent_is_hot_and_keeps_its_cpu_total + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 271 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 273 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 277 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 281 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 160 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 162 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::long_run_starts_at_thirty_minutes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 176 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 308 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 315 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 316 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 200 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 202 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 205 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 206 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 208 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 218 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_share_threshold_is_inclusive + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 223 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_names_the_slowest_test_targets + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 99 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::slow_baseline_starts_at_ten_seconds_and_never_divides_by_zero_jobs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 181 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 182 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 187 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 197 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 328 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 330 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 336 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_requires_the_population_and_share_thresholds_inclusively + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 337 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 356 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::execution_dominance_under_the_default_profile_suggests_the_gamma_profile + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 131 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::profile_advice_requires_dominant_execution_and_an_unoptimized_profile + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 236 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::unviable_requires_the_population_and_share_thresholds_inclusively + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 244 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 246 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 252 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 355 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_aggregate_every_field_and_break_ties_by_family + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 352 + - file: crates/cargo-gamma-lib/src/advise/render.rs + item: finding_heading + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::finding_headings_are_numbered_and_capitalized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 213 + - file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_contents + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::empty_rows_are_absent_from_both_contents_and_body + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 98 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 103 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 109 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 153 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 155 + - file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_verdict_in_the_population_is_accounted_for_in_the_run_table + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_yields + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 131 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::empty_rows_are_absent_from_both_contents_and_body + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 139 + - file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::text::tests::durations_read_the_way_a_person_says_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_where_each_phase_spent_its_time + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - file: crates/cargo-gamma-lib/src/advise/text.rs + item: plural + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_at_exactly_ten_percent_is_hot_and_keeps_its_cpu_total + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-lib/src/advise/text.rs + item: sentence + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::finding_headings_are_numbered_and_capitalized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - file: crates/cargo-gamma-lib/src/advise/text.rs + item: share + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_no_wall_time_reports_no_share_rather_than_a_division_by_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-gamma-lib/src/advise/text.rs + item: slug + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_rank_families_by_survivors_per_cpu_hour + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::yield_::tests::a_family_with_no_time_has_no_ratio_rather_than_an_infinite_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - file: crates/cargo-gamma-lib/src/bounds.rs + item: factor + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_factor_is_positive_and_not_absurd + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 108 + - file: crates/cargo-gamma-lib/src/bounds.rs + item: percentage + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_percentage_stays_within_its_range + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 99 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merged_score_below_the_bar_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - file: crates/cargo-gamma-lib/src/bounds.rs + item: positive + candidates: + - candidate: + package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 118 + - file: crates/cargo-gamma-lib/src/bounds.rs + item: seconds + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_duration_that_would_panic_is_rejected_instead + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/bounds.rs + item: size + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_below_one_byte_is_refused_rather_than_truncated_to_a_zero_ceiling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_understands_the_units_people_write + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_that_is_not_one_is_refused_rather_than_guessed_at + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_probe_command_line_carries_every_setting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::requested_targets + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::requested_targets_are_deduplicated_even_when_repeated_out_of_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::resolve + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::resolve_in + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_change_to_any_setting_the_workspace_holds_moves_the_config_term + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings_in + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::include + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unreadable_configuration_is_recorded_as_an_input + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 244 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 245 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 246 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_absent_configuration_is_not_recorded_as_an_unreadable_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 255 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::keys + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 278 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::table_keys_are_sorted_and_deduplicated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 289 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 192 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 204 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 214 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 224 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 233 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::string + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 265 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::strings + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 259 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 262 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::environment_names_and_home_fallbacks_are_read_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 131 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_target_specific_variables_are_read_by_enumeration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 180 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::target_flags + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 126 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::codegen_options_accept_every_rustc_spelling_but_only_cfg_relevant_values + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 535 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::debug_assertion_flags_use_the_last_recognised_exact_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 541 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: cargo_home_was_walked + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_home_is_recognized_only_below_its_actual_parent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 298 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: codegen + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::codegen_options_accept_every_rustc_spelling_but_only_cfg_relevant_values + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 519 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 434 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 439 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: host_triple + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::host_lookup_is_skipped_without_target_tables_and_answers_with_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 472 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: lookup + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 325 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: lookup_bool + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 701 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: name_of + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 514 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::release_shorthand_must_match_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 597 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 608 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 619 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 560 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::codegen_options_accept_every_rustc_spelling_but_only_cfg_relevant_values + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 561 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::debug_assertion_flags_use_the_last_recognised_exact_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 579 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: parse_host + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::host_lookup_is_skipped_without_target_tables_and_answers_with_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 474 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::host_output_parsing_requires_the_host_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 475 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: predicate_of + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 417 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: probe_cfgs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 422 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 632 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 636 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 641 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 642 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 647 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 653 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 675 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 685 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 688 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: read_table + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 320 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 368 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 369 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 381 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 402 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 421 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: split + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 477 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::duplicate_configured_targets_still_describe_one_build + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 319 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::requested_targets_are_deduplicated_even_when_repeated_out_of_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 344 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 350 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 359 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target_tables + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 403 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 406 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 410 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 494 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 498 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 500 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::flag_value_parsing_requires_exact_spellings_and_keeps_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 501 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 503 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 523 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + item: variable_component + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 412 + - file: crates/cargo-gamma-lib/src/cfg/cfgs.rs + item: Cfgs::for_package + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::cfgs::tests::a_package_gets_its_own_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-lib/src/cfg/cfgs.rs + item: Cfgs::new + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::cfgs::tests::a_package_gets_its_own_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-lib/src/cfg/features.rs + item: apply_worklist + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 103 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - file: crates/cargo-gamma-lib/src/cfg/features.rs + item: enabled + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::features_chain_through_their_own_entries + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_passthrough_selector_adds_to_the_typed_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 118 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_passthrough_selector_is_read_however_it_is_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 126 + - file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_of_an_unrecognised_kind_does_not_propagate_its_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 111 + - file: crates/cargo-gamma-lib/src/cfg/features.rs + item: renames + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_renamed_dependency_forwards_its_features_to_the_package_it_names + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - file: crates/cargo-gamma-lib/src/cfg/features.rs + item: requested + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_named_feature_is_turned_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_qualified_name_only_reaches_its_own_package + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::all_features_turns_on_everything_declared + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_qualified_name_only_reaches_its_own_package + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_named_feature_is_turned_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_that_is_not_declared_is_not_invented + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - file: crates/cargo-gamma-lib/src/cfg/features.rs + item: turn_on + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_for_another_target_answers_about_that_target + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_of_several_targets_strips_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_for_another_target_answers_about_that_target + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_rustc_probe_failure_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::an_unanswered_profile_leaves_both_halves_mutable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_profile_without_debug_assertions_strips_the_other_half + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: rustc_program + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_for_another_target_answers_about_that_target + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::the_compiler_override_uses_cargos_rustc_variable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: annotations + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::annotations::tests::an_annotation_points_at_a_relative_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_018_annotations_stop_at_what_github_keeps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_data + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::annotations::tests::a_comma_cannot_escape_a_property + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::annotations::tests::a_percent_is_escaped_before_anything_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_property + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::annotations::tests::a_comma_cannot_escape_a_property + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-gamma-lib/src/ci/finding.rs + item: describe + candidates: + - candidate: + package: cargo-gamma-lib + target: sarif_contract + test: the_emitted_log_matches_the_committed_one_field_for_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-gamma-lib/src/ci/finding.rs + item: findings + candidates: + - candidate: + package: cargo-gamma-lib + target: sarif_contract + test: the_emitted_log_matches_the_committed_one_field_for_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-lib/src/ci/finding.rs + item: relative + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::finding::tests::windows_findings_use_repository_style_separators + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: sarif_contract + test: the_emitted_log_matches_the_committed_one_field_for_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: ::write + candidates: + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_018_a_sarif_log_stays_within_what_github_accepts + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 71 + - candidate: + package: cargo-gamma-lib + target: sarif_contract + test: fingerprint_values_have_the_production_identity_shape + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + candidates: + - candidate: + package: cargo-gamma-lib + target: sarif_contract + test: fingerprint_values_have_the_production_identity_shape + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_018_a_sarif_log_stays_within_what_github_accepts + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::sarif::tests::candidate_prefixes_halve_until_the_empty_log + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: log + candidates: + - candidate: + package: cargo-gamma-lib + target: sarif_contract + test: the_emitted_log_matches_the_committed_one_field_for_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: measure + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::sarif::tests::measuring_a_log_matches_the_json_writer_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_018_a_sarif_log_stays_within_what_github_accepts + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: results + candidates: + - candidate: + package: cargo-gamma-lib + target: sarif_contract + test: fingerprint_values_have_the_production_identity_shape + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: rules + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::sarif::tests::sarif_carries_one_rule_per_mutator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - candidate: + package: cargo-gamma-lib + target: sarif_contract + test: the_emitted_log_matches_the_committed_one_field_for_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + candidates: + - candidate: + package: cargo-gamma-lib + target: sarif_contract + test: fingerprint_values_have_the_production_identity_shape + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_018_a_sarif_log_stays_within_what_github_accepts + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::sarif::tests::one_finding_past_the_cap_is_dropped_and_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - file: crates/cargo-gamma-lib/src/ci/summary.rs + item: append + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_step_summary_omits_advice_when_none_was_given + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-lib/src/ci/summary.rs + item: append_locked + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_step_summary_omits_advice_when_none_was_given + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-lib/src/ci/summary.rs + item: cell + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::a_code_span_is_fenced_longer_than_the_backticks_it_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 71 + - file: crates/cargo-gamma-lib/src/ci/summary.rs + item: escape + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::a_code_span_is_fenced_longer_than_the_backticks_it_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::no_two_paths_render_as_the_same_cell + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::a_path_that_ends_a_cell_a_span_or_a_line_stays_in_one_cell + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - file: crates/cargo-gamma-lib/src/ci/summary.rs + item: longest_run + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::a_code_span_is_fenced_longer_than_the_backticks_it_holds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - file: crates/cargo-gamma-lib/src/ci/summary.rs + item: summary + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::a_memory_kill_is_the_whole_breakdown_when_it_is_the_whole_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::the_summary_table_accounts_for_every_mutant_in_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::an_empty_outcome_is_left_out_of_the_summary_table + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::a_path_that_ends_a_cell_a_span_or_a_line_stays_in_one_cell + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-lib/src/ci/summary.rs + item: under_tested + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::a_path_that_ends_a_cell_a_span_or_a_line_stays_in_one_cell + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::an_empty_outcome_is_left_out_of_the_summary_table + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::a_memory_kill_is_the_whole_breakdown_when_it_is_the_whole_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: ci::summary::tests::files_with_the_same_count_are_ordered_by_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - file: crates/cargo-gamma-lib/src/commands/clean.rs + item: clean + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::clean::tests::clean_reports_whether_cached_data_existed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cli + test: clean_deletes_only_the_current_workspaces_cached_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-lib/src/commands/cli.rs + item: ::default + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::a_lone_zero_is_still_a_half_pair + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::naming_error_values_turns_the_error_mutator_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::no_sharding_arguments_means_no_shard + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_closed_output_stream_ends_every_listing_successfully + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-gamma-lib/src/commands/cli.rs + item: FeatureArgs::to_cargo_args + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::all_features_render_before_named_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::feature_arguments_render_as_cargo_spells_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::no_feature_arguments_render_as_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::selection + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::error_values_are_kept_when_an_explicit_selection_includes_the_error_mutator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::error_values_are_ignored_when_the_mutator_is_deselected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::a_count_without_an_index_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::a_lone_zero_is_still_a_half_pair + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::a_zero_shard_count_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::a_single_shard_is_accepted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::a_shard_count_beyond_what_a_merge_can_account_for_is_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::no_sharding_arguments_means_no_shard + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::shard_index_must_be_in_range + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cli + test: an_out_of_range_shard_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - candidate: + package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 98 + - file: crates/cargo-gamma-lib/src/commands/cli.rs + item: size + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::the_bound_wrappers_forward_to_the_underlying_checks + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-gamma-lib/src/commands/completions.rs + item: completions + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::completions::tests::every_supported_shell_produces_a_script + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::begin + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::phase_events_are_displayed_and_ordinary_verdicts_are_not_announced + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::build_output + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::asking_whether_build_output_is_wanted_agrees_with_what_is_done_with_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::mutant + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_timeout_says_how_long_the_mutant_ran_before_it_was_stopped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::no_other_outcome_gains_an_elapsed_figure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::outcome + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::phase_events_are_displayed_and_ordinary_verdicts_are_not_announced + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::phase + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::phase_events_are_displayed_and_ordinary_verdicts_are_not_announced + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::phase_progress + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::testing_log + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 80 + - file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::wants_build_output + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::asking_whether_build_output_is_wanted_agrees_with_what_is_done_with_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::warn + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_multi_line_warning_is_labelled_on_every_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: mutant_detail + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_timeout_says_how_long_the_mutant_ran_before_it_was_stopped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::no_other_outcome_gains_an_elapsed_figure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: check_shard + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::shard_validation_itself_rejects_an_incomplete_pair + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatch + candidates: + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 164 + - file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::run_scopes_and_flushes_notes_raised_while_dispatching + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-lib + target: session + test: the_advise_surface_that_became_a_flag_is_gone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_020_the_documented_option_names_are_the_ones_that_exist + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_global_option_before_a_subcommand_is_stepped_over + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_global_option_with_value_before_run_options_still_implies_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_global_option_before_no_subcommand_still_implies_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_bare_invocation_implies_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 108 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 161 + - file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_bare_invocation_implies_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - candidate: + package: cargo-gamma-lib + target: cli + test: the_tool_works_when_invoked_directly_rather_than_through_cargo + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 112 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 127 + - file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: refuse_shard + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_sharded_hints_is_refused_rather_than_quietly_promoting_from_everything + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: run + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::run_scopes_and_flushes_notes_raised_while_dispatching + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: session + test: the_advise_surface_that_became_a_flag_is_gone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: say_notes + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_note_is_said_once_and_not_again_by_the_next_command + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-gamma-lib/src/commands/explain.rs + item: explain + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::explain::tests::explanation_names_aliases_and_suppressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::explain::tests::a_mutator_without_aliases_omits_the_alias_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cli + test: explaining_a_mutator_describes_how_to_suppress_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - file: crates/cargo-gamma-lib/src/commands/host.rs + item: as Write>::write + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_closed_results_pipe_ends_a_listing_successfully_without_a_diagnostic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-gamma-lib/src/commands/host.rs + item: Host::env + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::host::tests::default_env_reads_the_process_environment + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/commands/host.rs + item: Host::may_replace_process + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::host::tests::a_host_does_not_permit_being_replaced_unless_it_says_so + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-lib/src/commands/list.rs + item: describe_for_listing + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 62 + - candidate: + package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_files + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::files_can_be_listed_as_json + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::files_can_be_listed_as_text + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_closed_output_stream_ends_every_listing_successfully + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-gamma-lib + target: cli + test: listing_files_reports_the_library + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_suppressed_mutant_is_marked_and_counted_in_the_text_listing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - candidate: + package: cargo-gamma-lib + target: cli + test: an_empty_library_yields_no_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 71 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_config_selection_key_narrows_a_listing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-gamma-lib + target: cli + test: listing_ops_marks_the_enabled_set + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_presets + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::presets_can_be_listed_as_json_with_the_selection_resolved_against_each + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_closed_output_stream_ends_every_listing_successfully + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::presets_can_be_listed_as_text + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::the_text_preset_listing_marks_a_preset_selected_by_its_exact_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_with_cargo + candidates: + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - file: crates/cargo-gamma-lib/src/commands/list.rs + item: write_population + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_sharded_population_says_which_shard_it_is + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - file: crates/cargo-gamma-lib/src/commands/list.rs + item: write_pretty_json + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - file: crates/cargo-gamma-lib/src/commands/merge.rs + item: collect_reports + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 152 + - file: crates/cargo-gamma-lib/src/commands/merge.rs + item: collect_reports_limited + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::aggregate_report_bytes_are_bounded_before_a_report_is_retained + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::directories_are_scanned_and_outputs_are_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_directory_with_too_many_reports_is_refused_before_they_are_retained + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 143 + - file: crates/cargo-gamma-lib/src/commands/merge.rs + item: merge + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 126 + - file: crates/cargo-gamma-lib/src/commands/merge.rs + item: merge_at + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::empty_inputs_are_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::zero_window_and_clock_failure_are_reported_truthfully + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_score_gate_refuses_an_identity_incompatible_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_merge_with_pending_mutants_fails_the_min_score_gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merged_score_at_or_above_the_bar_exits_ok + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 139 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merged_score_below_the_bar_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 140 + - file: crates/cargo-gamma-lib/src/commands/merge.rs + item: read_report + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::aggregate_report_bytes_are_bounded_before_a_report_is_retained + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 146 + - file: crates/cargo-gamma-lib/src/commands/merge.rs + item: report_merge + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::zero_window_and_clock_failure_are_reported_truthfully + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_stream_is_reported_by_the_withdrawn_note + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::inexact_merged_boundary_scores_do_not_render_as_exact_boundaries + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 108 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_merged_only_input_says_no_complete_population_was_supplied + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 118 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::directories_are_scanned_and_outputs_are_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_merge_with_no_gate_and_no_outputs_succeeds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - file: crates/cargo-gamma-lib/src/commands/merge.rs + item: validate_output_paths + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::merge_outputs_with_identical_names_are_refused_before_any_report_is_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::directory + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_cache_directory_does_not_move_the_default_reports + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 210 + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 336 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::resolve + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 326 + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 334 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopted_from_cache + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 359 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: advice_markdown + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::advice_goes_where_it_was_asked_for_and_diag_is_emitted_only_when_requested + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 324 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: broken_expectations + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 207 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::an_expectation_on_a_mutant_that_never_ran_is_not_judged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 218 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::an_uncovered_mutant_is_judged_against_its_expectation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 232 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::an_expectation_that_does_not_hold_is_reported_with_what_was_wanted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 234 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: cache_context + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::disabled_incremental_and_dry_runs_prepare_no_cache_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: configure + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_run_with_an_impossible_shard_stops_before_it_builds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 189 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_closed_stream_is_reported_by_the_foreign_config_note + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 192 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_foreign_config_is_not_mentioned_when_config_is_disabled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 200 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_foreign_config_is_called_out_before_anything_is_loaded + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 201 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: distinguish + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::the_merge_gate_message_does_not_print_the_required_score_as_met + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 241 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_clear_miss_is_shown_at_a_single_decimal_place + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 255 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: emit_advice + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 367 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: emit_ci + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_step_summary_omits_advice_when_none_was_given + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 215 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: emit_diag + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::advice_goes_where_it_was_asked_for_and_diag_is_emitted_only_when_requested + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::every_run_writes_the_diagnostics_bundle_without_being_asked + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 364 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: emit_diag_bundle + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 366 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: emit_failure_artifacts + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_baseline_error_writes_its_record_and_the_diagnostics_bundle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 310 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: emit_reports + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::reports_write_json_html_sarif_annotations_and_summary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: incremental_context + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::disabled_incremental_and_dry_runs_prepare_no_cache_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::analysis_progress_names_its_phase_and_subject_before_discovery + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_run_with_no_mutants_at_all_succeeds_quietly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 307 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_population_with_no_eligible_verdict_edits_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 309 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 316 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::leak_dirs_reports_where_the_scratch_tree_was_kept + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 317 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 352 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 354 + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 362 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: memory_policy + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::the_default_memory_policy_is_inherited_with_the_exact_default_headroom + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_baseline_memory_limit_alone_implies_measurement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 222 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: missing_hints + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::disabled_incremental_mode_suppresses_missing_hints_advice + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 196 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: pending_fails_gate + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::pending_mutants_fail_only_an_enabled_score_gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 277 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_idle + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_skips_all_still_apply_says_nothing_about_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 285 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::an_unused_skip_directive_is_named_with_its_place_and_its_reason + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 286 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_stuck + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 323 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_config + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::every_run_setting_reaches_its_execution_config_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::an_explicit_multiplier_overrides_the_default_margin + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 297 + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 361 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_info + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::run_metadata_stamps_the_identity_scheme_and_preserves_optional_inputs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 267 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::an_ungated_run_with_nothing_to_test_still_succeeds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 269 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 270 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 273 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 289 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: seconds_since_epoch + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::timestamps_before_the_unix_epoch_use_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: should_claim_cache + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::cache_claiming_requires_incremental_state_and_a_real_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: test_arguments + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::every_run_setting_reaches_its_execution_config_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 358 + - file: crates/cargo-gamma-lib/src/commands/run.rs + item: ungraded + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_gated_run_whose_population_is_entirely_suppressed_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 236 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 330 + - file: crates/cargo-gamma-lib/src/commands/suppress.rs + item: apply_all + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::an_edit_over_a_file_with_uncommitted_changes_is_refused_before_anything_is_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_failure_on_the_second_file_puts_the_first_one_back_byte_for_byte + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-gamma-lib/src/commands/suppress.rs + item: edit_files + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_file_edited_since_the_plan_was_made_is_refused_rather_than_edited_by_stale_line_numbers + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::bom_prefixed_files_match_the_plan_and_keep_the_bom_for_first_and_later_edits + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_failure_on_the_second_file_puts_the_first_one_back_byte_for_byte + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_save_after_validation_and_before_suppress_publication_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_post_rename_suppress_sync_failure_is_reverted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 80 + - file: crates/cargo-gamma-lib/src/commands/suppress.rs + item: intended + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_killed_mutant_sharing_a_line_is_not_required_to_be_suppressed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_survivor_sharing_a_site_with_a_timeout_is_caught_as_collateral + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - file: crates/cargo-gamma-lib/src/commands/suppress.rs + item: recoverable + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::an_edit_over_a_file_with_uncommitted_changes_is_refused_before_anything_is_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_failure_on_the_second_file_puts_the_first_one_back_byte_for_byte + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - file: crates/cargo-gamma-lib/src/commands/suppress.rs + item: reverted + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_failure_before_the_first_write_makes_no_claim_about_reverting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_failure_on_the_second_file_puts_the_first_one_back_byte_for_byte + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_save_before_suppress_rollback_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_post_rename_rollback_sync_failure_is_reported_as_restored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_rollback_that_fails_is_reported_with_what_went_wrong_first + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - file: crates/cargo-gamma-lib/src/commands/suppress.rs + item: suppress + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::empty_eligibility_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_run_that_could_not_build_part_of_its_population_refuses_rather_than_exiting_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_run_with_no_mutants_at_all_succeeds_quietly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_population_with_no_eligible_verdict_edits_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_multi_file_run_edits_only_the_file_with_an_eligible_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-gamma-lib/src/commands/suppress.rs + item: unclean + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_verification_failure_names_which_half_failed_and_what_it_was_about + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 103 + - file: crates/cargo-gamma-lib/src/commands/suppress.rs + item: uncommitted + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::an_edit_over_a_file_with_uncommitted_changes_is_refused_before_anything_is_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_failure_on_the_second_file_puts_the_first_one_back_byte_for_byte + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - file: crates/cargo-gamma-lib/src/commands/suppress.rs + item: verify_or_revert + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_closed_stream_is_reported_by_the_success_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_verification_error_reverts_every_written_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 98 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_verification_that_fails_reverts_every_file_it_wrote + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 99 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_multi_file_run_edits_only_the_file_with_an_eligible_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - file: crates/cargo-gamma-lib/src/commands/unsuppress.rs + item: remove_all + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_failure_on_the_second_file_puts_the_first_one_back_byte_for_byte + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::removing_from_a_file_with_uncommitted_changes_is_refused_before_anything_is_deleted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - file: crates/cargo-gamma-lib/src/commands/unsuppress.rs + item: remove_directives + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_failure_on_the_second_file_puts_the_first_one_back_byte_for_byte + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::bom_prefixed_files_keep_the_bom_when_removing_first_and_later_directives + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::applying_removes_the_directive_and_nothing_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_preview_shows_the_removal_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_save_after_validation_and_before_unsuppress_publication_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_post_rename_unsuppress_sync_failure_is_reverted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - file: crates/cargo-gamma-lib/src/commands/unsuppress.rs + item: report_declined + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_declined_directive_is_reported_with_its_place_and_selectors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::nothing_declined_says_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - file: crates/cargo-gamma-lib/src/commands/unsuppress.rs + item: sort_out + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_file_that_changed_since_planning_is_left_alone_rather_than_edited_by_line_number + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_preview_shows_the_removal_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - file: crates/cargo-gamma-lib/src/commands/unsuppress.rs + item: unsuppress_with_cargo + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_still_suppresses_something_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_preview_shows_the_removal_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::applying_removes_the_directive_and_nothing_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - file: crates/cargo-gamma-lib/src/commands/unsuppress.rs + item: verify_or_revert_with_cargo + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_removal_that_changes_what_is_suppressed_puts_every_file_back + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_verification_error_restores_every_removed_directive + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::applying_removes_the_directive_and_nothing_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - file: crates/cargo-gamma-lib/src/commands/verdict_log.rs + item: VerdictLog::record + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-lib/src/commands/verdict_log.rs + item: VerdictLog::start + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::absent_boolean_run_settings_leave_their_branches_disabled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_run_with_an_impossible_shard_stops_before_it_builds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 109 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 155 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 156 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_flag_turns_on_and_the_command_line_cannot_turn_it_off + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 170 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::artifact_directory_comes_from_the_file_when_the_command_line_is_silent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 181 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 258 + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 264 + - file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::absent_feature_settings_do_not_enable_cargo_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_config_selection_key_narrows_a_listing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 175 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::only_the_discovery_commands_apply_config_selection + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 205 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 208 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_count_from_the_file_and_an_index_from_the_command_line_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 212 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 244 + - candidate: + package: cargo-gamma-lib + target: cli + test: an_out_of_range_shard_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 260 + - candidate: + package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 261 + - file: crates/cargo-gamma-lib/src/config.rs + item: Config::cargo_options + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::cargo_discovery_receives_the_profile_and_extra_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-gamma-lib/src/config.rs + item: Config::foreign_present + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::foreign_project_detection_distinguishes_every_marker_combination + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_closed_stream_is_reported_by_the_foreign_config_note + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - file: crates/cargo-gamma-lib/src/config.rs + item: Config::load + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_config_that_cannot_be_read_is_an_error_rather_than_the_defaults + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-gamma-lib + target: docs + test: the_workspace_configuration_loads_with_its_settings_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 269 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 272 + - file: crates/cargo-gamma-lib/src/config.rs + item: Config::parse + candidates: + - candidate: + package: cargo-gamma-lib + target: docs + test: the_example_configuration_is_inert_and_parses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 266 + - candidate: + package: cargo-gamma-lib + target: docs + test: the_workspace_configuration_loads_with_its_settings_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 268 + - file: crates/cargo-gamma-lib/src/config.rs + item: Config::resolve + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 250 + - candidate: + package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 257 + - file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_memory_size_that_is_not_a_size_is_reported_rather_than_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 80 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_trait_exclusion_names_an_unqualified_final_path_identifier + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - candidate: + package: cargo-gamma-lib + target: docs + test: the_example_configuration_is_inert_and_parses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 270 + - file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::only_the_discovery_commands_apply_config_selection + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 229 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 245 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 274 + - file: crates/cargo-gamma-lib/src/config.rs + item: size + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: Redaction::apply + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::naming_is_opt_in_and_changes_what_is_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::omitting_leaves_no_label_at_all + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::hashing_is_the_default_and_hides_the_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::naming_is_opt_in_and_changes_what_is_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::the_breakdown_ranks_the_most_expensive_group_first + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 131 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 190 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 193 + - file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: bundle + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::serialized_bundle_names_the_tool_and_preserves_exact_mutant_cpu_milliseconds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::concurrent_baselines_use_wall_time_and_keep_cores_distinct_from_jobs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 118 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 191 + - file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::a_run_that_measured_nothing_has_no_duration_distribution + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: effective + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::effective_jobs_is_cpu_over_the_testing_window + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 145 + - file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: millis + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_censused_run_records_the_census_phase_in_its_bundle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 179 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 194 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 195 + - file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::percentiles_come_from_the_ascending_list + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 169 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 174 + - file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::bundle::tests::redacted_toolchains_hide_environment_derived_program_paths + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: to_json + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_baseline_error_writes_its_record_and_the_diagnostics_bundle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: Bucket::absorb + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::advice_goes_where_it_was_asked_for_and_diag_is_emitted_only_when_requested + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_breakdown_counts_unviable_mutants_separately_from_survivors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: crowded_timeout + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_median_of_nothing_is_not_compared_against_the_timeout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: group + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_breakdown_counts_unviable_mutants_separately_from_survivors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: percentile + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_percentile_never_indexes_past_the_end + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_percentile_of_nothing_is_zero_rather_than_a_panic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::advice_goes_where_it_was_asked_for_and_diag_is_emitted_only_when_requested + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: ratio + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_run_with_no_wall_time_reports_no_ratio_rather_than_an_infinite_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::effective_jobs_is_cpu_over_wall + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: render + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::advice_goes_where_it_was_asked_for_and_diag_is_emitted_only_when_requested + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_baseline_no_harness_counted_says_so_rather_than_reporting_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_the_session_costs_and_scope + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_run_that_tested_nothing_still_reports_its_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_breakdown_counts_unviable_mutants_separately_from_survivors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::test_binaries_are_ranked_by_baseline_cost + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: write_binaries + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::test_binaries_are_ranked_by_baseline_cost + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: write_breakdown + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_breakdown_counts_unviable_mutants_separately_from_survivors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: write_census + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_why_its_mutants_were_withdrawn + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_run_that_withdrew_nothing_says_nothing_about_why + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: write_phases + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_where_each_phase_spent_its_time + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: write_rounds + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_what_each_build_round_cost + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: write_session + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_baseline_no_harness_counted_says_so_rather_than_reporting_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_what_each_build_round_cost + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_why_its_mutants_were_withdrawn + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_where_each_phase_spent_its_time + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: write_slowest + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_breakdown_is_ranked_by_cost + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - file: crates/cargo-gamma-lib/src/diag/render.rs + item: write_throughput + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_run_that_tested_nothing_still_reports_its_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_timeout_close_to_the_typical_mutant_duration_is_called_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_baseline_no_harness_counted_says_so_rather_than_reporting_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-gamma-lib/src/discover/compile_fail.rs + item: advice + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::compile_fail::tests::several_targets_are_advised_about_together + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::compile_fail::tests::no_compile_fail_target_produces_no_advice + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-gamma-lib/src/discover/compile_fail.rs + item: mentions + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::compile_fail::tests::a_source_naming_the_harness_is_recognized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::compile_fail::tests::an_ordinary_test_source_is_not_recognized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - file: crates/cargo-gamma-lib/src/discover/compile_fail.rs + item: normalized + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::compile_fail::tests::discovered_targets_are_sorted_and_deduplicated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: Diff::parse + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_line_that_is_not_part_of_the_hunk_does_not_advance_the_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_diff_without_git_prefixes_is_understood + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::added_lines_are_numbered_in_the_new_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::several_files_are_kept_apart + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_diff_whose_paths_resolve_to_nothing_is_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_borrowed_reader_is_accepted_and_left_with_its_owner + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_path_with_a_space_still_yields_its_prefix + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: Diff::read + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: Diff::read_from + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_borrowed_reader_is_accepted_and_left_with_its_owner + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: Diff::resolve + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_diff_whose_paths_resolve_to_nothing_is_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_unresolvable_path_that_is_not_source_does_not_fail_a_diff_that_resolved_something + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_unresolvable_source_path_alongside_a_resolvable_one_is_still_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_directory_is_not_treated_as_an_understood_diff_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_diff_that_names_nothing_resolves_to_nothing_without_failing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: Diff::touches + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::added_lines_are_numbered_in_the_new_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_region_spanning_a_changed_line_is_selected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_path_that_names_a_workspace_file_resolves_to_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: Diff::touches_file + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_absolute_workspace_path_resolves_to_its_relative_candidate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: derived_prefix + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_diff_written_without_prefixes_keeps_its_leading_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::fuzz::an_added_line_survives_surrounding_prose + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_mnemonic_prefix_is_taken_from_the_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 114 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_path_with_a_space_still_yields_its_prefix + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: ends_with_path + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_absolute_path_from_another_checkout_resolves_by_unique_suffix + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 145 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_diff_whose_paths_resolve_to_nothing_is_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 146 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: git_prefix + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_path_with_a_space_still_yields_its_prefix + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::fuzz::an_added_line_survives_surrounding_prose + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_rename_falls_back_to_the_default_prefix + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 108 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: header_path + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: hunk_header + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: locate + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 118 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_absolute_workspace_path_resolves_to_its_relative_candidate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_absolute_non_source_path_inside_the_workspace_counts_as_understood + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_diff_whose_paths_resolve_to_nothing_is_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_unrecognized_prefix_is_resolved_by_the_file_it_ends_with + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::an_absolute_path_from_another_checkout_resolves_by_unique_suffix + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 138 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_directory_is_not_treated_as_an_understood_diff_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 139 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_path_that_is_not_a_source_file_still_counts_as_understood + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 141 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: new_file_path + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_rename_falls_back_to_the_default_prefix + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: parse_range + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 150 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: safe_relative + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 142 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_drive_relative_path_is_not_safe_workspace_input + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 143 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + item: split_first_segment + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::tests::a_mnemonic_prefix_is_taken_from_the_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 116 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::diff::fuzz::an_added_line_survives_surrounding_prose + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - file: crates/cargo-gamma-lib/src/discover/glob.rs + item: Glob::matches + candidates: + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_double_star_crosses_separators + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_bare_name_matches_at_any_depth + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - file: crates/cargo-gamma-lib/src/discover/glob.rs + item: Glob::new + candidates: + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_bare_name_matches_at_any_depth + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_target_excluded_by_a_glob_is_not_warned_about + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_pattern_matching_a_declared_target_is_not_reported_as_unmatched + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_bare_name_matches_at_any_depth + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_double_star_matches_zero_segments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_double_star_crosses_separators + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_question_mark_matches_one_character + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - candidate: + package: cargo-gamma-lib + target: units + test: glob::repeated_double_stars_have_bounded_work + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 143 + - file: crates/cargo-gamma-lib/src/discover/glob.rs + item: matches_glob + candidates: + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_bare_name_matches_at_any_depth + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - file: crates/cargo-gamma-lib/src/discover/glob.rs + item: normalize_separators + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-gamma-lib/src/discover/glob.rs + item: normalized + candidates: + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_bare_name_matches_at_any_depth + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_pattern_and_a_path_are_compared_on_the_same_separators + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 62 + - file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + candidates: + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_bare_name_matches_at_any_depth + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 174 + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_question_mark_matches_one_character + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 184 + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_double_star_crosses_separators + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 187 + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_star_does_not_cross_separators + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 191 + - candidate: + package: cargo-gamma-lib + target: units + test: glob::a_double_star_matches_zero_segments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 198 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::generalized + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_carries_generalized_tiers_for_a_clean_checkout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::generalized_for + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_carries_generalized_tiers_for_a_clean_checkout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::is_empty + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::is_missing + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::disabled_incremental_mode_suppresses_missing_hints_advice + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_corrupt_artifact_is_no_hints_at_all + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::load + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_failed_hints_rollback_leaves_a_later_successful_promotion_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::ordering + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_carries_the_two_score_neutral_tiers_and_nothing_else + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promoted + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_orders_by_file_and_then_by_id + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promotion + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_failed_hints_rollback_leaves_a_later_successful_promotion_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::read + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::rendered + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::verified + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_failed_hints_rollback_leaves_a_later_successful_promotion_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 71 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::an_artifact_that_is_there_but_unreadable_is_not_replaced_and_not_deleted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_post_rename_hints_sync_failure_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_failed_hints_rollback_leaves_a_later_successful_promotion_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - candidate: + package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - candidate: + package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + item: path + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - file: crates/cargo-gamma-lib/src/discover/input.rs + item: text + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/discover/input.rs + item: text_with_limit + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::input::tests::an_oversized_read_consumes_only_the_single_probe_byte + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::input::tests::exact_limit_is_retained + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-lib/src/discover/killers.rs + item: Killers::absorb + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::a_nested_test_leaf_is_not_an_identity_for_a_verdict + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::a_plain_function_is_not_a_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::verdict_lookup_requires_a_complete_scan_and_a_nonempty_exact_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-gamma-lib/src/discover/killers.rs + item: Killers::descend + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::a_nested_test_leaf_is_not_an_identity_for_a_verdict + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-gamma-lib/src/discover/killers.rs + item: Killers::file_digest + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::incomplete_inputs_make_recorded_kills_ineligible_for_reuse + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-lib/src/discover/killers.rs + item: Killers::scan_complete + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::a_nested_test_leaf_is_not_an_identity_for_a_verdict + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/discover/killers.rs + item: Killers::verdict_file_for + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::a_nested_test_leaf_is_not_an_identity_for_a_verdict + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-lib/src/discover/killers.rs + item: is_test + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::a_nested_test_leaf_is_not_an_identity_for_a_verdict + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::a_plain_function_is_not_a_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::killers::tests::every_spelling_a_harness_uses_finds_the_same_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - file: crates/cargo-gamma-lib/src/discover/modules.rs + item: declarations + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_path_attribute_on_an_inline_module_redirects_everything_below_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_plain_declaration_resolves_in_the_directory_the_file_owns + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-gamma-lib/src/discover/modules.rs + item: excluded_files + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_cycle_between_two_files_terminates + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_file_a_test_module_shares_with_real_code_is_kept + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - file: crates/cargo-gamma-lib/src/discover/modules.rs + item: owned_directory + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_file_stem_that_is_not_a_module_root_owns_a_subdirectory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - file: crates/cargo-gamma-lib/src/discover/modules.rs + item: path_attribute + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::an_attribute_that_is_neither_cfg_nor_path_is_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_path_attribute_is_read + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_path_attribute_resolves_beside_the_file_that_wrote_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - file: crates/cargo-gamma-lib/src/discover/modules.rs + item: walk + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::non_modules_and_inline_modules_do_not_stop_later_declarations + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_plain_declaration_resolves_in_the_directory_the_file_owns + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_path_attribute_on_an_inline_module_redirects_everything_below_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_path_attribute_resolves_beside_the_file_that_wrote_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::modules::tests::a_declaration_pointing_at_no_file_is_dropped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - file: crates/cargo-gamma-lib/src/discover/order.rs + item: stages + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::order::tests::a_cycle_survives_an_intervening_equal_sized_reach_set + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::absorb + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::plan::tests::absorbing_a_scan_conserves_every_count_and_collection + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::directory_of + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::mutated_package_manifests_include_root_and_nested_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::sort + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::plan::tests::report_order_uses_file_span_then_mutator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::plan::tests::a_package_is_named_by_where_its_manifest_is + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::plan::tests::a_single_crate_repository_names_its_root + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::plan::tests::a_windows_package_spec_is_a_file_url + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: as Iterator>::next + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_orders_by_file_and_then_by_id + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 142 + - candidate: + package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 304 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: ContextDigest::differences + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_term_nobody_states_admits_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: ContextDigest::resolved_at + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_cached_mutant_is_settled_when_its_file_is_unchanged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 138 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: ContextDigest::term + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_change_to_any_setting_the_workspace_holds_moves_the_config_term + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 129 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: GeneralizedHints::is_empty + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: GeneralizedHints::supported + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_carries_generalized_tiers_for_a_clean_checkout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::an_unsupported_generalized_tier_is_ignored_without_losing_exact_hints + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: Killer::names + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::killers::tests::a_hint_names_only_the_binary_it_was_recorded_against + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 166 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_written_artifact_reads_back_as_what_was_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_narrowed_run_drops_prior_entries_after_any_workspace_input_changes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 220 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_narrow_run_writes_back_safe_unviability_after_an_unrelated_change + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 221 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::this_runs_answer_replaces_the_earlier_one_for_a_file_it_visited + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 235 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::killers::tests::hints_survive_a_build_context_this_run_does_not_share + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 250 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_plan_snapshot + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_narrow_run_writes_back_safe_unviability_after_an_unrelated_change + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 203 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_written_artifact_reads_back_as_what_was_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_revert_to_the_original_bytes_does_not_restore_the_snapshot + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 204 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_orders_by_file_and_then_by_id + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 213 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::generalized + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_carries_generalized_tiers_for_a_clean_checkout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::load + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 301 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::load_raw + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 302 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::ordering + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_record_that_states_none_of_the_newer_terms_keeps_only_the_tiers_that_ask_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 152 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_record_from_the_previous_format_is_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 155 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::settled_against + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_cached_mutant_is_settled_when_its_file_is_unchanged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 167 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_workspace_dependency_change_invalidates_dependent_unviability + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 174 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::an_unrelated_package_change_preserves_unviability_but_not_test_verdicts + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 179 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 214 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::snapshot_with_external + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::an_external_path_dependency_change_carries_neither_verdicts_nor_unviability + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 150 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::store + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_written_artifact_reads_back_as_what_was_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 218 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::store_knowledge + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_written_artifact_reads_back_as_what_was_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_carries_generalized_tiers_for_a_clean_checkout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::killers::tests::a_map_round_trips_through_the_record + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::store_probes + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_written_artifact_reads_back_as_what_was_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: Tier::admits + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_cached_mutant_is_settled_when_its_file_is_unchanged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_changed_inherited_environment_refuses_carried_unviability + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 120 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: context + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::disabled_incremental_and_dry_runs_prepare_no_cache_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 272 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::disabled_incremental_and_dry_runs_prepare_no_cache_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 273 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::the_context_distinguishes_the_things_that_decide_what_compiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 278 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_changed_inherited_environment_refuses_carried_unviability + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 295 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_cached_mutant_is_settled_when_its_file_is_unchanged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 296 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_term_nobody_states_admits_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 297 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: digest + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_file_edited_since_the_plan_was_made_is_refused_rather_than_edited_by_stale_line_numbers + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 260 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: is_unchanged + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_cached_mutant_is_settled_when_its_file_is_unchanged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 252 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 285 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags_in + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_target_specific_rustflags_variable_moves_the_key + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 263 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::the_flags_in_the_key_are_the_ones_cargo_will_read + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 265 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: term + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_change_to_any_setting_the_workspace_holds_moves_the_config_term + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 299 + - file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::disabled_incremental_and_dry_runs_prepare_no_cache_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::shard::tests::different_ids_can_land_in_different_shards + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::shard::tests::one_shard_holds_everything + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::shard::tests::shards_are_reasonably_balanced + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: as Visit<'ast>>::visit_item + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 778 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Bitset::iter_set + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 120 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_dense_graph_matches_the_brute_force_oracle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::bitsets_preserve_indices_across_word_boundaries + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 141 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Bitset::or_with + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_dense_graph_matches_the_brute_force_oracle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 382 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Bitset::set + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::bitsets_preserve_indices_across_word_boundaries + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 353 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_dense_graph_matches_the_brute_force_oracle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 388 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 758 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 777 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::includes + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 895 + - candidate: + package: cargo-gamma-lib + target: cli + test: excluded_files_are_not_scanned + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 930 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::unmatched + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_file_filter_still_recognizes_a_test_only_module_declared_outside_the_filter + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 621 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 934 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::external_inputs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::discovery_resolves_external_inputs_only_for_cache_provenance + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 237 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::external_path_dependencies_and_local_build_scripts_are_cache_inputs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::naming_one_package_leaves_the_others_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::discovery_resolves_external_inputs_only_for_cache_provenance + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 201 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_gated_run_with_nothing_to_test_fails_rather_than_passing_silently + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 210 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_binary_whose_required_features_are_off_is_not_surveyed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 218 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_pattern_naming_another_package_is_still_matched_when_one_package_is_named + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 219 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::exclusion_validation_is_independent_of_package_selection + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 222 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_file_too_deep_to_walk_is_skipped_the_same_way_when_only_its_declarations_are_needed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 228 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_file_filter_still_recognizes_a_test_only_module_declared_outside_the_filter + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 233 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_diff_that_touches_no_source_file_selects_nothing_without_failing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 234 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::files_reached_twice_are_listed_once_and_test_only_modules_are_dropped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 235 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::package_scans_apply_exclusions_after_workspace_validation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 244 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 632 + - candidate: + package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 651 + - candidate: + package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 653 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 679 + - candidate: + package: cargo-gamma-lib + target: cli + test: excluded_files_are_not_scanned + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 695 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::into_plan + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::into_plan_absorbs_nonzero_counts_and_restores_mutant_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 691 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::packages + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_multi_file_run_edits_only_the_file_with_an_eligible_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 243 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 683 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::scan + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_scan_interns_package_names_across_source_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::sharding_counts_every_live_mutant_it_withholds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 239 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_changed_file_still_only_yields_mutants_on_the_changed_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 247 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_mutant_an_earlier_report_settled_is_kept_with_its_verdict_and_never_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 252 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::an_unsettled_mutant_is_still_work_in_an_iterative_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 285 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 676 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 681 + - candidate: + package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 703 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 705 + - candidate: + package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 707 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::settle + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_mutant_an_earlier_report_settled_is_kept_with_its_verdict_and_never_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 240 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: TraitImplementations<'_>::collect + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 719 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: apply_metadata_features + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::external_input_metadata_honours_every_form_of_feature_selection + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: at_workspace_root + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_root_package_workspace_honours_the_default_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 588 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_run_from_inside_a_member_selects_that_member_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 590 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: configuration + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_cross_target_build_surveys_the_code_that_target_compiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 538 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::discovery_resolves_external_inputs_only_for_cache_provenance + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 151 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::external_input_metadata_honours_every_form_of_feature_selection + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 158 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_registry_build_script_makes_the_snapshot_uncacheable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 569 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 603 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: is_mutable_target + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_binary_whose_required_features_are_off_is_not_surveyed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 606 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_binary_whose_required_features_are_on_is_surveyed_like_any_other + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 612 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::the_guard_runtime_yields_no_mutants_while_its_neighbours_still_do + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 615 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 887 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: item_attributes + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 301 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: metadata_feature_options + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_feature_selection_is_carried_into_the_metadata_it_surveys + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::package_scans_apply_exclusions_after_workspace_validation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 293 + - candidate: + package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 712 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: normalize_file_lists + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::collection_ordering_helpers_sort_and_deduplicate_their_inputs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: normalized_skips + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_closed_results_pipe_ends_a_listing_successfully_without_a_diagnostic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 109 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_file_too_deep_to_walk_is_left_out_by_name_rather_than_stopping_the_scan + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 116 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::collection_ordering_helpers_sort_and_deduplicate_their_inputs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 118 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: owning_package + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_run_from_inside_a_member_selects_that_member_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 583 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_of + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_file_too_deep_to_walk_is_skipped_the_same_way_when_only_its_declarations_are_needed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 334 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_file_too_deep_to_walk_is_skipped_the_same_way_when_only_its_declarations_are_needed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 324 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_diff_that_touches_no_source_file_selects_nothing_without_failing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 330 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: placed_under + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_member_outside_the_workspace_root_is_refused_rather_than_given_an_absolute_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 537 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 925 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: plan_survey + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::planning_announces_the_scan_and_packages_and_starts_ordinals_at_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 629 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 339 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_dependent_of_an_opaque_package_is_never_ordered_before_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 350 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_changed_file_still_only_yields_mutants_on_the_changed_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 354 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_dependent_reaches_what_it_depends_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 356 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_package_that_depends_through_a_non_member_reaches_the_whole_workspace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 357 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 752 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 820 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 472 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_dense_graph_matches_the_brute_force_oracle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 502 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_package_that_depends_through_a_non_member_reaches_the_whole_workspace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 503 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_changed_file_still_only_yields_mutants_on_the_changed_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 511 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_full_cycle_collapses_into_one_component_that_reaches_itself_and_its_own_dependency + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 528 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_dependent_of_an_opaque_package_is_never_ordered_before_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 544 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::an_opaque_member_of_a_cycle_taints_the_whole_component + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 550 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 832 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 914 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 926 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_mutant_from_a_package_no_file_was_walked_for_does_not_inflate_anothers_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 275 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 692 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: scan + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_scan_interns_package_names_across_source_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 312 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_file_too_deep_to_walk_is_skipped_the_same_way_when_only_its_declarations_are_needed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 315 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::files_reached_twice_are_listed_once_and_test_only_modules_are_dropped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 317 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::scanning_an_unchanged_tree_twice_produces_the_same_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 318 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 320 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::package_scans_apply_exclusions_after_workspace_validation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 322 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 723 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_file_that_does_not_parse_names_the_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 729 + - candidate: + package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 848 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: selected_packages + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_narrow_survey_keeps_unselected_dependency_roots + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 580 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_root_package_workspace_honours_the_default_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 581 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::the_whole_workspace_is_selected_only_when_asked_for + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 587 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 877 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: sort_paths + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::collection_ordering_helpers_sort_and_deduplicate_their_inputs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: sort_target_files + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::collection_ordering_helpers_sort_and_deduplicate_their_inputs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: sorted + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::collection_ordering_helpers_sort_and_deduplicate_their_inputs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_narrow_survey_keeps_unselected_dependency_roots + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 352 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 366 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_dependent_reaches_what_it_depends_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 389 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_changed_file_still_only_yields_mutants_on_the_changed_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 397 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_full_cycle_collapses_into_one_component_that_reaches_itself_and_its_own_dependency + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 401 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_dense_graph_matches_the_brute_force_oracle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 410 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::randomized_graphs_with_cycles_and_opaque_nodes_match_the_brute_force_oracle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 434 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_chain_gives_every_node_a_strictly_smaller_id_than_its_predecessor + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 449 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 770 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: test_targets + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::test_target_names_are_sorted_and_deduplicated_across_packages + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 145 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::every_test_target_in_the_workspace_is_named + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 622 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: unknown_packages + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_changed_file_still_only_yields_mutants_on_the_changed_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 605 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_package_that_is_not_in_the_workspace_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 608 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: validate_trait_exclusions + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::every_mutant_exclusion_rule_must_match + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 299 + - candidate: + package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 725 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: walk_rust_files + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_directory_that_cannot_be_walked_is_reported_rather_than_passed_off_as_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 624 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 905 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 933 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + item: work + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_file_too_deep_to_walk_is_left_out_by_name_rather_than_stopping_the_scan + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 338 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_worker_that_panics_while_parsing_does_not_wedge_the_others_at_the_barrier + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 345 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_stated_value_that_cannot_be_honoured_fails_the_scan_rather_than_being_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 347 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 740 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_file_that_does_not_parse_names_the_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 742 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 766 + - file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::capture_with_external + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_written_artifact_reads_back_as_what_was_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::an_external_path_dependency_change_carries_neither_verdicts_nor_unviability + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::workspace_snapshot::tests::an_ancestor_path_dependency_does_not_recapture_the_workspace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::file + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_written_artifact_reads_back_as_what_was_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::is_compilation_input + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_narrowed_run_drops_prior_entries_after_any_workspace_input_changes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_narrow_run_writes_back_safe_unviability_after_an_unrelated_change + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::every_global_and_package_compilation_input_invalidates_unviability + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_workspace_dependency_change_invalidates_dependent_unviability + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::matches_compilation_inputs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_narrow_run_writes_back_safe_unviability_after_an_unrelated_change + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_narrowed_run_drops_prior_entries_after_any_workspace_input_changes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::an_external_path_dependency_change_carries_neither_verdicts_nor_unviability + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::matches_current + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_written_artifact_reads_back_as_what_was_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_revert_to_the_original_bytes_does_not_restore_the_snapshot + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::recapture + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_written_artifact_reads_back_as_what_was_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_written_artifact_reads_back_as_what_was_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_carried_entry_is_dropped_once_its_file_changes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::promotion_orders_by_file_and_then_by_id + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: exclusions + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_written_artifact_reads_back_as_what_was_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_carried_entry_is_dropped_once_its_file_changes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::target_and_scratch_artifacts_do_not_invalidate_the_workspace_snapshot + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: modified + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_revert_to_the_original_bytes_does_not_restore_the_snapshot + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 116 + - file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: modified_at + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::a_revert_to_the_original_bytes_does_not_restore_the_snapshot + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 108 + - file: crates/cargo-gamma-lib/src/docs.rs + item: block + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::an_unknown_block_name_is_refused_rather_than_rendered_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: docs + test: one_row_of_every_generated_block_is_pinned_to_a_hand_written_expectation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-gamma-lib/src/docs.rs + item: commands + candidates: + - candidate: + package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - file: crates/cargo-gamma-lib/src/docs.rs + item: escape + candidates: + - candidate: + package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 159 + - candidate: + package: cargo-gamma-lib + target: docs + test: one_row_of_every_generated_block_is_pinned_to_a_hand_written_expectation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 160 + - file: crates/cargo-gamma-lib/src/docs.rs + item: family_summary + candidates: + - candidate: + package: cargo-gamma-lib + target: docs + test: one_row_of_every_generated_block_is_pinned_to_a_hand_written_expectation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + candidates: + - candidate: + package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + candidates: + - candidate: + package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - file: crates/cargo-gamma-lib/src/docs.rs + item: mutators + candidates: + - candidate: + package: cargo-gamma-lib + target: docs + test: one_row_of_every_generated_block_is_pinned_to_a_hand_written_expectation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - file: crates/cargo-gamma-lib/src/docs.rs + item: options + candidates: + - candidate: + package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-gamma-lib/src/docs.rs + item: presets + candidates: + - candidate: + package: cargo-gamma-lib + target: docs + test: one_row_of_every_generated_block_is_pinned_to_a_hand_written_expectation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - file: crates/cargo-gamma-lib/src/docs.rs + item: question + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::an_unrecognized_family_name_is_given_no_question_rather_than_a_guess + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-lib + target: docs + test: one_row_of_every_generated_block_is_pinned_to_a_hand_written_expectation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - candidate: + package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - file: crates/cargo-gamma-lib/src/docs.rs + item: spelling + candidates: + - candidate: + package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - file: crates/cargo-gamma-lib/src/docs.rs + item: usage + candidates: + - candidate: + package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - file: crates/cargo-gamma-lib/src/docs.rs + item: value_of + candidates: + - candidate: + package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - file: crates/cargo-gamma-lib/src/elements/digest.rs + item: Digest<'_>::ensure_ours + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_report_this_tool_did_not_write_settles_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/elements/digest.rs + item: MutantDigest<'_>::settled_outcome + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_digest_borrows_its_verdicts_and_leaves_the_embedded_source_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-gamma-lib/src/elements/digest.rs + item: settled_mutants + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_report_this_tool_did_not_write_settles_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_report_that_does_not_identify_itself_settles_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - file: crates/cargo-gamma-lib/src/elements/digest.rs + item: settled_verdict + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_digest_borrows_its_verdicts_and_leaves_the_embedded_source_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_flake_is_not_settled_but_a_real_suppression_is + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_timeout_exports_as_undetected_without_losing_its_verdict + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::only_settled_mutants_are_carried_forward + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_status_with_no_reason_to_disambiguate_it_is_not_settled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + item: create_parents + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + item: discard + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::publication::tests::a_staging_file_that_cannot_be_removed_is_reported_with_the_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + item: matches_contents + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_save_after_validation_and_before_suppress_publication_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + item: publish + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::publication::tests::a_publish_sync_failure_removes_its_staging_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::publication::tests::publishing_takes_a_free_name_and_leaves_a_taken_one_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + item: remove_if_unchanged + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_failed_hints_rollback_leaves_a_later_successful_promotion_intact + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::publication::tests::a_conditional_removal_reports_post_unlink_sync_failure_as_published + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + item: remove_staging + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + item: replace + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::record::tests::failed_record_publications_preserve_the_prior_generation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + item: scratch_path + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::publication::tests::a_destination_without_a_file_name_uses_the_report_fallback + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + item: stage + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_if_unchanged + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_save_after_validation_and_before_suppress_publication_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_scratch_identity + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::publication::tests::scratch_entropy_includes_the_process_and_invocation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_streamed + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: ::default + candidates: + - candidate: + package: cargo-gamma-lib + target: schema_conformance + test: the_emitted_document_matches_the_committed_one_field_for_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 388 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::the_population_can_be_written_as_a_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 142 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_report_counts_the_mutants_its_run_never_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 175 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 311 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: is_uri + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::branding_homepage_uris_follow_the_schema_format + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 229 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: number + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 217 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 218 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: reason_for + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_flaky_mutant_keeps_the_test_to_fix_in_its_status_reason + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_suppression_carries_its_reason_and_tag_into_the_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_status_with_no_reason_to_disambiguate_it_is_not_settled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_killed_mutant_without_a_named_test_falls_back_to_its_note + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 129 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::unviable_and_timeout_mutants_explain_their_status + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 130 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_mutant_the_build_gave_up_on_is_not_settled_but_a_real_suppression_is + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 139 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::an_out_of_memory_mutant_keeps_its_note_in_the_status_reason + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 160 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::an_uncovered_mutant_explains_why_coverage_can_still_be_complete + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 167 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_bom_embedded_in_report_source_offsets_first_line_columns + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 270 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::compact_report_fields_remain_json_strings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 299 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::an_untimed_mutant_omits_its_duration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 300 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 314 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::a_report_this_tool_did_not_write_settles_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 181 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unsupported_or_malformed_schema_versions_are_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 208 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 319 + - candidate: + package: cargo-gamma-lib + target: schema_conformance + test: every_file_entry_has_the_required_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 394 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: to_json + candidates: + - candidate: + package: cargo-gamma-lib + target: schema_conformance + test: every_file_entry_has_the_required_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 400 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 344 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::serialization_refuses_reports_outside_the_adopted_schema + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::typed_reports_reject_two_results_for_one_mutant_id + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 304 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::serialization_refuses_non_finite_durations_before_publishing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 307 + - candidate: + package: cargo-gamma-lib + target: schema_conformance + test: every_file_entry_has_the_required_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 412 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_files + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 358 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_framework + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 384 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_location + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 365 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 359 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutants + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 354 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_position + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 226 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 373 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: elements::report::tests::serialization_refuses_reports_outside_the_adopted_schema + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-gamma-lib + target: schema_conformance + test: every_file_entry_has_the_required_fields + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 402 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 211 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 324 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema_version + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 333 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 223 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 337 + - file: crates/cargo-gamma-lib/src/elements/report.rs + item: write_json + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 318 + - file: crates/cargo-gamma-lib/src/error.rs + item: ::fmt + candidates: + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-gamma-lib/src/error.rs + item: ::source + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::engine_errors_preserve_classification_and_causes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - file: crates/cargo-gamma-lib/src/error.rs + item: Error::append_message + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_baseline_error_writes_its_record_and_the_diagnostics_bundle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-gamma-lib/src/error.rs + item: Error::artifact + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_baseline_error_writes_its_record_and_the_diagnostics_bundle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-gamma-lib/src/error.rs + item: Error::caused_by + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-gamma-lib/src/error.rs + item: Error::message + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::message_is_preserved + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - file: crates/cargo-gamma-lib/src/error.rs + item: Error::new + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::errors_are_not_usage_errors_by_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-gamma-lib/src/error.rs + item: Error::with_artifact + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_baseline_error_writes_its_record_and_the_diagnostics_bundle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-gamma-lib/src/estimate.rs + item: Estimate::high + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_error_bar_brackets_the_estimate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_005_the_projected_range_never_reaches_past_the_ceiling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - file: crates/cargo-gamma-lib/src/estimate.rs + item: Estimate::low + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_error_bar_brackets_the_estimate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-gamma-lib/src/estimate.rs + item: Estimate::worst_case + candidates: + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_005_the_projected_range_never_reaches_past_the_ceiling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_005_the_worst_case_pays_for_confirming_every_timeout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 111 + - file: crates/cargo-gamma-lib/src/estimate.rs + item: project + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::only_mutants_that_would_run_are_counted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::parallelism_divides_the_projection + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::zero_jobs_does_not_divide_by_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 80 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_worst_case_pays_for_confirming_every_timeout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_005_the_projected_range_never_reaches_past_the_ceiling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - file: crates/cargo-gamma-lib/src/estimate.rs + item: render + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::only_the_binaries_a_mutant_reaches_are_charged_for_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::parallelism_divides_the_projection + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::hanging_mutants_cost_more_than_mutants_that_are_judged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_005_the_projected_range_never_reaches_past_the_ceiling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - file: crates/cargo-gamma-lib/src/estimate.rs + item: stall_share_high + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::baseline_progress_advances_once_for_every_finished_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::hanging_mutants_cost_more_than_mutants_that_are_judged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_005_the_projected_range_never_reaches_past_the_ceiling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 99 + - file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: baseline_failure_description + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_baseline_that_outgrows_its_ceiling_names_the_ceiling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: baseline_failure_error + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_baseline_that_outgrows_its_ceiling_names_the_ceiling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: duration_ms + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_repeated_baseline_test_failure_still_stops_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_baseline_that_outgrows_its_ceiling_names_the_ceiling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 98 + - file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_repeated_baseline_test_failure_still_stops_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_transient_baseline_test_failure_gets_one_clean_retry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: retry_failed_binaries + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_repeated_baseline_test_failure_still_stops_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_transient_baseline_test_failure_gets_one_clean_retry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_repeated_baseline_test_failure_still_stops_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_partial_stream_note_from_a_baseline_worker_reaches_the_parent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::baseline_progress_advances_once_for_every_finished_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - file: crates/cargo-gamma-lib/src/exec/build/blame.rs + item: blame + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::blame_and_region_collection_ignore_messages_without_usable_spans + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_context_mismatch_changes_the_order_and_never_the_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_diagnostic_that_encloses_guards_keeps_only_the_smallest_reported_region + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_secondary_span_on_innocent_original_text_blames_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_diagnostic_inside_a_guard_blames_the_innermost_enclosing_site + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::diagnostics_are_matched_by_suffix_when_cargo_spells_paths_differently + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::diagnostic_spans_inside_mutated_text_name_that_mutant_exactly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_secondary_span_intersecting_generated_text_blames_that_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_diagnostic_that_lands_on_a_guard_is_still_blamed_on_that_guard_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_wider_enclosing_diagnostic_processed_after_a_narrower_one_does_not_replace_its_attribution + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - file: crates/cargo-gamma-lib/src/exec/build/blame.rs + item: clamped + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 80 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_context_mismatch_changes_the_order_and_never_the_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - file: crates/cargo-gamma-lib/src/exec/build/blame.rs + item: covers + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_context_mismatch_changes_the_order_and_never_the_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_diagnostic_that_lands_on_a_guard_is_still_blamed_on_that_guard_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - file: crates/cargo-gamma-lib/src/exec/build/blame.rs + item: diverted + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_move_error_is_blamed_on_the_deletion_that_changed_which_paths_exist + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::flow_sensitive_regions_match_guards_by_path_suffix + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_region_with_no_deletion_falls_back_to_every_guard_in_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - file: crates/cargo-gamma-lib/src/exec/build/blame.rs + item: overlaps + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_secondary_span_intersecting_generated_text_blames_that_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_secondary_span_on_innocent_original_text_blames_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - file: crates/cargo-gamma-lib/src/exec/build/blame.rs + item: position_range + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_context_mismatch_changes_the_order_and_never_the_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 99 + - file: crates/cargo-gamma-lib/src/exec/build/blame.rs + item: regions + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_move_error_is_blamed_on_the_deletion_that_changed_which_paths_exist + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - file: crates/cargo-gamma-lib/src/exec/build/complaints.rs + item: complaints + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_that_never_reached_the_compiler_says_so_rather_than_blaming_the_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_that_reported_nothing_is_not_described_as_a_compile_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_carriage_return_progress_bar_does_not_bury_the_error_it_was_drawn_around + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_leading_blank_line_on_stderr_is_dropped_rather_than_kept + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_failure_with_nothing_on_either_stream_says_so_rather_than_showing_a_blank + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-gamma-lib/src/exec/build/complaints.rs + item: diagnostics + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_that_is_being_mutated_still_stops_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::diagnostics_are_read_from_the_json_stream + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - file: crates/cargo-gamma-lib/src/exec/build/complaints.rs + item: leading + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_that_is_being_mutated_still_stops_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_long_diagnostic_list_keeps_the_first_errors_whole_and_counts_the_rest + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_diagnostic_list_within_the_limit_is_quoted_whole_and_counts_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-gamma-lib/src/exec/build/complaints.rs + item: manifests_of + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::mutated_package_manifests_include_root_and_nested_members + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-gamma-lib/src/exec/build/complaints.rs + item: prioritize + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::errors_in_the_mutated_packages_are_quoted_before_anyone_elses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: collect + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_stopped_by_its_budget_takes_its_descendants_with_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: compile + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: finish_readers + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 131 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_finished_build_is_collected_without_waiting_for_its_survivors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::finishing_readers_drains_a_backpressured_narration_channel + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 146 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 180 + - file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: is_progress + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_carriage_return_progress_bar_does_not_bury_the_error_it_was_drawn_around + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_that_never_reached_the_compiler_says_so_rather_than_blaming_the_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::finishing_readers_drains_a_backpressured_narration_channel + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 71 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 165 + - file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::the_reader_splits_on_carriage_returns_as_well_as_newlines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_past_its_output_limit_fails_without_retaining_the_excess + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::an_over_limit_pipe_keeps_only_its_configured_prefix + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 98 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_pipe_that_fails_part_way_is_not_read_as_the_end_of_the_stream + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_context_mismatch_changes_the_order_and_never_the_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 109 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::default_output_limits_accept_large_streams_and_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 118 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 169 + - file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: rendered_diagnostic + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_diagnostic_is_surfaced_the_way_the_compiler_rendered_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_message_without_a_rendering_yields_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_line_that_is_not_a_compiler_message_yields_no_diagnostic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: run_cargo + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_nobody_is_mutating_is_dropped_rather_than_failing_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 138 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_stopped_by_its_budget_reports_no_stdout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 144 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 188 + - file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: spawn_failure + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_cargo_that_cannot_be_found_names_the_program_and_where_it_came_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_missing_scratch_tree_is_named_rather_than_blamed_on_cargo + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 152 + - file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_inside_its_budget_is_collected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_stopped_by_its_budget_reports_no_stdout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_finished_build_is_collected_without_waiting_for_its_survivors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_past_its_output_limit_fails_without_retaining_the_excess + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 154 + - file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: cargo_message + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_backslash_that_is_not_an_escape_survives_into_the_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: compiled_sources + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_backslash_that_is_not_an_escape_survives_into_the_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_dep_info_path_that_cannot_be_read_as_text_is_skipped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_dep_info_line_without_a_rule_separator_is_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_backslash_that_is_not_an_escape_survives_into_the_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::only_the_dep_info_belonging_to_this_build_is_read + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_backslash_that_is_not_an_escape_survives_into_the_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_dependency_path_containing_an_escaped_space_is_read_as_one_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: normalize_separators + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_backslash_that_is_not_an_escape_survives_into_the_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 91 + - file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Original::instrumented + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::splices::tests::instrumented_text_retains_the_original_byte_order_mark + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_second_round_rewrites_only_the_files_it_withdrew_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_live_mutant_whose_span_no_longer_fits_the_file_is_an_internal_error_rather_than_a_silent_survivor + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 130 + - file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::original + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 140 + - file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::sorting_a_staged_plan_reindexes_mutants_before_the_baseline_splice + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::each_build_gets_the_whole_round_budget_rather_than_what_earlier_builds_left + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_second_round_rewrites_only_the_files_it_withdrew_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 120 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::an_unattributed_failure_is_isolated_to_the_mutant_that_provably_breaks_the_build + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 127 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_context_mismatch_changes_the_order_and_never_the_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 129 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 136 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::abandon + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 254 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_stage_that_cannot_be_converged_abandons_its_mutants_as_never_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 269 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_stage_the_run_gave_up_on_leaves_a_tree_the_next_build_can_still_compile + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 282 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::begin_convergence + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::each_build_calibrates_its_own_timeout_reference + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::check + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_nobody_is_mutating_is_dropped_rather_than_failing_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_that_is_being_mutated_still_stops_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 251 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 331 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::compile + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::each_build_gets_the_whole_round_budget_rather_than_what_earlier_builds_left + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_stage_that_cannot_be_converged_abandons_its_mutants_as_never_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::the_rollback_limit_error_describes_only_the_build_that_hit_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 103 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 333 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::finish + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_narrowed_build_that_fails_is_retried_across_the_whole_workspace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 283 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 284 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 298 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_handful_of_hints_is_not_worth_a_probe_round + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 302 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_whole_workspace_build_that_fails_is_reported_rather_than_retried + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 305 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::guided + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_context_mismatch_changes_the_order_and_never_the_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::isolate_scoped + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::an_item_only_interaction_settles_its_mutants_to_not_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::an_unattributed_failure_is_isolated_to_the_mutant_that_provably_breaks_the_build + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::preflight + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_nobody_is_mutating_is_dropped_rather_than_failing_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 230 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_check_that_only_the_whole_workspace_passes_says_so + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 236 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_context_mismatch_changes_the_order_and_never_the_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 167 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 188 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_context_mismatch_changes_the_order_and_never_the_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 197 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_probe_defers_mutants_outside_the_attribution_scope + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 206 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::the_probe_set_is_ordered_by_the_plan_rather_than_by_the_hint_set + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 237 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::retreat + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_nobody_is_mutating_is_dropped_rather_than_failing_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 238 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::rollback_limit_error + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::build_errors_are_formatted_without_running_cargo + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 242 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_stage_that_cannot_be_converged_abandons_its_mutants_as_never_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 243 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::scoped_withdrawn + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_stage_that_cannot_be_converged_abandons_its_mutants_as_never_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 80 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::workspace_stage_withdraws_mutants_outside_the_attribution_scope + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::settle + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 276 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 277 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::an_item_only_interaction_settles_its_mutants_to_not_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 286 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 335 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::stage + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_stage_that_cannot_be_converged_abandons_its_mutants_as_never_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 259 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_whole_workspace_requirement_survives_into_the_staged_builds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 260 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::subset_fails + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 148 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::an_item_only_interaction_settles_its_mutants_to_not_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 151 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::an_unattributed_failure_is_isolated_to_the_mutant_that_provably_breaks_the_build + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::tally + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 300 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::the_census_counts_mutants_rather_than_diagnostics_and_leads_with_the_densest_pair + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 306 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::unattributed_build_error + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_that_never_reached_the_compiler_says_so_rather_than_blaming_the_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 229 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_that_no_guard_explains_stops_with_the_compiler_output + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 231 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::withdrawn + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::each_build_gets_the_whole_round_budget_rather_than_what_earlier_builds_left + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 313 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 336 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: Preflight::narrow + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_nobody_is_mutating_is_dropped_rather_than_failing_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: retain_blamed + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::diagnostic_blame_is_limited_to_the_stage_being_judged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - file: crates/cargo-gamma-lib/src/exec/build.rs + item: withdraw_uncompiled + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_compiled_set_disjoint_from_the_survey_withdraws_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 312 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_mutant_in_a_file_whose_path_contains_a_space_is_not_excused_as_unbuilt + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 314 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 341 + - file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: BuildLimits::budget + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_stopped_by_its_budget_reports_no_stdout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::a_multiplier_needs_a_first_round_to_scale_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::the_tighter_of_the_two_wins + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: CargoOptions::cfg_build + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::the_build_discovery_is_given_carries_the_command_lines_profile_and_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: CargoOptions::extend_build_args + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::build_args_are_rendered_in_cargo_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::a_frozen_lockfile_is_treated_the_same_way + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: CargoOptions::extend_nextest_args + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::nextest_args_use_its_cargo_profile_spelling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: CargoOptions::validate + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::verification_keeps_the_configuration_generation_merged_before_the_edit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::discovery_refuses_inline_and_file_cargo_configuration_before_metadata + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: adjust_lock_flags + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::a_frozen_lockfile_is_treated_the_same_way + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::a_lockfile_promise_gamma_cannot_keep_becomes_the_half_it_can + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::cargo_options::tests::lockfile_promises_become_one_offline_flag + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: ::fmt + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::census_read_errors_expose_io_causes_but_not_protocol_limits + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 282 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: ::source + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::census_read_errors_expose_io_causes_but_not_protocol_limits + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 283 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: Census::len + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::taking_a_census_skips_unlistable_binaries_and_work_that_cannot_repay + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: Census::persist_clusters + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::durable_reach_clusters_sort_by_normalized_site_before_occurrence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::durable_reach_clusters_intern_identical_test_sets + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::durable_reach_clusters_are_bounded_and_preserve_untouched_sites + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::durable_reach_clusters_discard_stale_and_unprofitable_records + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: Census::selection + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_site_reports_the_tests_that_reached_it_and_no_others + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_malformed_group_keeps_other_positive_observations_as_hints_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_duplicated_site_within_one_sample_does_not_inflate_the_saturation_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_site_most_of_the_suite_reaches_is_not_worth_naming + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: Census::work + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::estimate_uses_measured_tests_and_keeps_whole_and_uncovered_distinct + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::persisted_reach_hints_are_bounded_by_half_the_binary_suite + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::partial_reach_is_only_a_checked_hint + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: Planner<'_,S,E>::explore + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 136 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::the_budget_keeps_completed_samples_as_hints_without_trusting_missing_ones + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 144 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 145 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_malformed_group_keeps_other_positive_observations_as_hints_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 155 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::inconsistent_subdivision_cannot_prove_absence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 159 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: Reach::intern_set + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::identical_reach_sets_are_interned + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::durable_reach_clusters_discard_stale_and_unprofitable_records + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::durable_reach_clusters_intern_identical_test_sets + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: Reach::tests_for + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: Scope::names + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_malformed_group_keeps_other_positive_observations_as_hints_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: can_repay + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::census_must_cost_less_than_its_maximum_possible_savings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: ceil_sqrt + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 210 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_duplicated_site_within_one_sample_does_not_inflate_the_saturation_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 215 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_malformed_group_keeps_other_positive_observations_as_hints_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 220 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::many_workers_reach_the_same_census_as_one_worker + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 222 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: contiguous_children + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 185 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_duplicated_site_within_one_sample_does_not_inflate_the_saturation_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 196 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::scope_planning_prefers_module_hierarchy_and_falls_back_to_contiguous_chunks + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 197 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::many_workers_reach_the_same_census_as_one_worker + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 205 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::inconsistent_subdivision_cannot_prove_absence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 206 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_malformed_group_keeps_other_positive_observations_as_hints_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 212 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: decode + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_lone_seal_is_an_empty_reach_not_a_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 295 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 296 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_truncated_census_is_refused_rather_than_read_as_far_as_it_goes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 304 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::anything_after_the_seal_discards_the_census + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 310 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::the_overflow_marker_discards_the_whole_census_even_when_it_is_sealed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 314 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: initial_scopes + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 156 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 163 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::many_workers_reach_the_same_census_as_one_worker + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 164 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: list + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_listing_is_narrowed_by_the_filters_the_user_gave + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: listed + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_listing_is_narrowed_by_the_filters_the_user_gave + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::listing_reader_thread_failure_degrades_to_no_census + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::listing_output_beyond_the_cap_is_not_authoritative + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 126 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: listing_command + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: mixed + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_malformed_group_keeps_other_positive_observations_as_hints_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 218 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::inconsistent_subdivision_cannot_prove_absence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 225 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: module_children + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 173 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_duplicated_site_within_one_sample_does_not_inflate_the_saturation_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 177 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::localized_modules_use_fewer_total_launches_than_whole_binary_and_per_case_plans + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 183 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 194 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: read_bounded + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::read_bounded_accepts_the_protocol_maximum_and_refuses_excess + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 285 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: sample + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::walked_counts_launches_that_happened_not_tests_that_were_listed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 281 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: scale_duration + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::inconsistent_subdivision_cannot_prove_absence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 252 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::subdivision_requires_a_clear_conservative_profit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 253 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::many_workers_reach_the_same_census_as_one_worker + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 262 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: subdivision + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::inconsistent_subdivision_cannot_prove_absence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 166 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: subdivision_repays + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::inconsistent_subdivision_cannot_prove_absence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 232 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::many_workers_reach_the_same_census_as_one_worker + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 233 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::subdivision_requires_a_clear_conservative_profit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 234 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: take + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: walk + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 140 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: walk_with + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 260 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 266 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::localized_modules_use_fewer_total_launches_than_whole_binary_and_per_case_plans + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 271 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_malformed_group_keeps_other_positive_observations_as_hints_only + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 274 + - file: crates/cargo-gamma-lib/src/exec/census.rs + item: working_directory + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_listing_is_narrowed_by_the_filters_the_user_gave + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 138 + - file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::config::tests::the_default_timeout_never_falls_below_the_floor + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_suite_that_never_goes_quiet_gets_the_stall_floor_rather_than_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::array_rustflags_from_workspace_config_reach_scratch_cargo_once + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_compile_fail_target_outside_the_oracle_is_not_warned_about + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - file: crates/cargo-gamma-lib/src/exec/config.rs + item: resolve_jobs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_censused_run_records_the_census_phase_in_its_bundle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::every_run_setting_reaches_its_execution_config_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: Reflinks::new + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::reflink_capability_is_scoped_to_one_operation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: Reflinks::unsupported + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::reflink_capability_is_scoped_to_one_operation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: Reflinks::worth_trying + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::reflink_capability_is_scoped_to_one_operation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_entry + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_destination_entry_that_cannot_be_replaced_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 146 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_file + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_files_missing_parent_is_created_on_demand + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 153 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_symlink + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_relative_directory_symlink_is_recreated_as_a_directory_link + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tracked + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_tracked_file_is_copied_even_when_an_ignore_rule_matches_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_directory_that_is_not_a_repository_is_copied_whole + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::array_rustflags_from_workspace_config_reach_scratch_cargo_once + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::an_untracked_ignored_file_is_not_copied + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_missing_source_tree_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_destination_entry_that_cannot_be_replaced_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 131 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::pruning_an_entry_without_a_file_name_is_not_a_match + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::build_output_and_version_control_are_skipped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 111 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_nested_target_module_survives + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_tracked_file_under_a_pruned_directory_is_still_skipped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 120 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned_anywhere + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_tracked_file_under_a_pruned_directory_is_still_skipped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_tracked_file_is_copied_even_when_an_ignore_rule_matches_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: place + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_relative_directory_symlink_is_recreated_as_a_directory_link + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 126 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 151 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: record + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_destination_entry_that_cannot_be_replaced_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::a_tracked_file_is_copied_even_when_an_ignore_rule_matches_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::copy::tests::asking_a_non_repository_for_its_tracked_files_yields_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 80 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + item: visible_vcs_metadata + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::git_directories_and_pointer_files_are_exposed_to_the_scratch_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 129 + - file: crates/cargo-gamma-lib/src/exec/events.rs + item: Events::begin + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::events::tests::default_event_methods_are_expressed_in_terms_of_phase_and_outcome + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/exec/events.rs + item: Events::complete + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::events::tests::default_event_methods_are_expressed_in_terms_of_phase_and_outcome + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-lib/src/exec/events.rs + item: Events::end + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::events::tests::default_event_methods_are_expressed_in_terms_of_phase_and_outcome + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-lib/src/exec/events.rs + item: Events::outcome + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::events::tests::default_event_methods_are_expressed_in_terms_of_phase_and_outcome + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::admits + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::an_option_value_is_not_mistaken_for_a_filter + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::the_users_exact_flag_makes_their_filters_whole_name_matches + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::several_filters_are_matched_with_or_exactly_as_libtest_does + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::flags + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::an_option_value_is_not_mistaken_for_a_filter + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::parse + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_listing_is_narrowed_by_the_filters_the_user_gave + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::a_listing_drops_only_the_format_the_user_asked_for + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::an_option_value_is_not_mistaken_for_a_filter + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::the_users_exact_flag_makes_their_filters_whole_name_matches + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::selecting + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_listing_is_narrowed_by_the_filters_the_user_gave + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::a_listing_drops_only_the_format_the_user_asked_for + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::harness_filters::tests::the_joined_spelling_of_a_format_is_dropped_from_a_listing_too + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::forget + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::killers::tests::forgetting_a_mutant_drops_its_hint + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::hint + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::killers::tests::a_map_round_trips_through_the_record + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::load + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::killers::tests::a_map_round_trips_through_the_record + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::merge_generalized + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::record + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::killers::tests::a_map_round_trips_through_the_record + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::store + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::killers::tests::a_map_round_trips_through_the_record + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - file: crates/cargo-gamma-lib/src/exec/loader.rs + item: joined + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::loader::tests::a_caller_with_no_search_path_gets_only_the_toolchain_directories + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::loader::tests::an_empty_library_list_does_not_set_a_loader_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - file: crates/cargo-gamma-lib/src/exec/loader.rs + item: stack_floor + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::loader::tests::stack_floor_keeps_a_larger_inherited_size + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::loader::tests::the_target_deps_directory_is_always_on_the_toolchain_library_path + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: FeatureSettings::apply + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_workspace_declared_default_features_false_survives_a_bare_workspace_true_inheritance + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 164 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 331 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: FeatureSettings::extract + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_workspace_declared_default_features_false_survives_a_bare_workspace_true_inheritance + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 165 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: FeatureSettings::merge + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_sibling_inside_the_copied_tree_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_patch_entry_that_is_not_a_table_does_not_stop_the_next_registry_from_being_anchored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_dependency_written_as_a_bare_version_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::every_kind_of_dependency_table_is_covered + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 99 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_table + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_dependency_written_as_a_bare_version_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 112 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::an_unrelated_dependency_cannot_occupy_the_runtime_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::target_specific_features_survive_being_linked_to_the_vendored_runtime + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::no_feature_settings_from_any_source_produce_the_existing_output + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 114 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::an_existing_runtime_is_redirected_before_its_package_is_instrumented + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 141 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_canonical_workspace_runtime_remains_available_to_inheriting_dependencies + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::an_unrelated_workspace_dependency_cannot_occupy_the_runtime_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 153 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::workspace_dependency_features_survive_being_redirected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 161 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::save + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 325 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::from_workspace + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::resolve + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_direct_dependency_does_not_acquire_unrelated_workspace_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::resolve_aliased + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::resolve_canonical + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::target_specific_workspace_true_inherits_only_its_own_key + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_cargo_config_path_override_is_anchored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 201 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_cargo_config_path_override_is_anchored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 255 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_legacy_cargo_config_name_is_anchored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 259 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 340 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_dependencies + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_dependency_written_as_a_bare_version_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 195 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_patch_entry_that_is_not_a_table_does_not_stop_the_next_registry_from_being_anchored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 199 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: append_flag + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::the_lint_cap_is_added_to_configured_rustflags_rather_than_replacing_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 319 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_target_entry_that_is_not_a_table_does_not_stop_the_cap_from_landing_elsewhere + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 320 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_rustflags_value_that_is_neither_an_array_nor_a_string_is_replaced + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 321 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_cargo_config_with_no_rustflags_gains_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 281 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::the_legacy_cargo_config_name_gains_the_cap_too + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 284 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::the_lint_cap_is_added_to_configured_rustflags_rather_than_replacing_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 290 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_tree_with_no_cargo_config_gets_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 292 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_scalar_build_configuration_is_reported_without_panicking + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 295 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::array_rustflags_from_workspace_config_reach_scratch_cargo_once + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 300 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 306 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_target_entry_that_is_not_a_table_does_not_stop_the_cap_from_landing_elsewhere + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 310 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_rustflags_value_that_is_neither_an_array_nor_a_string_is_replaced + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 312 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 343 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 167 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::an_unrelated_dependency_cannot_occupy_the_runtime_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 186 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::an_existing_runtime_dependency_is_replaced_by_the_vendored_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 190 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 334 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: escapes + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_sibling_inside_the_copied_tree_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_cargo_config_path_override_is_anchored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 209 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_leading_current_directory_component_does_not_change_whether_a_path_escapes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 216 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_path_leaving_the_copied_tree_is_anchored_even_from_a_nested_package + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 239 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: inherits_workspace_true + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_direct_dependency_does_not_acquire_unrelated_workspace_features + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: merge_feature_arrays + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 175 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::combined_workspace_and_member_features_survive_being_linked_to_the_vendored_runtime + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 176 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: normalize + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_cargo_config_path_override_is_anchored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 243 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::normalization_keeps_leading_parent_components + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 250 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: portable_path + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: calibrate_stall + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_suite_that_never_goes_quiet_gets_the_stall_floor_rather_than_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 320 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::stall_detection_stands_down_when_it_is_switched_off + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 325 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: census_targets + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::census_targets_only_selected_pending_sites_and_relevant_binaries + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 140 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 145 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_hint_naming_no_reachable_binary_is_treated_as_unhinted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 151 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 153 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_hinted_mutant_rides_along_on_a_binary_an_unhinted_mutant_already_justifies + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 155 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 207 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 331 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: describe + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_baseline_with_a_measured_peak_is_described_with_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 322 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: describe_stuck + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 172 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stuck_whole_workspace_build_says_so + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 190 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stuck_build_is_described_by_mutator_and_by_scope + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 194 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 166 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 177 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 328 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: narrowed_oracle + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_retreat_does_not_substitute_the_mutated_packages_for_the_oracle_the_caller_named + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 159 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_retreat_from_an_unrestricted_oracle_names_what_was_checked + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 167 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_retreat_that_empties_the_oracle_is_reported_rather_than_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 171 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_failure_with_nothing_on_either_stream_says_so_rather_than_showing_a_blank + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 350 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: settle_memory_control + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_defaulted_memory_policy_this_host_cannot_deliver_degrades_with_a_note + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 287 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::memory_control_that_was_never_asked_for_needs_no_host_support + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 290 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stated_memory_policy_this_host_cannot_deliver_is_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 295 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_defaulted_policy_this_host_can_deliver_degrades_with_no_baseline_to_derive_a_ceiling_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 305 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stated_ceiling_needs_no_baseline_to_derive_one_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 306 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stated_policy_this_host_can_deliver_still_errors_with_no_baseline_to_derive_a_ceiling_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 312 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 280 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 346 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: tally + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_run_whose_build_cannot_converge_still_writes_a_report_and_still_fails + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 185 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stuck_build_counts_only_what_it_gave_up_on + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 196 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_long_list_of_groups_is_capped_and_the_rest_counted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 198 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stuck_build_is_described_by_mutator_and_by_scope + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 200 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_cap_that_leaves_the_mutants_unjudged_names_the_package_that_could_judge_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 232 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_cap_the_caller_chose_is_left_to_stand + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 237 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_cap_whose_own_tests_reach_the_mutants_says_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 255 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::an_uncounted_suite_is_not_reported_as_an_empty_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 256 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::an_oracle_emptied_by_a_retreat_blames_the_retreat_rather_than_the_cap + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 260 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_package_nothing_else_links_gets_no_advice + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 265 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 266 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 348 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_compile_fail_targets + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_compile_fail_target_outside_the_oracle_is_not_warned_about + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 222 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_compile_fail_target_is_named_before_anything_is_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 223 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + item: workspace_stages + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::package_selection_keeps_narrow_stages_even_after_unrestricted_preflight + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 162 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::whole_workspace_selection_requires_wide_stages + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 163 + - file: crates/cargo-gamma-lib/src/exec/memory.rs + item: ::default + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_defaulted_policy_this_host_can_deliver_degrades_with_no_baseline_to_derive_a_ceiling_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::config::tests::memory_control_is_enforced_by_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::memory::tests::measuring_without_enforcing_never_produces_a_ceiling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::memory::tests::an_explicit_limit_overrides_whatever_the_baseline_measured + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::memory::tests::an_uncalibrated_run_gets_no_derived_ceiling_but_keeps_an_explicit_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::memory::tests::a_large_baseline_peak_gets_the_multiplier + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::memory::tests::a_small_baseline_peak_gets_the_absolute_headroom + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::memory::tests::a_large_baseline_peak_gets_the_multiplier + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::memory::tests::scaling_saturates_and_never_shrinks_the_peak + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - file: crates/cargo-gamma-lib/src/exec/nextest.rs + item: Harness::id + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_binary_nextest_never_listed_is_an_error_that_names_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/exec/nextest.rs + item: binary_ids + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_listing_yields_the_id_each_binary_is_known_by + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_listing_that_says_nothing_yields_no_ids + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-lib/src/exec/nextest.rs + item: filtersets + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_long_test_selection_runs_the_whole_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::selected_tests_form_one_parenthesized_union + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - file: crates/cargo-gamma-lib/src/exec/nextest.rs + item: first_failure + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::fuzz::a_nextest_failure_is_never_lost_among_arbitrary_output + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_failure_is_found_past_lines_that_are_not_failures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::fuzz::arbitrary_output_is_read_without_panicking + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - file: crates/cargo-gamma-lib/src/exec/nextest.rs + item: matcher + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_binary_id_becomes_an_exact_filterset_atom + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::nextest::tests::a_character_that_would_end_the_atom_is_escaped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-gamma-lib/src/exec/nextest.rs + item: nextest_binary + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::process_startup_calibrates_test_silence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::a_later_failure_does_not_replace_the_first + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::fuzz::a_libtest_failure_is_never_lost_among_arbitrary_output + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::a_line_that_is_not_a_test_result_does_not_rename_the_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::fuzz::output_from_a_target_that_announced_no_suite_is_never_a_verdict + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::each_runner_reads_only_its_own_announcement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::an_unwatched_run_records_no_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::a_single_test_is_announced_in_the_singular + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard_diagnostic + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::either_runtime_startup_marker_disqualifies_live_output + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::new + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::fuzz::output_from_a_target_that_announced_no_suite_is_never_a_verdict + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::diagnostic_output_cannot_forge_a_libtest_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::fuzz::a_libtest_failure_is_never_lost_among_arbitrary_output + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::a_later_failure_does_not_replace_the_first + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note_activity + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::either_runtime_startup_marker_disqualifies_live_output + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::process_startup_calibrates_test_silence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::the_longest_silence_is_the_one_remembered + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - file: crates/cargo-gamma-lib/src/exec/progress.rs + item: runtime_startup_failure + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::progress::tests::either_runtime_startup_marker_disqualifies_live_output + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - file: crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs + item: parse_extern + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::incomplete_invocations_and_pathless_externs_fail_open + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::parses_split_and_joined_rustc_options_without_mistaking_option_values_for_source + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 162 + - file: crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs + item: parse_invocation + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::incomplete_invocations_and_pathless_externs_fail_open + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::parses_split_and_joined_rustc_options_without_mistaking_option_values_for_source + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::capture_storage_failures_do_not_change_the_compiler_result + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::parses_split_codegen_options + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - file: crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs + item: publish_capture + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::a_new_build_recovers_from_interrupted_and_truncated_capture_entries + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::repeated_wrapper_publications_do_not_collide_on_the_process_id + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs + item: reset_capture_directory + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::a_new_build_recovers_from_interrupted_and_truncated_capture_entries + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - file: crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs + item: run_if_requested + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::capture_storage_failures_do_not_change_the_compiler_result + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::wrapper_mode_forwards_records_and_reports_failures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs + item: utf8 + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::rustc_wrapper::tests::incomplete_invocations_and_pathless_externs_fail_open + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 160 + - file: crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs + item: wrapper_path + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::calibrated + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_suite_that_never_goes_quiet_gets_the_stall_floor_rather_than_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::exceeded + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::stall::tests::a_line_of_output_clears_the_silence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::exceeded_at + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::stall::tests::the_stall_boundary_is_exclusive_and_is_pinned_on_both_sides_of_itself + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::stall::tests::a_line_of_output_clears_the_silence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::scaled + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_binary_that_goes_quiet_is_stalled_at_the_last_test_it_named + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::slack + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::stall::tests::without_a_budget_nothing_is_ever_declared_stalled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::slack_at + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::stall::tests::the_slack_falls_with_the_silence_and_stops_at_zero + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: BinaryIdentity::names + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_reach_candidate_is_released_only_at_its_canonical_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 300 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_candidate_is_demoted_after_two_misses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::persisted_file_binary_misses_demote_the_persisted_candidate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::positive_reach_is_reused_by_the_same_item_and_as_a_file_fallback + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 138 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::from_hints + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::promoted_item_and_file_hints_seed_a_clean_checkout_without_mutant_ids + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 596 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::persisted_file_binary_misses_demote_the_persisted_candidate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 597 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::observe + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_candidate_is_demoted_after_two_misses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 360 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 366 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::persisted_file_binary_misses_demote_the_persisted_candidate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 368 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::persist + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::scoped_learning_replaces_touched_files_and_preserves_untouched_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_candidate_is_demoted_after_two_misses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 140 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::same_item_exact_candidates_always_rank_before_file_binaries + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 440 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_reach_candidate_is_released_only_at_its_canonical_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 370 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::positive_reach_is_reused_by_the_same_item_and_as_a_file_fallback + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 380 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::scout + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::timed_out_and_exhausted_fallbacks_publish_without_overwriting + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 139 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: NegativeLearning::contains + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_never_generalizes_or_applies_to_nondeterministic_runs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 519 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 522 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: NegativeLearning::record + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 518 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: ProbeKind::attempt + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_grouped_census_probe_attributes_an_unnamed_failure_to_its_first_selected_case + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 159 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: ProbeKind::hit + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_grouped_census_probe_attributes_an_unnamed_failure_to_its_first_selected_case + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 155 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::hint + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 321 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_candidate_is_demoted_after_two_misses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 312 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::score + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_candidate_is_demoted_after_two_misses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 582 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: bounded_reach_hints + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::persisted_reach_hints_are_bounded_by_half_the_binary_suite + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: enumeration_note + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::an_empty_enumeration_output_raises_no_diagnostic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 470 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::enumeration_diagnostics_encode_controls_but_preserve_color + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 475 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: filtered_kill_is_final + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_group_census_hint_is_disabled_by_every_canonical_precedence_policy + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 170 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_confirmation_of_a_flaky_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 171 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: flaky_note + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_flaky_note_names_the_test_and_says_nothing_was_judged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 463 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_flaky_note_without_a_test_name_still_reads + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 467 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_later_candidate_kill_cannot_bypass_an_earlier_unjudged_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_mutant_no_binary_reaches_is_uncovered + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_hint_naming_a_test_the_users_filter_excludes_does_not_convict + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_file_local_killer_cannot_move_a_later_binary_before_a_timeout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 186 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_reach_candidate_is_released_only_at_its_canonical_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 201 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_safe_same_item_exact_candidate_waits_for_canonical_iteration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 220 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::another_item_reuses_the_binary_without_assuming_its_exact_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 222 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 236 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 265 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_confirmation_of_a_flaky_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 272 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_the_canonical_timeout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 572 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: memory_note + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_note_whose_figures_would_round_together_prints_the_exact_bytes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 448 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_run_that_only_reached_its_ceiling_is_not_described_as_having_passed_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 452 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_reported_peak_below_the_ceiling_is_described_as_measured_against_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 454 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: mutant_cost + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_hinted_mutant_costs_less_than_an_unhinted_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 484 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::scheduling_cost_handles_unreachable_and_partial_census_sites + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 491 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 605 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: negative_excludes + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 269 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 289 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_negative_reach_cannot_bypass_verdict_precedence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 575 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: negative_reach_is_final + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 292 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::only_complete_deterministic_whole_passes_publish_negative_reach + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 294 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: persist_learning + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::scoped_learning_replaces_touched_files_and_preserves_untouched_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: probe + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_later_candidate_kill_cannot_bypass_an_earlier_unjudged_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 527 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_safe_same_item_exact_candidate_waits_for_canonical_iteration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 528 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_and_generalized_probe_hit_rates_are_counted_separately + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 532 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: probe_cases + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_grouped_census_probe_attributes_an_unnamed_failure_to_its_first_selected_case + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 549 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::package_queues_are_interleaved_instead_of_forming_worker_convoys + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 492 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 608 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: scout_wait + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::adaptive_scout_wait_is_divided_by_benefit_and_clamped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 577 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: stall_note + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_stall_before_any_test_was_named_says_so + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 462 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 505 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 508 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_plan_with_no_pending_mutants_sweeps_nothing_and_returns_none + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 520 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 524 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 646 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: clear_sentinel + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::an_interrupted_prior_sync_triggers_a_fresh_copy + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: collect_source_entries + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_deletion_is_reflected_in_the_scratch_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::tracked_ignored_files_are_included_but_pruned_paths_are_not + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: copy_file_for_sync + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_one_file_change_is_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 121 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: delta_sync + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_deletion_is_reflected_in_the_scratch_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: file_differs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_one_file_change_is_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::permission_changes_make_otherwise_identical_files_differ + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 70 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: is_consistent + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_one_file_change_is_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::an_interrupted_prior_sync_triggers_a_fresh_copy + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: is_not_empty_error + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::stale_nonempty_directories_are_retained_for_expected_children + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 139 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: is_pruned_anywhere + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::tracked_ignored_files_are_included_but_pruned_paths_are_not + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: mark_consistent + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_one_file_change_is_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: readers_have_same_contents + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::changed_bytes_with_identical_size_and_mtime_are_copied_and_freshened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_one_file_change_is_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_deletion_is_reflected_in_the_scratch_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::content_comparison_aligns_independent_short_reads + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: record + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::only_the_first_parallel_walk_failure_is_recorded + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 143 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: remove_stale + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_deletion_is_reflected_in_the_scratch_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 127 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::stale_nonempty_directories_are_retained_for_expected_children + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::extra_scratch_files_are_removed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: same_contents + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_one_file_change_is_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::changed_bytes_with_identical_size_and_mtime_are_copied_and_freshened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: sentinel + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_one_file_change_is_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: stamp_mtime + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_one_file_change_is_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: sync_entry + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_one_file_change_is_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::directories_are_created_and_replace_stale_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::symlinks_are_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: sync_file + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::regular_files_replace_directories_and_create_missing_parents + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_one_file_change_is_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: sync_or_copy + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::an_interrupted_prior_sync_triggers_a_fresh_copy + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_deletion_is_reflected_in_the_scratch_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::a_one_file_change_is_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + item: sync_symlink + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::symlinks_are_synchronized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 108 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sync::tests::symlinks_replace_stale_directories_and_create_missing_parents + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 109 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::build + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 153 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 387 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::package_queues_are_interleaved_instead_of_forming_worker_convoys + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 409 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::cold_runs_put_own_package_binaries_before_cheaper_dependents + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 410 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::reachable + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 164 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: TargetPatterns<'args>::admits + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_compile_fail_target_is_named_before_anything_is_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 340 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_target_already_excluded_is_not_warned_about + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 342 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::an_inclusion_glob_keeps_only_the_targets_it_names + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 360 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: TargetPatterns<'args>::unmatched + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_pattern_matching_nothing_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 362 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_pattern_matching_a_declared_target_is_not_reported_as_unmatched + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 364 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: TestBinary::budget_for + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_the_canonical_timeout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 194 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::budget_for_computes_per_mutant_overridden_budget + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 195 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: TestScope<'_>::admits + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_cap_that_leaves_the_mutants_unjudged_names_the_package_that_could_judge_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 478 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_workspace_run_judges_each_mutant_only_with_its_own_package + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 479 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 514 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: absolute_source + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::exact_compiler_linkage_excludes_only_unlinked_integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 141 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: admits_target + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_target_already_excluded_is_not_warned_about + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 339 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_compile_fail_target_is_named_before_anything_is_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 343 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: apportion + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_binary_that_earns_more_than_the_floor_keeps_its_share + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 197 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::external_path_artifacts_are_opaque_while_registry_artifacts_are_known_external + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: build_packages + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 391 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 402 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 507 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: dep_sources + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::exact_compiler_linkage_excludes_only_unlinked_integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 254 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::linkage_graph_cycles_registry_edges_and_ambiguous_edges_fail_safely + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 257 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_stage_that_fails_to_compile_reports_the_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 260 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: harness_threads + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_harness_width_the_caller_chose_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 201 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::more_workers_than_cores_still_get_a_thread_each + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 213 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 489 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: is_version + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_pre_release_version_is_not_mistaken_for_a_package_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 482 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: linked_sources + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::exact_compiler_linkage_excludes_only_unlinked_integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 220 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::one_unmatched_filename_among_multiple_artifacts_disables_target_narrowing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 223 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::missing_ambiguous_and_opaque_capture_all_fail_open + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 227 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 231 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::linkage_graph_cycles_registry_edges_and_ambiguous_edges_fail_safely + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 233 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: linked_target_args + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 265 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::exact_compiler_linkage_excludes_only_unlinked_integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 268 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::exact_linkage_selects_every_supported_cargo_test_target_kind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 307 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::malformed_dep_info_and_unsupported_targets_disable_narrowing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 324 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: oracle_packages + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 403 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_compile_fail_target_is_named_before_anything_is_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 405 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::naming_the_test_packages_replaces_the_default_cap + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 411 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 504 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: order_reachable + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::cold_run_ordering_never_drops_a_reachable_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 396 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: output_matches + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::exact_compiler_linkage_excludes_only_unlinked_integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 235 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::non_normalized_paths_never_create_a_positive_linkage_match + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 242 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 250 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::malformed_dep_info_and_unsupported_targets_disable_narrowing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 258 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: package_name + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_pre_release_version_is_not_mistaken_for_a_package_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 182 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 518 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::census_targets_only_selected_pending_sites_and_relevant_binaries + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 366 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stale_hints_binary_stays_out_of_targets_when_nothing_else_justifies_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 367 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 371 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::an_unknown_package_reaches_everything + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 375 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_workspace_run_judges_each_mutant_only_with_its_own_package + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 393 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 490 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches_mutant + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 148 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_stale_hints_binary_stays_out_of_targets_when_nothing_else_justifies_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 174 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_package_whose_tests_can_reach_nothing_being_mutated_is_not_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 181 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 404 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_workspace_with_no_dependency_graph_is_built_whole + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 424 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::naming_the_tests_that_matter_narrows_the_build_to_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 426 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::package_local_testing_builds_only_the_mutated_packages_own_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 437 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::mutating_everything_asks_for_the_whole_workspace + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 443 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 509 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: read_captures + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::exact_compiler_linkage_excludes_only_unlinked_integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 217 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: restrict + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::an_exclusion_beats_an_inclusion_that_also_matches + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 263 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::an_exclusion_glob_removes_the_targets_it_names + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 270 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: retain_linked_to_population + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::exact_compiler_linkage_excludes_only_unlinked_integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 162 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::test_binaries_are_read_from_cargo_json + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::exact_compiler_linkage_excludes_only_unlinked_integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_binary_carries_the_directory_of_its_packages_manifest + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: unmatched_test + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::a_pattern_matching_nothing_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 349 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::workload_refuses_a_reachability_missing_a_pending_mutants_package - should panic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 176 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 427 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::workload_sums_reachable_binary_baselines_with_no_census + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 458 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 506 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 517 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workspace_relative + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::exact_compiler_linkage_excludes_only_unlinked_integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::test_binary::tests::malformed_dep_info_and_unsupported_targets_disable_narrowing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 150 + - file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::seen + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_wakeup_raised_before_the_wait_is_not_slept_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::signal + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_wakeup_raised_before_the_wait_is_not_slept_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_wakeup_raised_during_a_wait_ends_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::wait + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_wakeup_raised_before_the_wait_is_not_slept_through + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::finished + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_readers_gauge_counts_a_reader_for_as_long_as_it_runs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::live + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::advice_goes_where_it_was_asked_for_and_diag_is_emitted_only_when_requested + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_readers_gauge_counts_a_reader_for_as_long_as_it_runs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::peak + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_readers_gauge_counts_a_reader_for_as_long_as_it_runs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::started + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_readers_gauge_counts_a_reader_for_as_long_as_it_runs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ::source + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::attempts_and_diagnostic_errors_preserve_their_user_visible_details + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 393 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ::fmt + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::attempts_and_diagnostic_errors_preserve_their_user_visible_details + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 385 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ::fmt + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::attempts_and_diagnostic_errors_preserve_their_user_visible_details + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 204 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: Collected::failure_evidence + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::diagnostic_line_limit_marks_output_truncated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 326 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: Only<'name>::names + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::walked_counts_launches_that_happened_not_tests_that_were_listed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 200 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 149 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::an_ordinary_mutant_run_harvests_reach_without_an_extra_launch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 154 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::positive_reach_survives_an_incomplete_observation_but_negative_reach_does_not + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 168 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::new + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 144 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: announce + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_verdict_reached_on_a_truncated_stream_says_the_text_was_partial + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 253 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: announce_partial + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 250 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_verdict_reached_on_a_truncated_stream_says_the_text_was_partial + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 252 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: announced_failure + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_baseline_failure_retains_evidence_without_waiting_for_the_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 377 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ask_after + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 516 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_baseline_failure_retains_evidence_without_waiting_for_the_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_reach_candidate_is_released_only_at_its_canonical_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 313 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_reader_that_never_returns_leaves_the_collection_partial + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 316 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::diagnostic_output_cannot_forge_a_final_libtest_failure_name + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 317 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::readers_that_all_returned_leave_the_collection_whole + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 319 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::insta_is_told_not_to_accept_what_a_mutant_produced + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 285 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 508 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: confirm_enumeration + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::an_exonerations_own_overrun_is_not_adopted_as_the_mutants_verdict + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 255 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: confirm_kill + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_failure_convicts_a_mutant_without_waiting_for_the_rest_of_the_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 241 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_confirmation_of_a_flaky_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 243 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::an_exoneration_runs_only_the_failing_test_avoiding_suite_tail_timeouts + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 247 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_failing_binary_is_named_by_its_first_failing_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 248 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 501 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: cut_by_named_failure + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_baseline_failure_retains_evidence_without_waiting_for_the_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 339 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: cut_short + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_the_canonical_timeout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 338 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_termination_failure_abandons_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 340 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_baseline_failure_retains_evidence_without_waiting_for_the_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 341 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: deadline_after + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_the_canonical_timeout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 310 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::an_unrepresentable_deadline_is_clamped_without_panicking + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 312 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: diagnostic_tail + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_baseline_failure_retains_evidence_without_waiting_for_the_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 318 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::diagnostic_line_limit_marks_output_truncated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 335 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_pipe_that_fails_part_way_is_not_read_as_the_end_of_the_stream + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 408 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_read_interrupted_by_a_signal_is_retried_rather_than_cut_short + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 411 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::diagnostic_output_cannot_forge_a_libtest_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 412 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_baseline_failure_retains_evidence_without_waiting_for_the_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 415 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::output_discarded_past_the_cap_marks_the_stream_incomplete + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 422 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_reach_candidate_is_released_only_at_its_canonical_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 428 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: environment_failure + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_nextest_failure_waits_for_a_later_environment_error_marker + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 378 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 515 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: environment_verdict + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_runtime_environment_marker_has_a_standalone_verdict + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: failure_to_cut_short + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_baseline_failure_retains_evidence_without_waiting_for_the_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 375 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: first_failure + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 451 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::another_item_reuses_the_binary_without_assuming_its_exact_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 453 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_reach_candidate_is_released_only_at_its_canonical_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 454 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: launcher + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_run_without_a_runner_invokes_the_binary_itself + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::walked_counts_launches_that_happened_not_tests_that_were_listed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 251 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_chosen_test_the_users_filter_excludes_is_refused_rather_than_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 256 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_census_selection_keeps_only_the_tests_the_users_filter_admits + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 257 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: nextest_runner_failure + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::nextest_test_enumeration_failure_is_suspect_only_with_a_mutant_active + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 272 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: observe_baseline + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_baseline_failure_retains_evidence_without_waiting_for_the_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: observe_with + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: prefer_named + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_broken_package_that_is_being_mutated_still_stops_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 332 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_named_failure_outranks_the_ceiling_the_same_run_crossed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 336 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: quiet_of + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::startup_silence_measured_by_the_baseline_does_not_stall_the_same_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 386 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: reach_hint_is_final + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_confirmation_of_a_flaky_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_group_census_hint_is_disabled_by_every_canonical_precedence_policy + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_the_canonical_timeout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: readers + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_reach_candidate_is_released_only_at_its_canonical_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 402 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::reader_thread_creation_failure_leaves_the_attempt_unjudged + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 403 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::an_ordinary_binary_leaves_no_reader_behind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 407 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 517 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_baseline_failure_retains_evidence_without_waiting_for_the_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 433 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::output_discarded_past_the_cap_marks_the_stream_incomplete + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 443 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 524 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::exact_site_negative_evidence_skips_a_sibling_replacement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 107 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::an_ordinary_mutant_run_harvests_reach_without_an_extra_launch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 108 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_confirmation_of_a_flaky_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 127 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_grouped_census_probe_attributes_an_unnamed_failure_to_its_first_selected_case + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 132 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_the_canonical_timeout + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 290 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_confirmation_of_a_flaky_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 291 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_binary_that_goes_quiet_is_stalled_at_the_last_test_it_named + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 293 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 510 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: settle + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_cached_killer_cannot_bypass_confirmation_of_a_flaky_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 258 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_guard_before_runtime_installation_never_convicts_a_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 261 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 263 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_code_nextest_uses_for_its_own_failures_is_not_a_verdict + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 267 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::nextest_convicts_a_mutant_only_on_a_real_test_failure + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 268 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::nextest_test_enumeration_failure_is_suspect_only_with_a_mutant_active + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 269 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: settle_suspicions + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_confirmation_that_crosses_into_another_detection_class_is_confirmed_in_turn + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 224 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_verdict_that_never_settles_stops_at_the_bound + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 226 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_confirmation_that_agrees_ends_the_ladder + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 230 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: spawn_patiently + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_spawn_the_machine_refuses_is_tried_again + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 203 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_build_that_never_reached_the_compiler_says_so_rather_than_blaming_the_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 448 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::the_tail_keeps_the_last_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 472 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_failure_with_nothing_on_either_stream_says_so_rather_than_showing_a_blank + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 476 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::diagnostic_line_limit_marks_output_truncated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 478 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: transient + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_spawn_the_machine_refuses_is_tried_again + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 212 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::only_a_transient_refusal_is_waited_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 215 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: unfinished_nextest_failure + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_nextest_failure_waits_for_a_later_environment_error_marker + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 381 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: watch + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_run_through_nextest_is_watched_in_nextest_format + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 356 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_baseline_failure_retains_evidence_without_waiting_for_the_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 358 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_run_with_capture_turned_off_takes_no_verdict_from_the_output + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 360 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_plain_libtest_run_is_watched_in_libtest_format + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 361 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::interleaved_output_gives_up_watching_entirely + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 364 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 368 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: working_directory + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::baseline_progress_advances_once_for_every_finished_binary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 331 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_binary_runs_from_its_package_root + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 342 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ::drop + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_run_that_never_settled_takes_its_build_output_with_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 149 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::adopt + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::an_unattributed_failure_is_isolated_to_the_mutant_that_provably_breaks_the_build + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 188 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::capture_cargo_metadata + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 217 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::cargo + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 200 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 390 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::inherit_test_cache_home + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::verdict::tests::a_run_without_a_runner_invokes_the_binary_itself + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::inspect_hint + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::build_errors_are_formatted_without_running_cargo + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 166 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::link_runtime + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 359 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::linking_a_package_with_no_manifest_is_a_noop + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 191 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 358 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::nextest_list_command + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::nextest_inventories_the_profile_gamma_built + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 205 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::scratch_files_create_parents_and_nextest_deduplicates_packages + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 211 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 187 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::overwriting_a_directory_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 190 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::overwriting_a_copied_file_writes_only_when_the_content_actually_differs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 193 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 374 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::array_rustflags_from_workspace_config_reach_scratch_cargo_once + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 182 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::relocating_a_workspace_that_exposes_vcs_metadata_is_refused_before_copying + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 183 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 357 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::set_test_args + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_listing_is_narrowed_by_the_filters_the_user_gave + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 195 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::settle + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_run_that_settled_keeps_its_tree_and_build_output_for_the_next_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_run_that_never_settled_takes_its_build_output_with_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 148 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::an_explicit_teardown_removes_the_tree_and_leaves_the_destructor_nothing_to_do + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_leaked_tree_keeps_everything + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 160 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_run_that_settled_keeps_its_tree_and_build_output_for_the_next_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 171 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::test_arguments + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_listing_is_narrowed_by_the_filters_the_user_gave + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 203 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::write_scratch + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::scratch_files_create_parents_and_nextest_deduplicates_packages + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 204 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: absolute + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::manifest::tests::a_relative_runtime_path_is_written_absolute + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 272 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_scratch_path_that_names_nothing_is_reduced_to_one_spelling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 274 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 412 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: absolute_cache_home + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::cache_home_fallbacks_follow_cargo_precedence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 263 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 471 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 475 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cargo_binary + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 477 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::claiming_a_lock_never_truncates_its_existing_contents + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 457 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 469 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim_cache + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::explicitly_naming_the_default_cache_does_not_take_its_lock_twice + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 354 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 468 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim_redirected_cache + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 315 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_directory_containing_only_somebody_elses_lock_file_is_not_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 320 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::an_empty_redirected_cache_is_claimed_for_its_workspace_and_can_be_reused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 329 + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 441 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: clean_deletes_only_the_current_workspaces_cached_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 131 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::clean::tests::clean_reports_whether_cached_data_existed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 230 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::cleaning_removes_cache_data_but_not_published_reports + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 264 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: create_private_dir_all + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 443 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: default_cache_home + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: default_cache_home_with + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::cache_home_fallbacks_follow_cargo_precedence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 112 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::the_xdg_cache_variable_and_tool_directory_define_the_default_home + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 114 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: digest_workspace_path + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::the_default_cache_directory_name_is_pinned_to_this_crate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ensure_copy_terminates + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_scratch_directory_the_copy_cannot_prune_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 278 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 417 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ensure_vcs_visibility + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::relocating_a_workspace_that_exposes_vcs_metadata_is_refused_before_copying + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 281 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_workspace_without_vcs_metadata_can_be_relocated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 283 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: expose_vcs_metadata + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 287 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::git_directories_and_pointer_files_are_exposed_to_the_scratch_tree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 291 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: footprint + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_the_disk_it_left_behind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 221 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: gamma_base + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 377 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: has_any_entries + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::an_empty_redirected_cache_is_claimed_for_its_workspace_and_can_be_reused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 349 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_directory_containing_only_somebody_elses_lock_file_is_not_adopted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 350 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: has_unowned_entries + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::an_unmarked_populated_cache_is_refused_for_default_and_redirected_paths + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 351 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 461 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: interpret + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_capture_that_could_not_be_spawned_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 223 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_capture_that_exited_non_zero_is_reported_with_its_diagnostic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 225 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_capture_that_is_not_utf8_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 227 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: open_cache_owner + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 446 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: physical + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_redirected_cache_owned_by_another_workspace_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 276 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 413 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: prunes + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::copy_pruning_predicates_distinguish_lexical_relationships + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 310 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_scratch_directory_the_copy_cannot_prune_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 311 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: prunes_in_practice + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::copy_pruning_predicates_distinguish_lexical_relationships + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 305 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_scratch_directory_the_copy_cannot_prune_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 306 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 418 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: reject_linked_cache + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_linked_redirected_cache_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 330 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_redirected_cache_that_is_not_a_directory_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 334 + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 444 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: remove_cached + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: clean_deletes_only_the_current_workspaces_cached_data + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 410 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: remove_tree + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_teardown_of_a_tree_that_was_never_created_succeeds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 236 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_run_that_never_settled_takes_its_build_output_with_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 238 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_tree_that_cannot_be_removed_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 241 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: scratch_tree + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_relative_cache_directory_is_resolved_against_the_current_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 319 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::scratch_tree_is_derived_from_the_same_base_as_prepare + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 322 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: try_lock + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::hints::tests::a_hints_write_uses_the_workspace_lock + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 348 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::empty_and_non_utf8_owner_markers_are_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 130 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 318 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::an_oversized_owner_marker_is_rejected_before_its_contents_are_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 336 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::a_default_cache_directory_claimed_by_another_workspace_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 340 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::an_unmarked_populated_cache_is_refused_for_default_and_redirected_paths + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 345 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 424 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::malformed_default_cache_paths_are_refused_before_any_state_is_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: vendor_runtime + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 481 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: workspace_identity + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 379 + - file: crates/cargo-gamma-lib/src/fix/diff.rs + item: diff + candidates: + - candidate: + package: cargo-gamma-lib + target: units + test: diff::a_diff_accounts_for_every_line_of_both_texts + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + candidates: + - candidate: + package: cargo-gamma-lib + target: units + test: diff::a_diff_accounts_for_every_line_of_both_texts + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: units + test: diff::two_empty_texts_diff_to_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-gamma-lib + target: units + test: diff::an_emptied_file_is_all_removals_and_a_filled_one_all_additions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - candidate: + package: cargo-gamma-lib + target: units + test: diff::a_diff_of_a_file_against_itself_is_all_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - candidate: + package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_a_deleted_line_as_a_removal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_an_inserted_line_as_an_addition + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_preview_shows_the_removal_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-gamma-lib + target: units + test: diff::a_diff_accounts_for_every_line_of_both_texts + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 143 + - candidate: + package: cargo-gamma-lib + target: units + test: diff::a_diff_of_a_file_against_itself_is_all_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 156 + - candidate: + package: cargo-gamma-lib + target: units + test: diff::an_emptied_file_is_all_removals_and_a_filled_one_all_additions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 223 + - file: crates/cargo-gamma-lib/src/fix/edit.rs + item: Edit::render + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-lib/src/fix/eligible.rs + item: Eligible::parse + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::cli::tests::suppress_defaults_to_suppressing_both_timeouts_and_out_of_memory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::a_survivor_cannot_be_made_eligible + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::unknown_eligible_verdicts_are_errors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::eligible_lists_are_trimmed_sorted_and_deduplicated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_multi_file_run_edits_only_the_file_with_an_eligible_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::edits_are_applied_from_the_end_so_earlier_lines_stay_valid + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_crlf_file_keeps_its_line_endings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_second_mutator_extends_the_generated_directive_rather_than_stacking + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 111 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 112 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::the_epoch_converts_to_its_known_date + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_multi_file_run_edits_only_the_file_with_an_eligible_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_019_a_crlf_file_keeps_its_line_endings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 239 + - file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_body + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_second_mutator_extends_the_generated_directive_rather_than_stacking + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_selectors + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_second_mutator_extends_the_generated_directive_rather_than_stacking + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::running_twice_is_a_no_op + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_tag + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_second_mutator_extends_the_generated_directive_rather_than_stacking + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::bom_prefixed_files_match_the_plan_and_keep_the_bom_for_first_and_later_edits + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_multi_file_run_edits_only_the_file_with_an_eligible_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_second_mutator_extends_the_generated_directive_rather_than_stacking + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 74 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_new_reason_at_a_suppressed_site_does_not_retag_the_existing_directive + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::two_reasons_at_one_site_stack_above_the_line_they_govern + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_019_a_crlf_file_keeps_its_line_endings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 246 + - file: crates/cargo-gamma-lib/src/fix/plan.rs + item: plan + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_survivor_is_skipped_even_if_it_reaches_the_planner + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_dry_run_suppress_prints_the_diff_and_leaves_the_file_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 105 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::today_is_a_plausible_date + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + candidates: + - candidate: + package: cargo-gamma-lib + target: units + test: removal::a_line_that_is_only_a_directive_is_removable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-lib + target: units + test: removal::a_directive_sharing_its_line_with_anything_else_is_not_removable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - file: crates/cargo-gamma-lib/src/fix/removal.rs + item: remove + candidates: + - candidate: + package: cargo-gamma-lib + target: units + test: removal::removal_keeps_the_line_endings_the_file_already_had + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-lib/src/fix/verify.rs + item: verify + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_killed_mutant_sharing_a_line_is_not_required_to_be_suppressed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::suppress::tests::a_survivor_sharing_a_site_with_a_timeout_is_caught_as_collateral + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_removal_that_changes_what_is_suppressed_puts_every_file_back + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::a_closing_script_tag_in_the_source_cannot_break_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::escaping_leaves_the_document_valid_json + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-gamma-lib/src/html.rs + item: render + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::a_closing_script_tag_in_the_source_cannot_break_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-gamma-lib/src/html.rs + item: stream + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::a_closing_script_tag_in_the_source_cannot_break_out + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - file: crates/cargo-gamma-lib/src/html.rs + item: write_page + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - file: crates/cargo-gamma-lib/src/merge/incoming.rs + item: Incoming::has_supported_schema_version + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::coverage + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::missing_shards + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::directories_are_scanned_and_outputs_are_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_merge_with_no_gate_and_no_outputs_succeeds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::an_unchecked_shard_count_is_reported_up_to_the_bound_and_no_further + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::score + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merging_nothing_prints_a_perfect_score_but_has_nothing_to_grade + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merged_score_below_the_bar_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::scored + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_merge_with_no_gate_and_no_outputs_succeeds + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merged_score_at_or_above_the_bar_exits_ok + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-gamma-lib/src/merge/read.rs + item: open + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_that_grows_after_its_handle_is_checked_still_hits_the_read_cap + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::aggregate_report_bytes_are_bounded_before_a_report_is_retained + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_file_over_the_ceiling_is_refused_by_its_size_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-gamma-lib/src/merge/status.rs + item: scoring + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merged_score_at_or_above_the_bar_exits_ok + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: Lineages<'report>::source + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 291 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: Lineages<'report>::verdict + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 299 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 311 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: identity_version + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_score_gate_refuses_an_identity_incompatible_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 146 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unstamped_report_has_exactly_the_current_identity_version + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 163 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 165 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: lineage + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 287 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::incompatible_input_names_are_reported_in_stable_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_score_gate_refuses_an_identity_incompatible_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_merged_only_input_says_no_complete_population_was_supplied + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::directories_are_scanned_and_outputs_are_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_merge_with_pending_mutants_fails_the_min_score_gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 112 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 152 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 355 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merged_score_at_or_above_the_bar_exits_ok + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 356 + - candidate: + package: cargo-gamma-lib + target: gate + test: a_merged_score_below_the_bar_exits_gate_failed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 357 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 360 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 365 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 375 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_not_built + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::metadata_aggregation_distinguishes_zero_one_and_maximum_values + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 402 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_tests + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::metadata_aggregation_distinguishes_zero_one_and_maximum_values + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 302 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_stream_is_reported_by_the_withdrawn_note + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 205 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 228 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 232 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 389 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 393 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 342 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 343 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 346 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 348 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 164 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 172 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 177 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 387 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: rotation + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 207 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 241 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: source_provenance + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 238 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 248 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 252 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: sources + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 317 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 333 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 405 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: started_at + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 235 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 243 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 400 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: verdict_provenance + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 264 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 268 + - file: crates/cargo-gamma-lib/src/merge/union.rs + item: verdict_rank + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 200 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 225 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 391 + - file: crates/cargo-gamma-lib/src/model/interner.rs + item: Interner::share + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::interner::tests::sharing_a_decoded_population_leaves_its_values_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_scan_interns_package_names_across_source_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_changed_file_still_only_yields_mutants_on_the_changed_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - file: crates/cargo-gamma-lib/src/model/mutant.rs + item: Mutant::describe + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - file: crates/cargo-gamma-lib/src/model/mutant.rs + item: Mutant::from_definition + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::a_definition_starts_with_no_execution_state + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - file: crates/cargo-gamma-lib/src/model/mutant.rs + item: Mutant::summary + candidates: + - candidate: + package: cargo-gamma-lib + target: sarif_contract + test: the_emitted_log_matches_the_committed_one_field_for_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::a_long_construct_is_elided_in_the_middle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - candidate: + package: cargo-gamma-lib + target: sarif_contract + test: the_emitted_log_matches_the_committed_one_field_for_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-gamma-lib + target: sarif_contract + test: fingerprint_values_have_the_production_identity_shape + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - file: crates/cargo-gamma-lib/src/model/outcome.rs + item: ::fmt + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_breakdown_counts_unviable_mutants_separately_from_survivors + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::of + candidates: + - candidate: + package: cargo-gamma-lib + target: units + test: summary::every_outcome_is_tallied_into_its_own_counter + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::score + candidates: + - candidate: + package: cargo-gamma-lib + target: units + test: summary::an_empty_run_scores_one_hundred + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-lib + target: units + test: summary::covered_score_excludes_uncovered_mutants + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::scored + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_diff_with_mnemonic_prefixes_is_still_gated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-lib + target: units + test: summary::a_scored_population_grades_at_its_printed_score + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-lib + target: units + test: summary::a_population_of_only_excluded_mutants_has_no_score_to_grade + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-gamma-lib/src/notes.rs + item: ::drop + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::leaving_a_nested_scope_restores_the_previous_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-gamma-lib/src/notes.rs + item: current + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_note_is_said_once_and_not_again_by_the_next_command + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-gamma-lib/src/notes.rs + item: drain + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::exactly_one_note_past_the_cap_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_note_is_said_once_and_not_again_by_the_next_command + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_closed_results_pipe_ends_a_listing_successfully_without_a_diagnostic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-gamma-lib/src/notes.rs + item: note + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_note_is_said_once_and_not_again_by_the_next_command + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::exactly_one_note_past_the_cap_is_reported + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - file: crates/cargo-gamma-lib/src/ops/collect.rs + item: into_mutants + candidates: + - candidate: + package: cargo-gamma-lib + target: instrumented_compiles + test: a_disabled_match_arm_still_compiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-lib/src/ops/collect.rs + item: into_mutants_with_traits + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/paths.rs + item: absolute + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::lexical_normalization_removes_current_and_parent_components + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-gamma-lib/src/paths.rs + item: append + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-gamma-lib/src/paths.rs + item: lexical + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::lexical_normalization_removes_current_and_parent_components + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - file: crates/cargo-gamma-lib/src/paths.rs + item: physical + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::excessive_windows_link_indirection_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-gamma-lib/src/paths.rs + item: reject_collisions + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::merge_outputs_with_identical_names_are_refused_before_any_report_is_written + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::a_closed_diagnostic_stream_is_reported_from_any_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-gamma-lib/src/paths.rs + item: require_within + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::containment_accepts_descendants_and_refuses_siblings + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_failure_on_the_second_file_puts_the_first_one_back_byte_for_byte + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 138 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 139 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 140 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::phase_events_are_displayed_and_ordinary_verdicts_are_not_announced + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 98 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::sweep::tests::a_safe_same_item_exact_candidate_waits_for_canonical_iteration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::cargos_erase_prefix_is_not_rendered_as_progress_text + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 267 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_disabled_display_writes_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 254 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 255 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 124 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 134 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::complete + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 269 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_unchanged_borrowed_line_is_not_repainted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 276 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_changed_borrowed_line_is_drawn_once_the_interval_has_passed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 279 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 282 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 289 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 290 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::end + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 111 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::fraction + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::no_total_means_no_progress + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::insist + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_multi_line_warning_is_labelled_on_every_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 194 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::insist_encoded + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_multi_line_warning_is_labelled_on_every_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 205 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_insisted_line_is_written_whether_the_display_is_on_or_off + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 234 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::labelled + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_timeout_says_how_long_the_mutant_ran_before_it_was_stopped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 191 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::line + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_timeout_says_how_long_the_mutant_ran_before_it_was_stopped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 214 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 235 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 236 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_without_a_phase_at_all_writes_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 167 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 171 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 172 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 173 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::relay + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::asking_whether_build_output_is_wanted_agrees_with_what_is_done_with_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 203 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_finished_run_has_no_time_left_to_report + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_timeout_says_how_long_the_mutant_ran_before_it_was_stopped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 286 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 294 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 296 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 303 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 310 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 317 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 319 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 322 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 327 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 334 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 336 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 346 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::retract + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 150 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 151 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::set_total + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::status + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::phase_events_are_displayed_and_ordinary_verdicts_are_not_announced + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_disabled_display_writes_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 237 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 239 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: paint + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_multi_line_warning_is_labelled_on_every_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 405 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 361 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 363 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::styling_costs_no_columns_and_a_cut_line_stops_styling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 364 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 375 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 402 + - file: crates/cargo-gamma-lib/src/report/progress.rs + item: visible_width + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 410 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::styling_costs_no_columns_and_a_cut_line_stops_styling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 417 + - file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::apply + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::column + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::error + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::a_disabled_styler_emits_no_escape_sequences + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::note + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_foreign_config_is_called_out_before_anything_is_loaded + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::outcome + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::verb + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::warning + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::console_events::tests::a_multi_line_warning_is_labelled_on_every_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - file: crates/cargo-gamma-lib/src/report/summary.rs + item: flakes + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::workspace::tests::linking_a_package_whose_manifest_exists_adds_the_runtime_dependency + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 131 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_build_that_had_to_widen_says_so + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_build_that_kept_its_scope_says_nothing_about_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 141 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_pipe_that_closes_partway_through_fails_whichever_note_was_writing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 144 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_missing_hints_file_suggests_creating_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 148 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::suppressible_mutants_suggest_the_suppress_command + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 152 + - file: crates/cargo-gamma-lib/src/report/summary.rs + item: skipped + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::every_skipped_file_is_written_to_the_diagnostic_stream + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::dispatch::tests::a_closed_results_pipe_ends_a_listing_successfully_without_a_diagnostic + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::census::tests::a_clean_run_that_leaves_no_census_spoils_rather_than_reading_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 100 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 109 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: diag::render::tests::a_live_run_reports_the_disk_it_left_behind + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 109 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::baseline::tests::a_baseline_that_outgrows_its_ceiling_names_the_ceiling + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::byte_counts_read_the_way_a_person_would_say_them + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 138 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::measure::tests::a_baseline_with_a_measured_peak_is_described_with_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 148 + - file: crates/cargo-gamma-lib/src/report/text.rs + item: continuation + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::a_continuation_is_exactly_the_status_column + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-gamma-lib/src/report/text.rs + item: quantity + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::inexact_merged_boundary_scores_do_not_render_as_exact_boundaries + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 152 + - file: crates/cargo-gamma-lib/src/report/text.rs + item: score + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::merge::tests::inexact_merged_boundary_scores_do_not_render_as_exact_boundaries + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::only_exact_boundary_scores_are_rendered_at_the_boundary + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 132 + - file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: exec::build::tests::a_carriage_return_progress_bar_does_not_bury_the_error_it_was_drawn_around + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-gamma-lib/src/schema.rs + item: instrument + candidates: + - candidate: + package: cargo-gamma-lib + target: instrumented_compiles + test: a_disabled_match_arm_still_compiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: instrumented_compiles + test: a_stated_value_of_the_wrong_type_becomes_an_unviable_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-lib/src/schema.rs + item: sites + candidates: + - candidate: + package: cargo-gamma-lib + target: instrumented_compiles + test: a_stated_value_of_the_wrong_type_becomes_an_unviable_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_suppressed_mutant_is_marked_and_counted_in_the_text_listing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::package_scans_apply_exclusions_after_workspace_validation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::scanning_an_unchanged_tree_twice_produces_the_same_population + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: Directive::governs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_suppressed_mutant_is_marked_and_counted_in_the_text_listing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: build + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::list::tests::a_suppressed_mutant_is_marked_and_counted_in_the_text_listing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: is_string_literal + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - candidate: + package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 140 + - file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::literal_selectors_and_none_delimited_groups_are_rendered + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - candidate: + package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 146 + - file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: state_multiplier + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 130 + - file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: unquote + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 80 + - candidate: + package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 142 + - file: crates/cargo-gamma-lib/src/suppress/idle.rs + item: idle + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_still_suppresses_something_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-gamma-lib/src/suppress/intent.rs + item: Intent::parse + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::a_stated_value_reaches_the_population_as_a_mutant_of_its_own + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: discover::survey::tests::an_unknown_suppression_directive_fails_the_scan_rather_than_being_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - candidate: + package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 131 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::bom_prefixed_files_keep_the_bom_when_removing_first_and_later_directives + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - candidate: + package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 80 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 161 + - file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directives + candidates: + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 130 + - file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directives_for + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_cfg_attr + candidates: + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 149 + - file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 60 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 150 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_expr + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_impl_item + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 131 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_item + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_stmt + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 138 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_trait_item + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 137 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record + candidates: + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_attributed_function_head + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_unattributed_function_gets_no_synthetic_function_head + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_attributes + candidates: + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 146 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_range + candidates: + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_span_reaching_past_the_recorded_file_end_is_dropped_by_the_collector + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 41 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::spans_outside_the_source_are_never_recorded + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::enclosing_on_line + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::unsuppress::tests::a_directive_that_shares_its_line_is_named_rather_than_removed + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: commands::run::tests::a_contradicted_expectation_fails_the_run_and_names_the_mutant + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 86 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_offset_on_a_span_start_selects_that_span + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::among_spans_sharing_a_start_the_widest_is_chosen + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 121 + - candidate: + package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 140 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::of + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 99 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::equal_ending_nested_spans_do_not_displace_the_outer_span + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 143 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::sort_spans + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_nearest_span_after_the_offset_wins + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: admissible + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_span_reaching_past_the_recorded_file_end_is_dropped_by_the_collector + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 125 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 130 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 144 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: item_attributes + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 139 + - candidate: + package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 152 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ::fmt + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_errors_preserve_their_causes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ::source + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_errors_preserve_their_causes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ::drop + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_a_jobless_subtree_stops_its_child + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ::fmt + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_failed_spawn_returns_the_preparation_for_retry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ::source + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_failed_spawn_returns_the_preparation_for_retry + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ::drop + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_a_jobless_spawned_command_stops_its_child + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: PreparedCommand::spawn + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_can_still_be_run_and_waited_for + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_can_still_be_run_and_waited_for + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_adopt_fault_abandons_the_child_and_refuses + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::kill + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_subtree_with_no_job_still_kills_the_child_directly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::observe + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_can_still_be_run_and_waited_for + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::sweep + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::take_stderr + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::take_stdout + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::terminate + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::terminating_an_already_reaped_subtree_reports_the_exact_reason + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::usage + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_metered_subtree_reports_what_it_used + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: SpawnGuard::backoff + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: SpawnedCommand::id + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::platform_capacity_and_spawned_id_are_observable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 71 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: abandon + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_a_jobless_spawned_command_stops_its_child + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: cleanup_after_observation + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_cleanup_failure_is_reported_after_the_leader_is_reaped + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_pending_observation_neither_cleans_nor_reaps + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 62 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: discard_output_reader + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::detached_output_capture_releases_bytes_and_stops_retaining + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: join_output_reader + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::output_reader_preserves_absence_and_read_failures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::detached_output_capture_releases_bytes_and_stops_retaining + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: kill_if_running + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_subtree_with_no_job_still_kills_the_child_directly + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: output_reader + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::output_reader_retries_interrupted_reads + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::detached_output_capture_releases_bytes_and_stops_retaining + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: prepare + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_prepare_fault_refuses_to_install_containment + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_can_still_be_run_and_waited_for + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - file: crates/cargo-gamma-process/src/process_tree.rs + item: wait_for_output + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::drop + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_refused_job_creation_closes_what_it_opened + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 149 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::assign_process + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_reports_a_peak_that_grew_once_something_ran_in_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::associate_completion_port + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_completion_message_is_consumed_once_and_then_remembered + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::invalid_handles_make_each_fallible_system_job_call_fail + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::completion_status + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_system_completion_read_reports_the_posted_message + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::configure_job + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_suppresses_unhandled_exception_dialogs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::create_completion_port + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_completion_message_is_consumed_once_and_then_remembered + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::create_job + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 109 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::first_thread + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::system_thread_calls_honor_the_win32_snapshot_contract + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::next_thread + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::open_thread + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::system_open_thread_does_not_grant_termination_access + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::system_open_thread_uses_the_requested_identifier + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::query_accounting + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_reports_a_peak_that_grew_once_something_ran_in_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::resume_thread + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::the_system_resume_call_reports_the_previous_suspension_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::terminate_job + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_resume_that_fails_is_reported_and_leaves_the_child_killable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::terminating_a_job_kills_the_child_in_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: ::thread_snapshot + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: Job::assign + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 138 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_reports_a_peak_that_grew_once_something_ran_in_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 140 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: Job::create + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::an_unlimited_job_has_no_completion_port_or_memory_limit_flag + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_completion_message_is_consumed_once_and_then_remembered + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_that_cannot_be_completely_configured_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_limited_job_installs_its_completion_port_and_memory_limit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::accounting_call_failures_do_not_invent_peak_or_limit_evidence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_suppresses_unhandled_exception_dialogs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 129 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: Job::memory_limit_was_hit + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_completion_message_is_consumed_once_and_then_remembered + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_without_a_completion_port_cannot_report_a_memory_limit_hit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 96 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::accounting_call_failures_do_not_invent_peak_or_limit_evidence + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 139 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::an_unrelated_failing_child_is_not_memory_exhaustion + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 142 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: Job::terminate + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_resume_that_fails_is_reported_and_leaves_the_child_killable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 145 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_termination_that_fails_leaves_the_subtree_reachable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: Job::usage + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_reports_a_peak_that_grew_once_something_ran_in_it + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_completion_message_is_consumed_once_and_then_remembered + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: associate_completion_port + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_completion_message_is_consumed_once_and_then_remembered + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 151 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_that_cannot_be_completely_configured_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 152 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: configure_job + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 153 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_suppresses_unhandled_exception_dialogs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 154 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: create_completion_port + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_completion_message_is_consumed_once_and_then_remembered + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 150 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: create_job_object + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 148 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: in_any_job + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::in_any_job_distinguishes_an_unassigned_child_from_an_assigned_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 104 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: main_thread + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 59 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: open_thread + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 117 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: release + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_resume_that_fails_is_reported_and_leaves_the_child_killable + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 112 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: resume + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: start_suspended + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::start_suspended_keeps_an_immediate_child_from_running + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: suppress_error_dialogs + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::the_process_and_its_children_suppress_system_error_dialogs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: thread_snapshot + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: valid_handle + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_job_that_cannot_be_completely_configured_is_refused + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - file: crates/cargo-gamma-unsafe/src/job.rs + item: valid_snapshot + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::a_child_dies_when_the_last_handle_to_its_job_closes + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: job::tests::snapshot_validity_rejects_both_win32_failure_sentinels + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - file: crates/cargo-gamma-unsafe/src/platform_error.rs + item: ::source + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::an_operating_system_cause_is_retained_as_the_error_source + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-unsafe/src/platform_error.rs + item: ::fmt + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::a_borrowed_non_static_message_remains_accepted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-unsafe/src/platform_error.rs + item: PlatformError::because + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::an_owned_operating_system_cause_is_retained_as_the_error_source + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-unsafe/src/platform_error.rs + item: PlatformError::because_static + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::an_operating_system_cause_is_retained_as_the_error_source + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-heather/src/bin/cargo-heather/cli.rs + item: HeatherArgs::project_dir + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + test: cli::tests::project_dir_defaults_to_current_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: HeatherConfig::with_defaults + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::fallback_config_enables_scripts_and_disables_dot_toml + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: config_path_for + candidates: + - candidate: + package: cargo-heather + target: cli + test: scanner_includes_dot_prefixed_toml_when_dot_toml_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: find_workspace_root + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::find_workspace_root_errors_when_no_workspace_ancestor + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_resolves_workspace_inherited_license + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 50 + - file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: load_config + candidates: + - candidate: + package: cargo-heather + target: cli + test: cargo_script_processed_when_scripts_default_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::load_config_falls_back_to_cargo_toml_license + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::load_config_errors_when_neither_config_nor_cargo_toml_present + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: read_config_file + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::read_config_file_missing_path_is_config_not_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::read_config_file_on_directory_is_file_read_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + candidates: + - candidate: + package: cargo-heather + target: cli + test: config_rejects_both_license_and_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-heather + target: cli + test: config_rejects_missing_license_and_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-heather + target: cli + test: config_rejects_empty_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_rejects_both_license_and_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_rejects_neither_license_nor_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_rejects_empty_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_accepts_custom_header_and_explicit_options + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_accepts_spdx_license_and_applies_option_defaults + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_workspace_license + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_resolves_workspace_inherited_license + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: try_load_from_cargo_toml + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::load_config_falls_back_to_cargo_toml_license + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_empty_or_false_workspace_license_is_none + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_uses_workspace_package_license + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - file: crates/cargo-heather/src/bin/cargo-heather/main.rs + item: main + candidates: + - candidate: + package: cargo-heather + target: cli + test: cargo_script_processed_when_scripts_default_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + candidates: + - candidate: + package: cargo-heather + target: cli + test: check_fails_with_mismatch_diff_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::format_mismatch_details_handles_empty_expected_and_actual + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 94 + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::format_mismatch_details_lists_nonempty_lines_with_markers + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: make_relative + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::make_relative_strips_base_or_falls_back + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + candidates: + - candidate: + package: cargo-heather + target: cli + test: cargo_script_processed_when_scripts_default_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_propagates_read_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_rejects_unsupported_file_type + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_returns_kind_and_content_for_supported_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: resolve_config_path + candidates: + - candidate: + package: cargo-heather + target: cli + test: scanner_includes_dot_prefixed_toml_when_dot_toml_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run + candidates: + - candidate: + package: cargo-heather + target: cli + test: cargo_script_processed_when_scripts_default_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-heather + target: cli + test: scanner_includes_dot_prefixed_toml_when_dot_toml_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-heather + target: cli + test: check_succeeds_when_no_files_found + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-heather + target: cli + test: custom_header_fix_inserts_header_in_rust_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-heather + target: cli + test: cargo_script_skipped_when_scripts_false + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-heather + target: cli + test: check_passes_when_all_files_have_correct_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-heather + target: cli + test: check_fails_with_mismatch_diff_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-heather + target: cli + test: cargo_script_processed_when_scripts_default_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_fix + candidates: + - candidate: + package: cargo-heather + target: cli + test: custom_header_fix_inserts_header_in_rust_file + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - candidate: + package: cargo-heather + target: cli + test: fix_adds_missing_header_and_reports_count_one + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - candidate: + package: cargo-heather + target: cli + test: custom_header_fix_replaces_wrong_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - candidate: + package: cargo-heather + target: cli + test: fix_mixed_two_missing_one_mismatch_reports_three + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-heather + target: cli + test: fix_with_all_correct_reports_zero_count + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 62 + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 78 + - file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: write_fixed + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::write_fixed_propagates_write_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 81 + - file: crates/cargo-heather/src/bin/cargo-heather/scanner.rs + item: find_source_files + candidates: + - candidate: + package: cargo-heather + target: cli + test: cargo_script_processed_when_scripts_default_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-heather + target: cli + test: scanner_ignores_unsupported_extension_even_when_hash_comments_would_work + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-heather + target: cli + test: scanner_includes_dot_prefixed_toml_when_dot_toml_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-heather + target: cli + test: cargo_script_skipped_when_scripts_false + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - candidate: + package: cargo-heather + target: cli + test: scanner_skips_dot_prefixed_toml_files_by_default + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-heather + target: cli + test: scanner_exclude_list_filters_directory_subtree + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-heather + target: cli + test: scanner_excludes_a_path_matching_only_one_of_multiple_entries + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 24 + - file: crates/cargo-heather/src/bin/cargo-heather/scanner.rs + item: should_skip_dir + candidates: + - candidate: + package: cargo-heather + target: cli + test: scanner_skips_dot_git_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-heather + target: cli + test: cargo_script_processed_when_scripts_default_true + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-heather + target: cli + test: scanner_includes_dot_prefixed_rust_files + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-heather + target: cli + test: scanner_skips_hidden_directories_at_any_depth + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-heather + target: cli + test: scanner_skips_target_directory + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 62 + - file: crates/cargo-heather/src/checker/extract.rs + item: collect_comment_block + candidates: + - candidate: + package: cargo-heather + target: script_mit + test: script_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_trims_only_trailing_blank_comments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_stops_at_first_non_comment + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-heather + target: powershell_ms + test: ps1_ok_with_trailing_comments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - file: crates/cargo-heather/src/checker/extract.rs + item: header_after_optional_shebang + candidates: + - candidate: + package: cargo-heather + target: cli + test: scanner_includes_legacy_hash_comment_file_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - file: crates/cargo-heather/src/checker/extract.rs + item: header_comment + candidates: + - candidate: + package: cargo-heather + target: toml_mit + test: toml_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - file: crates/cargo-heather/src/checker/extract.rs + item: looks_like_license_header + candidates: + - candidate: + package: cargo-heather + target: script_mit + test: script_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-heather + target: script_mit + test: script_missing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-heather/src/checker/extract.rs + item: script_header + candidates: + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::extract::tests::script_header_returns_none_when_second_line_is_not_dash + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-heather + target: script_mit + test: script_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - file: crates/cargo-heather/src/checker/matcher.rs + item: header_matches + candidates: + - candidate: + package: cargo-heather + target: script_mit + test: script_ok + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-heather + target: script_mit + test: script_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-heather + target: powershell_ms + test: ps1_ok_with_trailing_comments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::header_matches_false_when_actual_shorter_than_expected + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - file: crates/cargo-heather/src/checker/matcher.rs + item: normalize_to_lines + candidates: + - candidate: + package: cargo-heather + target: script_mit + test: script_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::normalize_strips_outer_blank_lines_and_trailing_ws + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::header_matches_ignores_outer_blank_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - file: crates/cargo-heather/src/checker/mod.rs + item: check + candidates: + - candidate: + package: cargo-heather + target: cli + test: scanner_includes_legacy_hash_comment_file_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-heather + target: script_mit + test: script_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-heather/src/checker/mod.rs + item: classify + candidates: + - candidate: + package: cargo-heather + target: script_mit + test: script_ok + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-heather + target: script_mit + test: script_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - file: crates/cargo-heather/src/checker/mod.rs + item: prepend_header + candidates: + - candidate: + package: cargo-heather + target: toml_mit + test: toml_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-heather + target: rust_mit + test: rust_empty + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + candidates: + - candidate: + package: cargo-heather + target: script_mit + test: script_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_returns_none_when_no_header_lines + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 37 + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_no_blank_when_next_line_is_real_code + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - file: crates/cargo-heather/src/checker/strip.rs + item: fix_script_content + candidates: + - candidate: + package: cargo-heather + target: script_mit + test: script_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_no_body_emits_frontmatter_and_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-heather + target: script_mit + test: script_missing + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - file: crates/cargo-heather/src/checker/strip.rs + item: fix_shebang_content + candidates: + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_only_emits_header_without_body + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - candidate: + package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - file: crates/cargo-heather/src/checker/strip.rs + item: prepend_after_optional_shebang + candidates: + - candidate: + package: cargo-heather + target: powershell_ms + test: ps1_missing_no_comments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-heather + target: powershell_ms + test: ps1_shebang_missing_with_descriptive_comments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - file: crates/cargo-heather/src/checker/strip.rs + item: reassemble_after_shebang + candidates: + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_only_emits_header_without_body + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-heather + target: powershell_ms + test: ps1_shebang_missing_with_descriptive_comments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-heather/src/checker/strip.rs + item: strip_existing_header + candidates: + - candidate: + package: cargo-heather + target: toml_mit + test: toml_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_yields_empty_when_file_is_only_a_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_preserves_absence_of_trailing_newline + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - file: crates/cargo-heather/src/comment.rs + item: CommentStyle::format_header + candidates: + - candidate: + package: cargo-heather + target: script_mit + test: script_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-heather + target: rust_apache + test: rust_apache_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - file: crates/cargo-heather/src/comment.rs + item: CommentStyle::from_path + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_propagates_read_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 130 + - file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + candidates: + - candidate: + package: cargo-heather + target: script_mit + test: script_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_stops_at_first_non_comment + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_trims_only_trailing_blank_comments + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - candidate: + package: cargo-heather + target: cargo_heather + test: comment::tests::doc_comment_is_not_header_comment + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 95 + - candidate: + package: cargo-heather + target: cargo_heather + test: comment::tests::inner_doc_comment_is_not_header_comment + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - file: crates/cargo-heather/src/comment.rs + item: CommentStyle::strip_prefix + candidates: + - candidate: + package: cargo-heather + target: script_mit + test: script_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-heather + target: script_mit + test: script_ok + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-heather + target: powershell_ms + test: ps1_missing_with_banner_comment + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_propagates_read_error + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-heather + target: cli + test: scanner_includes_legacy_hash_comment_file_types + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-heather + target: cli + test: check_fails_with_mismatch_diff_block + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 68 + - candidate: + package: cargo-heather + target: cli + test: config_workspace_package_license_inferred_at_root + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-heather + target: cargo_heather + test: comment::tests::detect_powershell_data_file_by_psd1_extension + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_rejects_unsupported_file_type + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 110 + - file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + candidates: + - candidate: + package: cargo-heather + target: cargo_heather + test: comment::tests::ordinary_rust_with_dash_second_line_is_not_cargo_script + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-heather + target: cargo_heather + test: comment::tests::empty_content_is_not_cargo_script + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 83 + - candidate: + package: cargo-heather + target: cargo_heather + test: comment::tests::inner_attribute_is_not_cargo_script + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 85 + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 120 + - file: crates/cargo-heather/src/error.rs + item: ::fmt + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-heather/src/error.rs + item: ::source + candidates: + - candidate: + package: cargo-heather + target: cargo_heather + test: error::tests::file_read_error_exposes_source + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-heather/src/license.rs + item: header_for_license + candidates: + - candidate: + package: cargo-heather + target: cli + test: config_falls_back_to_cargo_toml_license_field + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-heather + target: cargo-heather + test: config::tests::load_config_falls_back_to_cargo_toml_license + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-heather/src/license.rs + item: supported_licenses + candidates: + - candidate: + package: cargo-heather + target: cargo_heather + test: license::tests::supported_licenses_contains_known_ids + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-heather + target: cargo_heather + test: license::tests::supported_licenses_is_sorted + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-heather/src/process.rs + item: fix + candidates: + - candidate: + package: cargo-heather + target: script_mit + test: script_mismatch + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_adding_missing_header + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: detect_cycles + candidates: + - candidate: + package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: test_workspace_with_cycle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - candidate: + package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: test_command_without_ + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - candidate: + package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: test_workspace_with_dev_cycle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 36 + - candidate: + package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: test_workspace_with_self_dev_dependency + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: format_cycle + candidates: + - candidate: + package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: test_workspace_with_cycle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - candidate: + package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: test_workspace_with_self_dev_dependency + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: run + candidates: + - candidate: + package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: missing_manifest_reports_metadata_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: test_command_without_ + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: test_workspace_with_cycle + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo_ensure_no_cyclic_deps/src/main.rs + item: main + candidates: + - candidate: + package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: missing_manifest_reports_metadata_context + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + binaries: + - file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + candidates: + - candidate: + package: cargo-anvil + target: snapshots + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - file: crates/cargo-anvil/src/anvil/artifacts/container.rs + candidates: + - candidate: + package: cargo-anvil + target: snapshots + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - file: crates/cargo-anvil/src/anvil/artifacts/github.rs + candidates: + - candidate: + package: cargo-anvil + target: snapshots + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 39 + - file: crates/cargo-anvil/src/anvil/artifacts/instructions.rs + candidates: + - candidate: + package: cargo-anvil + target: snapshots + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-anvil/src/anvil/artifacts/justfile.rs + candidates: + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + candidates: + - candidate: + package: cargo-anvil + target: fixtures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-anvil + target: snapshots + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 47 + - file: crates/cargo-anvil/src/anvil/artifacts/region.rs + candidates: + - candidate: + package: cargo-anvil + target: snapshots + hits: 2 + misses: 1 + measuredMs: 4881 + samples: 2 + order: 2 + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-anvil + target: fixtures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-anvil/src/anvil/mod.rs + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-anvil + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - file: crates/cargo-anvil/src/backend.rs + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 2 + misses: 1 + measuredMs: 421 + samples: 2 + order: 1 + - candidate: + package: cargo-anvil + target: snapshots + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 123 + - file: crates/cargo-anvil/src/catalog/artifact.rs + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-anvil + target: extensibility + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-anvil + target: snapshots + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-anvil/src/catalog/builder.rs + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 12 + misses: 0 + measuredMs: 3829 + samples: 11 + order: 14 + - candidate: + package: cargo-anvil + target: extensibility + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 189 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 229 + - file: crates/cargo-anvil/src/catalog/meta.rs + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 2 + misses: 0 + measuredMs: 252 + samples: 1 + order: 1 + - file: crates/cargo-anvil/src/checksum.rs + candidates: + - candidate: + package: cargo-anvil + target: fixtures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - candidate: + package: cargo-anvil + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 162 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 183 + - file: crates/cargo-anvil/src/cli.rs + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-anvil + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-anvil/src/decision.rs + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-anvil + target: container_upgrade + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-anvil + target: extensibility + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-anvil + target: fixtures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-anvil + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-anvil/src/emit/managed_region.rs + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-anvil + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 56 + - candidate: + package: cargo-anvil + target: snapshots + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 67 + - file: crates/cargo-anvil/src/io.rs + candidates: + - candidate: + package: cargo-anvil + target: container_upgrade + hits: 2 + misses: 1 + measuredMs: 21619 + samples: 2 + order: 6 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-anvil + target: snapshots + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 61 + - file: crates/cargo-anvil/src/lib.rs + candidates: + - candidate: + package: cargo-anvil + target: fixtures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-anvil + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-anvil/src/main.rs + candidates: + - candidate: + package: cargo-anvil + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-anvil/src/manifest.rs + candidates: + - candidate: + package: cargo-anvil + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 14 + misses: 0 + measuredMs: 3567 + samples: 13 + order: 17 + - candidate: + package: cargo-anvil + target: extensibility + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-anvil + target: fixtures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-anvil + target: container_upgrade + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 242 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 396 + - file: crates/cargo-anvil/src/plan.rs + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 15 + misses: 0 + measuredMs: 4090 + samples: 14 + order: 8 + - candidate: + package: cargo-anvil + target: container_upgrade + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 159 + - candidate: + package: cargo-anvil + target: extensibility + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 164 + - candidate: + package: cargo-anvil + target: fixtures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 173 + - candidate: + package: cargo-anvil + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 203 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 268 + - file: crates/cargo-anvil/src/region.rs + candidates: + - candidate: + package: cargo-anvil + target: snapshots + hits: 1 + misses: 1 + measuredMs: 2406 + samples: 1 + order: 2 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 2 + misses: 0 + measuredMs: 199 + samples: 1 + order: 16 + - candidate: + package: cargo-anvil + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 371 + - candidate: + package: cargo-anvil + target: fixtures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1367 + - candidate: + package: cargo-anvil + target: container_upgrade + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1397 + - file: crates/cargo-anvil/src/run.rs + candidates: + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 4 + misses: 1 + measuredMs: 36523 + samples: 4 + order: 8 + - candidate: + package: cargo-anvil + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - candidate: + package: cargo-anvil + target: container_upgrade + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 167 + - candidate: + package: cargo-anvil + target: extensibility + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 247 + - candidate: + package: cargo-anvil + target: fixtures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 273 + - candidate: + package: cargo-anvil + target: snapshots + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 359 + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 424 + - file: crates/cargo-anvil/src/workspace.rs + candidates: + - candidate: + package: cargo-anvil + target: schemas + hits: 1 + misses: 1 + measuredMs: 5200 + samples: 1 + order: 1 + - candidate: + package: cargo-anvil + target: cargo_anvil + hits: 3 + misses: 1 + measuredMs: 87521 + samples: 3 + order: 9 + - candidate: + package: cargo-anvil + target: fixtures + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - candidate: + package: cargo-anvil + target: snapshots + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 141 + - file: crates/cargo-aprz-lib/src/commands/cache_dir.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-aprz-lib/src/commands/common.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 12 + misses: 7 + measuredMs: 1344986 + samples: 18 + order: 12 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - file: crates/cargo-aprz-lib/src/commands/config.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-aprz-lib + target: init_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 76 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - file: crates/cargo-aprz-lib/src/commands/crates.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/commands/deps.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + hits: 2 + misses: 1 + measuredMs: 44823 + samples: 2 + order: 1 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 5 + misses: 9 + measuredMs: 2828757 + samples: 13 + order: 7 + - file: crates/cargo-aprz-lib/src/commands/duration.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 298 + - file: crates/cargo-aprz-lib/src/commands/init.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-aprz-lib + target: init_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 284 + - file: crates/cargo-aprz-lib/src/commands/run.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: validate_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/commands/validate.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-aprz-lib + target: validate_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-aprz-lib/src/expr/appraisal.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/expr/evaluator.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 3 + measuredMs: 483370 + samples: 3 + order: 48 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 62 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 390 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 391 + - file: crates/cargo-aprz-lib/src/expr/expression.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-aprz-lib + target: config_expressions_test + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-aprz-lib/src/expr/risk.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 89 + - file: crates/cargo-aprz-lib/src/facts/cache.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 2 + measuredMs: 315541 + samples: 2 + order: 27 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 75 + - file: crates/cargo-aprz-lib/src/facts/cache_lock.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-aprz-lib + target: collector_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-aprz-lib/src/facts/codebase/git.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/facts/codebase/github_workflow_analyzer.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/facts/codebase/provider.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 136 + - file: crates/cargo-aprz-lib/src/facts/codebase/source_file_analyzer.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - file: crates/cargo-aprz-lib/src/facts/collector.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 8 + misses: 33 + measuredMs: 7294974 + samples: 40 + order: 17 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 265 + - file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - file: crates/cargo-aprz-lib/src/facts/crate_ref.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - file: crates/cargo-aprz-lib/src/facts/crate_spec.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-aprz-lib + target: advisory_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 69 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 77 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 4 + misses: 10 + measuredMs: 2240185 + samples: 13 + order: 189 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/crate_owners_table.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/crates_table.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_iter.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_reader.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 27 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/row_writer.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 2 + misses: 0 + measuredMs: 126197 + samples: 1 + order: 24 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 82 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - candidate: + package: cargo-aprz-lib + target: collector_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 234 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 5 + measuredMs: 798592 + samples: 5 + order: 38 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 113 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 133 + - candidate: + package: cargo-aprz-lib + target: collector_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 135 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 27 + measuredMs: 4806680 + samples: 27 + order: 135 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 320 + - candidate: + package: cargo-aprz-lib + target: collector_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 341 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/version_downloads_table.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 16 + - file: crates/cargo-aprz-lib/src/facts/crates/tables/versions_table.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 269 + - file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 10 + measuredMs: 2367395 + samples: 10 + order: 15 + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 53 + - file: crates/cargo-aprz-lib/src/facts/endpoints.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 66 + - candidate: + package: cargo-aprz-lib + target: collector_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - file: crates/cargo-aprz-lib/src/facts/hosting/bug_labels.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - file: crates/cargo-aprz-lib/src/facts/hosting/cached_repo.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: hosting_provider_integration + hits: 1 + misses: 1 + measuredMs: 9107 + samples: 1 + order: 3 + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - file: crates/cargo-aprz-lib/src/facts/path_utils.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 42 + - file: crates/cargo-aprz-lib/src/facts/progress.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-aprz-lib + target: crates_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 40 + - candidate: + package: cargo-aprz-lib + target: coverage_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 6 + measuredMs: 1146897 + samples: 6 + order: 15 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 253 + - file: crates/cargo-aprz-lib/src/facts/resilient_http.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 4 + measuredMs: 619019 + samples: 4 + order: 33 + - candidate: + package: cargo-aprz-lib + target: docs_provider_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 106 + - file: crates/cargo-aprz-lib/src/facts/throttler.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-aprz-lib/src/lib.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-aprz-lib/src/metrics/metric.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-aprz-lib/src/metrics/metric_def.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-aprz-lib/src/reports/common.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 55 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 388 + - file: crates/cargo-aprz-lib/src/reports/console.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 65 + - candidate: + package: cargo-aprz-lib + target: process_globals_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 396 + - file: crates/cargo-aprz-lib/src/reports/csv.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 122 + - file: crates/cargo-aprz-lib/src/reports/excel.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 151 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 416 + - file: crates/cargo-aprz-lib/src/reports/html.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 756 + - file: crates/cargo-aprz-lib/src/reports/json.rs + candidates: + - candidate: + package: cargo-aprz-lib + target: cargo_aprz_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 19 + - candidate: + package: cargo-aprz-lib + target: crates_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 93 + - candidate: + package: cargo-aprz-lib + target: deps_command_integration + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - file: crates/cargo-coverage-gate/src/aggregate.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - file: crates/cargo-coverage-gate/src/attribute.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + hits: 4 + misses: 0 + measuredMs: 786 + samples: 3 + order: 30 + - file: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/main.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/run.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo-coverage-gate + hits: 4 + misses: 0 + measuredMs: 636 + samples: 3 + order: 1 + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-coverage-gate/src/lcov_cov.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 14 + - file: crates/cargo-coverage-gate/src/lib.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + hits: 2 + misses: 0 + measuredMs: 251 + samples: 1 + order: 20 + - file: crates/cargo-coverage-gate/src/render/diagnostics.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + hits: 2 + misses: 0 + measuredMs: 304 + samples: 1 + order: 4 + - file: crates/cargo-coverage-gate/src/render/markdown.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 2 + measuredMs: 12594 + samples: 2 + order: 1 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + hits: 4 + misses: 1 + measuredMs: 1192 + samples: 4 + order: 2 + - file: crates/cargo-coverage-gate/src/render/mod.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-coverage-gate/src/render/text.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + hits: 8 + misses: 1 + measuredMs: 2426 + samples: 8 + order: 6 + - file: crates/cargo-coverage-gate/src/target.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-coverage-gate/src/threshold.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-coverage-gate/src/verdict.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-coverage-gate/src/workspace.rs + candidates: + - candidate: + package: cargo-coverage-gate + target: cargo_coverage_gate + hits: 10 + misses: 0 + measuredMs: 13719 + samples: 9 + order: 1 + - candidate: + package: cargo-coverage-gate + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-each/src/filter.rs + candidates: + - candidate: + package: cargo-each + target: cargo-each + hits: 9 + misses: 0 + measuredMs: 1630 + samples: 8 + order: 1 + - file: crates/cargo-each/src/main.rs + candidates: + - candidate: + package: cargo-each + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-each/src/plan.rs + candidates: + - candidate: + package: cargo-each + target: cargo-each + hits: 3 + misses: 0 + measuredMs: 501 + samples: 2 + order: 1 + - file: crates/cargo-each/src/run.rs + candidates: + - candidate: + package: cargo-each + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-each + target: cargo-each + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 103 + - file: crates/cargo-each/src/select.rs + candidates: + - candidate: + package: cargo-each + target: cargo-each + hits: 10 + misses: 0 + measuredMs: 2321 + samples: 9 + order: 1 + - file: crates/cargo-each/src/substitute.rs + candidates: + - candidate: + package: cargo-each + target: cargo-each + hits: 5 + misses: 0 + measuredMs: 897 + samples: 4 + order: 1 + - file: crates/cargo-each/src/workspace.rs + candidates: + - candidate: + package: cargo-each + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-each + target: cargo-each + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-ensure-no-default-features/src/lib.rs + candidates: + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + hits: 4 + misses: 0 + measuredMs: 739 + samples: 3 + order: 1 + - candidate: + package: cargo-ensure-no-default-features + target: integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - file: crates/cargo-ensure-no-default-features/src/main.rs + candidates: + - candidate: + package: cargo-ensure-no-default-features + target: integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-ensure-no-default-features/src/validation.rs + candidates: + - candidate: + package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + hits: 4 + misses: 0 + measuredMs: 2368 + samples: 3 + order: 1 + - candidate: + package: cargo-ensure-no-default-features + target: integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-gamma/src/real_host.rs + candidates: + - candidate: + package: cargo-gamma + target: cargo-gamma + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-attrs-impl/src/implementation.rs + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + hits: 8 + misses: 1 + measuredMs: 3259 + samples: 8 + order: 1 + - candidate: + package: cargo-gamma-attrs-impl + target: agreement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-attrs-impl/src/lib.rs + candidates: + - candidate: + package: cargo-gamma-attrs-impl + target: agreement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-engine/src/cfg.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 6 + misses: 0 + measuredMs: 11891 + samples: 5 + order: 1 + - file: crates/cargo-gamma-engine/src/error.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/model/identity.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 22 + misses: 1 + measuredMs: 24553 + samples: 22 + order: 1 + - file: crates/cargo-gamma-engine/src/model/interner.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 1 + measuredMs: 6880 + samples: 1 + order: 1 + - file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 1 + measuredMs: 7673 + samples: 1 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 1 + measuredMs: 8373 + samples: 1 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 1 + measuredMs: 6067 + samples: 1 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 1 + measuredMs: 6663 + samples: 1 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 2 + misses: 1 + measuredMs: 11091 + samples: 2 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 1 + measuredMs: 4996 + samples: 1 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 1 + measuredMs: 5336 + samples: 1 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/definitions.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 1 + measuredMs: 6469 + samples: 1 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/collect/traversal.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 1 + measuredMs: 6124 + samples: 1 + order: 1 + - file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 1 + measuredMs: 6168 + samples: 1 + order: 1 + - file: crates/cargo-gamma-engine/src/parse/comment.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-engine/src/parse/nesting.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 2 + measuredMs: 16435 + samples: 2 + order: 1 + - file: crates/cargo-gamma-engine/src/parse/source_file.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 1 + measuredMs: 7576 + samples: 1 + order: 1 + - file: crates/cargo-gamma-engine/src/schema.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 1 + measuredMs: 8356 + samples: 1 + order: 1 + - file: crates/cargo-gamma-engine/src/text.rs + candidates: + - candidate: + package: cargo-gamma-engine + target: cargo_gamma_engine + hits: 1 + misses: 1 + measuredMs: 7585 + samples: 1 + order: 1 + - file: crates/cargo-gamma-lib/src/advise/analysis.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 3 + measuredMs: 2134516 + samples: 3 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 352 + - file: crates/cargo-gamma-lib/src/advise/render.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-lib/src/advise/text.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/advise/yield_.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-lib/src/bounds.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 99 + - candidate: + package: cargo-gamma-lib + target: agreement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 108 + - file: crates/cargo-gamma-lib/src/cfg/build.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 6 + misses: 26 + measuredMs: 15792204 + samples: 31 + order: 4 + - file: crates/cargo-gamma-lib/src/cfg/cfgs.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-lib/src/cfg/features.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 7 + measuredMs: 4489834 + samples: 7 + order: 21 + - file: crates/cargo-gamma-lib/src/cfg/probe.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 6 + misses: 0 + measuredMs: 34004 + samples: 5 + order: 4 + - file: crates/cargo-gamma-lib/src/ci/annotations.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-gamma-lib/src/ci/finding.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 2 + misses: 1 + measuredMs: 658557 + samples: 2 + order: 4 + - candidate: + package: cargo-gamma-lib + target: sarif_contract + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-lib/src/ci/sarif.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: sarif_contract + hits: 3 + misses: 1 + measuredMs: 830 + samples: 3 + order: 1 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 1 + measuredMs: 3957 + samples: 1 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 6 + misses: 1 + measuredMs: 691338 + samples: 6 + order: 23 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 29 + - file: crates/cargo-gamma-lib/src/ci/summary.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 2 + measuredMs: 1313107 + samples: 2 + order: 1 + - file: crates/cargo-gamma-lib/src/commands/clean.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-lib/src/commands/cli.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 3 + misses: 3 + measuredMs: 1949295 + samples: 5 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 84 + - file: crates/cargo-gamma-lib/src/commands/completions.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/commands/console_events.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 1 + measuredMs: 643363 + samples: 1 + order: 35 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 79 + - file: crates/cargo-gamma-lib/src/commands/dispatch.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 2 + misses: 8 + measuredMs: 6267293 + samples: 9 + order: 10 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 88 + - candidate: + package: cargo-gamma-lib + target: session + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 115 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - file: crates/cargo-gamma-lib/src/commands/explain.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-lib/src/commands/hints.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + hits: 3 + misses: 1 + measuredMs: 11152 + samples: 3 + order: 1 + - file: crates/cargo-gamma-lib/src/commands/host.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 5 + measuredMs: 3275871 + samples: 5 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-gamma-lib/src/commands/list.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 23 + measuredMs: 15479443 + samples: 23 + order: 13 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 45 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 72 + - file: crates/cargo-gamma-lib/src/commands/merge.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 16 + measuredMs: 11154505 + samples: 16 + order: 27 + - candidate: + package: cargo-gamma-lib + target: gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 126 + - file: crates/cargo-gamma-lib/src/commands/run.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 48 + misses: 119 + measuredMs: 84567806 + samples: 166 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 22 + - file: crates/cargo-gamma-lib/src/commands/suppress.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 2 + misses: 29 + measuredMs: 19230873 + samples: 30 + order: 1 + - file: crates/cargo-gamma-lib/src/commands/unsuppress.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 7 + measuredMs: 4497914 + samples: 7 + order: 1 + - file: crates/cargo-gamma-lib/src/commands/verdict_log.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-lib/src/config.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 6 + misses: 27 + measuredMs: 18617322 + samples: 32 + order: 10 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 250 + - candidate: + package: cargo-gamma-lib + target: docs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 266 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 272 + - file: crates/cargo-gamma-lib/src/diag/bundle.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 13 + misses: 44 + measuredMs: 30889235 + samples: 56 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 190 + - file: crates/cargo-gamma-lib/src/diag/render.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 4 + misses: 46 + measuredMs: 31336244 + samples: 49 + order: 1 + - file: crates/cargo-gamma-lib/src/discover/compile_fail.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 5 + measuredMs: 3162633 + samples: 5 + order: 4 + - file: crates/cargo-gamma-lib/src/discover/diff.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 94 + measuredMs: 62547600 + samples: 94 + order: 1 + - file: crates/cargo-gamma-lib/src/discover/glob.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 3 + measuredMs: 2092773 + samples: 3 + order: 25 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 52 + - candidate: + package: cargo-gamma-lib + target: units + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - file: crates/cargo-gamma-lib/src/discover/hints.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 4 + misses: 31 + measuredMs: 20703864 + samples: 34 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-lib/src/discover/input.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + hits: 6 + misses: 2 + measuredMs: 274845 + samples: 7 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - file: crates/cargo-gamma-lib/src/discover/killers.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 2 + misses: 2 + measuredMs: 1465991 + samples: 3 + order: 1 + - file: crates/cargo-gamma-lib/src/discover/modules.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 11 + measuredMs: 8570077 + samples: 11 + order: 4 + - file: crates/cargo-gamma-lib/src/discover/order.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - file: crates/cargo-gamma-lib/src/discover/plan.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 4 + misses: 0 + measuredMs: 989796 + samples: 3 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 51 + - file: crates/cargo-gamma-lib/src/discover/record.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 22 + misses: 122 + measuredMs: 82920181 + samples: 143 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 48 + - file: crates/cargo-gamma-lib/src/discover/shard.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 64 + - file: crates/cargo-gamma-lib/src/discover/survey.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 54 + misses: 95 + measuredMs: 75241523 + samples: 148 + order: 19 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 119 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 933 + - file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 3 + misses: 28 + measuredMs: 19664195 + samples: 30 + order: 26 + - file: crates/cargo-gamma-lib/src/docs.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-gamma-lib + target: docs + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - file: crates/cargo-gamma-lib/src/elements/digest.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 3 + measuredMs: 1996723 + samples: 3 + order: 1 + - file: crates/cargo-gamma-lib/src/elements/publication.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + hits: 2 + misses: 6 + measuredMs: 941455 + samples: 7 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 2 + misses: 13 + measuredMs: 9342926 + samples: 14 + order: 10 + - file: crates/cargo-gamma-lib/src/elements/report.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 10 + misses: 160 + measuredMs: 110011864 + samples: 169 + order: 17 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 311 + - candidate: + package: cargo-gamma-lib + target: gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 319 + - candidate: + package: cargo-gamma-lib + target: schema_conformance + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 388 + - file: crates/cargo-gamma-lib/src/error.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 1 + measuredMs: 652644 + samples: 1 + order: 7 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-gamma-lib/src/estimate.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 9 + measuredMs: 5977355 + samples: 9 + order: 17 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 97 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 99 + - file: crates/cargo-gamma-lib/src/exec/baseline.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 21 + misses: 87 + measuredMs: 63041810 + samples: 107 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 34 + - file: crates/cargo-gamma-lib/src/exec/build/blame.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 3 + misses: 23 + measuredMs: 16520416 + samples: 25 + order: 1 + - file: crates/cargo-gamma-lib/src/exec/build/complaints.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 7 + misses: 4 + measuredMs: 5574608 + samples: 10 + order: 1 + - file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 24 + measuredMs: 16262479 + samples: 24 + order: 38 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - file: crates/cargo-gamma-lib/src/exec/build/messages.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-lib/src/exec/build/splices.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 5 + measuredMs: 3257704 + samples: 5 + order: 72 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 130 + - file: crates/cargo-gamma-lib/src/exec/build.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 12 + misses: 154 + measuredMs: 115786486 + samples: 165 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 49 + - file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-gamma-lib/src/exec/census.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 170 + misses: 181 + measuredMs: 220292591 + samples: 350 + order: 10 + - file: crates/cargo-gamma-lib/src/exec/config.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 28 + - file: crates/cargo-gamma-lib/src/exec/copy.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 18 + measuredMs: 11959523 + samples: 18 + order: 18 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 129 + - file: crates/cargo-gamma-lib/src/exec/events.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 8 + measuredMs: 6973407 + samples: 8 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 73 + - file: crates/cargo-gamma-lib/src/exec/killers.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 2 + misses: 15 + measuredMs: 10676614 + samples: 16 + order: 15 + - file: crates/cargo-gamma-lib/src/exec/loader.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 2 + measuredMs: 1273490 + samples: 2 + order: 18 + - file: crates/cargo-gamma-lib/src/exec/manifest.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 31 + misses: 26 + measuredMs: 34703939 + samples: 56 + order: 34 + - file: crates/cargo-gamma-lib/src/exec/measure.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 4 + misses: 112 + measuredMs: 74706463 + samples: 115 + order: 57 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 90 + - file: crates/cargo-gamma-lib/src/exec/memory.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-lib/src/exec/nextest.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 3 + misses: 5 + measuredMs: 4702564 + samples: 7 + order: 1 + - file: crates/cargo-gamma-lib/src/exec/progress.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 12 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 17 + - file: crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 152 + misses: 48 + measuredMs: 143689669 + samples: 199 + order: 5 + - file: crates/cargo-gamma-lib/src/exec/stall.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 18 + - file: crates/cargo-gamma-lib/src/exec/sweep.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 6 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 221 + misses: 215 + measuredMs: 277621650 + samples: 435 + order: 12 + - file: crates/cargo-gamma-lib/src/exec/sync.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 81 + misses: 65 + measuredMs: 97767902 + samples: 145 + order: 7 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 147 + - file: crates/cargo-gamma-lib/src/exec/test_binary.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 9 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 159 + misses: 61 + measuredMs: 145433644 + samples: 219 + order: 43 + - file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 2 + misses: 0 + measuredMs: 653141 + samples: 1 + order: 23 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 54 + - file: crates/cargo-gamma-lib/src/exec/verdict.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + hits: 2 + misses: 1 + measuredMs: 129763 + samples: 2 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 76 + misses: 128 + measuredMs: 134289612 + samples: 203 + order: 16 + - file: crates/cargo-gamma-lib/src/exec/workspace.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 44 + misses: 136 + measuredMs: 120062962 + samples: 179 + order: 10 + - file: crates/cargo-gamma-lib/src/fix/diff.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-gamma-lib + target: units + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 44 + - file: crates/cargo-gamma-lib/src/fix/edit.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-lib/src/fix/eligible.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/fix/plan.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 71 + misses: 27 + measuredMs: 66403808 + samples: 97 + order: 10 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 239 + - file: crates/cargo-gamma-lib/src/fix/removal.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: units + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-gamma-lib/src/fix/verify.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/html.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 1 + measuredMs: 681520 + samples: 1 + order: 15 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 33 + - file: crates/cargo-gamma-lib/src/merge/incoming.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-lib/src/merge/merged.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 8 + misses: 2 + measuredMs: 6102540 + samples: 9 + order: 6 + - candidate: + package: cargo-gamma-lib + target: gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 35 + - file: crates/cargo-gamma-lib/src/merge/read.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 8 + misses: 0 + measuredMs: 4814311 + samples: 7 + order: 17 + - candidate: + package: cargo-gamma-lib + target: gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 46 + - file: crates/cargo-gamma-lib/src/merge/status.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-lib/src/merge/union.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 25 + misses: 25 + measuredMs: 32596304 + samples: 49 + order: 23 + - candidate: + package: cargo-gamma-lib + target: gate + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 355 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 360 + - file: crates/cargo-gamma-lib/src/model/interner.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 13 + - file: crates/cargo-gamma-lib/src/model/mutant.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 5 + measuredMs: 3250095 + samples: 5 + order: 9 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 58 + - candidate: + package: cargo-gamma-lib + target: sarif_contract + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 63 + - file: crates/cargo-gamma-lib/src/model/outcome.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/model/summary.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-lib + target: units + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-gamma-lib/src/notes.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 8 + misses: 0 + measuredMs: 4877156 + samples: 7 + order: 12 + - file: crates/cargo-gamma-lib/src/ops/collect.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: instrumented_compiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-lib/src/paths.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 9 + misses: 0 + measuredMs: 5305474 + samples: 8 + order: 3 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-gamma-lib/src/report/progress.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 67 + misses: 89 + measuredMs: 106211447 + samples: 155 + order: 27 + - file: crates/cargo-gamma-lib/src/report/styler.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 31 + - file: crates/cargo-gamma-lib/src/report/summary.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 5 + misses: 14 + measuredMs: 11951208 + samples: 18 + order: 3 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 157 + - file: crates/cargo-gamma-lib/src/report/text.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 3 + misses: 1 + measuredMs: 2252090 + samples: 3 + order: 5 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 152 + - file: crates/cargo-gamma-lib/src/schema.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: instrumented_compiles + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-gamma-lib/src/suppress/apply.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 23 + - file: crates/cargo-gamma-lib/src/suppress/directive.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 2 + misses: 9 + measuredMs: 6882844 + samples: 10 + order: 11 + - candidate: + package: cargo-gamma-lib + target: agreement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 92 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 146 + - file: crates/cargo-gamma-lib/src/suppress/idle.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-gamma-lib/src/suppress/intent.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-gamma-lib/src/suppress/scan.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 7 + misses: 14 + measuredMs: 13689606 + samples: 20 + order: 4 + - candidate: + package: cargo-gamma-lib + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 87 + - candidate: + package: cargo-gamma-lib + target: agreement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 102 + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 128 + - file: crates/cargo-gamma-lib/src/suppress/scopes.rs + candidates: + - candidate: + package: cargo-gamma-lib + target: regressions + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-gamma-lib + target: agreement + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 26 + - candidate: + package: cargo-gamma-lib + target: cargo_gamma_lib + hits: 12 + misses: 41 + measuredMs: 35739551 + samples: 52 + order: 41 + - file: crates/cargo-gamma-process/src/process_tree.rs + candidates: + - candidate: + package: cargo-gamma-process + target: cargo_gamma_process + hits: 16 + misses: 1 + measuredMs: 24371 + samples: 16 + order: 1 + - file: crates/cargo-gamma-unsafe/src/job.rs + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + hits: 3 + misses: 1 + measuredMs: 17361 + samples: 3 + order: 1 + - file: crates/cargo-gamma-unsafe/src/platform_error.rs + candidates: + - candidate: + package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - file: crates/cargo-heather/src/bin/cargo-heather/cli.rs + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + hits: 2 + misses: 0 + measuredMs: 303 + samples: 1 + order: 1 + - file: crates/cargo-heather/src/bin/cargo-heather/config.rs + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + hits: 2 + misses: 0 + measuredMs: 266 + samples: 1 + order: 1 + - candidate: + package: cargo-heather + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 5 + - file: crates/cargo-heather/src/bin/cargo-heather/main.rs + candidates: + - candidate: + package: cargo-heather + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-heather/src/bin/cargo-heather/run.rs + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-heather + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - file: crates/cargo-heather/src/bin/cargo-heather/scanner.rs + candidates: + - candidate: + package: cargo-heather + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo-heather/src/checker/extract.rs + candidates: + - candidate: + package: cargo-heather + target: script_mit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-heather + target: cargo_heather + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 10 + - candidate: + package: cargo-heather + target: powershell_ms + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 21 + - candidate: + package: cargo-heather + target: toml_mit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 30 + - candidate: + package: cargo-heather + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 32 + - file: crates/cargo-heather/src/checker/matcher.rs + candidates: + - candidate: + package: cargo-heather + target: script_mit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-heather + target: powershell_ms + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - candidate: + package: cargo-heather + target: cargo_heather + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 20 + - file: crates/cargo-heather/src/checker/mod.rs + candidates: + - candidate: + package: cargo-heather + target: toml_mit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-heather + target: rust_mit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 8 + - candidate: + package: cargo-heather + target: script_mit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 11 + - candidate: + package: cargo-heather + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 15 + - file: crates/cargo-heather/src/checker/strip.rs + candidates: + - candidate: + package: cargo-heather + target: script_mit + hits: 2 + misses: 1 + measuredMs: 300 + samples: 2 + order: 1 + - candidate: + package: cargo-heather + target: cargo_heather + hits: 2 + misses: 0 + measuredMs: 546 + samples: 1 + order: 4 + - candidate: + package: cargo-heather + target: toml_mit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 25 + - candidate: + package: cargo-heather + target: powershell_ms + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 57 + - file: crates/cargo-heather/src/comment.rs + candidates: + - candidate: + package: cargo-heather + target: cargo-heather + hits: 1 + misses: 1 + measuredMs: 201 + samples: 1 + order: 1 + - candidate: + package: cargo-heather + target: cargo_heather + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-heather + target: script_mit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - candidate: + package: cargo-heather + target: rust_apache + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 38 + - candidate: + package: cargo-heather + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 43 + - candidate: + package: cargo-heather + target: powershell_ms + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 101 + - file: crates/cargo-heather/src/error.rs + candidates: + - candidate: + package: cargo-heather + target: cargo_heather + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-heather + target: cargo-heather + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 4 + - file: crates/cargo-heather/src/license.rs + candidates: + - candidate: + package: cargo-heather + target: cli + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - candidate: + package: cargo-heather + target: cargo_heather + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 3 + - candidate: + package: cargo-heather + target: cargo-heather + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 7 + - file: crates/cargo-heather/src/process.rs + candidates: + - candidate: + package: cargo-heather + target: script_mit + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 1 + - candidate: + package: cargo-heather + target: cargo_heather + hits: 2 + misses: 0 + measuredMs: 294 + samples: 1 + order: 6 + - file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + candidates: + - candidate: + package: cargo-ensure-no-cyclic-deps + target: integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + - file: crates/cargo_ensure_no_cyclic_deps/src/main.rs + candidates: + - candidate: + package: cargo-ensure-no-cyclic-deps + target: integration_tests + hits: 1 + misses: 0 + measuredMs: 0 + samples: 0 + order: 2 + testSets: + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::ado_artifacts_do_not_require_bash + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::ado_artifacts_do_not_require_bash + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::custom_stages_artifacts_are_under_pipelines_anvil + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::ado_artifacts_do_not_require_bash + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::group_step_passes_group_to_setup + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::render_pr_fast_group_shares_impact_and_resolves_title + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::render_pr_msrv_group_has_no_title_api_or_token_dependency + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::scheduled_group_step_forces_impact_off_unconditionally + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::ado_artifacts_do_not_require_bash + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::render_pr_msrv_group_has_no_title_api_or_token_dependency + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::scheduled_group_step_forces_impact_off_unconditionally + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::ado_artifacts_do_not_require_bash + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::group_step_passes_group_to_setup + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::render_pr_fast_group_shares_impact_and_resolves_title + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::container::tests::every_dockerfile_region_targets_the_one_composed_host + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::container::tests::group_is_two_owned_files_and_five_dockerfile_regions + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::container::tests::a_fork_replaces_one_region_without_touching_the_others + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::container::tests::every_dockerfile_region_targets_the_one_composed_host + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::container::tests::group_is_two_owned_files_and_five_dockerfile_regions + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::ado_artifacts_do_not_require_bash + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::group_step_passes_group_to_setup + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::render_pr_fast_group_shares_impact_and_resolves_title + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::render_pr_msrv_group_has_no_title_api_or_token_dependency + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::scheduled_group_step_forces_impact_off_unconditionally + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::impact_mode_classifies_pr_and_scheduled_groups + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::impact_mode_panics_on_an_unclassified_group + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::ado_artifacts_do_not_require_bash + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::group_step_passes_group_to_setup + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::render_pr_fast_group_shares_impact_and_resolves_title + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::render_pr_msrv_group_has_no_title_api_or_token_dependency + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::impact_mode_classifies_pr_and_scheduled_groups + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::ado_artifacts_do_not_require_bash + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::scheduled_group_step_forces_impact_off_unconditionally + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::impact_mode_classifies_pr_and_scheduled_groups + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::single_crate_body_prepends_lints_header + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::workspace_body_prepends_workspace_lints_header + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: backend::tests::parse_backend_names + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_explicit_backends_skip_autodetect + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: schemas + test: ado_yaml_emitted_files_have_consistent_indent + - package: cargo-anvil + target: snapshots + test: ado_backend_tree + - - package: cargo-anvil + target: cargo_anvil + test: backend::tests::parse_backend_names + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_explicit_backends_deduplicate + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_explicit_backends_skip_autodetect + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: snapshots + test: github_backend_tree + - - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_ado + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_github + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_unknown_host + - - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_github + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_handles_garbage + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_scp_style + - - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_ado + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_ssh_url + - - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_ado + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_github + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_unknown_host + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_handles_garbage + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_https + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_ssh_url + - - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_ado + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_github + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_unknown_host + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_handles_garbage + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_https + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_scp_style + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_ssh_url + - - package: cargo-anvil + target: cargo_anvil + test: backend::tests::detect_unknown_host + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_handles_garbage + - - package: cargo-anvil + target: cargo_anvil + test: backend::tests::extract_host_handles_garbage + - - package: cargo-anvil + target: cargo_anvil + test: backend::tests::origin_output_reports_each_failure_boundary + - - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_explicit_backends_deduplicate + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_explicit_backends_skip_autodetect + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_invalid_backend_name + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_explicit_backends_deduplicate + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_explicit_backends_skip_autodetect + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_invalid_backend_name + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_no_backends_wins + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_explicit_backends_deduplicate + - package: cargo-anvil + target: cargo_anvil + test: backend::tests::resolve_explicit_backends_skip_autodetect + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - - package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::owned_file_constructor_has_no_gate + - package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::region_id_round_trips + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::ado_artifacts_do_not_require_bash + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::custom_stages_artifacts_are_under_pipelines_anvil + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_composed_host_declares_the_regions_that_target_it + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_owned_file_identifies_cargo_anvil_as_its_generator + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::backend_file_constructor_sets_gate + - package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::gate_is_not_part_of_key + - package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::key_identifies_owned_file_by_path + - package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::key_identifies_region_by_host_and_id + - package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::member_region_sets_each_member_and_hash + - package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::with_body_preserves_owned_file_path_and_gate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::canonical_repr_uses_explicit_stable_tags + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::ado::tests::ado_artifacts_do_not_require_bash + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::container::tests::a_fork_replaces_one_region_without_touching_the_others + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::container::tests::hooks_constructor_uses_the_documented_path + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_uses_the_matched_index + - package: cargo-anvil + target: extensibility + test: multi_level_chain_composes + - - package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::with_body_preserves_owned_file_path_and_gate + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::container::tests::a_fork_replaces_one_region_without_touching_the_others + - package: cargo-anvil + target: cargo_anvil + test: catalog::artifact::tests::with_body_preserves_region_host_id_syntax + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::every_registry_entry_is_in_the_anvil_catalog + - package: cargo-anvil + target: cargo_anvil + test: anvil::tests::anvil_catalog_has_identity_and_artifacts + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::builder_from_empty_starts_blank + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_uses_the_matched_index + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_strips_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_works_without_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::terse_version_output_omits_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::version_output_includes_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::builder_from_empty_starts_blank + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_uses_the_matched_index + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_strips_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_works_without_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::terse_version_output_omits_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::version_output_includes_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::builder_from_empty_starts_blank + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_uses_the_matched_index + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_uses_the_matched_index + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_uses_the_matched_index + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_strips_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_works_without_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::terse_version_output_omits_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::version_output_includes_catalog_checksum + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::builder_from_empty_starts_blank + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_uses_the_matched_index + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::builder_from_empty_starts_blank + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_uses_the_matched_index + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::canonical_repr_uses_explicit_stable_tags + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::canonical_repr_uses_explicit_stable_tags + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::canonical_repr_uses_explicit_stable_tags + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::canonical_repr_uses_explicit_stable_tags + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::builder_from_empty_starts_blank + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_uses_the_matched_index + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::builder_from_empty_starts_blank + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_uses_the_matched_index + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::tests::justfiles_only_contains_just_recipes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_accepts_recipes_under_justfiles_and_any_path_outside_it + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::multiple_errors_are_all_reported + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_overrides_in_place + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::subcommand_derives_bin_name + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_appends_new + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::with_artifact_errors_on_duplicate + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_errors_when_absent + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::without_artifact_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::build_rejects_non_recipe_owned_files_under_justfiles + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::canonical_repr_uses_explicit_stable_tags + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::builder_from_empty_starts_blank + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::replace_artifact_uses_the_matched_index + - package: cargo-anvil + target: cargo_anvil + test: catalog::meta::tests::new_derives_only_the_binary_name_and_documented_defaults + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_strips_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_works_without_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::terse_version_output_omits_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::version_output_includes_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::abc_has_known_digest + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::bare_cr_is_preserved + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::checksum_is_deterministic + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::crlf_and_lf_yield_same_checksum + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::different_input_yields_different_checksum + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::empty_input_has_known_digest + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::mixed_line_endings_normalize_consistently + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::prefix_is_always_sha256 + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_strips_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_works_without_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::terse_version_output_omits_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::version_output_includes_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_with_changed_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::matching_file_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::missing_file_writes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_after_render_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::whitespace_only_file_is_treated_as_user_divergence + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::abc_has_known_digest + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::bare_cr_is_preserved + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::checksum_is_deterministic + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::crlf_and_lf_yield_same_checksum + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::different_input_yields_different_checksum + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::mixed_line_endings_normalize_consistently + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::prefix_is_always_sha256 + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_strips_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_works_without_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::terse_version_output_omits_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::version_output_includes_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_with_changed_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::matching_file_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::missing_file_writes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_after_render_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::whitespace_only_file_is_treated_as_user_divergence + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::bare_cr_is_preserved + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::crlf_and_lf_yield_same_checksum + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::mixed_line_endings_normalize_consistently + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::normalize_collapses_crlf + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::normalize_handles_trailing_cr + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::normalize_preserves_bare_cr + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::abc_has_known_digest + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::bare_cr_is_preserved + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::checksum_is_deterministic + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::crlf_and_lf_yield_same_checksum + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::different_input_yields_different_checksum + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::mixed_line_endings_normalize_consistently + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::normalize_collapses_crlf + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::normalize_handles_trailing_cr + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::normalize_keeps_lf_unchanged + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::normalize_preserves_bare_cr + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::prefix_is_always_sha256 + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_with_changed_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::matching_file_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::missing_file_writes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_after_render_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::whitespace_only_file_is_treated_as_user_divergence + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::crlf_and_lf_yield_same_checksum + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::mixed_line_endings_normalize_consistently + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::normalize_collapses_crlf + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_a_body_changes + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_changes_when_an_artifact_is_added_or_removed + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_delimits_adjacent_canonical_artifacts_with_a_newline + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_cli_meta + - package: cargo-anvil + target: cargo_anvil + test: catalog::builder::tests::checksum_is_independent_of_insertion_order + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::abc_has_known_digest + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::bare_cr_is_preserved + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::checksum_is_deterministic + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::crlf_and_lf_yield_same_checksum + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::different_input_yields_different_checksum + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::empty_input_has_known_digest + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::mixed_line_endings_normalize_consistently + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::normalize_collapses_crlf + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::normalize_handles_trailing_cr + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::normalize_keeps_lf_unchanged + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::normalize_preserves_bare_cr + - package: cargo-anvil + target: cargo_anvil + test: checksum::tests::prefix_is_always_sha256 + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_strips_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_works_without_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::terse_version_output_omits_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::version_output_includes_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_with_changed_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::matching_file_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::missing_file_writes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_after_render_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::whitespace_only_file_is_treated_as_user_divergence + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_strips_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_works_without_subcommand_token + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::terse_version_output_omits_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: cli::tests::version_output_includes_catalog_checksum + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: extensibility + test: demoforge_subcommand_parses + - - package: cargo-anvil + target: cargo_anvil + test: cli::tests::parse_from_cargo_args_strips_subcommand_token + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: extensibility + test: demoforge_subcommand_parses + - - package: cargo-anvil + target: cargo_anvil + test: decision::tests::disk_matches_last_template_changed_writes + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::disk_matches_template_in_sync + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::first_time_with_existing_user_content_proposes + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::opt_out_via_empty_steady_state_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::opt_out_via_empty_with_template_change_proposes + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::user_diverged_template_changed_proposes + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::user_diverged_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_with_changed_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::matching_file_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_after_render_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::whitespace_only_file_is_treated_as_user_divergence + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: decision::tests::disk_matches_last_template_changed_writes + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::opt_out_via_empty_steady_state_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::opt_out_via_empty_with_template_change_proposes + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::user_diverged_template_changed_proposes + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::user_diverged_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_with_changed_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_after_render_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::whitespace_only_file_is_treated_as_user_divergence + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + - package: cargo-anvil + target: fixtures + test: user_edit_inside_region_is_left_alone + - - package: cargo-anvil + target: cargo_anvil + test: decision::tests::opt_out_via_empty_steady_state_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::opt_out_via_empty_with_template_change_proposes + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::user_diverged_template_changed_proposes + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::user_diverged_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_with_changed_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_after_render_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::whitespace_only_file_is_treated_as_user_divergence + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + - package: cargo-anvil + target: fixtures + test: user_edit_inside_region_is_left_alone + - - package: cargo-anvil + target: cargo_anvil + test: decision::tests::removal_customized_disk_orphans + - package: cargo-anvil + target: cargo_anvil + test: decision::tests::removal_untouched_disk_removes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: io::tests::case_insensitive_match_returns_real_name + - package: cargo-anvil + target: cargo_anvil + test: io::tests::exact_match_is_returned + - package: cargo-anvil + target: cargo_anvil + test: io::tests::nonexistent_path_keeps_canonical_casing + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_deletes_file_and_purges_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_with_changed_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::matching_file_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::missing_file_writes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_after_render_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::whitespace_only_file_is_treated_as_user_divergence + - package: cargo-anvil + target: cargo_anvil + test: io::tests::read_file_if_present_propagates_non_not_found_errors + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::host_text_cache_reads_a_host_only_once + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_skips_when_host_file_is_absent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::missing_file_writes + - package: cargo-anvil + target: cargo_anvil + test: io::tests::read_file_if_present_propagates_non_not_found_errors + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_skips_when_host_file_is_absent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::missing_file_writes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_skips_when_host_file_is_absent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_with_changed_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::matching_file_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_after_render_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::whitespace_only_file_is_treated_as_user_divergence + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::host_text_cache_reads_a_host_only_once + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: io::tests::read_file_if_present_propagates_non_not_found_errors + - - package: cargo-anvil + target: cargo_anvil + test: io::tests::nonexistent_path_keeps_canonical_casing + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: io::tests::case_insensitive_match_returns_real_name + - package: cargo-anvil + target: cargo_anvil + test: io::tests::exact_match_is_returned + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_deletes_file_and_purges_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: io::tests::case_insensitive_match_returns_real_name + - package: cargo-anvil + target: cargo_anvil + test: io::tests::exact_case_wins_over_an_earlier_case_insensitive_candidate + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_a_composed_host_is_refused_and_changes_nothing + - package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_an_owned_file_is_not_deleted + - package: cargo-anvil + target: container_upgrade + test: a_case_variant_repository_dockerfile_is_refused_too + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - - package: cargo-anvil + target: cargo_anvil + test: io::tests::case_insensitive_match_returns_real_name + - package: cargo-anvil + target: cargo_anvil + test: io::tests::exact_case_wins_over_an_earlier_case_insensitive_candidate + - package: cargo-anvil + target: cargo_anvil + test: io::tests::exact_match_is_returned + - package: cargo-anvil + target: cargo_anvil + test: io::tests::nonexistent_path_keeps_canonical_casing + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_deletes_file_and_purges_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: io::tests::exact_case_wins_over_an_earlier_case_insensitive_candidate + - package: cargo-anvil + target: cargo_anvil + test: io::tests::exact_match_is_returned + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_deletes_file_and_purges_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: io::tests::case_insensitive_match_returns_real_name + - package: cargo-anvil + target: cargo_anvil + test: io::tests::exact_case_wins_over_an_earlier_case_insensitive_candidate + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - - package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + - package: cargo-anvil + target: fixtures + test: user_edit_inside_region_is_left_alone + - - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_with_changed_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::matching_file_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::missing_file_writes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_after_render_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::whitespace_only_file_is_treated_as_user_divergence + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::file_checksum_prefers_the_exact_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::file_checksum_tolerates_a_case_only_difference + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::has_region_host_matches_without_case + - package: cargo-anvil + target: container_upgrade + test: a_case_variant_repository_dockerfile_is_refused_too + - package: cargo-anvil + target: container_upgrade + test: a_composed_host_that_lost_its_regions_is_told_to_restore_it + - package: cargo-anvil + target: container_upgrade + test: a_repository_authored_dockerfile_is_refused_not_appended_to + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::load_missing_file_yields_empty_manifest + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::accepts_an_ordinary_nested_path + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::containment_errors_name_the_manifest_entry_kind + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_file_path_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_path_that_names_no_file + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::containment_errors_name_the_manifest_entry_kind + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_region_host_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_region_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::accepts_an_ordinary_nested_path + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::containment_errors_name_the_manifest_entry_kind + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::empty_manifest_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::legacy_rendered_by_parses_without_setting_tool + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_file_path_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_path_that_names_no_file + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_region_host_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_region_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_malformed_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_newer_schema + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::accepts_an_ordinary_nested_path + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::containment_errors_name_the_manifest_entry_kind + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::empty_manifest_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::legacy_rendered_by_parses_without_setting_tool + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::malformed_toml_reports_the_parser_context + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_file_path_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_path_that_names_no_file + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_region_host_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_region_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_malformed_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_missing_version + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_newer_schema + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::accepts_an_ordinary_nested_path + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::containment_errors_name_the_manifest_entry_kind + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::empty_manifest_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::legacy_rendered_by_parses_without_setting_tool + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_file_path_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_path_that_names_no_file + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_region_host_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_region_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_malformed_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::accepts_an_ordinary_nested_path + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::containment_errors_name_the_manifest_entry_kind + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_file_path_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_path_that_names_no_file + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_malformed_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::accepts_an_ordinary_nested_path + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::containment_errors_name_the_manifest_entry_kind + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::empty_manifest_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::legacy_rendered_by_parses_without_setting_tool + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_region_host_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_region_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::accepts_an_ordinary_nested_path + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::containment_errors_name_the_manifest_entry_kind + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::empty_manifest_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::legacy_rendered_by_parses_without_setting_tool + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_file_path_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_path_that_names_no_file + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_region_host_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_region_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_malformed_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::accepts_an_ordinary_nested_path + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::containment_errors_name_the_manifest_entry_kind + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::empty_manifest_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::legacy_rendered_by_parses_without_setting_tool + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_file_path_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_path_that_names_no_file + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_region_host_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_region_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_malformed_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_missing_version + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_newer_schema + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::load_missing_file_yields_empty_manifest + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_clears_a_stale_temporary_sibling + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_stops_when_the_temporary_sibling_cannot_be_cleared + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_clears_a_stale_temporary_sibling + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_stops_when_the_temporary_sibling_cannot_be_cleared + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_stops_when_the_temporary_sibling_cannot_be_cleared + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_stops_when_the_temporary_sibling_cannot_be_cleared + - - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_with_changed_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_after_render_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::whitespace_only_file_is_treated_as_user_divergence + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::file_checksum_prefers_the_exact_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::file_checksum_tolerates_a_case_only_difference + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_keys_serialize_after_version + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_clears_a_stale_temporary_sibling + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_stops_when_the_temporary_sibling_cannot_be_cleared + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::to_toml_always_ends_with_exactly_one_newline + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::toml_ends_with_newline + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::toml_output_is_deterministic + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_without_checksum_preserves_manifest_entry + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_leave_alone_does_not_refresh_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_preserves_disk_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_preserves_in_plan_manifest_entries + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_deletes_file_and_purges_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_distinguishes_create_from_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::has_region_host_matches_without_case + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_keys_serialize_after_version + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_clears_a_stale_temporary_sibling + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_stops_when_the_temporary_sibling_cannot_be_cleared + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::to_toml_always_ends_with_exactly_one_newline + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::toml_ends_with_newline + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_region_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_region_preserves_host_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_spares_a_retired_region_entry_too + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::empty_manifest_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_keys_serialize_after_version + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_clears_a_stale_temporary_sibling + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_stops_when_the_temporary_sibling_cannot_be_cleared + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::to_toml_always_ends_with_exactly_one_newline + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::toml_ends_with_newline + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::toml_output_is_deterministic + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_keys_serialize_after_version + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_clears_a_stale_temporary_sibling + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_stops_when_the_temporary_sibling_cannot_be_cleared + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::to_toml_always_ends_with_exactly_one_newline + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::toml_ends_with_newline + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_keys_serialize_after_version + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_clears_a_stale_temporary_sibling + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_stops_when_the_temporary_sibling_cannot_be_cleared + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::to_toml_always_ends_with_exactly_one_newline + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::toml_ends_with_newline + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::toml_output_is_deterministic + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_keys_serialize_after_version + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_clears_a_stale_temporary_sibling + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_stops_when_the_temporary_sibling_cannot_be_cleared + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::to_toml_always_ends_with_exactly_one_newline + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::toml_ends_with_newline + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::accepts_an_ordinary_nested_path + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_path_that_names_no_file + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_region_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::accepts_an_ordinary_nested_path + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::containment_errors_name_the_manifest_entry_kind + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::provenance_fields_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_file_path_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_path_that_names_no_file + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_a_region_host_that_escapes_the_repository + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_file_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::rejects_duplicate_region_entry + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::round_trip_preserves_content + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_then_load_round_trip + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: demoforge_emits_extra_overrides_drops_and_fans_out + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::empty_manifest_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::to_toml_always_ends_with_exactly_one_newline + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::empty_manifest_round_trip + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::save_overwrites_existing + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::to_toml_always_ends_with_exactly_one_newline + - package: cargo-anvil + target: cargo_anvil + test: manifest::tests::toml_output_is_deterministic + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_carries_provenance_forward + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_region_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_without_checksum_preserves_manifest_entry + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_leave_alone_does_not_refresh_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_preserves_disk_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_region_preserves_host_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_preserves_in_plan_manifest_entries + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_write_splices_host + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_deletes_file_and_purges_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_owned_file + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_carries_provenance_forward + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_region_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_without_checksum_preserves_manifest_entry + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_leave_alone_does_not_refresh_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_preserves_disk_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_region_preserves_host_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_preserves_in_plan_manifest_entries + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_write_splices_host + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_deletes_file_and_purges_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_owned_file + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::empty_plan_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::manifest_only_update_is_reported_as_a_change + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_with_write_is_out_of_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::refusal_is_distinct_and_fails_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::empty_plan_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::refusal_is_distinct_and_fails_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::empty_plan_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::manifest_only_update_is_reported_as_a_change + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_with_only_in_sync_items_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_with_write_is_out_of_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::refusal_is_distinct_and_fails_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: fixtures + test: migration_preserves_user_content + - package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::empty_plan_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_with_only_in_sync_items_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_with_write_is_out_of_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::refusal_is_distinct_and_fails_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: fixtures + test: migration_preserves_user_content + - package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_skips_when_host_file_is_absent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_planning_notes + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_carries_provenance_forward + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_region_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_without_checksum_preserves_manifest_entry + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_leave_alone_does_not_refresh_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_preserves_disk_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_region_preserves_host_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_preserves_in_plan_manifest_entries + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_write_splices_host + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_deletes_file_and_purges_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_owned_file + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_owned_file + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_preserves_disk_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_deletes_file_and_purges_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_owned_dockerfile_reseeds_the_composed_host + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_region_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_write_splices_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_region_preserves_host_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_region_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_without_checksum_preserves_manifest_entry + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_leave_alone_does_not_refresh_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_preserves_disk_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_region_preserves_host_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_preserves_in_plan_manifest_entries + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_write_splices_host + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_deletes_file_and_purges_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_owned_file + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_with_only_in_sync_items_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_with_write_is_out_of_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_categorizes_items + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_distinguishes_create_from_update + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_propose_and_leave_alone_sections + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_removal_and_orphan_sections + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_skips_when_host_file_is_absent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::refusal_is_distinct_and_fails_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::manifest_only_update_is_reported_as_a_change + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::empty_plan_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::manifest_only_update_is_reported_as_a_change + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::refusal_is_distinct_and_fails_dry_run + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_categorizes_items + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_distinguishes_create_from_update + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_planning_notes + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_propose_and_leave_alone_sections + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_removal_and_orphan_sections + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_categorizes_items + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_distinguishes_create_from_update + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_distinguishes_create_from_update + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::matching_file_in_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_region_refreshes_stale_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::whitespace_only_file_is_treated_as_user_divergence + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_insync_without_checksum_preserves_manifest_entry + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_leave_alone_does_not_refresh_manifest_l + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_preserves_in_plan_manifest_entries + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_with_only_in_sync_items_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_categorizes_items + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_propose_and_leave_alone_sections + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + - package: cargo-anvil + target: fixtures + test: user_edit_inside_region_is_left_alone + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_preserves_disk_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_orphaned_kept_region_preserves_host_and_drops_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_removal_and_orphan_sections + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_owned_dockerfile_reseeds_the_composed_host + - - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::empty_file_with_changed_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::user_modified_after_render_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_propose_and_leave_alone_sections + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_skips_when_host_file_is_absent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_deletes_file_and_purges_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_removal_and_orphan_sections + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: emit::owned_file::tests::missing_file_writes + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_owned_file + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_with_write_is_out_of_sync + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_categorizes_items + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_distinguishes_create_from_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_write_splices_host + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::plan_item_constructors_set_every_payload_field + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_categorizes_items + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_distinguishes_create_from_update + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_propose_and_leave_alone_sections + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::summary_lists_removal_and_orphan_sections + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::target_label_for_files + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::target_label_for_regions + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_path_inside_the_repository_is_joined_as_given + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_path_that_resolves_outside_the_repository_is_refused + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_write_splices_host + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_deletes_file_and_purges_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_owned_file + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_component_that_cannot_be_resolved_is_an_error_not_an_absence + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_path_inside_the_repository_is_joined_as_given + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_path_that_resolves_outside_the_repository_is_refused + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_write_splices_host + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_deletes_file_and_purges_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_file_propagates_non_not_found_error + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_owned_file + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_component_that_cannot_be_resolved_is_an_error_not_an_absence + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_path_inside_the_repository_is_joined_as_given + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_write_splices_host + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_missing_file_is_idempotent + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_owned_file + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_component_that_cannot_be_resolved_is_an_error_not_an_absence + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_temporary_sibling_that_cannot_be_cleared_stops_the_write + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::an_existing_temporary_sibling_is_cleared_and_the_write_proceeds + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_write_splices_host + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_owned_file + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_temporary_sibling_that_cannot_be_cleared_stops_the_write + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::an_existing_temporary_sibling_is_cleared_and_the_write_proceeds + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_write_splices_host + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_owned_file + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::write_file_propagates_create_dir_all_error + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_temporary_sibling_that_cannot_be_cleared_stops_the_write + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_propose_writes_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_region_write_splices_host + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_remove_region_splices_out_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_owned_file + - package: cargo-anvil + target: cargo_anvil + test: plan::tests::apply_writes_proposed_file_sibling_and_bumps_manifest + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: plan::tests::a_temporary_sibling_that_cannot_be_cleared_stops_the_write + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::closer_before_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_closing_sentinel_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_multiple_distinct_regions + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::hash_syntax_ignores_slash_slash_sentinels + - package: cargo-anvil + target: cargo_anvil + test: region::tests::managed_markers_exclude_their_complete_body_from_adoption_candidates + - package: cargo-anvil + target: cargo_anvil + test: region::tests::missing_region_returns_none + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_sentinels_indented_still_recognized + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_absent_region_is_a_noop + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_comments_are_excluded_when_scanning_slash_syntax + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_slash_syntax_works + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::unterminated_region_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_crlf_host_still_keeps_the_scaffold_on_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_host_without_the_scaffold_places_the_first_region_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_outside_the_declared_order_appends + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_scaffold_that_grew_still_places_below_its_first_line + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::the_first_region_lands_below_the_scaffold_never_above_it + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::shared_config_bodies_round_trip_through_toml_parser + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_into_empty_text_adds_no_leading_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::closer_before_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_closing_sentinel_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_multiple_distinct_regions + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::hash_syntax_ignores_slash_slash_sentinels + - package: cargo-anvil + target: cargo_anvil + test: region::tests::managed_markers_exclude_their_complete_body_from_adoption_candidates + - package: cargo-anvil + target: cargo_anvil + test: region::tests::missing_region_returns_none + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_sentinels_indented_still_recognized + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_absent_region_is_a_noop + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_comments_are_excluded_when_scanning_slash_syntax + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_slash_syntax_works + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::unterminated_region_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_into_empty_file + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_crlf_host_still_keeps_the_scaffold_on_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_host_without_the_scaffold_places_the_first_region_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_parser_directive_without_a_trailing_newline_uses_its_full_length + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_outside_the_declared_order_appends + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_scaffold_that_grew_still_places_below_its_first_line + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::the_first_region_lands_below_the_scaffold_never_above_it + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::closer_before_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_closing_sentinel_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_multiple_distinct_regions + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::hash_syntax_ignores_slash_slash_sentinels + - package: cargo-anvil + target: cargo_anvil + test: region::tests::managed_markers_exclude_their_complete_body_from_adoption_candidates + - package: cargo-anvil + target: cargo_anvil + test: region::tests::missing_region_returns_none + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_sentinels_indented_still_recognized + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_absent_region_is_a_noop + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_comments_are_excluded_when_scanning_slash_syntax + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_slash_syntax_works + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::unterminated_region_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_crlf_host_still_keeps_the_scaffold_on_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_host_without_the_scaffold_places_the_first_region_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_parser_directive_without_a_trailing_newline_uses_its_full_length + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_outside_the_declared_order_appends + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_scaffold_that_grew_still_places_below_its_first_line + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::the_first_region_lands_below_the_scaffold_never_above_it + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::shared_config_bodies_round_trip_through_toml_parser + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_into_empty_text_adds_no_leading_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::closer_before_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_closing_sentinel_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_multiple_distinct_regions + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::hash_syntax_ignores_slash_slash_sentinels + - package: cargo-anvil + target: cargo_anvil + test: region::tests::managed_markers_exclude_their_complete_body_from_adoption_candidates + - package: cargo-anvil + target: cargo_anvil + test: region::tests::missing_region_returns_none + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_sentinels_indented_still_recognized + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_absent_region_is_a_noop + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::render_region_adds_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::render_region_with_empty_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_comments_are_excluded_when_scanning_slash_syntax + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_slash_syntax_works + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::unterminated_region_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_into_empty_file + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_crlf_host_still_keeps_the_scaffold_on_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_host_without_the_scaffold_places_the_first_region_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_parser_directive_without_a_trailing_newline_uses_its_full_length + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_outside_the_declared_order_appends + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_scaffold_that_grew_still_places_below_its_first_line + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::the_first_region_lands_below_the_scaffold_never_above_it + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::shared_config_bodies_round_trip_through_toml_parser + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_into_empty_text_adds_no_leading_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::closer_before_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_closing_sentinel_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_multiple_distinct_regions + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::hash_syntax_ignores_slash_slash_sentinels + - package: cargo-anvil + target: cargo_anvil + test: region::tests::managed_markers_exclude_their_complete_body_from_adoption_candidates + - package: cargo-anvil + target: cargo_anvil + test: region::tests::missing_region_returns_none + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_sentinels_indented_still_recognized + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_absent_region_is_a_noop + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::render_region_adds_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::render_region_with_empty_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::unterminated_region_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_into_empty_file + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_crlf_host_still_keeps_the_scaffold_on_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_host_without_the_scaffold_places_the_first_region_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_parser_directive_without_a_trailing_newline_uses_its_full_length + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_outside_the_declared_order_appends + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_scaffold_that_grew_still_places_below_its_first_line + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::the_first_region_lands_below_the_scaffold_never_above_it + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_comments_are_excluded_when_scanning_slash_syntax + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_slash_syntax_works + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_multiple_distinct_regions + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_sentinels_indented_still_recognized + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_slash_syntax_works + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_bracketed_line_inside_a_multi_line_string_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_literal_multi_line_string_declines_adoption_entirely + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_multi_line_string_declines_adoption_entirely + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: fixtures + test: migration_preserves_user_content + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: fixtures + test: migration_preserves_user_content + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_literal_multi_line_string_declines_adoption_entirely + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_closing_sentinel_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_multiple_distinct_regions + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_sentinels_indented_still_recognized + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_slash_syntax_works + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::unterminated_region_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_closing_sentinel_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_multiple_distinct_regions + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_sentinels_indented_still_recognized + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_slash_syntax_works + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::closer_before_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_closing_sentinel_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_multiple_distinct_regions + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_sentinels_indented_still_recognized + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_slash_syntax_works + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::closer_before_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_closing_sentinel_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_multiple_distinct_regions + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::hash_syntax_ignores_slash_slash_sentinels + - package: cargo-anvil + target: cargo_anvil + test: region::tests::missing_region_returns_none + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_sentinels_indented_still_recognized + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_absent_region_is_a_noop + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_slash_syntax_works + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::unterminated_region_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_crlf_host_still_keeps_the_scaffold_on_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_host_without_the_scaffold_places_the_first_region_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_parser_directive_without_a_trailing_newline_uses_its_full_length + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_outside_the_declared_order_appends + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_scaffold_that_grew_still_places_below_its_first_line + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::the_first_region_lands_below_the_scaffold_never_above_it + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::closer_before_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_closing_sentinel_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_multiple_distinct_regions + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::hash_syntax_ignores_slash_slash_sentinels + - package: cargo-anvil + target: cargo_anvil + test: region::tests::missing_region_returns_none + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_sentinels_indented_still_recognized + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_absent_region_is_a_noop + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_slash_syntax_works + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::unterminated_region_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_crlf_host_still_keeps_the_scaffold_on_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_host_without_the_scaffold_places_the_first_region_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_parser_directive_without_a_trailing_newline_uses_its_full_length + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_outside_the_declared_order_appends + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_scaffold_that_grew_still_places_below_its_first_line + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::the_first_region_lands_below_the_scaffold_never_above_it + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::shared_config_bodies_round_trip_through_toml_parser + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_into_empty_text_adds_no_leading_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::closer_before_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_closing_sentinel_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::duplicate_opener_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_multiple_distinct_regions + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::hash_syntax_ignores_slash_slash_sentinels + - package: cargo-anvil + target: cargo_anvil + test: region::tests::missing_region_returns_none + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_sentinels_indented_still_recognized + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_absent_region_is_a_noop + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_slash_syntax_works + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::unterminated_region_errors + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_into_empty_file + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_crlf_host_still_keeps_the_scaffold_on_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_host_without_the_scaffold_places_the_first_region_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_parser_directive_without_a_trailing_newline_uses_its_full_length + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_outside_the_declared_order_appends + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_scaffold_that_grew_still_places_below_its_first_line + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::the_first_region_lands_below_the_scaffold_never_above_it + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_opts_out_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::matching_region_is_in_sync + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_template_unchanged_leaves_alone + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_empty_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_multiple_distinct_regions + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_when_closing_sentinel_lacks_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::finds_region_with_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_sentinels_indented_still_recognized + - package: cargo-anvil + target: cargo_anvil + test: region::tests::region_with_only_whitespace_is_empty + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_slash_syntax_works + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: region::tests::unterminated_region_errors + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_absent_region_is_a_noop + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_at_eof_drops_trailing_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_consumes_a_leading_trailing_blank_before_non_newline_content + - package: cargo-anvil + target: cargo_anvil + test: region::tests::remove_region_excises_markers_and_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::shared_config_bodies_round_trip_through_toml_parser + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_into_empty_text_adds_no_leading_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::render_region_adds_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::render_region_with_empty_body + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_into_empty_file + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: region::tests::render_region_adds_trailing_newline + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::shared_config_bodies_round_trip_through_toml_parser + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_into_empty_text_adds_no_leading_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::render_region_adds_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_into_empty_file + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::managed_markers_exclude_their_complete_body_from_adoption_candidates + - package: cargo-anvil + target: cargo_anvil + test: region::tests::strip_trailing_comment_tracks_quoting + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: region::tests::strip_trailing_comment_tracks_quoting + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::managed_markers_exclude_their_complete_body_from_adoption_candidates + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_comments_are_excluded_when_scanning_slash_syntax + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::strip_trailing_comment_tracks_quoting + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::strip_trailing_comment_tracks_quoting + - package: cargo-anvil + target: fixtures + test: migration_preserves_user_content + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::managed_markers_exclude_their_complete_body_from_adoption_candidates + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_comments_are_excluded_when_scanning_slash_syntax + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_dotted_header_is_compared_past_its_first_segment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_hash_inside_a_quoted_value_is_not_treated_as_a_comment + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_key_line_with_a_trailing_comment_is_still_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_dotted_key_is_not_a_nested_path + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_quoted_hash_keeps_two_differing_values_distinct + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_content_before_the_first_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_element_on_its_own_line_is_not_a_table_header + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_bounds_the_table_above_it + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_is_never_adopted + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_array_of_tables_survives_adoption_of_a_table_sharing_its_name + - package: cargo-anvil + target: cargo_anvil + test: region::tests::an_ordinary_quoted_value_still_permits_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::entry_order_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: region::tests::managed_markers_exclude_their_complete_body_from_adoption_candidates + - package: cargo-anvil + target: cargo_anvil + test: region::tests::slash_comments_are_excluded_when_scanning_slash_syntax + - package: cargo-anvil + target: cargo_anvil + test: region::tests::spacing_around_the_assignment_does_not_defeat_adoption + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: region::tests::a_table_inside_a_managed_region_does_not_make_an_unmanaged_one_adoptable + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_preserves_an_existing_managed_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::adoption_stops_at_a_managed_region_that_follows_the_adopted_table + - package: cargo-anvil + target: cargo_anvil + test: region::tests::managed_markers_exclude_their_complete_body_from_adoption_candidates + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::shared_config_bodies_round_trip_through_toml_parser + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_into_empty_file + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + - package: cargo-anvil + target: fixtures + test: user_edit_inside_region_is_left_alone + - - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_into_empty_text_adds_no_leading_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::shared_config_bodies_round_trip_through_toml_parser + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_into_empty_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + - package: cargo-anvil + target: fixtures + test: user_edit_inside_region_is_left_alone + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::shared_config_bodies_round_trip_through_toml_parser + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_into_empty_text_adds_no_leading_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_into_empty_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - package: cargo-anvil + target: fixtures + test: empty_region_is_treated_as_opt_out + - package: cargo-anvil + target: fixtures + test: user_edit_inside_region_is_left_alone + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::shared_config_bodies_round_trip_through_toml_parser + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_header_with_a_trailing_comment_is_adopted + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_existing_region_does_not_re_run_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::an_unmanaged_lints_table_is_adopted_rather_than_duplicated + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::empty_region_with_new_template_proposes + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::missing_host_writes_new_file + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_moves_an_in_sync_body_at_the_end + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::start_placement_updates_an_untouched_legacy_region_at_the_start + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::user_modified_proposes_when_template_changed + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_into_empty_text_adds_no_leading_blank + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_mid_line_without_a_later_newline_rounds_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_past_eof_is_clamped_to_eof + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_updates_an_existing_region_where_it_already_is + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_moves_existing_region_from_end + - package: cargo-anvil + target: cargo_anvil + test: region::tests::start_placement_prepends_absent_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_does_not_add_extra_blank_when_text_ends_with_double_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_empties_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_into_empty_file + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_replaces_existing_body + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - - package: cargo-anvil + target: cargo_anvil + test: anvil::artifacts::region::tests::dotted_key_body_parses_as_valid_toml_when_appended_to_workspace + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_non_toml_host_is_not_subject_to_table_adoption + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::a_table_with_extra_user_keys_is_never_dropped + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::adoption_stops_at_the_next_table_header + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::composes_onto_existing_region_in_host_text + - package: cargo-anvil + target: cargo_anvil + test: emit::managed_region::tests::existing_host_without_region_appends_region + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_to_file_without_trailing_newline + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_when_absent + - package: cargo-anvil + target: cargo_anvil + test: region::tests::upsert_appends_with_exactly_one_blank_separator + - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_does_not_double_the_separating_blank_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inserts_after_the_line_containing_the_offset + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_inside_a_multi_byte_character_rounds_to_the_next_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_on_a_line_boundary_does_not_skip_the_following_line + - package: cargo-anvil + target: cargo_anvil + test: region::tests::at_placement_separates_the_region_from_the_content_that_follows + - package: cargo-anvil + target: container_upgrade + test: a_newly_added_region_is_inserted_in_order_not_appended + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::host_text_cache_reads_a_host_only_once + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_skips_when_host_file_is_absent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::host_text_cache_reads_a_host_only_once + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_skips_when_host_file_is_absent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_a_composed_host_is_refused_and_changes_nothing + - package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_an_owned_file_is_not_deleted + - package: cargo-anvil + target: container_upgrade + test: a_newly_added_region_is_inserted_in_order_not_appended + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - package: cargo-anvil + target: container_upgrade + test: a_reordered_composed_dockerfile_is_refused_with_one_diagnostic + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: container_upgrade + test: a_composed_host_that_lost_its_regions_is_told_to_restore_it + - - package: cargo-anvil + target: container_upgrade + test: a_case_variant_repository_dockerfile_is_refused_too + - package: cargo-anvil + target: container_upgrade + test: a_repository_authored_dockerfile_is_refused_not_appended_to + - - package: cargo-anvil + target: container_upgrade + test: an_edited_superseded_dockerfile_is_never_overwritten + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + - - package: cargo-anvil + target: container_upgrade + test: a_case_variant_repository_dockerfile_is_refused_too + - package: cargo-anvil + target: container_upgrade + test: a_composed_host_that_lost_its_regions_is_told_to_restore_it + - package: cargo-anvil + target: container_upgrade + test: a_repository_authored_dockerfile_is_refused_not_appended_to + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: container_upgrade + test: an_edited_superseded_dockerfile_is_never_overwritten + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_owned_dockerfile_reseeds_the_composed_host + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::an_owned_composed_scaffold_without_regions_is_reseeded + - package: cargo-anvil + target: container_upgrade + test: a_case_variant_repository_dockerfile_is_refused_too + - package: cargo-anvil + target: container_upgrade + test: a_composed_host_that_lost_its_regions_is_told_to_restore_it + - package: cargo-anvil + target: container_upgrade + test: a_newly_added_region_is_inserted_in_order_not_appended + - package: cargo-anvil + target: container_upgrade + test: a_repository_authored_dockerfile_is_refused_not_appended_to + - package: cargo-anvil + target: container_upgrade + test: an_edited_superseded_dockerfile_is_never_overwritten + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_owned_dockerfile_reseeds_the_composed_host + - - package: cargo-anvil + target: container_upgrade + test: a_malformed_sentinel_is_named_in_the_refusal + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_spares_a_retired_region_entry_too + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_a_composed_host_is_refused_and_changes_nothing + - package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_an_owned_file_is_not_deleted + - package: cargo-anvil + target: container_upgrade + test: a_malformed_sentinel_is_named_in_the_refusal + - package: cargo-anvil + target: container_upgrade + test: a_newly_added_region_is_inserted_in_order_not_appended + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - package: cargo-anvil + target: container_upgrade + test: a_reordered_composed_dockerfile_is_refused_with_one_diagnostic + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_spares_a_retired_region_entry_too + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_crlf_host_still_keeps_the_scaffold_on_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_host_without_the_scaffold_places_the_first_region_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_parser_directive_without_a_trailing_newline_uses_its_full_length + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_scaffold_that_grew_still_places_below_its_first_line + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::the_first_region_lands_below_the_scaffold_never_above_it + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_crlf_host_still_keeps_the_scaffold_on_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_host_without_the_scaffold_places_the_first_region_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_parser_directive_without_a_trailing_newline_uses_its_full_length + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_already_present_is_replaced_where_it_is + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_outside_the_declared_order_appends + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_scaffold_that_grew_still_places_below_its_first_line + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::the_first_region_lands_below_the_scaffold_never_above_it + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_host_without_the_scaffold_places_the_first_region_at_the_top + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_host_without_the_scaffold_places_the_first_region_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_crlf_host_still_keeps_the_scaffold_on_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_first_line_that_is_not_a_parser_directive_places_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_host_without_the_scaffold_places_the_first_region_at_the_top + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_lands_after_its_nearest_present_predecessor + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_missing_region_skips_predecessors_that_are_absent_too + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_parser_directive_without_a_trailing_newline_uses_its_full_length + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_region_outside_the_declared_order_appends + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::a_scaffold_that_grew_still_places_below_its_first_line + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::an_upgraded_parser_directive_keeps_line_one + - package: cargo-anvil + target: cargo_anvil + test: run::tests::composed_placement::the_first_region_lands_below_the_scaffold_never_above_it + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: container_upgrade + test: an_edited_superseded_dockerfile_is_never_overwritten + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_owned_dockerfile_reseeds_the_composed_host + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: container_upgrade + test: an_edited_superseded_dockerfile_is_never_overwritten + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_owned_dockerfile_reseeds_the_composed_host + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_with_missing_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_a_composed_host_is_refused_and_changes_nothing + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_spares_a_retired_region_entry_too + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: container_upgrade + test: a_case_only_rename_of_a_composed_host_is_refused_and_changes_nothing + - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_spares_a_retired_region_entry_too + - - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: container_upgrade + test: a_region_removal_composes_with_the_writes_of_the_same_pass + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_runner_layout_retires_the_seam_and_emits_the_new_backend + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: container_upgrade + test: refusing_a_composed_host_leaves_its_lock_entry_intact + - package: cargo-anvil + target: container_upgrade + test: upgrading_from_the_owned_dockerfile_reseeds_the_composed_host + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: container_upgrade + test: an_edited_retired_asset_is_handed_back_rather_than_deleted + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::plan_removals_region_orphan_customized_is_kept + - - package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_skips_when_host_file_is_absent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_places_delta_proposal_before_toml_tables + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_skips_when_host_file_is_absent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::recompose_converges_multiple_proposals_on_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: extensibility + test: a_regular_repository_can_add_a_credential_hook_without_a_derived_catalog + - package: cargo-anvil + target: extensibility + test: guard_separates_anvil_and_demoforge + - - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_explicit_members + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::errors_when_explicit_member_missing + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_glob_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::glob_with_existing_parent_but_no_member_dirs_resolves_empty + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::workspace_resolving_to_zero_members_errors + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_explicit_members + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::errors_when_explicit_member_missing + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::unsupported_glob_pattern_errors + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_explicit_members + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_glob_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::empty_member_pattern_errors + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::errors_when_explicit_member_missing + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::glob_with_existing_parent_but_no_member_dirs_resolves_empty + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::unsupported_glob_pattern_errors + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::workspace_resolving_to_zero_members_errors + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_explicit_members + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_glob_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::errors_when_explicit_member_missing + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::glob_with_existing_parent_but_no_member_dirs_resolves_empty + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::unsupported_glob_pattern_errors + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::workspace_resolving_to_zero_members_errors + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_glob_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_glob_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::glob_with_existing_parent_but_no_member_dirs_resolves_empty + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_explicit_members + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + - - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_single_crate_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::nearest_package_manifest_wins_without_a_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::walks_up_to_workspace_root + - package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_single_crate_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::errors_when_no_cargo_toml_above + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::nearest_package_manifest_wins_without_a_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::walks_up_to_workspace_root + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_before_workspace_parsing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_and_writes_nothing + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_refuses_mismatched_tool_under_dry_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_single_crate_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::nearest_package_manifest_wins_without_a_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::walks_up_to_workspace_root + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_single_crate_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::errors_when_no_cargo_toml_above + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::nearest_package_manifest_wins_without_a_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::walks_up_to_workspace_root + - package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + - - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_single_crate_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::manifest_without_workspace_or_package_errors + - package: cargo-anvil + target: fixtures + test: single_crate_emits_crate_lints_and_justfiles + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_explicit_members + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_glob_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_single_crate_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::empty_member_pattern_errors + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::errors_when_explicit_member_missing + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::glob_with_existing_parent_but_no_member_dirs_resolves_empty + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::manifest_without_workspace_or_package_errors + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::unsupported_glob_pattern_errors + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::workspace_resolving_to_zero_members_errors + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_explicit_members + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_glob_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::glob_with_existing_parent_but_no_member_dirs_resolves_empty + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::workspace_resolving_to_zero_members_errors + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_explicit_members + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_glob_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::normalize_relpath_uses_forward_slashes + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-anvil + target: cargo_anvil + test: run::tests::a_fork_region_absent_from_the_composed_order_is_refused + - package: cargo-anvil + target: cargo_anvil + test: run::tests::ado_backend_writes_full_pipelines_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::already_gone_orphan_file_surfaces_as_remove + - package: cargo-anvil + target: cargo_anvil + test: run::tests::both_backends_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::customized_orphans_are_kept_not_removed + - package: cargo-anvil + target: cargo_anvil + test: run::tests::disabling_a_backend_removes_its_orphaned_files + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_accepts_crlf_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_missing_manifest_region + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_noncanonical_manifest_text + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_catalog_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_detects_stale_manifest_checksum + - package: cargo-anvil + target: cargo_anvil + test: run::tests::dry_run_does_not_write + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_delta_trip_wires_are_preserved_without_duplicate_key + - package: cargo-anvil + target: cargo_anvil + test: run::tests::existing_lowercase_justfile_is_reused_not_duplicated + - package: cargo-anvil + target: cargo_anvil + test: run::tests::first_run_writes_everything_local_only + - package: cargo-anvil + target: cargo_anvil + test: run::tests::force_switches_ownership_and_rewrites_provenance + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_idempotent + - package: cargo-anvil + target: cargo_anvil + test: run::tests::github_backend_writes_full_dotgithub_tree + - package: cargo-anvil + target: cargo_anvil + test: run::tests::guard_allows_matching_tool + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_delta_region_moves_to_start_and_settles + - package: cargo-anvil + target: cargo_anvil + test: run::tests::legacy_lock_without_tool_is_not_blocked + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_delta_host_is_left_untouched_while_other_artifacts_update + - package: cargo-anvil + target: cargo_anvil + test: run::tests::malformed_non_delta_region_fails_planning + - package: cargo-anvil + target: cargo_anvil + test: run::tests::opted_out_region_is_skipped_on_second_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::propose_burns_through_after_one_run + - package: cargo-anvil + target: cargo_anvil + test: run::tests::region_proposal_is_recomposed_against_sibling_writes_on_same_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::run_stamps_tool_and_catalog_checksum_into_lock + - package: cargo-anvil + target: cargo_anvil + test: run::tests::second_run_is_idempotent_and_in_sync + - package: cargo-anvil + target: cargo_anvil + test: run::tests::splitting_a_region_removes_old_and_keeps_new_in_one_host + - package: cargo-anvil + target: cargo_anvil + test: run::tests::two_regions_in_one_host_compose_on_fresh_file + - package: cargo-anvil + target: cargo_anvil + test: run::tests::user_edit_inside_region_left_alone_when_template_unchanged + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::discovers_glob_workspace + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::duplicate_member_patterns_are_deduplicated + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::glob_member_sorting_is_independent_of_directory_iteration_order + - package: cargo-anvil + target: cargo_anvil + test: workspace::tests::glob_with_existing_parent_but_no_member_dirs_resolves_empty + - package: cargo-anvil + target: cli + test: invalid_backend_name_is_rejected + - package: cargo-anvil + target: recipe_contracts + test: setup_never_reaches_workspace_msrv_validation + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::an_empty_variable_counts_as_unset + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::an_unset_environment_yields_no_directory + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::the_process_environment_is_consulted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::windows_uses_the_local_application_data_directory + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::cache_directory_uses_the_override_or_platform_default + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::an_empty_variable_counts_as_unset + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::the_process_environment_is_consulted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::windows_uses_the_local_application_data_directory + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::cache_directory_uses_the_override_or_platform_default + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::cache_dir::tests::the_process_environment_is_consulted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::cache_directory_uses_the_override_or_platform_default + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::common_new_reports_metadata_context + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::crates::tests::crates_propagates_initialization_failures + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::deps_propagates_initialization_failures + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::cache_directory_uses_the_override_or_platform_default + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::cache_directory_failure_has_actionable_context + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::cache_directory_uses_the_override_or_platform_default + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_endpoints_apply_every_override + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_endpoints_apply_every_override + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_endpoints_default_to_the_production_services + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_append_non_passing_outcomes_reports_each_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_append_non_passing_outcomes_caps_and_omits_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_append_non_passing_outcomes_reports_each_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_append_non_passing_outcomes_caps_and_omits_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_append_non_passing_outcomes_caps_and_omits_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_append_non_passing_outcomes_reports_each_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_append_non_passing_outcomes_reports_each_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_allows_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_no_flags + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_medium_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_allows_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_allows_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_all_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_no_flags + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_medium_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_allows_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_allows_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_all_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_allows_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_medium_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_all_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::common_new_reports_metadata_context + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::logger_builder_includes_target_for_debug_and_trace + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::logger_builder_omits_timestamp_module_and_low_level_target + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::crates::tests::crates_propagates_initialization_failures + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::deps_propagates_initialization_failures + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::logger_builder_includes_target_for_debug_and_trace + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::logger_builder_omits_timestamp_module_and_low_level_target + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_misspelled_crate_shows_suggestions + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_crate + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_version + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_misspelled_crate_shows_suggestions + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_crate + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_version + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_misspelled_crate_shows_suggestions + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_crate + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_version + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_report_unanalyzable_crates_lists_suggestions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_report_unanalyzable_crates_reports_missing_versions_and_errors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_report_unanalyzable_crates_without_suggestions + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_misspelled_crate_shows_suggestions + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_crate + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_version + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_report_unanalyzable_crates_lists_suggestions + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_partial_console_modes_include_rejection_details + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_partial_console_modes_include_rejection_details + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_misspelled_crate_shows_suggestions + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_crate + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_version + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_medium_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_all_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_allow_list_entry_matches_caret_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_allow_list_entry_matches_exact_version + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_allow_list_entry_matches_wildcard + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_matches + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_config_with_allow_list + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_customized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_emptied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_default_when_absent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_invalid_bug_label_regex_is_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_config_with_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_regex_bug_labels_are_compiled + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_empty_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_equal_thresholds_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_threshold_not_less_than_low_threshold + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_valid_custom_thresholds + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_medium_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_all_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_empty_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_matches + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_config_with_allow_list + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_customized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_emptied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_default_when_absent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_invalid_bug_label_regex_is_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_config_with_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_reports_a_non_missing_read_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_empty_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_equal_thresholds_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_invalid_duration_format + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_invalid_expression_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_invalid_toml_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_threshold_not_less_than_low_threshold + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_unknown_field + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_valid_custom_thresholds + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_reports_a_non_missing_read_error + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_reports_a_non_missing_read_error + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::init::tests::test_init_config_default_output_path + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_customized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_emptied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_default_when_absent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_config_with_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_empty_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_equal_thresholds_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_threshold_not_less_than_low_threshold + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_valid_custom_thresholds + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_customized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_emptied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_default_when_absent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_config_with_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_empty_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_equal_thresholds_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_threshold_not_less_than_low_threshold + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_valid_custom_thresholds + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_customized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_emptied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_default_when_absent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_config_with_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_empty_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_equal_thresholds_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_threshold_not_less_than_low_threshold + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_valid_custom_thresholds + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_customized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_emptied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_default_when_absent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_invalid_bug_label_regex_is_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_config_with_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_empty_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_equal_thresholds_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_threshold_not_less_than_low_threshold + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_valid_custom_thresholds + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_below_range + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_equal_thresholds_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_threshold_not_less_than_low_threshold + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_below_range + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_default_when_absent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_config_with_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_serde_defaults_pin_thresholds_and_cache_ttl_when_absent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_empty_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_equal_thresholds_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_threshold_not_less_than_low_threshold + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_valid_custom_thresholds + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::crates::tests::crates_propagates_initialization_failures + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_respects_the_requested_first_hop_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_walks_every_edge_case + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_walks_every_edge_case + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_walks_every_edge_case + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::compute_dep_features_basic + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::compute_dep_features_propagates_from_parent + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::compute_dep_features_basic + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::compute_dep_features_no_default + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_respects_the_requested_first_hop_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_walks_every_edge_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::compute_dep_features_basic + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::compute_dep_features_no_default + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::compute_dep_features_propagates_from_parent + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::explicit_metadata_features_are_applied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_failure_has_exact_operation_context + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_feature_flags_are_applied_exactly + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_feature_flags_are_applied_exactly + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::explicit_metadata_features_are_applied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_feature_flags_are_applied_exactly + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_dev_deps_only + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_explicit_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_no_default_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_nonexistent_package + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::explicit_metadata_features_are_applied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_failure_has_exact_operation_context + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_dev_deps_only + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_explicit_features + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_failure_has_exact_operation_context + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::expand_features_skips_dep_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::expand_features_transitive + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::expand_features_skips_dep_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::expand_features_transitive + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_respects_the_requested_first_hop_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_walks_every_edge_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::expand_features_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::expand_features_skips_dep_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::expand_features_transitive + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::expand_features_skips_dep_syntax + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_respects_the_requested_first_hop_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_walks_every_edge_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::find_dep_declaration_by_name_and_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::find_dep_declaration_with_rename + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_walks_every_edge_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::find_dep_declaration_with_rename + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_bare_dep_name_in_feature + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_dep_colon_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_ignores_unrelated_bare_feature_activations + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_slash_syntax + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_bare_dep_name_in_feature + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_dep_colon_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_ignores_unrelated_bare_feature_activations + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_slash_syntax + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_walks_every_edge_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_bare_dep_name_in_feature + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_dep_colon_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_ignores_unrelated_bare_feature_activations + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_implicit_feature + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_not_active + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_slash_syntax + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_walks_every_edge_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_dep_colon_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_ignores_unrelated_bare_feature_activations + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_implicit_feature + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_not_active + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_slash_syntax + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_implicit_feature + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::build_transitive_deps_revisits_seen_packages_when_new_features_arrive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_dep_colon_syntax + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_slash_syntax + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::is_optional_dep_active_bare_dep_name_in_feature + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::package_filter_distinguishes_empty_and_nonempty_requests + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_no_default_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_nonexistent_package + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_package_flag_on_leaf_member + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_standard_deps_only + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_with_package_flag + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::deps_propagates_initialization_failures + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::package_filter_distinguishes_empty_and_nonempty_requests + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_feature_flags_are_applied_exactly + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::explicit_metadata_features_are_applied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_failure_has_exact_operation_context + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::deps::tests::metadata_feature_flags_are_applied_exactly + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_dev_deps_only + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_explicit_features + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::deserializing_reports_the_reason_a_value_was_rejected + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_medium_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_allows_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_allows_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_all_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_no_flags + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_empty_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_expected_bug_labels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_pins_thresholds_and_cache_ttl + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_empty_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_matches + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_regex_bug_labels_are_compiled + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::deserializing_reports_the_reason_a_value_was_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::serde_round_trips_through_a_string_field + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_matches_embedded + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_invalid_duration_format + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::deserializing_reports_the_reason_a_value_was_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::every_parse_error_has_a_message + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_invalid_duration_format + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::every_parse_error_has_a_message + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::every_parse_error_has_a_message + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_invalid_duration_format + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::durations_are_written_largest_unit_first + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::serde_round_trips_through_a_string_field + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_matches_embedded + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::durations_are_written_largest_unit_first + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_medium_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_allows_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_allows_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_all_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_no_flags + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_empty_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_expected_bug_labels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_pins_thresholds_and_cache_ttl + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_empty_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_matches + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_regex_bug_labels_are_compiled + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::minutes_and_months_are_told_apart_by_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::pairs_accumulate_with_or_without_spaces + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::serde_round_trips_through_a_string_field + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::totals_beyond_a_duration_are_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_matches_embedded + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_medium_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_allows_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_allows_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_all_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_no_flags + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_empty_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_expected_bug_labels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_pins_thresholds_and_cache_ttl + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_empty_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_matches + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_regex_bug_labels_are_compiled + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::minutes_and_months_are_told_apart_by_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::pairs_accumulate_with_or_without_spaces + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::serde_round_trips_through_a_string_field + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_matches_embedded + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_medium_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_allows_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_allows_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_all_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_no_flags + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_empty_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_expected_bug_labels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_pins_thresholds_and_cache_ttl + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_empty_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_matches + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_regex_bug_labels_are_compiled + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::malformed_input_is_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::minutes_and_months_are_told_apart_by_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::pairs_accumulate_with_or_without_spaces + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::serde_round_trips_through_a_string_field + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::totals_beyond_a_duration_are_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_matches_embedded + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_medium_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_allows_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_allows_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_all_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_no_flags + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_empty_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_expected_bug_labels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_pins_thresholds_and_cache_ttl + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_empty_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_matches + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_regex_bug_labels_are_compiled + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::deserializing_reports_the_reason_a_value_was_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::malformed_input_is_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::minutes_and_months_are_told_apart_by_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::pairs_accumulate_with_or_without_spaces + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::serde_round_trips_through_a_string_field + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::totals_beyond_a_duration_are_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_matches_embedded + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_invalid_duration_format + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_medium_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_allows_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_allows_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_all_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_no_flags + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_empty_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_expected_bug_labels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_pins_thresholds_and_cache_ttl + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_empty_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_matches + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_regex_bug_labels_are_compiled + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::deserializing_reports_the_reason_a_value_was_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::malformed_input_is_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::minutes_and_months_are_told_apart_by_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::pairs_accumulate_with_or_without_spaces + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::serde_round_trips_through_a_string_field + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::totals_beyond_a_duration_are_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_matches_embedded + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::malformed_input_is_rejected + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::malformed_input_is_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_invalid_duration_format + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::malformed_input_is_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::pairs_accumulate_with_or_without_spaces + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::minutes_and_months_are_told_apart_by_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::pairs_accumulate_with_or_without_spaces + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_omits_console_for_empty_input + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_bypasses_medium_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_allows_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_allows_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_all_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_no_flags + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_empty_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_has_expected_bug_labels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_pins_thresholds_and_cache_ttl + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_empty_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_is_allowed_matches + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_regex_bug_labels_are_compiled + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_matches_embedded + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::serde_round_trips_through_a_string_field + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::minutes_and_months_are_told_apart_by_case + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::totals_beyond_a_duration_are_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::pairs_accumulate_with_or_without_spaces + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::formatting_round_trips_through_parsing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::pairs_accumulate_with_or_without_spaces + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::totals_beyond_a_duration_are_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::units_are_read_in_every_spelling + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::deserializing_reports_the_reason_a_value_was_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::duration::tests::malformed_input_is_rejected + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::init::tests::test_init_config_default_output_path + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::init::tests::test_init_config_default_output_path + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::bar_stays_hidden_until_the_delay_elapses + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_becomes_visible_and_tracks_callback + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_with_zero_length_leaves_bar_untouched + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::done_aborts_the_refresh_task + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::indeterminate_progress_prefixes_elapsed_seconds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::indeterminate_progress_without_colors_uses_plain_template + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::println_and_debug_work_while_hidden + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::println_emits_each_line_through_the_configured_sink + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::public_constructor_stays_hidden_for_a_long_delay + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_becomes_visible_and_tracks_callback + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_with_zero_length_leaves_bar_untouched + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::indeterminate_progress_prefixes_elapsed_seconds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::indeterminate_progress_without_colors_uses_plain_template + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::println_and_debug_work_while_hidden + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::println_emits_each_line_through_the_configured_sink + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::bar_stays_hidden_until_the_delay_elapses + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_becomes_visible_and_tracks_callback + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_with_zero_length_leaves_bar_untouched + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::indeterminate_progress_prefixes_elapsed_seconds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::indeterminate_progress_without_colors_uses_plain_template + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::bar_stays_hidden_until_the_delay_elapses + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_becomes_visible_and_tracks_callback + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::indeterminate_progress_prefixes_elapsed_seconds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::public_constructor_stays_hidden_for_a_long_delay + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_becomes_visible_and_tracks_callback + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_with_zero_length_leaves_bar_untouched + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::bar_stays_hidden_until_the_delay_elapses + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_becomes_visible_and_tracks_callback + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_with_zero_length_leaves_bar_untouched + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::indeterminate_progress_prefixes_elapsed_seconds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::indeterminate_progress_without_colors_uses_plain_template + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::progress_reporter::tests::determinate_progress_becomes_visible_and_tracks_callback + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_with_workspace_flag + - - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_no_default_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_nonexistent_package + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_empty_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_equal_thresholds_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_invalid_duration_format + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_invalid_expression_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_invalid_toml_syntax + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_threshold_not_less_than_low_threshold + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_unknown_field + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_valid_custom_thresholds + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_empty_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_valid_custom_thresholds + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_empty_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_valid_custom_thresholds + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::appraisal::tests::test_required_check_failure_records_explicit_state + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_false_with_empty_eval + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_returns_zero_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_skips_eval_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_multiple_high_risk_one_triggers + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_supports_custom_separator + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_status_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_distinguish_failures_and_inconclusive_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_counts_are_pluralized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::appraisal::tests::test_weighted_evaluation_failure_records_distinct_skipped_score_state + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_weighted_evaluation_failure_has_distinct_state_and_null_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_basic_comparison + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_boolean_metric_value + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_dotted_metric_names + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_dotted_name_with_null_value + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_expression_returns_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_expression_returns_string + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_false_with_empty_eval + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_true_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_metric_value_list_conversion + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mixed_flat_and_dotted_names + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_multiple_dotted_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_nested_list_conversion + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_not_evaluated_when_no_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_now_variable_available + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_now_variable_with_datetime_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_null_handling + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_only_no_eval_false_is_low_with_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_returns_zero_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_skips_eval_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_multiple_high_risk_one_triggers + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_no_expressions_returns_zero_points_and_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_true_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_expressions_keep_default_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_basic_comparison + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_boolean_metric_value + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_expression_returns_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_false_with_empty_eval + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_true_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_metric_value_list_conversion + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mixed_flat_and_dotted_names + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_nested_list_conversion + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_now_variable_available + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_now_variable_with_datetime_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_null_handling + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_only_no_eval_false_is_low_with_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_returns_zero_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_skips_eval_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_multiple_high_risk_one_triggers + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_true_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_expressions_keep_default_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_dotted_metric_names + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_dotted_name_with_null_value + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_expression_returns_string + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mixed_flat_and_dotted_names + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_multiple_dotted_prefixes + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_true_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_true_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_expressions_keep_default_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_true_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_expressions_keep_default_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_false_with_empty_eval + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_returns_zero_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_skips_eval_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_multiple_high_risk_one_triggers + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_bypassed_by_allow_list + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_expression_evaluation_error + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_true_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_not_evaluated_when_no_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_only_no_eval_false_is_low_with_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_no_expressions_returns_zero_points_and_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_true_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_expressions_keep_default_perfect_score + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_true_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_not_evaluated_when_no_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_only_no_eval_false_is_low_with_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_no_expressions_returns_zero_points_and_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_true_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_expressions_keep_default_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_false_with_empty_eval + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_true_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_not_evaluated_when_no_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_only_no_eval_false_is_low_with_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_returns_zero_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_skips_eval_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_multiple_high_risk_one_triggers + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_no_expressions_returns_zero_points_and_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_true_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_expressions_keep_default_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_false_with_empty_eval + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_true_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_only_no_eval_false_is_low_with_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_returns_zero_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_skips_eval_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_multiple_high_risk_one_triggers + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_true_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_basic_comparison + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_boolean_metric_value + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_dotted_metric_names + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_dotted_name_with_null_value + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_expression_returns_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_expression_returns_string + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_false_with_empty_eval + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_true_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_metric_value_list_conversion + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mixed_flat_and_dotted_names + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_multiple_dotted_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_nested_list_conversion + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_now_variable_available + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_now_variable_with_datetime_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_null_handling + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_only_no_eval_false_is_low_with_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_returns_zero_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_skips_eval_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_multiple_high_risk_one_triggers + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_true_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_expressions_keep_default_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_basic_comparison + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_boolean_metric_value + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_dotted_metric_names + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_dotted_name_with_null_value + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_false_with_empty_eval + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_true_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_metric_value_list_conversion + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mixed_flat_and_dotted_names + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_multiple_dotted_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_nested_list_conversion + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_now_variable_available + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_now_variable_with_datetime_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_null_handling + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_only_no_eval_false_is_low_with_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_returns_zero_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_skips_eval_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_multiple_high_risk_one_triggers + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_true_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_expressions_keep_default_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_expression_returns_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_expression_returns_string + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_matches_embedded + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_roundtrip_with_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_serialize_deserialize_json + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_serialize_with_description_format + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_serialize_without_description_format + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_matches_embedded + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_roundtrip_with_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_serialize_with_description_format + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_matches_embedded + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_all_getters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_roundtrip_with_description + - package: cargo-aprz-lib + target: config_expressions_test + test: test_load_config_with_expressions + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_all_getters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_create_expression + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_roundtrip_with_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_serialize_deserialize_json + - package: cargo-aprz-lib + target: config_expressions_test + test: test_load_config_with_expressions + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_false_with_empty_eval + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_true_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_only_no_eval_false_is_low_with_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_returns_zero_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_skips_eval_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_multiple_high_risk_one_triggers + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_true_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_expressions_keep_default_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_all_getters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::expression::tests::test_roundtrip_with_description + - package: cargo-aprz-lib + target: config_expressions_test + test: test_load_config_with_expressions + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_name_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_allow_list_wrong_version_still_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_bounds_crates_and_required_checks + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_high_risk_flag_rejects + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_required_check_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_scored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_hints_when_unscored_outcomes_are_capped + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_details_when_console_is_suppressed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_includes_weighted_outcomes_when_details_are_needed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_lists_the_maximum_number_of_crates_without_truncating + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_explains_required_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_medium_risk_flag_rejects_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_mixed_crates_one_allowed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_pluralizes_required_and_weighted_outcome_tails + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_suppresses_unscored_details_when_console_has_them + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_check_risk_errors_truncates_beyond_the_maximum_number_of_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::risk::tests::displays_each_risk_level + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_allow_list_wrong_version_still_fails + - package: cargo-aprz-lib + target: crates_command_integration + test: test_error_if_high_risk_triggers_without_allow_list + - - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_cache_reuse + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_historical_vs_per_version + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_known_vulnerable_crate + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_maps_each_severity + - - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_maps_each_severity + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_multiple_crates + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_reports_every_version_of_the_same_crate + - - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_maps_each_severity + - - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_counts_informational_warnings + - - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_counts_informational_warnings + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_multiple_crates + - - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_counts_informational_warnings + - - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_accumulates_multiple_advisories + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_cache_reuse + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_counts_informational_warnings + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_ignores_unscored_advisories + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_known_vulnerable_crate + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_maps_each_severity + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_multiple_crates + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_reports_every_version_of_the_same_crate + - - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_fetches_when_the_marker_is_missing + - package: cargo-aprz-lib + target: advisory_provider_integration + test: test_advisory_provider_rejects_a_non_git_database_url + - - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_skips_unsupported_forge_and_caches_the_answer + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_uses_cache + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_undecodable_payload_is_unavailable_and_cached + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_uses_cache + - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_second_call_is_served_from_the_cache + - package: cargo-aprz-lib + target: hosting_provider_integration + test: missing_repository_is_unavailable_and_cached + - package: cargo-aprz-lib + target: hosting_provider_integration + test: unsupported_hosts_are_unavailable_and_cached + - - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_ignore_cached_bypasses_cache + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_reports_an_error_when_caching_fails + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_uses_cache + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_with_fixture + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_ignore_cached_bypasses_cache + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_reports_an_error_when_caching_fails + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_uses_cache + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_with_fixture + - - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_handles_badge_without_a_percentage + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_not_found_main + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_reports_an_error_when_caching_a_negative_result_fails + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_skips_unsupported_forge_and_caches_the_answer + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_unknown_coverage + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_not_found + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_survives_a_failing_negative_cache_write + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_undecodable_payload_is_unavailable_and_cached + - package: cargo-aprz-lib + target: hosting_provider_integration + test: missing_repository_is_unavailable_and_cached + - package: cargo-aprz-lib + target: hosting_provider_integration + test: unsupported_hosts_are_unavailable_and_cached + - - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_reports_an_error_when_caching_a_negative_result_fails + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_skips_unsupported_forge_and_caches_the_answer + - - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_handles_badge_without_a_percentage + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_not_found_main + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_unknown_coverage + - - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_ignore_cached_bypasses_cache + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_reports_an_error_when_caching_fails + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_with_fixture + - - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_falls_back_to_master_branch + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_not_found_main + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_unknown_coverage + - - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_unknown_coverage + - - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_handles_badge_without_a_percentage + - - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_reports_an_error_for_persistent_server_failures + - - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_misspelled_crate_shows_suggestions + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_crate + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_version + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_only_the_closest_suggestions + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_missing_crates_and_versions + - package: cargo-aprz-lib + target: crates_provider_integration + test: reuses_cached_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: stops_streaming_once_the_archive_has_been_read + - package: cargo-aprz-lib + target: crates_provider_integration + test: suggests_similar_names_for_misspellings + - package: cargo-aprz-lib + target: crates_provider_integration + test: suppresses_suggestions_when_not_requested + - package: cargo-aprz-lib + target: crates_provider_integration + test: tolerates_dangling_references_in_the_dump + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_report_unanalyzable_crates_reports_missing_versions_and_errors + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_not_found + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_reports_an_error_for_an_unexpected_status + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_survives_a_failing_negative_cache_write + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_undecodable_payload_is_unavailable_and_cached + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_report_unanalyzable_crates_lists_suggestions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_report_unanalyzable_crates_reports_missing_versions_and_errors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::test_report_unanalyzable_crates_without_suggestions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_all_metrics_have_descriptions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_advisory_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_codebase_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_coverage_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_docs_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_hosting_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_overall_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_version_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_returns_metrics + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_metric_categories_are_assigned + - package: cargo-aprz-lib + target: coverage_provider_integration + test: test_coverage_provider_with_fixture + - - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_missing_crates_and_versions + - - package: cargo-aprz-lib + target: crates_provider_integration + test: reuses_cached_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: stops_streaming_once_the_archive_has_been_read + - package: cargo-aprz-lib + target: crates_provider_integration + test: suggests_similar_names_for_misspellings + - package: cargo-aprz-lib + target: crates_provider_integration + test: suppresses_suggestions_when_not_requested + - package: cargo-aprz-lib + target: crates_provider_integration + test: tolerates_dangling_references_in_the_dump + - - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_both_kinds_of_owner + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + - package: cargo-aprz-lib + target: crates_provider_integration + test: resolves_latest_version_skipping_prereleases_and_yanked_versions + - package: cargo-aprz-lib + target: crates_provider_integration + test: reuses_cached_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: stops_streaming_once_the_archive_has_been_read + - package: cargo-aprz-lib + target: crates_provider_integration + test: suggests_similar_names_for_misspellings + - package: cargo-aprz-lib + target: crates_provider_integration + test: suppresses_suggestions_when_not_requested + - package: cargo-aprz-lib + target: crates_provider_integration + test: tolerates_dangling_references_in_the_dump + - - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_both_kinds_of_owner + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_missing_crates_and_versions + - package: cargo-aprz-lib + target: crates_provider_integration + test: resolves_latest_version_skipping_prereleases_and_yanked_versions + - package: cargo-aprz-lib + target: crates_provider_integration + test: reuses_cached_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: stops_streaming_once_the_archive_has_been_read + - package: cargo-aprz-lib + target: crates_provider_integration + test: suggests_similar_names_for_misspellings + - package: cargo-aprz-lib + target: crates_provider_integration + test: suppresses_suggestions_when_not_requested + - package: cargo-aprz-lib + target: crates_provider_integration + test: tolerates_dangling_references_in_the_dump + - - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_only_the_closest_suggestions + - - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_misspelled_crate_shows_suggestions + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_only_the_closest_suggestions + - package: cargo-aprz-lib + target: crates_provider_integration + test: reuses_cached_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: stops_streaming_once_the_archive_has_been_read + - package: cargo-aprz-lib + target: crates_provider_integration + test: suggests_similar_names_for_misspellings + - package: cargo-aprz-lib + target: crates_provider_integration + test: suppresses_suggestions_when_not_requested + - package: cargo-aprz-lib + target: crates_provider_integration + test: tolerates_dangling_references_in_the_dump + - - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_misspelled_crate_shows_suggestions + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_crate + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_only_the_closest_suggestions + - package: cargo-aprz-lib + target: crates_provider_integration + test: normalizes_repository_urls + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_every_edition_and_drops_unparseable_version_urls + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_missing_crates_and_versions + - package: cargo-aprz-lib + target: crates_provider_integration + test: reuses_cached_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: stops_streaming_once_the_archive_has_been_read + - package: cargo-aprz-lib + target: crates_provider_integration + test: suggests_similar_names_for_misspellings + - package: cargo-aprz-lib + target: crates_provider_integration + test: suppresses_suggestions_when_not_requested + - package: cargo-aprz-lib + target: crates_provider_integration + test: tolerates_dangling_references_in_the_dump + - - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_misspelled_crate_shows_suggestions + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_crate + - - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_misspelled_crate_shows_suggestions + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_nonexistent_crate + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_only_the_closest_suggestions + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_missing_crates_and_versions + - package: cargo-aprz-lib + target: crates_provider_integration + test: reuses_cached_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: stops_streaming_once_the_archive_has_been_read + - package: cargo-aprz-lib + target: crates_provider_integration + test: suggests_similar_names_for_misspellings + - package: cargo-aprz-lib + target: crates_provider_integration + test: suppresses_suggestions_when_not_requested + - package: cargo-aprz-lib + target: crates_provider_integration + test: tolerates_dangling_references_in_the_dump + - - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + - package: cargo-aprz-lib + target: crates_provider_integration + test: normalizes_repository_urls + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_both_kinds_of_owner + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + - package: cargo-aprz-lib + target: crates_provider_integration + test: reuses_cached_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: stops_streaming_once_the_archive_has_been_read + - package: cargo-aprz-lib + target: crates_provider_integration + test: suggests_similar_names_for_misspellings + - package: cargo-aprz-lib + target: crates_provider_integration + test: suppresses_suggestions_when_not_requested + - package: cargo-aprz-lib + target: crates_provider_integration + test: tolerates_dangling_references_in_the_dump + - - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_provider_integration + test: resolves_latest_version_skipping_prereleases_and_yanked_versions + - package: cargo-aprz-lib + target: crates_provider_integration + test: resolves_the_latest_version_when_versions_ascend + - - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - - package: cargo-aprz-lib + target: crates_provider_integration + test: handles_an_empty_request_list + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_only_the_closest_suggestions + - package: cargo-aprz-lib + target: crates_provider_integration + test: normalizes_repository_urls + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + - package: cargo-aprz-lib + target: crates_provider_integration + test: reuses_cached_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: stops_streaming_once_the_archive_has_been_read + - package: cargo-aprz-lib + target: crates_provider_integration + test: suggests_similar_names_for_misspellings + - package: cargo-aprz-lib + target: crates_provider_integration + test: suppresses_suggestions_when_not_requested + - package: cargo-aprz-lib + target: crates_provider_integration + test: tolerates_dangling_references_in_the_dump + - - package: cargo-aprz-lib + target: crates_provider_integration + test: resolves_the_latest_version_when_versions_ascend + - - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_only_the_closest_suggestions + - package: cargo-aprz-lib + target: crates_provider_integration + test: normalizes_repository_urls + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_both_kinds_of_owner + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_every_edition_and_drops_unparseable_version_urls + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_full_facts_for_a_requested_version + - package: cargo-aprz-lib + target: crates_provider_integration + test: reports_missing_crates_and_versions + - package: cargo-aprz-lib + target: crates_provider_integration + test: reuses_cached_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: stops_streaming_once_the_archive_has_been_read + - package: cargo-aprz-lib + target: crates_provider_integration + test: suggests_similar_names_for_misspellings + - package: cargo-aprz-lib + target: crates_provider_integration + test: suppresses_suggestions_when_not_requested + - package: cargo-aprz-lib + target: crates_provider_integration + test: tolerates_dangling_references_in_the_dump + - - package: cargo-aprz-lib + target: crates_provider_integration + test: keeps_a_repository_url_that_is_not_a_known_repository + - package: cargo-aprz-lib + target: crates_provider_integration + test: normalizes_repository_urls + - - package: cargo-aprz-lib + target: crates_provider_integration + test: logs_diagnostics_while_downloading_and_reusing_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_a_cached_table_is_corrupt + - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_a_cached_table_is_too_short + - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_cached_tables_are_stale + - package: cargo-aprz-lib + target: crates_provider_integration + test: renders_the_progress_callbacks + - package: cargo-aprz-lib + target: crates_provider_integration + test: reuses_cached_tables + - package: cargo-aprz-lib + target: crates_provider_integration + test: stops_streaming_once_the_archive_has_been_read + - package: cargo-aprz-lib + target: crates_provider_integration + test: suggests_similar_names_for_misspellings + - package: cargo-aprz-lib + target: crates_provider_integration + test: suppresses_suggestions_when_not_requested + - package: cargo-aprz-lib + target: crates_provider_integration + test: tolerates_dangling_references_in_the_dump + - - package: cargo-aprz-lib + target: crates_provider_integration + test: retries_a_response_without_a_content_length_that_dies_mid_body + - - package: cargo-aprz-lib + target: crates_provider_integration + test: fails_when_a_table_file_cannot_be_replaced + - package: cargo-aprz-lib + target: crates_provider_integration + test: rejects_a_dump_that_is_not_served + - package: cargo-aprz-lib + target: crates_provider_integration + test: rejects_a_dump_with_a_malformed_column + - package: cargo-aprz-lib + target: crates_provider_integration + test: rejects_a_dump_with_a_missing_column + - package: cargo-aprz-lib + target: crates_provider_integration + test: rejects_a_dump_with_an_unknown_owner_kind + - package: cargo-aprz-lib + target: crates_provider_integration + test: rejects_a_truncated_dump + - - package: cargo-aprz-lib + target: crates_provider_integration + test: renders_the_progress_callbacks + - - package: cargo-aprz-lib + target: crates_provider_integration + test: fails_when_a_table_file_cannot_be_replaced + - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_a_cached_table_is_corrupt + - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_a_cached_table_is_too_short + - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_cache_is_ignored + - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_cached_tables_are_stale + - - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_a_cached_table_is_corrupt + - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_a_cached_table_is_too_short + - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_cache_is_ignored + - package: cargo-aprz-lib + target: crates_provider_integration + test: redownloads_when_cached_tables_are_stale + - - package: cargo-aprz-lib + target: crates_provider_integration + test: fails_when_a_table_file_cannot_be_replaced + - - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_ignore_cached_bypasses_cache + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_reports_an_error_when_caching_fails + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_with_fixture + - - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_not_found + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_reports_an_error_for_an_unexpected_status + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_survives_a_failing_negative_cache_write + - - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_not_found + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_survives_a_failing_negative_cache_write + - - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_reports_an_error_for_an_unexpected_status + - - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_survives_a_failing_negative_cache_write + - package: cargo-aprz-lib + target: docs_provider_integration + test: test_docs_provider_undecodable_payload_is_unavailable_and_cached + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_regex_bug_labels_are_compiled + - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_second_call_is_served_from_the_cache + - package: cargo-aprz-lib + target: hosting_provider_integration + test: bug_labels_select_which_issues_count_as_bugs + - package: cargo-aprz-lib + target: hosting_provider_integration + test: codeberg_reports_watchers_as_subscribers + - package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + - package: cargo-aprz-lib + target: hosting_provider_integration + test: rate_limited_issue_page_is_retried + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_customized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_default_when_absent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_invalid_bug_label_regex_is_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_config_with_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_regex_bug_labels_are_compiled + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_empty_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_equal_thresholds_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_threshold_not_less_than_low_threshold + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_valid_custom_thresholds + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_customized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_can_be_emptied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_bug_labels_default_when_absent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_config_with_allow_list + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_load_missing_config_uses_defaults + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_regex_bug_labels_are_compiled + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_save_default_and_load + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_boundary_values + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_low_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_equals_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_ge_low_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_high + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_medium_risk_out_of_range_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::config::tests::test_validate_valid_thresholds + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_config_with_only_ttls + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_empty_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_equal_thresholds_rejected + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_low_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_above_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_risk_threshold_below_range + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_medium_threshold_not_less_than_low_threshold + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_valid_custom_thresholds + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + - package: cargo-aprz-lib + target: hosting_provider_integration + test: forbidden_with_quota_remaining_is_a_failure + - package: cargo-aprz-lib + target: hosting_provider_integration + test: rate_limited_issue_page_is_retried + - package: cargo-aprz-lib + target: hosting_provider_integration + test: retries_after_a_primary_rate_limit + - package: cargo-aprz-lib + target: hosting_provider_integration + test: retries_immediately_when_the_rate_limit_has_already_reset + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + - package: cargo-aprz-lib + target: hosting_provider_integration + test: forbidden_with_quota_remaining_is_a_failure + - package: cargo-aprz-lib + target: hosting_provider_integration + test: missing_repository_is_unavailable_and_cached + - package: cargo-aprz-lib + target: hosting_provider_integration + test: rate_limited_issue_page_is_retried + - package: cargo-aprz-lib + target: hosting_provider_integration + test: retries_after_a_primary_rate_limit + - package: cargo-aprz-lib + target: hosting_provider_integration + test: retries_immediately_when_the_rate_limit_has_already_reset + - package: cargo-aprz-lib + target: hosting_provider_integration + test: server_errors_are_reported_as_errors + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: missing_repository_is_unavailable_and_cached + - package: cargo-aprz-lib + target: hosting_provider_integration + test: server_errors_are_reported_as_errors + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: forbidden_with_quota_remaining_is_a_failure + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: bug_labels_select_which_issues_count_as_bugs + - package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + - package: cargo-aprz-lib + target: hosting_provider_integration + test: retries_after_a_primary_rate_limit + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + - package: cargo-aprz-lib + target: hosting_provider_integration + test: rate_limited_issue_page_is_retried + - package: cargo-aprz-lib + target: hosting_provider_integration + test: retries_after_a_primary_rate_limit + - package: cargo-aprz-lib + target: hosting_provider_integration + test: retries_immediately_when_the_rate_limit_has_already_reset + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: unsupported_hosts_are_unavailable_and_cached + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + - package: cargo-aprz-lib + target: hosting_provider_integration + test: consumes_every_page_advertised_by_the_link_header + - package: cargo-aprz-lib + target: hosting_provider_integration + test: stops_paginating_at_an_empty_page + - package: cargo-aprz-lib + target: hosting_provider_integration + test: stops_paginating_at_the_page_limit + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + - package: cargo-aprz-lib + target: hosting_provider_integration + test: negative_and_missing_counts_become_zero + - package: cargo-aprz-lib + target: hosting_provider_integration + test: retries_immediately_when_the_rate_limit_has_already_reset + - package: cargo-aprz-lib + target: hosting_provider_integration + test: stops_paginating_at_an_empty_page + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: stops_paginating_at_the_page_limit + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_reopened_issue_counts_only_towards_the_open_ages + - package: cargo-aprz-lib + target: hosting_provider_integration + test: bug_labels_select_which_issues_count_as_bugs + - package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: a_rate_limit_in_one_repository_pauses_the_others + - package: cargo-aprz-lib + target: hosting_provider_integration + test: negative_and_missing_counts_become_zero + - package: cargo-aprz-lib + target: hosting_provider_integration + test: retries_immediately_when_the_rate_limit_has_already_reset + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: derives_hosting_data_from_a_github_repository + - - package: cargo-aprz-lib + target: hosting_provider_integration + test: forbidden_with_quota_remaining_is_a_failure + - package: cargo-aprz-lib + target: hosting_provider_integration + test: missing_repository_is_unavailable_and_cached + - package: cargo-aprz-lib + target: hosting_provider_integration + test: server_errors_are_reported_as_errors + - package: cargo-aprz-lib + target: hosting_provider_integration + test: unparseable_issue_body_is_an_error + - package: cargo-aprz-lib + target: hosting_provider_integration + test: unparseable_repository_body_is_an_error + - - package: cargo-aprz-lib + target: crates_provider_integration + test: normalizes_repository_urls + - - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_with_workspace_flag + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_basic_comparison + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_boolean_metric_value + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_dotted_metric_names + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_dotted_name_with_null_value + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_all_false_is_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_false_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_first_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_middle_false + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_multiple_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_reasons_include_all_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_weighted_points_high_risk + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_eval_with_explicit_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_expression_returns_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_expression_returns_string + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_expression_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_false_with_empty_eval + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_high_risk_true_no_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_metric_value_list_conversion + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mixed_flat_and_dotted_names + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_mostly_inconclusive_policy_cannot_report_a_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_multiple_dotted_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_nested_list_conversion + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_not_evaluated_when_no_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_now_variable_available + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_now_variable_with_datetime_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_null_handling + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_all_expressions_fail_closed_without_a_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_all_true + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_explicit_points_mixed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_failed_expression_counts_as_unawarded_configured_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_false_outcomes_appear_with_eval_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_only_no_eval_false_is_low_with_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_returns_zero_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_high_risk_triggered_skips_eval_expressions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_multiple_high_risk_one_triggers + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_no_expressions_returns_zero_points_and_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_false_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_single_eval_true_default_points + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_exactly_at_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_low + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_points_threshold_boundary_just_below_medium + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_positive_weight_false_check_makes_policy_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_expressions_keep_default_perfect_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_false_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: expr::evaluator::tests::test_zero_weight_success_does_not_make_positive_failures_conclusive + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_multiple_categories + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_single_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::long_metric_values_are_wrapped_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_without_the_appraisal_section + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_empty_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_like_header_and_metric_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_empty_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_mixed_found_and_missing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_prefixes_keywords + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_with_missing_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_empty_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_renders_crate_name_without_a_version_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_empty_crates_csv + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_empty_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_like_header_and_metric_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_empty_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_mixed_found_and_missing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_prefixes_keywords + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_with_missing_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_empty_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_renders_crate_name_without_a_version_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_empty_crates_csv + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_default_config_is_valid + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_returning_non_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_nonexistent_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::validate::tests::test_expression_with_type_mismatch + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_all_metrics_have_descriptions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_advisory_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_codebase_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_coverage_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_docs_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_hosting_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_overall_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_version_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_returns_metrics + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_metric_categories_are_assigned + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::either_error_trigger_suppresses_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_all_metrics_have_descriptions + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_advisory_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_codebase_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_coverage_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_docs_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_hosting_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_overall_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_includes_version_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_flatten_returns_metrics + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric::tests::test_metric_categories_are_assigned + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: metrics::metric_def::tests::recent_downloads_sum_all_available_months + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_outcome_icon_name_includes_description + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_outcome_icon_name_omits_description_for_passing_check + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_outcome_icon_name_propagates_writer_errors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_status_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_distinguish_failures_and_inconclusive_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_ignore_weighted_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_counts_are_pluralized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::metrics_section_is_skipped_when_not_requested + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_weighted_evaluation_failure_has_distinct_state_and_null_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_supports_custom_separator + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_status_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_distinguish_failures_and_inconclusive_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_ignore_weighted_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_counts_are_pluralized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::metrics_section_is_skipped_when_not_requested + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_weighted_evaluation_failure_has_distinct_state_and_null_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_ignore_weighted_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::metrics_section_is_skipped_when_not_requested + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_weighted_evaluation_failure_has_distinct_state_and_null_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_weighted_evaluation_failure_has_distinct_state_and_null_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_supports_custom_separator + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_status_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_distinguish_failures_and_inconclusive_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_counts_are_pluralized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_weighted_evaluation_failure_has_distinct_state_and_null_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_explains_total_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_status_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::metrics_section_is_skipped_when_not_requested + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_weighted_evaluation_failure_has_distinct_state_and_null_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_keywords_or_categories_with_prefix + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_prefixes_keywords + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_keywords_or_categories_with_prefix + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_keywords_or_categories_with_prefix_empty_input + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_prefixes_keywords + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_metric_value_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_metric_value_datetime + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_metric_value_float + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_metric_value_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_metric_value_unsigned_integer + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::long_metric_values_are_wrapped_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_without_the_appraisal_section + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_like_header_and_metric_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_mixed_found_and_missing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_prefixes_keywords + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_with_missing_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_renders_crate_name_without_a_version_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_multiple_categories + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_single_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::long_metric_values_are_wrapped_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_without_the_appraisal_section + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_multiple_categories + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_group_metrics_by_category_single_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::long_metric_values_are_wrapped_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_without_the_appraisal_section + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_is_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_mixed_found_and_missing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_prefixes_keywords + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_with_missing_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_renders_crate_name_without_a_version_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_is_keywords_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_mixed_found_and_missing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_prefixes_keywords + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_with_missing_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_is_url + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_mixed_found_and_missing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_prefixes_keywords + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_with_missing_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_supports_custom_separator + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_status_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_distinguish_failures_and_inconclusive_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_counts_are_pluralized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_distinguish_failures_and_inconclusive_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_counts_are_pluralized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_supports_custom_separator + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_status_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_distinguish_failures_and_inconclusive_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_ignore_weighted_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_counts_are_pluralized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_ignore_weighted_outcomes + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_supports_custom_separator + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_status_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_counts_distinguish_failures_and_inconclusive_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_counts_are_pluralized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_describes_a_countless_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_details_supports_custom_separator + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_appraisal_status_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_counts_are_pluralized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_counts_are_pluralized + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_required_check_summary_describes_a_countless_failure + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_metric_value_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_metric_value_datetime + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_metric_value_float + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_metric_value_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::common::tests::test_format_metric_value_unsigned_integer + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::long_metric_values_are_wrapped_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_without_the_appraisal_section + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_like_header_and_metric_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_renders_crate_name_without_a_version_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_metric_value_to_json_datetime + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::long_metric_values_are_wrapped_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_without_the_appraisal_section + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::long_metric_values_are_wrapped_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::metrics_section_is_skipped_when_not_requested + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::reasons_only_output_still_separates_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_without_the_appraisal_section + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::metrics_section_is_skipped_when_not_requested + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::long_metric_values_are_wrapped_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::metrics_section_is_skipped_when_not_requested + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::reasons_only_output_still_separates_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_empty_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_without_the_appraisal_section + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_empty_crates_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::reasons_only_output_still_separates_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::metrics_section_is_skipped_when_not_requested + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::reasons_only_output_still_separates_multiple_crates + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::long_metric_values_are_wrapped_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_long + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::wrap_text_wraps_at_width_boundary_and_keeps_continuation_words_together + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::long_metric_values_are_wrapped_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_exact_fit + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_long + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_short + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::wrap_text_wraps_at_width_boundary_and_keeps_continuation_words_together + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::long_metric_values_are_wrapped_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_without_the_appraisal_section + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_exact_fit + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_long + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_short + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::wrap_text_wraps_at_width_boundary_and_keeps_continuation_words_together + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::long_metric_values_are_wrapped_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_without_the_appraisal_section + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_exact_fit + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_long + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_short + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::wrap_text_wraps_at_width_boundary_and_keeps_continuation_words_together + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::generated_wrapped_metric_uses_exact_continuation_indent + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::long_metric_values_are_wrapped_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_without_the_appraisal_section + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_exact_fit + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_long + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_short + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_when_indent_exceeds_width + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::wrap_text_wraps_at_width_boundary_and_keeps_continuation_words_together + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_empty + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_filters_failures_sorts_crates_and_defaults_to_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::colored_output_covers_every_risk_level + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_color_mode_never + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_accepted + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_single_crate_with_evaluation_denied + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_without_the_appraisal_section + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_generate_wraps_long_metric_values_onto_continuation_lines + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_exact_fit + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::console::tests::test_wrap_text_short + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_no_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_console_report_with_colors + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_console_output + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_defaults_to_console_when_nothing_else_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_with_quotes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_whitespace_prefixed_formulas + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_quotes_neutralized_formula + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_with_comma + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_with_newline + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_no_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_formula_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_whitespace_prefixed_formulas + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_preserves_non_formula_whitespace + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_quotes_neutralized_formula + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_with_comma + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_with_newline + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_with_quotes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_like_header_and_metric_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_no_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_formula_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_whitespace_prefixed_formulas + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_preserves_non_formula_whitespace + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_quotes_neutralized_formula + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_with_comma + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_with_newline + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_with_quotes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_like_header_and_metric_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_no_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_formula_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_whitespace_prefixed_formulas + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_preserves_non_formula_whitespace + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_quotes_neutralized_formula + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_with_comma + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_with_newline + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_like_header_and_metric_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_formula_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_whitespace_prefixed_formulas + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_quotes_neutralized_formula + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_like_header_and_metric_name + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_formula_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_neutralizes_whitespace_prefixed_formulas + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_preserves_non_formula_whitespace + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_escape_csv_untrusted_quotes_neutralized_formula + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_like_header_and_metric_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_empty_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_like_header_and_metric_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_empty_crates_csv + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_like_header_and_metric_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_like_header_and_metric_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_list_metric_is_textual_when_any_value_is_textual + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_numeric_metric_values_remain_numeric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_list_metric_is_textual_when_any_value_is_textual + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_like_header_and_metric_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_list_metric_is_textual_when_any_value_is_textual + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_numeric_metric_values_remain_numeric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_escapes_expression_description_as_regular_csv_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_neutralizes_formula_in_textual_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_generate_with_special_characters + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_list_metric_is_textual_when_any_value_is_textual + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::csv::tests::test_numeric_metric_values_remain_numeric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_csv_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_csv_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_appraisal_cell_values_preserve_unscored_state_and_inconclusive_details + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_empty_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_mixed_found_and_missing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_prefixes_keywords + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_with_missing_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_mixed_found_and_missing + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_prefixes_keywords + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_with_missing_data + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_places_headers_appraisals_and_categories_in_expected_cells + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_excel_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::test_generate_prefixes_keywords + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::excel::tests::workbook_writes_keyword_metric_values_with_hash_prefixes + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_simple + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_special_chars_in_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_special_chars_in_version + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_with_hyphens + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_renders_crate_name_without_a_version_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_summary_omits_zero_count_not_evaluated_card + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_write_risk_crate_list_renders_entries + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_special_chars_in_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_with_hyphens + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_special_chars_in_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_anchor_id_special_chars_in_version + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_categories + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_or_categories_multiple + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_or_categories_single + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_with_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_categories + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_or_categories_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_or_categories_multiple + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_or_categories_single + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_with_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_empty_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_renders_crate_name_without_a_version_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_renders_crate_name_without_a_version_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_empty_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_renders_crate_name_without_a_version_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_categories + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_or_categories_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_or_categories_multiple + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_or_categories_single + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_with_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_renders_crate_name_without_a_version_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_all_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_ampersand + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_basic + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_less_than + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_quotes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_summary_omits_zero_count_not_evaluated_card + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_write_risk_crate_list_renders_entries + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_all_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_quotes + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_with_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_all_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_ampersand + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_all_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_less_than + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_format_keywords_with_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_all_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_less_than + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_all_special_chars + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_html_escape_quotes + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_renders_crate_name_without_a_version_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_required_check_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_crate_header_explains_weighted_evaluation_failure + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::summary_is_rendered_only_for_multiple_crates_with_appraisals + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_no_outcomes + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_appraisal_passed_and_failed + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_css_styles + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_ferris + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_tab_switching_script + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_contains_theme_toggle + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_html_escapes_crate_name + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_no_appraisals_no_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_renders_crate_name_without_a_version_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_single_crate + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_failed_disposition + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_na_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_url_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_write_metrics_category_writes_nothing_for_an_unknown_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_categories_metric + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_renders_crate_name_without_a_version_metric + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_formats_metric_values_by_kind + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_suppresses_console_when_only_html_is_requested + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_pie_chart_half_circle_uses_small_arc_flag + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_pie_chart_half_circle_uses_small_arc_flag + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_pie_chart_is_a_full_circle_for_a_single_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_pie_chart_is_omitted_when_there_are_no_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_summary_omits_zero_count_not_evaluated_card + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_pie_chart_half_circle_uses_small_arc_flag + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_pie_chart_is_a_full_circle_for_a_single_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_summary_omits_zero_count_not_evaluated_card + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_pie_chart_half_circle_uses_small_arc_flag + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_summary_omits_zero_count_not_evaluated_card + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_write_risk_crate_list_renders_entries + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_summary_omits_zero_count_not_evaluated_card + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_write_risk_crate_list_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_write_risk_crate_list_renders_entries + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_write_risk_crate_list_empty + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_write_risk_crate_list_renders_entries + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_summary_omits_zero_count_not_evaluated_card + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_summary_omits_zero_count_not_evaluated_card + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_anchor_links_in_summary + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_covers_every_risk_category + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_with_all_risk_levels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_required_check_failure_uses_normalized_sort_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_summary_omits_zero_count_not_evaluated_card + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_omits_empty_risk_panels + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::html::tests::test_generate_propagates_writer_errors_from_every_write + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_html_report + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_features + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_all_report_types + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_console_output + - package: cargo-aprz-lib + target: deps_command_integration + test: test_deps_command_csv_output + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_empty_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_pretty_formatting + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_weighted_evaluation_failure_has_distinct_state_and_null_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_empty_crates_json + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_weighted_evaluation_failure_has_distinct_state_and_null_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_pretty_formatting + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_weighted_evaluation_failure_has_distinct_state_and_null_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_denied_status + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_multiple_crates + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_pretty_formatting + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_required_check_failure_has_null_score_and_evaluation_error + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_single_crate_no_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_single_crate_with_evaluation + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_generate_weighted_evaluation_failure_has_distinct_state_and_null_score + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_metric_value_to_json_boolean + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_metric_value_to_json_datetime + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_metric_value_to_json_float + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_metric_value_to_json_text + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + - - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::every_file_report_suppresses_the_default_console + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::explicit_console_is_honored_while_generating_a_file_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: commands::common::tests::report_evaluates_for_each_expression_and_error_trigger + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::json::tests::test_metric_value_to_json_datetime + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_json_report + - package: cargo-aprz-lib + target: cargo_aprz_lib + test: reports::snapshot_tests::test_single_crate_all_metrics + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_all_report_types + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_appraises_when_only_a_high_risk_gate_is_configured + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_multiple_crates + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_resolves_latest_version + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_with_error_if_high_risk_flag + - package: cargo-aprz-lib + target: crates_command_integration + test: test_crates_command_without_any_policy_skips_appraisal + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: aggregate::tests::percent_computes_correctly + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_per_row_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_collapses_sub_precision_noise_to_unsigned_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_negative_with_sign + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_positive_with_sign + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::exact_threshold_match_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::measured_rounds_down_below_threshold_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::measured_rounds_up_to_threshold_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_rounds_to_match_measured + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_source_propagated_through_outcome + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unattributed_files_are_counted_and_dropped + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: aggregate::tests::percent_computes_correctly + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: aggregate::tests::percent_handles_zero_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_per_row_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_collapses_sub_precision_noise_to_unsigned_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_negative_with_sign + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_positive_with_sign + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_returns_dash_for_no_data + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::exact_threshold_match_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::measured_rounds_down_below_threshold_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::measured_rounds_up_to_threshold_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_rounds_to_match_measured + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_source_propagated_through_outcome + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::tiny_non_zero_threshold_is_not_treated_as_opt_out + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unattributed_files_are_counted_and_dropped + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: aggregate::tests::percent_handles_zero_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_returns_dash_for_no_data + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::tiny_non_zero_threshold_is_not_treated_as_opt_out + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: aggregate::tests::deterministic_across_input_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: aggregate::tests::sums_counters + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_source_propagated_through_outcome + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unattributed_files_are_counted_and_dropped + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unexpected_coverable_lines_report_every_instrumented_location + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: aggregate::tests::deterministic_across_input_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: aggregate::tests::empty_input_is_zero_totals + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: aggregate::tests::sums_counters + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_source_propagated_through_outcome + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unattributed_files_are_counted_and_dropped + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unexpected_coverable_lines_report_every_instrumented_location + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::assigns_files_to_matching_crates + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::longest_prefix_wins_for_nested_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::similar_named_member_does_not_steal_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::unmatched_files_are_reported_separately + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_source_propagated_through_outcome + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unattributed_files_are_counted_and_dropped + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unexpected_coverable_lines_report_every_instrumented_location + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::assigns_files_to_matching_crates + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::longest_prefix_wins_for_nested_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::similar_named_member_does_not_steal_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_source_propagated_through_outcome + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::assigns_files_to_matching_crates + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::empty_inputs + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::longest_prefix_wins_for_nested_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::similar_named_member_does_not_steal_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::unmatched_files_are_reported_separately + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_source_propagated_through_outcome + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unattributed_files_are_counted_and_dropped + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unexpected_coverable_lines_report_every_instrumented_location + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: attribute::tests::unmatched_files_are_reported_separately + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unattributed_files_are_counted_and_dropped + - - package: cargo-coverage-gate + target: cargo-coverage-gate + test: run::tests::explicit_summary_file_skips_environment_lookup + - package: cargo-coverage-gate + target: cargo-coverage-gate + test: run::tests::summary_environment_falls_back_in_priority_order + - - package: cargo-coverage-gate + target: cargo-coverage-gate + test: run::tests::summary_environment_falls_back_in_priority_order + - - package: cargo-coverage-gate + target: cargo-coverage-gate + test: run::tests::explicit_summary_file_skips_environment_lookup + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::from_path_reads_from_disk + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::from_strs_merges_line_counts_and_unions_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::from_strs_unions_distinct_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::lenient_line_semantics_match_lcov + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::parsed_files_and_line_numbers_are_sorted + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::parses_multi_file + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::parses_single_file + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::from_strs_merges_line_counts_and_unions_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::from_strs_propagates_parse_error_from_any_input + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::from_strs_unions_distinct_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::lenient_line_semantics_match_lcov + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::parsed_files_and_line_numbers_are_sorted + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::parses_empty_tracefile + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::parses_multi_file + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: lcov_cov::tests::parses_single_file + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: tests::evaluated_report_unattributed_count_round_trips + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: tests::evaluated_report_unattributed_count_zero_for_empty + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: tests::exit_codes + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: tests::evaluate_many_uses_the_implicit_host_target + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: tests::evaluate_rejects_malformed_lcov + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::diagnostics::tests::passing_statuses_have_no_failure_detail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::diagnostics::tests::passing_statuses_have_no_failure_detail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::diagnostics::tests::line_ranges_compress_only_adjacent_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::diagnostics::tests::line_ranges_compress_only_adjacent_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::diagnostics::tests::line_ranges_compress_only_adjacent_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::diagnostics::tests::line_ranges_compress_only_adjacent_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_per_row_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::count_helpers_select_their_status + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_joins_all_failing_categories + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_reports_each_category + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::plural_helpers_pick_singular_only_for_one + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_per_row_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_collapses_sub_precision_noise_to_unsigned_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_negative_with_sign + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_positive_with_sign + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_per_row_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_collapses_sub_precision_noise_to_unsigned_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_negative_with_sign + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_positive_with_sign + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_returns_dash_for_no_data + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_threshold_and_delta_for_assertion_statuses + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_collapses_sub_precision_noise_to_unsigned_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_negative_with_sign + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_collapses_sub_precision_noise_to_unsigned_zero + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_threshold_and_delta_for_assertion_statuses + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_returns_dash_for_no_data + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_lines_for_assertion_statuses + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_per_row_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_lines_for_assertion_statuses + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_lines_for_assertion_statuses + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_lines_for_assertion_statuses + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_per_row_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_per_row_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::status_labels_cover_assertion_variants + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_per_row_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::status_labels_cover_assertion_variants + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::status_labels_cover_assertion_variants + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::status_labels_cover_assertion_variants + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::status_labels_cover_assertion_variants + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::status_labels_cover_assertion_variants + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_per_row_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_threshold_and_delta_for_assertion_statuses + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::plural_helpers_pick_singular_only_for_one + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_joins_all_failing_categories + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_reports_each_category + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::plural_helpers_pick_singular_only_for_one + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_joins_all_failing_categories + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_reports_each_category + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_joins_all_failing_categories + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_reports_each_category + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_reports_each_category + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_joins_all_failing_categories + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_reports_each_category + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_joins_all_failing_categories + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_reports_each_category + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_joins_all_failing_categories + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::result_summary_reports_each_category + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::ignores_blank_cfg_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::matches_exact_and_cfg_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::resolves_explicit_target_from_real_rustc + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::resolves_host_and_cfg_from_real_rustc + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_selection_skips_non_matching_candidates + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::resolves_explicit_target_from_real_rustc + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::resolves_host_and_cfg_from_real_rustc + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_a_cfg_query_that_cannot_be_launched + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_a_failed_host_query + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_version_output_without_a_host_line + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::resolves_host_and_cfg_from_real_rustc + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::ignores_blank_cfg_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_a_failed_cfg_query + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_unparsable_cfg_output + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::resolves_explicit_target_from_real_rustc + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::resolves_host_and_cfg_from_real_rustc + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_a_cfg_query_that_cannot_be_launched + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_version_output_without_a_host_line + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::resolves_host_and_cfg_from_real_rustc + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::ignores_blank_cfg_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::reports_unparsable_cfg_output + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::resolves_explicit_target_from_real_rustc + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: target::tests::resolves_host_and_cfg_from_real_rustc + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_per_row_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: threshold::tests::source_as_str + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: threshold::tests::source_as_str + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_per_row_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_coverable_lines_with_dash_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unexpected_coverable_lines_with_cross_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_coverable_lines_row + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unexpected_coverable_lines_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: threshold::tests::source_as_str + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: threshold::tests::source_as_str + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_per_row_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_gfm_table_header + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_no_data_with_warning_emoji + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::markdown::tests::uses_check_emoji_for_pass_and_cross_for_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_collapses_sub_precision_noise_to_unsigned_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_negative_with_sign + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_renders_positive_with_sign + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::tests::format_delta_returns_dash_for_no_data + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::exact_failure_detail_limit_has_no_omission_notice + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_detail_limit_spans_diagnostic_files + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::failure_details_are_bounded + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::omits_unattributed_warning_when_zero + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::one_omitted_failure_location_is_reported + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::output_is_deterministic + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_failure_diagnostic_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::propagates_error_from_unattributed_note_write + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_combined_fail_and_no_data_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_fail_with_negative_delta + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_no_data_row_and_summary + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_pass_table + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_two_separator_rules + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::renders_unattributed_warning_when_present + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: render::text::tests::table_widths_follow_the_widest_header_or_cell + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::exact_threshold_match_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::measured_rounds_down_below_threshold_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::measured_rounds_up_to_threshold_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_rounds_to_match_measured + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_source_propagated_through_outcome + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unattributed_files_are_counted_and_dropped + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::exact_threshold_match_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::measured_rounds_down_below_threshold_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::measured_rounds_up_to_threshold_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_rounds_to_match_measured + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_source_propagated_through_outcome + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::tiny_non_zero_threshold_is_not_treated_as_opt_out + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unattributed_files_are_counted_and_dropped + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::zero_threshold_opts_out_even_when_well_covered + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::zero_threshold_opts_out_even_with_no_data + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::classify_no_coverable_lines_fails_when_lines_appear + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::classify_no_coverable_lines_passes_when_empty + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unexpected_coverable_lines_report_every_instrumented_location + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::diagnostics_are_sorted_by_path + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::diagnostics_omit_files_without_relevant_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unexpected_coverable_lines_report_every_instrumented_location + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::diagnostics_are_sorted_by_path + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::diagnostics_omit_files_without_relevant_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_source_propagated_through_outcome + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unattributed_files_are_counted_and_dropped + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unexpected_coverable_lines_report_every_instrumented_location + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::diagnostics_are_sorted_by_path + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unexpected_coverable_lines_report_every_instrumented_location + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_source_propagated_through_outcome + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unattributed_files_are_counted_and_dropped + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unexpected_coverable_lines_report_every_instrumented_location + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_matcher_handles_wildcards + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_matcher_handles_wildcards + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_matcher_handles_wildcards + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_matcher_handles_wildcards + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_matching_no_member_errors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_with_unknown_name_errors + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_matcher_handles_wildcards + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_matching_no_member_errors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_with_unknown_name_errors + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_matcher_handles_wildcards + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_matching_no_member_errors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_with_unknown_name_errors + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_matching_no_member_errors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_unexpected_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_with_unknown_name_errors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_source_propagated_through_outcome + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unattributed_files_are_counted_and_dropped + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unexpected_coverable_lines_report_every_instrumented_location + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_matching_no_member_errors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_with_unknown_name_errors + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::all_pass + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::exact_threshold_match_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_lines_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::expect_no_coverable_lines_crate_with_no_data_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::glob_selector_matches_multiple_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::measured_rounds_down_below_threshold_fails + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::measured_rounds_up_to_threshold_passes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::no_data_dominates_fail + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::one_failure_produces_fail_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::opt_out_crate_does_not_force_config_error_verdict + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::outcomes_are_sorted_independently_of_selector_order + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::overlapping_selectors_dedupe_members + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::package_flag_restricts_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::round_to_displayed_precision_keeps_one_decimal + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_rounds_to_match_measured + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::threshold_source_propagated_through_outcome + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: verdict::tests::unattributed_files_are_counted_and_dropped + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::does_not_resolve_target_without_target_policies + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::loads_workspace_with_no_metadata_anywhere + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_per_crate_override + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_workspace_level_default + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::workspace_scoped_expect_no_coverable_lines_false_is_accepted + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::does_not_resolve_target_without_target_policies + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::loads_workspace_with_no_metadata_anywhere + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_per_crate_override + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_workspace_level_default + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_both_min_lines_and_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_negative_workspace_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_non_boolean_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_non_numeric_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_out_of_range_per_crate_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_target_policy_at_workspace_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_workspace_scoped_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::workspace_scoped_expect_no_coverable_lines_false_is_accepted + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_per_crate_override + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_workspace_level_default + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_both_min_lines_and_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::workspace_scoped_expect_no_coverable_lines_false_is_accepted + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_both_min_lines_and_expect_no_coverable_lines + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_both_min_lines_and_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_workspace_scoped_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::workspace_scoped_expect_no_coverable_lines_false_is_accepted + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::accepts_target_derived_cfg_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_per_crate_override + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_workspace_level_default + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_both_min_lines_and_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_non_boolean_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_target_policy_at_workspace_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_workspace_scoped_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::workspace_scoped_expect_no_coverable_lines_false_is_accepted + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::accepts_target_derived_cfg_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_per_crate_override + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_workspace_level_default + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_target_policy_at_workspace_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_both_min_lines_and_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_workspace_scoped_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_workspace_scoped_expect_no_coverable_lines + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::accepts_target_derived_cfg_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_per_crate_override + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_workspace_level_default + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_both_min_lines_and_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_negative_workspace_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_out_of_range_per_crate_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::workspace_scoped_expect_no_coverable_lines_false_is_accepted + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::accepts_target_derived_cfg_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_per_crate_override + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_workspace_level_default + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_both_min_lines_and_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_negative_workspace_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_non_boolean_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_non_numeric_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_out_of_range_per_crate_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_target_policy_at_workspace_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_workspace_scoped_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::workspace_scoped_expect_no_coverable_lines_false_is_accepted + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_non_boolean_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_target_policy_at_workspace_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_workspace_scoped_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::accepts_target_derived_cfg_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_per_crate_override + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_workspace_level_default + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_both_min_lines_and_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::workspace_scoped_expect_no_coverable_lines_false_is_accepted + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_negative_workspace_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_out_of_range_per_crate_threshold + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::accepts_target_derived_cfg_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_build_context_target_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unsupported_build_context_options_are_sorted_and_deduplicated + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::accepts_target_derived_cfg_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::accepts_target_derived_cfg_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_build_context_target_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_target_policy_at_workspace_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unsupported_build_context_options_are_sorted_and_deduplicated + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::accepts_target_derived_cfg_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_per_crate_override + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_workspace_level_default + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_both_min_lines_and_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_build_context_target_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_target_policy_at_workspace_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unsupported_build_context_options_are_sorted_and_deduplicated + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::workspace_scoped_expect_no_coverable_lines_false_is_accepted + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_build_context_target_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unsupported_build_context_options_are_sorted_and_deduplicated + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_target_policy_at_workspace_scope + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::does_not_resolve_target_without_target_policies + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::loads_workspace_with_no_metadata_anywhere + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::metadata_command_excludes_dependencies + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_per_crate_override + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::picks_up_workspace_level_default + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_both_min_lines_and_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_negative_workspace_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_non_boolean_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_non_numeric_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_out_of_range_per_crate_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_target_policy_at_workspace_scope + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_workspace_scoped_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::workspace_scoped_expect_no_coverable_lines_false_is_accepted + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_selection_skips_non_matching_candidates + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_selection_skips_non_matching_candidates + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_can_expect_no_coverable_lines + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_selection_skips_non_matching_candidates + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::accepts_target_derived_cfg_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_build_context_target_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unsupported_build_context_options_are_sorted_and_deduplicated + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::exact_target_policy_wins_over_matching_cfg + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::matching_cfg_policy_opts_package_out_with_zero_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_build_context_target_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_malformed_target_policy_shapes + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_rejects_missing_policy_value + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_policy_replaces_base_threshold + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::target_threshold_completely_replaces_base_assertion + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unmatched_target_policy_preserves_base_policy + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unsupported_build_context_options_are_sorted_and_deduplicated + - - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::accepts_target_derived_cfg_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::multiple_matching_cfg_policies_are_rejected + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::rejects_build_context_target_selectors + - package: cargo-coverage-gate + target: cargo_coverage_gate + test: workspace::tests::unsupported_build_context_options_are_sorted_and_deduplicated + - - package: cargo-each + target: cargo-each + test: filter::tests::dep_predicate_matches + - package: cargo-each + target: cargo-each + test: filter::tests::kind_predicates_match + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_bool_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_nan_uses_string_equality + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_non_scalar_never_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_present_and_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_string_equals + - - package: cargo-each + target: cargo-each + test: filter::tests::parses_dep_predicate + - package: cargo-each + target: cargo-each + test: filter::tests::rejects_unknown_and_empty + - - package: cargo-each + target: cargo-each + test: filter::tests::metadata_bool_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_nan_uses_string_equality + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_non_scalar_never_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_present_and_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_string_equals + - package: cargo-each + target: cargo-each + test: filter::tests::parses_dep_predicate + - package: cargo-each + target: cargo-each + test: filter::tests::parses_metadata_predicates + - package: cargo-each + target: cargo-each + test: filter::tests::rejects_empty_metadata_key_before_equals + - package: cargo-each + target: cargo-each + test: filter::tests::rejects_metadata_keys_with_empty_segments + - package: cargo-each + target: cargo-each + test: filter::tests::rejects_unknown_and_empty + - - package: cargo-each + target: cargo-each + test: filter::tests::rejects_unknown_and_empty + - - package: cargo-each + target: cargo-each + test: filter::tests::metadata_bool_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_nan_uses_string_equality + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_non_scalar_never_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_present_and_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_string_equals + - package: cargo-each + target: cargo-each + test: filter::tests::parses_metadata_predicates + - package: cargo-each + target: cargo-each + test: filter::tests::rejects_empty_metadata_key_before_equals + - package: cargo-each + target: cargo-each + test: filter::tests::rejects_metadata_keys_with_empty_segments + - package: cargo-each + target: cargo-each + test: filter::tests::rejects_unknown_and_empty + - - package: cargo-each + target: cargo-each + test: filter::tests::parses_kind_predicates + - - package: cargo-each + target: cargo-each + test: filter::tests::metadata_bool_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_nan_uses_string_equality + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_non_scalar_never_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_present_and_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_string_equals + - - package: cargo-each + target: cargo-each + test: filter::tests::metadata_bool_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_nan_uses_string_equality + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_non_scalar_never_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_present_and_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_string_equals + - package: cargo-each + target: cargo-each + test: filter::tests::parses_metadata_predicates + - package: cargo-each + target: cargo-each + test: filter::tests::rejects_metadata_keys_with_empty_segments + - - package: cargo-each + target: cargo-each + test: filter::tests::rejects_empty_metadata_key_before_equals + - package: cargo-each + target: cargo-each + test: filter::tests::rejects_unknown_and_empty + - - package: cargo-each + target: cargo-each + test: filter::tests::rejects_metadata_keys_with_empty_segments + - - package: cargo-each + target: cargo-each + test: filter::tests::metadata_non_scalar_never_equals + - - package: cargo-each + target: cargo-each + test: filter::tests::metadata_nan_uses_string_equality + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_present_and_equals + - - package: cargo-each + target: cargo-each + test: filter::tests::metadata_bool_equals + - - package: cargo-each + target: cargo-each + test: filter::tests::metadata_present_and_equals + - - package: cargo-each + target: cargo-each + test: filter::tests::metadata_nan_uses_string_equality + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_string_equals + - - package: cargo-each + target: cargo-each + test: filter::tests::metadata_bool_equals + - package: cargo-each + target: cargo-each + test: filter::tests::metadata_string_equals + - - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: plan::tests::chdir_sets_work_dir_to_crate_root + - package: cargo-each + target: cargo-each + test: plan::tests::chdir_with_once_is_a_usage_error + - package: cargo-each + target: cargo-each + test: plan::tests::empty_set_still_validates_placeholders + - package: cargo-each + target: cargo-each + test: plan::tests::empty_set_yields_empty_plan + - package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + - package: cargo-each + target: cargo-each + test: plan::tests::once_whole_workspace_uses_workspace_flag + - package: cargo-each + target: cargo-each + test: plan::tests::per_package_builds_one_invocation_each + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: plan::tests::chdir_sets_work_dir_to_crate_root + - package: cargo-each + target: cargo-each + test: plan::tests::empty_set_still_validates_placeholders + - package: cargo-each + target: cargo-each + test: plan::tests::empty_set_yields_empty_plan + - package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + - package: cargo-each + target: cargo-each + test: plan::tests::once_whole_workspace_uses_workspace_flag + - package: cargo-each + target: cargo-each + test: plan::tests::per_package_builds_one_invocation_each + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: plan::tests::chdir_sets_work_dir_to_crate_root + - package: cargo-each + target: cargo-each + test: plan::tests::per_package_builds_one_invocation_each + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: plan::tests::chdir_sets_work_dir_to_crate_root + - package: cargo-each + target: cargo-each + test: plan::tests::chdir_with_once_is_a_usage_error + - - package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + - package: cargo-each + target: cargo-each + test: plan::tests::once_whole_workspace_uses_workspace_flag + - - package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + - - package: cargo-each + target: cargo-each + test: run::tests::in_range_codes_pass_through + - package: cargo-each + target: cargo-each + test: run::tests::nonzero_code_with_zero_low_byte_maps_to_one + - package: cargo-each + target: cargo-each + test: run::tests::wide_codes_reduce_to_low_byte + - - package: cargo-each + target: cargo-each + test: run::tests::in_range_codes_pass_through + - package: cargo-each + target: cargo-each + test: run::tests::nonzero_code_with_zero_low_byte_maps_to_one + - package: cargo-each + target: cargo-each + test: run::tests::signal_terminated_child_maps_to_one + - package: cargo-each + target: cargo-each + test: run::tests::wide_codes_reduce_to_low_byte + - - package: cargo-each + target: cargo-each + test: run::tests::signal_terminated_child_maps_to_one + - - package: cargo-each + target: cargo-each + test: run::tests::nonzero_code_with_zero_low_byte_maps_to_one + - - package: cargo-each + target: cargo-each + test: select::tests::is_whole_workspace_detects_pass_through + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: select::tests::is_whole_workspace_detects_pass_through + - - package: cargo-each + target: cargo-each + test: select::tests::all_selects_every_member + - package: cargo-each + target: cargo-each + test: select::tests::empty_selection_uses_default_members + - package: cargo-each + target: cargo-each + test: select::tests::exclude_removes_from_workspace + - package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + - package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: select::tests::empty_selection_uses_default_members + - package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + - package: cargo-each + target: cargo-each + test: select::tests::unknown_selector_errors + - package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: select::tests::all_selects_every_member + - package: cargo-each + target: cargo-each + test: select::tests::empty_selection_uses_default_members + - package: cargo-each + target: cargo-each + test: select::tests::exclude_removes_from_workspace + - package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + - package: cargo-each + target: cargo-each + test: select::tests::unknown_selector_errors + - package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: select::tests::all_selects_every_member + - package: cargo-each + target: cargo-each + test: select::tests::empty_selection_uses_default_members + - package: cargo-each + target: cargo-each + test: select::tests::exclude_removes_from_workspace + - package: cargo-each + target: cargo-each + test: select::tests::none_resolves_empty + - package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + - package: cargo-each + target: cargo-each + test: select::tests::unknown_selector_errors + - package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: select::tests::exclude_removes_from_workspace + - - package: cargo-each + target: cargo-each + test: select::tests::glob_matcher_advances_each_backtrack_coordinate + - package: cargo-each + target: cargo-each + test: select::tests::glob_matcher_handles_wildcards + - package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + - - package: cargo-each + target: cargo-each + test: select::tests::exclude_removes_from_workspace + - package: cargo-each + target: cargo-each + test: select::tests::glob_matcher_advances_each_backtrack_coordinate + - package: cargo-each + target: cargo-each + test: select::tests::glob_matcher_handles_wildcards + - package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + - package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: select::tests::glob_matcher_handles_wildcards + - - package: cargo-each + target: cargo-each + test: select::tests::exclude_removes_from_workspace + - package: cargo-each + target: cargo-each + test: select::tests::glob_matcher_advances_each_backtrack_coordinate + - package: cargo-each + target: cargo-each + test: select::tests::glob_matcher_handles_wildcards + - package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + - package: cargo-each + target: cargo-each + test: select::tests::unknown_selector_errors + - package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: select::tests::glob_matcher_advances_each_backtrack_coordinate + - package: cargo-each + target: cargo-each + test: select::tests::glob_matcher_handles_wildcards + - - package: cargo-each + target: cargo-each + test: select::tests::exclude_removes_from_workspace + - package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + - package: cargo-each + target: cargo-each + test: select::tests::unknown_selector_errors + - package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + - package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: select::tests::unknown_selector_errors + - package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + - - package: cargo-each + target: cargo-each + test: select::tests::exclude_removes_from_workspace + - package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + - package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: select::tests::package_glob_and_version_spec_match_on_name + - package: cargo-each + target: cargo-each + test: select::tests::version_matches_follows_cargo_partial_version_rule + - package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: select::tests::version_matches_follows_cargo_partial_version_rule + - - package: cargo-each + target: cargo-each + test: select::tests::version_matches_follows_cargo_partial_version_rule + - package: cargo-each + target: cargo-each + test: select::tests::version_spec_must_match_member_version + - - package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + - package: cargo-each + target: cargo-each + test: plan::tests::once_whole_workspace_uses_workspace_flag + - package: cargo-each + target: cargo-each + test: substitute::tests::once_expands_packages_token + - - package: cargo-each + target: cargo-each + test: plan::tests::chdir_sets_work_dir_to_crate_root + - package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + - package: cargo-each + target: cargo-each + test: plan::tests::once_whole_workspace_uses_workspace_flag + - package: cargo-each + target: cargo-each + test: plan::tests::per_package_builds_one_invocation_each + - package: cargo-each + target: cargo-each + test: substitute::tests::once_expands_packages_token + - package: cargo-each + target: cargo-each + test: substitute::tests::once_rejects_embedded_packages_token + - package: cargo-each + target: cargo-each + test: substitute::tests::once_rejects_per_package_token + - package: cargo-each + target: cargo-each + test: substitute::tests::packages_token_rejected_in_per_package_mode + - package: cargo-each + target: cargo-each + test: substitute::tests::per_package_tokens_expand + - package: cargo-each + target: cargo-each + test: substitute::tests::spec_and_name_distinct + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: plan::tests::chdir_sets_work_dir_to_crate_root + - package: cargo-each + target: cargo-each + test: plan::tests::per_package_builds_one_invocation_each + - package: cargo-each + target: cargo-each + test: substitute::tests::per_package_tokens_expand + - package: cargo-each + target: cargo-each + test: substitute::tests::spec_and_name_distinct + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: plan::tests::empty_set_still_validates_placeholders + - package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + - package: cargo-each + target: cargo-each + test: plan::tests::once_whole_workspace_uses_workspace_flag + - package: cargo-each + target: cargo-each + test: substitute::tests::once_expands_packages_token + - package: cargo-each + target: cargo-each + test: substitute::tests::once_rejects_embedded_packages_token + - package: cargo-each + target: cargo-each + test: substitute::tests::once_rejects_per_package_token + - - package: cargo-each + target: cargo-each + test: plan::tests::chdir_sets_work_dir_to_crate_root + - package: cargo-each + target: cargo-each + test: plan::tests::empty_set_yields_empty_plan + - package: cargo-each + target: cargo-each + test: plan::tests::per_package_builds_one_invocation_each + - package: cargo-each + target: cargo-each + test: substitute::tests::packages_token_rejected_in_per_package_mode + - package: cargo-each + target: cargo-each + test: substitute::tests::per_package_tokens_expand + - package: cargo-each + target: cargo-each + test: substitute::tests::spec_and_name_distinct + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: plan::tests::chdir_sets_work_dir_to_crate_root + - package: cargo-each + target: cargo-each + test: plan::tests::empty_set_still_validates_placeholders + - package: cargo-each + target: cargo-each + test: plan::tests::empty_set_yields_empty_plan + - package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + - package: cargo-each + target: cargo-each + test: plan::tests::once_whole_workspace_uses_workspace_flag + - package: cargo-each + target: cargo-each + test: plan::tests::per_package_builds_one_invocation_each + - package: cargo-each + target: cargo-each + test: substitute::tests::once_expands_packages_token + - package: cargo-each + target: cargo-each + test: substitute::tests::once_rejects_embedded_packages_token + - package: cargo-each + target: cargo-each + test: substitute::tests::once_rejects_per_package_token + - package: cargo-each + target: cargo-each + test: substitute::tests::packages_token_rejected_in_per_package_mode + - package: cargo-each + target: cargo-each + test: substitute::tests::per_package_tokens_expand + - package: cargo-each + target: cargo-each + test: substitute::tests::spec_and_name_distinct + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-each + target: cargo-each + test: substitute::tests::once_rejects_embedded_packages_token + - - package: cargo-each + target: cargo-each + test: substitute::tests::packages_token_rejected_in_per_package_mode + - - package: cargo-each + target: cargo-each + test: plan::tests::empty_set_still_validates_placeholders + - package: cargo-each + target: cargo-each + test: substitute::tests::once_rejects_per_package_token + - - package: cargo-each + target: cargo-each + test: plan::tests::chdir_sets_work_dir_to_crate_root + - package: cargo-each + target: cargo-each + test: plan::tests::once_subset_uses_explicit_package_flags + - package: cargo-each + target: cargo-each + test: plan::tests::per_package_builds_one_invocation_each + - package: cargo-each + target: cli + test: version_spec_partial_matches_over_metadata + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: tests::section_labels_name_both_supported_dependency_tables + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_no_workspace_no_package + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_skip_workspace_true + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_mixed + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_with_features + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_no_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_empty_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions_and_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_no_dependencies + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::package_dependencies_must_be_a_table + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_skip_workspace_true + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_mixed + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_with_features + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_skip_workspace_true + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_mixed + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_with_features + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_empty_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions_and_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::workspace_dependencies_must_be_a_table + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_empty_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions_and_errors + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_empty_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions_and_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_no_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::workspace_dependencies_must_be_a_table + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::package_dependencies_must_be_a_table + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_skip_workspace_true + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_mixed + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_with_features + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_no_dependencies + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_default_features_string + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_simple_version_string + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions_and_errors + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_not_a_table + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_default_features_true + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_git_without_default_features + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_missing_default_features + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_path_without_default_features + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_mixed + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_errors + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_complex_configuration + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_with_default_features_false + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_with_default_features_false_and_features + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_with_git_source + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_with_optional_flag + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_dependency_with_path_source + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_skip_workspace_true + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_skip_workspace_true + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_mixed + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_with_features + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions_and_errors + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_skip_workspace_true + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_mixed + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_with_features + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_empty_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions_and_errors + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_skip_workspace_true + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_mixed + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_with_features + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_all_valid + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions_and_errors + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_skip_workspace_true + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_mixed + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_with_features + - - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_both_workspace_and_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_package_deps_workspace_true_mixed + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_errors + - package: cargo-ensure-no-default-features + target: cargo_ensure_no_default_features + test: validation::tests::test_validate_workspace_dependencies_with_exceptions_and_errors + - - package: cargo-gamma + target: cargo-gamma + test: real_host::tests::the_real_host_answers_the_same_contract_the_fakes_stand_in_for + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_binary_chain_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_else_if_ladder_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_unary_chain_expands_to_a_guard_diagnostic + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_else_token_after_a_brace_ends_the_ladder_state + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_statement_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_something_that_is_not_a_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_cast_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_postfix_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_nested_tokens_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::each_chain_counter_accepts_the_exact_limit + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::mixed_operator_and_cast_chains_share_one_nesting_budget + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::one_expression_with_a_trailing_comma_is_not_reported_as_multiple_values + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::only_expression_ending_punctuation_makes_a_following_group_postfix + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::separators_restart_the_expression_chain_budget + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_more_than_one_expression_is_rejected_by_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::text_that_is_not_an_expression_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expression_chain_boundary_uses_the_full_chain_factor + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_a_method_and_a_trait_method_are_all_functions + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_unary_chain_expands_to_a_guard_diagnostic + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_attribute_keeps_the_item_and_adds_one_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_message_containing_quotes_and_backslashes_still_parses + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_timeout_multiplier_keeps_the_item_and_names_the_macro + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_value_keeps_the_item_and_names_the_macro + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_error_is_a_fully_qualified_terminated_invocation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_message_names_the_macro_that_was_misused + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_else_token_after_a_brace_ends_the_ladder_state + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_statement_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_something_that_is_not_a_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::one_expression_with_a_trailing_comma_is_not_reported_as_multiple_values + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::separators_restart_the_expression_chain_budget + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_more_than_one_expression_is_rejected_by_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_something_that_is_not_a_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_postfix_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::only_expression_ending_punctuation_makes_a_following_group_postfix + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_binary_chain_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_else_if_ladder_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_unary_chain_expands_to_a_guard_diagnostic + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_else_token_after_a_brace_ends_the_ladder_state + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_statement_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_something_that_is_not_a_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_postfix_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_nested_tokens_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::mixed_operator_and_cast_chains_share_one_nesting_budget + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::one_expression_with_a_trailing_comma_is_not_reported_as_multiple_values + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::only_expression_ending_punctuation_makes_a_following_group_postfix + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::separators_restart_the_expression_chain_budget + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_more_than_one_expression_is_rejected_by_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::text_that_is_not_an_expression_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expression_chain_boundary_uses_the_full_chain_factor + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_binary_chain_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_else_if_ladder_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_unary_chain_expands_to_a_guard_diagnostic + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_else_token_after_a_brace_ends_the_ladder_state + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_function_reports_the_inheritance_problem + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_statement_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_something_that_is_not_a_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_cast_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_postfix_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_nested_tokens_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::mixed_operator_and_cast_chains_share_one_nesting_budget + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::one_expression_with_a_trailing_comma_is_not_reported_as_multiple_values + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::only_expression_ending_punctuation_makes_a_following_group_postfix + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::separators_restart_the_expression_chain_budget + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_more_than_one_expression_is_rejected_by_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::text_that_is_not_an_expression_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expression_chain_boundary_uses_the_full_chain_factor + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_else_if_ladder_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_else_token_after_a_brace_ends_the_ladder_state + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_function_reports_the_inheritance_problem + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_statement_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_something_that_is_not_a_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_nested_tokens_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::one_expression_with_a_trailing_comma_is_not_reported_as_multiple_values + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::only_expression_ending_punctuation_makes_a_following_group_postfix + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::separators_restart_the_expression_chain_budget + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_more_than_one_expression_is_rejected_by_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::text_that_is_not_an_expression_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expression_chain_boundary_uses_the_full_chain_factor + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_postfix_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::only_expression_ending_punctuation_makes_a_following_group_postfix + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_attribute_keeps_the_item_and_adds_one_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_attribute_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_empty_argument_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_message_names_the_macro_that_was_misused + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_whole_selector_vocabulary_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_attribute_keeps_the_item_and_adds_one_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_message_names_the_macro_that_was_misused + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_timeout_multiplier_keeps_the_item_and_names_the_macro + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_accepted_timeout_multiplier_expands_to_the_item_alone + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_timeout_multiplier_keeps_the_item_and_names_the_macro + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_timeout_multiplier_keeps_the_item_and_names_the_macro + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_accepted_timeout_multiplier_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::arguments_after_a_positional_multiplier_are_still_validated + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_accepted_timeout_multiplier_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::arguments_after_a_positional_multiplier_are_still_validated + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_timeout_multiplier_keeps_the_item_and_names_the_macro + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_accepted_timeout_multiplier_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::arguments_after_a_positional_multiplier_are_still_validated + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_accepted_timeout_multiplier_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::arguments_after_a_positional_multiplier_are_still_validated + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_timeout_multiplier_keeps_the_item_and_names_the_macro + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::arguments_after_a_positional_multiplier_are_still_validated + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_byte_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_c_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_literal_whose_prefix_strips_to_no_quote_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_nested_in_parentheses_is_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_string_literal_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_raw_string_value_is_accepted_at_every_hash_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_attribute_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::both_named_arguments_are_accepted_together_in_either_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::malformed_value_attribute_paths_are_not_recognized + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::malformed_value_attribute_paths_are_not_recognized + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::malformed_value_attribute_paths_are_not_recognized + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::malformed_value_attribute_paths_are_not_recognized + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_a_method_and_a_trait_method_are_all_functions + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_function_reports_the_inheritance_problem + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_something_that_is_not_a_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_a_method_and_a_trait_method_are_all_functions + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_a_method_and_a_trait_method_are_all_functions + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::malformed_value_attribute_paths_are_not_recognized + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bare_word_value_is_rejected_as_not_a_string + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_byte_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_c_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_followed_by_the_wrong_punctuation_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_with_nothing_after_it_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_argument_inside_a_nested_group_is_still_reported + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_attribute_keeps_the_item_and_adds_one_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_nested_in_parentheses_is_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_string_literal_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_raw_string_value_is_accepted_at_every_hash_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_attribute_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_empty_argument_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_identifier_that_only_resembles_a_key_is_left_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::both_named_arguments_are_accepted_together_in_either_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::nesting_deeper_than_the_stack_is_still_walked_to_the_end + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_delimiters_are_not_treated_as_argument_lists + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::selector_validation_does_not_apply_timeout_only_literal_rules + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_call_form_is_rejected_with_the_spelling_it_should_have + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_message_names_the_macro_that_was_misused + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_whole_selector_vocabulary_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_argument_inside_a_nested_group_is_still_reported + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_nested_in_parentheses_is_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::nesting_deeper_than_the_stack_is_still_walked_to_the_end + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bare_word_value_is_rejected_as_not_a_string + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_byte_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_c_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_with_nothing_after_it_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_argument_inside_a_nested_group_is_still_reported + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_attribute_keeps_the_item_and_adds_one_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_nested_in_parentheses_is_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_string_literal_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_raw_string_value_is_accepted_at_every_hash_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_attribute_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::arguments_after_a_positional_multiplier_are_still_validated + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::both_named_arguments_are_accepted_together_in_either_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_message_names_the_macro_that_was_misused + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_raw_string_value_is_accepted_at_every_hash_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_attribute_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::both_named_arguments_are_accepted_together_in_either_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_raw_string_value_is_accepted_at_every_hash_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_attribute_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::both_named_arguments_are_accepted_together_in_either_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bare_word_value_is_rejected_as_not_a_string + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_byte_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_c_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_followed_by_the_wrong_punctuation_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_with_nothing_after_it_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_argument_inside_a_nested_group_is_still_reported + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_attribute_keeps_the_item_and_adds_one_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_nested_in_parentheses_is_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_string_literal_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_raw_string_value_is_accepted_at_every_hash_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_attribute_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::arguments_after_a_positional_multiplier_are_still_validated + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::both_named_arguments_are_accepted_together_in_either_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_call_form_is_rejected_with_the_spelling_it_should_have + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_message_names_the_macro_that_was_misused + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_argument_inside_a_nested_group_is_still_reported + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_nested_in_parentheses_is_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_raw_string_value_is_accepted_at_every_hash_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_attribute_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_identifier_that_only_resembles_a_key_is_left_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::both_named_arguments_are_accepted_together_in_either_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::nesting_deeper_than_the_stack_is_still_walked_to_the_end + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_delimiters_are_not_treated_as_argument_lists + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_whole_selector_vocabulary_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bare_word_value_is_rejected_as_not_a_string + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_byte_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_c_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_followed_by_the_wrong_punctuation_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_with_nothing_after_it_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_argument_inside_a_nested_group_is_still_reported + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_attribute_keeps_the_item_and_adds_one_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_nested_in_parentheses_is_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_string_literal_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_raw_string_value_is_accepted_at_every_hash_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_attribute_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_identifier_that_only_resembles_a_key_is_left_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::arguments_after_a_positional_multiplier_are_still_validated + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::both_named_arguments_are_accepted_together_in_either_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::nesting_deeper_than_the_stack_is_still_walked_to_the_end + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_delimiters_are_not_treated_as_argument_lists + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_call_form_is_rejected_with_the_spelling_it_should_have + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_message_names_the_macro_that_was_misused + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_whole_selector_vocabulary_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_argument_inside_a_nested_group_is_still_reported + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_nested_in_parentheses_is_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_raw_string_value_is_accepted_at_every_hash_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_attribute_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_identifier_that_only_resembles_a_key_is_left_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::both_named_arguments_are_accepted_together_in_either_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::nesting_deeper_than_the_stack_is_still_walked_to_the_end + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_delimiters_are_not_treated_as_argument_lists + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::selector_validation_does_not_apply_timeout_only_literal_rules + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_whole_selector_vocabulary_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bare_word_value_is_rejected_as_not_a_string + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_byte_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_c_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_followed_by_the_wrong_punctuation_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_with_nothing_after_it_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_argument_inside_a_nested_group_is_still_reported + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_attribute_keeps_the_item_and_adds_one_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_nested_in_parentheses_is_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_string_literal_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_raw_string_value_is_accepted_at_every_hash_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_attribute_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_identifier_that_only_resembles_a_key_is_left_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::arguments_after_a_positional_multiplier_are_still_validated + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::both_named_arguments_are_accepted_together_in_either_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::nesting_deeper_than_the_stack_is_still_walked_to_the_end + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_delimiters_are_not_treated_as_argument_lists + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::selector_validation_does_not_apply_timeout_only_literal_rules + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_call_form_is_rejected_with_the_spelling_it_should_have + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_message_names_the_macro_that_was_misused + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_whole_selector_vocabulary_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_byte_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_c_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_nested_in_parentheses_is_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_string_literal_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_raw_string_value_is_accepted_at_every_hash_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_attribute_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::both_named_arguments_are_accepted_together_in_either_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_argument_inside_a_nested_group_is_still_reported + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_nested_in_parentheses_is_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::nesting_deeper_than_the_stack_is_still_walked_to_the_end + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_delimiters_are_not_treated_as_argument_lists + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bare_word_value_is_rejected_as_not_a_string + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_byte_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_c_string_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_with_nothing_after_it_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_argument_inside_a_nested_group_is_still_reported + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_malformed_attribute_keeps_the_item_and_adds_one_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_nested_in_parentheses_is_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_string_literal_value_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::arguments_after_a_positional_multiplier_are_still_validated + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_message_names_the_macro_that_was_misused + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_followed_by_the_wrong_punctuation_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_key_with_nothing_after_it_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::arguments_after_a_positional_multiplier_are_still_validated + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_call_form_is_rejected_with_the_spelling_it_should_have + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_raw_string_value_is_accepted_at_every_hash_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_attribute_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_valid_nested_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_empty_argument_list_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_identifier_that_only_resembles_a_key_is_left_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::both_named_arguments_are_accepted_together_in_either_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::nesting_deeper_than_the_stack_is_still_walked_to_the_end + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_delimiters_are_not_treated_as_argument_lists + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::selector_validation_does_not_apply_timeout_only_literal_rules + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_whole_selector_vocabulary_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_mistake_after_a_valid_named_argument_is_still_found + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::both_named_arguments_are_accepted_together_in_either_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_named_value_tokens_expand_to_a_compile_error + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::trailing_tokens_after_a_named_value_are_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_accepted_timeout_multiplier_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::arguments_after_a_positional_multiplier_are_still_validated + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::arguments_after_a_positional_multiplier_are_still_validated + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_multiplier_is_rejected_in_every_spelling_and_order + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_bad_positional_multiplier_is_still_refused_when_arguments_follow_it + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_timeout_multiplier_keeps_the_item_and_names_the_macro + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_positional_multiplier_may_be_followed_by_a_comma_and_by_further_arguments + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_accepted_timeout_multiplier_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::timeout_multiplier_validation + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_binary_chain_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_else_if_ladder_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_unary_chain_expands_to_a_guard_diagnostic + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_function_reports_the_inheritance_problem + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_value_keeps_the_item_and_names_the_macro + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_statement_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_something_that_is_not_a_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_cast_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_postfix_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_nested_tokens_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::mixed_operator_and_cast_chains_share_one_nesting_budget + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::one_expression_with_a_trailing_comma_is_not_reported_as_multiple_values + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_more_than_one_expression_is_rejected_by_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_nothing_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::text_that_is_not_an_expression_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_binary_chain_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_else_if_ladder_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_unary_chain_expands_to_a_guard_diagnostic + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_function_reports_the_inheritance_problem + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_statement_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_something_that_is_not_a_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_cast_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_postfix_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_nested_tokens_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::mixed_operator_and_cast_chains_share_one_nesting_budget + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::one_expression_with_a_trailing_comma_is_not_reported_as_multiple_values + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_more_than_one_expression_is_rejected_by_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::text_that_is_not_an_expression_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_else_if_ladder_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_function_reports_the_inheritance_problem + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_statement_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_something_that_is_not_a_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_nested_tokens_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::one_expression_with_a_trailing_comma_is_not_reported_as_multiple_values + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_more_than_one_expression_is_rejected_by_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::text_that_is_not_an_expression_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_second_stated_value_on_the_same_item_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_non_function_reports_the_inheritance_problem + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_something_that_is_not_a_function_is_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_const_function_is_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_a_function_with_no_body_is_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_on_an_empty_bodied_function_is_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_value_keeps_the_item_and_names_the_macro + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_nothing_is_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_binary_chain_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_unary_chain_expands_to_a_guard_diagnostic + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_cast_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_chained_postfix_expressions_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_nested_tokens_are_rejected_safely + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::mixed_operator_and_cast_chains_share_one_nesting_budget + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_else_if_ladder_is_rejected_by_the_guard + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::deeply_nested_tokens_are_rejected_safely + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::one_expression_with_a_trailing_comma_is_not_reported_as_multiple_values + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_more_than_one_expression_is_rejected_by_count + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::stating_more_than_one_expression_is_rejected_by_count + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_statement_is_rejected + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::one_expression_with_a_trailing_comma_is_not_reported_as_multiple_values + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::text_that_is_not_an_expression_is_rejected + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_short_else_if_ladder_is_accepted + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_value_stated_by_a_nested_function_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::an_impl_only_method_shape_is_parsed + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::another_attribute_in_the_same_namespace_is_not_a_duplicate + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::independent_semicolon_free_if_expressions_do_not_share_a_ladder_count + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::other_attributes_on_the_item_are_not_duplicates + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_documented_nesting_boundary_is_accepted_for_attributes_and_items + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::the_expressions_worth_stating_are_accepted + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_unary_chain_expands_to_a_guard_diagnostic + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_value_keeps_the_item_and_names_the_macro + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_stated_value_expands_to_the_item_alone + - - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_long_unary_chain_expands_to_a_guard_diagnostic + - package: cargo-gamma-attrs-impl + target: cargo_gamma_attrs_impl + test: implementation::tests::a_rejected_value_keeps_the_item_and_names_the_macro + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_only_settles_a_combinator_the_other_operand_had_already_settled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::parsed_meta_uses_the_same_public_decision_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_associative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_commutative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_head_is_not_a_bare_identifier_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_malformed_not_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_name_value_predicate_whose_literal_is_not_a_string_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_only_settles_a_combinator_the_other_operand_had_already_settled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::parsed_meta_uses_the_same_public_decision_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_associative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_commutative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_only_settles_a_combinator_the_other_operand_had_already_settled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_associative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_commutative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_only_settles_a_combinator_the_other_operand_had_already_settled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::parsed_meta_uses_the_same_public_decision_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_associative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_commutative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_only_settles_a_combinator_the_other_operand_had_already_settled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_associative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_commutative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_malformed_not_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_only_settles_a_combinator_the_other_operand_had_already_settled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_associative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_commutative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_only_settles_a_combinator_the_other_operand_had_already_settled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_associative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_commutative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_only_settles_a_combinator_the_other_operand_had_already_settled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_associative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_commutative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_malformed_not_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unparsable_cfg_attribute_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::any_test_gate_marks_an_item_among_other_attributes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_shared_classifier_reads_a_compound_gate_recursively + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_impl_block_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_a_const_fn_produces_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cfg_test_modules_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::doc_comments_are_not_string_literals + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_functions_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::tokio_test_functions_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_head_is_not_a_bare_identifier_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_malformed_not_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_name_value_predicate_whose_literal_is_not_a_string_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unparsable_cfg_attribute_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_head_is_not_a_bare_identifier_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_malformed_not_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_name_value_predicate_whose_literal_is_not_a_string_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_head_is_not_a_bare_identifier_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_malformed_not_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_name_value_predicate_whose_literal_is_not_a_string_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_head_is_not_a_bare_identifier_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_malformed_not_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_name_value_predicate_whose_literal_is_not_a_string_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_only_settles_a_combinator_the_other_operand_had_already_settled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unparsable_cfg_attribute_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::parsed_meta_uses_the_same_public_decision_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_associative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_commutative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_head_is_not_a_bare_identifier_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_malformed_not_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_name_value_predicate_whose_literal_is_not_a_string_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_only_settles_a_combinator_the_other_operand_had_already_settled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unparsable_cfg_attribute_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::parsed_meta_uses_the_same_public_decision_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_associative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_commutative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_impl_block_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_a_const_fn_produces_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cfg_test_modules_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::doc_comments_are_not_string_literals + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_functions_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::tokio_test_functions_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_head_is_not_a_bare_identifier_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_malformed_not_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_name_value_predicate_whose_literal_is_not_a_string_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_only_settles_a_combinator_the_other_operand_had_already_settled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unparsable_cfg_attribute_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::parsed_meta_uses_the_same_public_decision_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_associative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_commutative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unparsable_cfg_attribute_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::any_test_gate_marks_an_item_among_other_attributes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_shared_classifier_reads_a_compound_gate_recursively + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_impl_block_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_a_const_fn_produces_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cfg_test_modules_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unparsable_cfg_attribute_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::any_test_gate_marks_an_item_among_other_attributes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_shared_classifier_reads_a_compound_gate_recursively + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_impl_block_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_a_const_fn_produces_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cfg_test_modules_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unparsable_cfg_attribute_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::any_test_gate_marks_an_item_among_other_attributes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::only_cfg_attributes_are_consulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_shared_classifier_reads_a_compound_gate_recursively + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_impl_block_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_a_const_fn_produces_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cfg_test_modules_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::doc_comments_are_not_string_literals + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_functions_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::tokio_test_functions_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_only_settles_a_combinator_the_other_operand_had_already_settled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_associative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_commutative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_only_settles_a_combinator_the_other_operand_had_already_settled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::de_morgan_holds_including_where_the_answer_is_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::double_negation_is_the_identity_on_all_three_answers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::negation_never_turns_an_unknown_into_an_answer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_associative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_are_commutative + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_identities_and_annihilators_of_the_combinators_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_test_cfg_attr_is_not_mutated_when_test_cfg_differs_between_targets + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_a_const_fn_produces_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::doc_comments_are_not_string_literals + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_functions_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::tokio_test_functions_are_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::any_test_gate_marks_an_item_among_other_attributes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_shared_classifier_reads_a_compound_gate_recursively + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_impl_block_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cfg_test_modules_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_shared_classifier_reads_a_compound_gate_recursively + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_shared_classifier_reads_a_compound_gate_recursively + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_applies_its_cfg_attribute + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_active_cfg_attr_can_make_an_item_test_only + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::any_test_gate_marks_an_item_among_other_attributes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::every_cfg_attribute_has_to_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_shared_classifier_reads_a_compound_gate_recursively + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::statements_the_build_discards_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_impl_block_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cfg_test_modules_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_conjunction_confines_to_the_test_target_is_not_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_a_disjunction_admits_into_the_test_target_is_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_item_kept_out_of_the_test_target_stays_mutable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::skip_gate_agrees_with_test_gated_or_not_holds_for_on_every_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_shared_classifier_reads_a_compound_gate_recursively + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::any_test_gate_marks_an_item_among_other_attributes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::test_gated_for_reads_through_an_active_cfg_attr + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_shared_classifier_reads_a_compound_gate_recursively + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::lookup::tests::a_close_unknown_selector_offers_a_spelling_suggestion + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::lookup::tests::a_distant_unknown_selector_falls_back_to_the_registry_hint + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::unknown_selectors_are_errors_not_silent_no_ops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_nested_deeper_than_the_limit_is_refused_rather_than_overflowing_the_stack + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_with_a_deep_postfix_chain_is_refused_before_parsing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_parse_failure_names_the_file_and_position + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_failures_name_the_missing_file + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_failures_name_the_missing_file + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::lookup::tests::a_close_unknown_selector_offers_a_spelling_suggestion + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::lookup::tests::a_distant_unknown_selector_falls_back_to_the_registry_hint + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::unknown_selectors_are_errors_not_silent_no_ops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_nested_deeper_than_the_limit_is_refused_rather_than_overflowing_the_stack + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_with_a_deep_postfix_chain_is_refused_before_parsing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_parse_failure_names_the_file_and_position + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_failures_name_the_missing_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::overlapping_sites_are_rejected + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::an_identity_behaves_as_the_text_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::interner::tests::sharing_a_decoded_population_leaves_its_values_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::mutant_definition::tests::accessors_read_through_to_the_shared_site + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::mutant_id_delegates_to_the_discriminated_form_with_no_discriminator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::the_two_site_counts_are_not_interchangeable + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::each_field_and_the_discriminator_affect_the_identity + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::mutant_id_delegates_to_the_discriminated_form_with_no_discriminator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::the_two_site_counts_are_not_interchangeable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::line_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::multibyte_characters_outside_literals_are_preserved + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::whitespace_runs_collapse_to_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::line_comments_are_dropped_and_replaced_by_a_single_space + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::line_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::multibyte_characters_outside_literals_are_preserved + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::whitespace_runs_collapse_to_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::line_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::multibyte_characters_outside_literals_are_preserved + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::whitespace_runs_collapse_to_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::a_site_key_keeps_the_first_digest_bytes_in_little_endian_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::site_key_is_stable_and_sensitive_to_its_inputs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::interner::tests::sharing_a_decoded_population_leaves_its_values_alone + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::mutant_definition::tests::accessors_read_through_to_the_shared_site + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::mutant_definition::tests::accessors_read_through_to_the_shared_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_trait_defaults_are_left_inert + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_of_only_types_yields_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_trait_defaults_are_left_inert + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::declared_ignores_constants_when_numeric_index_is_disabled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::descend_handles_groups_renames_and_globs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::descend_handles_groups_renames_and_globs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::descend_handles_groups_renames_and_globs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::note_tracks_named_fields_behind_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::note_tracks_named_fields_behind_references + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_of_only_types_yields_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_of_only_types_yields_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leak_comparison_rejects_text_that_only_mentions_leak + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::default_call_checks_reject_invalid_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::default_call_checks_reject_invalid_shapes + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_replacement_identical_to_the_body_it_replaces_is_not_offered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leak_comparison_rejects_text_that_only_mentions_leak + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leak_comparison_rejects_text_that_only_mentions_leak + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::default_call_checks_reject_invalid_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::invalid_tokens_are_rejected_while_literals_remain_valid + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::default_call_checks_reject_invalid_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::layout_and_comments_do_not_change_token_equality + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::punctuation_jointness_remains_semantic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_collision_keeps_the_perturbation_rather_than_the_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_collision_still_yields_a_mutant_when_only_the_value_mutator_is_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_literal_one_is_not_replaced_by_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_literal_zero_is_not_replaced_by_zero + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_replacement_identical_to_the_body_it_replaces_is_not_offered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_small_literal_is_not_mutated_to_the_same_value_twice + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::booleans_flip_to_the_other_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::huge_integer_literals_skip_neighbour_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::increment_replacements_are_the_neighbouring_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::integer_literal_tails_and_explicit_returns_have_identical_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::integer_literals_yield_boundary_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_largest_integer_literal_does_not_overflow + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::unselected_function_values_are_filtered_at_emit_time + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::layout_and_comments_do_not_change_token_equality + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::punctuation_jointness_remains_semantic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_replacement_identical_to_the_body_it_replaces_is_not_offered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::invalid_tokens_are_rejected_while_literals_remain_valid + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::layout_and_comments_do_not_change_token_equality + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::punctuation_jointness_remains_semantic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::punctuation_jointness_remains_semantic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::layout_and_comments_do_not_change_token_equality + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::punctuation_jointness_remains_semantic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_collision_keeps_the_perturbation_rather_than_the_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_collision_still_yields_a_mutant_when_only_the_value_mutator_is_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_literal_one_is_not_replaced_by_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_literal_zero_is_not_replaced_by_zero + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_replacement_identical_to_the_body_it_replaces_is_not_offered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_small_literal_is_not_mutated_to_the_same_value_twice + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::booleans_flip_to_the_other_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::increment_replacements_are_the_neighbouring_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::integer_literal_tails_and_explicit_returns_have_identical_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::integer_literals_yield_boundary_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_largest_integer_literal_does_not_overflow + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::unselected_function_values_are_filtered_at_emit_time + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::default_call_checks_reject_invalid_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leak_comparison_rejects_text_that_only_mentions_leak + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::leaked_values_and_call_arguments_reject_non_plain_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::nested_loop_forms_are_visited_when_deciding_whether_a_loop_yields_a_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_carrying_a_value_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_carrying_a_value_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::nested_loop_forms_are_visited_when_deciding_whether_a_loop_yields_a_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::nested_loop_forms_are_visited_when_deciding_whether_a_loop_yields_a_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_conditions_can_be_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_let_conditions_are_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_conditions_can_be_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_let_conditions_are_left_alone + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::macro_statement_tails_diverge_but_non_expression_tails_do_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::macro_statement_tails_diverge_but_non_expression_tails_do_not + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_conditions_can_be_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_conditions_can_be_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_is_still_recognised_by_its_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_path_still_names_the_variant_it_constructs + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::capacity_and_callee_helpers_fall_back_for_non_call_expressions + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_default_call_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_already_holding_a_default_is_left_alone + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::capacity_and_callee_helpers_fall_back_for_non_call_expressions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::literal_macro_method_and_reference_forms_can_all_be_textual + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_call_to_a_capacity_named_function_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_is_still_recognised_by_its_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_is_still_recognised_by_its_type + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_path_still_names_the_variant_it_constructs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_single_element_vec_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_element_is_never_offered_when_the_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_literal_offers_each_element_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_that_uses_the_repeat_syntax_is_not_a_comma_separated_list + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_to_an_initialised_binding_stays_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::candidates_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_to_an_initialised_binding_stays_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::candidates_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_path_still_names_the_variant_it_constructs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_single_element_vec_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_element_is_never_offered_when_the_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_literal_offers_each_element_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_that_uses_the_repeat_syntax_is_not_a_comma_separated_list + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_capacity_call_is_still_a_capacity_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_perturbed_expression_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_number_in_tail_position_perturbs_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_value_is_perturbed_however_it_is_returned + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_numeric_tail_still_perturbs_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::integer_literal_tails_and_explicit_returns_have_identical_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_capacity_call_is_still_a_capacity_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_perturbed_expression_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_value_is_perturbed_however_it_is_returned + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_numeric_tail_still_perturbs_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_number_in_tail_position_perturbs_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::integer_literal_tails_and_explicit_returns_have_identical_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_capacity_call_is_still_a_capacity_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_binding_pattern_still_catches_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::capacity_and_callee_helpers_fall_back_for_non_call_expressions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_capacity_call_is_still_a_capacity_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_perturbed_expression_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_value_is_perturbed_however_it_is_returned + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_numeric_tail_still_perturbs_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_perturbed_expression_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_value_is_perturbed_however_it_is_returned + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_numeric_tail_still_perturbs_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::capacity_and_callee_helpers_fall_back_for_non_call_expressions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_capacity_call_is_still_a_capacity_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_perturbed_expression_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_binding_pattern_still_catches_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_without_a_wildcard_offers_no_arm_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_after_the_wildcard_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_before_a_wildcard_can_be_stopped_from_matching + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_unguarded_arm_offers_no_guard_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_wildcard_itself_is_never_stopped_from_matching + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_binding_pattern_still_catches_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_without_a_wildcard_offers_no_arm_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_before_a_wildcard_can_be_stopped_from_matching + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_unguarded_arm_offers_no_guard_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_wildcard_itself_is_never_stopped_from_matching + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_after_the_wildcard_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_before_a_wildcard_can_be_stopped_from_matching + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_unguarded_arm_offers_no_guard_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_wildcard_itself_is_never_stopped_from_matching + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_binding_pattern_still_catches_what_falls_through + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_perturbed_expression_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::parenthesised_bindings_still_answer_whether_a_value_is_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_default_call_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_already_holding_a_default_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_offers_a_default_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_to_an_initialised_binding_stays_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_offers_a_default_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_to_an_initialised_binding_stays_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_default_call_is_still_recognised + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_default_call_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_already_holding_a_default_is_left_alone + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_the_table_does_not_know_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::macro_statement_tails_diverge_but_non_expression_tails_do_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_zero_is_still_zero_when_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_zero_is_still_recognised_under_negation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::negated_integer_zero_has_no_mutant_but_negative_float_zero_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::removing_a_unary_operator_leaves_the_operand + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::unary_operators_can_be_removed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::negated_integer_zero_has_no_mutant_but_negative_float_zero_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::removing_a_unary_operator_leaves_the_operand + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::unary_operators_can_be_removed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_zero_is_still_zero_when_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_zero_is_still_recognised_under_negation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::negated_integer_zero_has_no_mutant_but_negative_float_zero_does + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_zero_is_still_zero_when_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_zero_is_still_recognised_under_negation + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::compound_assignment_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::numeric_index_and_receiver_uses_are_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_tuple_field_access_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_call_to_a_capacity_named_function_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_literal_argument_is_left_to_the_literal_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_is_still_recognised_by_its_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_path_still_names_the_variant_it_constructs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_default_call_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_single_element_vec_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_element_is_never_offered_when_the_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_literal_offers_each_element_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_that_uses_the_repeat_syntax_is_not_a_comma_separated_list + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_already_holding_a_default_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_offers_a_default_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::compound_assignment_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::doc_comments_are_not_string_literals + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::macro_interiors_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::parenthesised_bindings_still_answer_whether_a_value_is_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_is_still_recognised_by_its_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_reference_to_a_trait_object_is_still_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_reference_to_a_trait_object_is_still_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_default_call_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_already_holding_a_default_is_left_alone + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::literal_macro_method_and_reference_forms_can_all_be_textual + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_perturbed_expression_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::literal_macro_method_and_reference_forms_can_all_be_textual + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_perturbed_expression_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::literal_macro_method_and_reference_forms_can_all_be_textual + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::literal_macro_method_and_reference_forms_can_all_be_textual + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::nested_loop_forms_are_visited_when_deciding_whether_a_loop_yields_a_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_carrying_a_value_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::abstract_type_detection_handles_empty_paths_and_boxed_trait_objects + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_trait_object + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::payload_requires_a_path_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::abstract_type_detection_handles_empty_paths_and_boxed_trait_objects + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_trait_object + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::abstract_type_detection_handles_empty_paths_and_boxed_trait_objects + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_trait_object + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::literal_macro_method_and_reference_forms_can_all_be_textual + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::only_whitelisted_method_names_are_treated_as_returning_text + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tables::tests::in_place_reorder_distinguishes_sort_dedup_and_other_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_tuple_field_access_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_call_to_a_capacity_named_function_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_literal_argument_is_left_to_the_literal_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_is_still_recognised_by_its_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::parenthesised_bindings_still_answer_whether_a_value_is_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tables::tests::in_place_reorder_distinguishes_sort_dedup_and_other_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tables::tests::in_place_reorder_distinguishes_sort_dedup_and_other_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_tuple_field_access_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_call_to_a_capacity_named_function_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_literal_argument_is_left_to_the_literal_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_is_still_recognised_by_its_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::parenthesised_bindings_still_answer_whether_a_value_is_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tables::tests::in_place_reorder_distinguishes_sort_dedup_and_other_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tables::tests::method_renames_depend_on_both_name_and_arity + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_the_table_does_not_know_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::rename_method_refuses_a_name_span_outside_the_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::rename_method_refuses_a_name_span_outside_the_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tables::tests::method_renames_depend_on_both_name_and_arity + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tables::tests::method_renames_depend_on_both_name_and_arity + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tables::tests::method_renames_depend_on_both_name_and_arity + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_the_table_does_not_know_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tables::tests::method_renames_depend_on_both_name_and_arity + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::rename_method_refuses_a_name_span_outside_the_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_iterator_trait_that_either_satisfies_is_served_iterator_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_reference_to_a_trait_object_is_still_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_without_an_item_type_still_offers_the_empty_case + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_trait_return_that_is_not_an_iterator_still_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::abstract_type_detection_handles_empty_paths_and_boxed_trait_objects + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_reference_to_a_trait_object_is_still_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_iterator_trait_that_either_satisfies_is_served_iterator_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::abstract_type_detection_handles_empty_paths_and_boxed_trait_objects + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_trait_object + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_reference_to_a_trait_object_is_still_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_trait_return_that_is_not_an_iterator_still_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::abstract_type_detection_handles_empty_paths_and_boxed_trait_objects + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_trait_object + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_return_type_still_resolves_to_the_type_inside + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_return_type_is_still_classified_by_the_type_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::foreign_error_detection_rejects_empty_paths_and_empty_import_prefixes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::foreign_error_detection_rejects_empty_paths_and_empty_import_prefixes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::foreign_error_detection_rejects_empty_paths_and_empty_import_prefixes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::foreign_error_detection_rejects_empty_paths_and_empty_import_prefixes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::foreign_error_detection_rejects_empty_paths_and_empty_import_prefixes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::foreign_error_detection_rejects_empty_paths_and_empty_import_prefixes + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_iterator_trait_that_either_satisfies_is_served_iterator_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_capacity_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_return_type_is_still_classified_by_the_type_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_reference_to_a_trait_object_is_still_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_without_an_item_type_still_offers_the_empty_case + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::reference_and_type_argument_helpers_reject_non_matching_syntax + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_capacity_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_return_type_is_still_classified_by_the_type_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_capacity_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_return_type_is_still_classified_by_the_type_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::reference_and_type_argument_helpers_reject_non_matching_syntax + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_capacity_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_return_type_is_still_classified_by_the_type_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::reference_and_type_argument_helpers_reject_non_matching_syntax + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_capacity_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_return_type_is_still_classified_by_the_type_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_iterator_trait_that_either_satisfies_is_served_iterator_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::iterator_item_requires_an_impl_trait_with_item_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_without_an_item_type_still_offers_the_empty_case + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_iterator_trait_that_either_satisfies_is_served_iterator_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::iterator_item_requires_an_impl_trait_with_item_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_iterator_trait_that_either_satisfies_is_served_iterator_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_string_returning_function_gets_an_owned_marker + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::negated_integer_zero_has_no_mutant_but_negative_float_zero_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_site_whose_span_runs_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_replacement_identical_to_the_body_it_replaces_is_not_offered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::booleans_flip_to_the_other_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::logical_not_can_be_removed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::spans_cover_the_whole_binary_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::unselected_mutators_produce_nothing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_capacity_call_is_still_a_capacity_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_iterator_trait_that_either_satisfies_is_served_iterator_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_capacity_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_value_is_perturbed_however_it_is_returned + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_explicitly_unsigned_zero_is_not_decremented_below_its_range + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::huge_integer_literals_skip_neighbour_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::reference_and_type_argument_helpers_reject_non_matching_syntax + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_reference_to_a_trait_object_is_still_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_reference_to_a_trait_object_is_still_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_reference_to_a_trait_object_is_still_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_iterator_trait_that_either_satisfies_is_served_iterator_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_without_an_item_type_still_offers_the_empty_case + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_trait_return_that_is_not_an_iterator_still_offers_nothing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_trait_object + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_let_conditions_are_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_string_returning_function_gets_an_owned_marker + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::parenthesised_bindings_still_answer_whether_a_value_is_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_capacity_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_return_type_is_still_classified_by_the_type_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_site_whose_span_runs_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_without_a_wildcard_offers_no_arm_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_replacement_identical_to_the_body_it_replaces_is_not_offered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::booleans_flip_to_the_other_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_conditions_can_be_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::logical_not_can_be_removed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::spans_cover_the_whole_binary_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::unselected_mutators_produce_nothing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_capacity_call_is_still_a_capacity_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_iterator_trait_that_either_satisfies_is_served_iterator_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_capacity_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_value_is_perturbed_however_it_is_returned + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_a_const_fn_produces_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_offers_a_default_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_explicitly_unsigned_zero_is_not_decremented_below_its_range + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::huge_integer_literals_skip_neighbour_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_return_type_still_resolves_to_the_type_inside + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_return_type_is_still_classified_by_the_type_it_wraps + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_reference_to_a_trait_object_is_still_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_tuple_field_access_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_tuple_field_access_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_return_type_still_resolves_to_the_type_inside + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_return_type_is_still_classified_by_the_type_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_tuple_return_type_is_still_a_tuple + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::unknown_undefaultable_types_and_non_tuples_contribute_fallbacks + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_capacity_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_trait_object + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_return_type_is_still_classified_by_the_type_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_let_conditions_are_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::values::tests::reference_and_type_argument_helpers_reject_non_matching_syntax + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_capacity_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_return_type_is_still_classified_by_the_type_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_configured_out_statement_takes_its_nested_blocks_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_local_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_site_whose_span_runs_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_beside_an_inert_type_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::candidates_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::compound_assignment_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_the_enclosing_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_binary_expressions_are_all_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::spans_cover_the_whole_binary_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_site_whose_span_runs_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_beside_an_inert_type_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_offers_a_default_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::candidates_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::compound_assignment_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_trait_defaults_are_left_inert + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_the_enclosing_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_binary_expressions_are_all_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::spans_cover_the_whole_binary_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_const_defaults_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::unselected_mutators_produce_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_offers_a_default_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_trait_defaults_are_left_inert + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_the_enclosing_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_const_defaults_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::unselected_mutators_produce_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_site_whose_span_runs_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_beside_an_inert_type_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_offers_a_default_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::candidates_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::compound_assignment_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_trait_defaults_are_left_inert + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_the_enclosing_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_binary_expressions_are_all_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::spans_cover_the_whole_binary_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_const_defaults_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::unselected_mutators_produce_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_carrying_a_value_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_path_still_names_the_variant_it_constructs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_conditions_can_be_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_let_conditions_are_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_replacement_identical_to_the_body_it_replaces_is_not_offered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_wide_tuple_return_is_capped_rather_than_multiplied_out_in_full + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::booleans_flip_to_the_other_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_zero_is_still_zero_when_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_collision_keeps_the_perturbation_rather_than_the_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_collision_still_yields_a_mutant_when_only_the_value_mutator_is_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_literal_zero_is_not_replaced_by_zero + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_without_a_wildcard_offers_no_arm_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_zero_is_still_recognised_under_negation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_small_literal_is_not_mutated_to_the_same_value_twice + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_after_the_wildcard_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_before_a_wildcard_can_be_stopped_from_matching + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_explicitly_unsigned_zero_is_not_decremented_below_its_range + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_unguarded_arm_offers_no_guard_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_unsuffixed_zero_keeps_its_decrement_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_to_an_initialised_binding_stays_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::negated_integer_zero_has_no_mutant_but_negative_float_zero_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_wildcard_itself_is_never_stopped_from_matching + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_carrying_a_value_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_the_table_does_not_know_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_number_in_tail_position_perturbs_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_value_is_perturbed_however_it_is_returned + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::integer_literal_tails_and_explicit_returns_have_identical_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_value_is_perturbed_however_it_is_returned + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_number_in_tail_position_perturbs_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_value_is_perturbed_however_it_is_returned + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::integer_literal_tails_and_explicit_returns_have_identical_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_zero_is_still_zero_when_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_zero_is_still_recognised_under_negation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::compound_assignment_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::logical_not_can_be_removed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::negated_integer_zero_has_no_mutant_but_negative_float_zero_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::removing_a_unary_operator_leaves_the_operand + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::unary_operators_can_be_removed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::negated_integer_zero_has_no_mutant_but_negative_float_zero_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::removing_a_unary_operator_leaves_the_operand + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::unary_operators_can_be_removed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::logical_not_can_be_removed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_iterator_trait_that_either_satisfies_is_served_iterator_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_capacity_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_trait_object + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_return_type_is_still_classified_by_the_type_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_trait_return_that_is_not_an_iterator_still_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_let_conditions_are_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_abstract_payload_is_still_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_iterator_return_type_is_still_an_iterator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_iterator_trait_that_either_satisfies_is_served_iterator_values + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_capacity_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_trait_object + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_return_offers_an_empty_map_and_a_single_pairing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_return_type_is_still_classified_by_the_type_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_return_type_nested_deeper_than_the_recursion_bound_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_trait_return_that_is_not_an_iterator_still_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_let_conditions_are_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_impl_block_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cfg_test_modules_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_initializers_are_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_trait_defaults_are_left_inert + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_const_defaults_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_trait_defaults_are_left_inert + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_const_defaults_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::direct_local_visit_refuses_a_configured_out_binding + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_path_still_names_the_variant_it_constructs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_single_element_vec_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_element_is_never_offered_when_the_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_literal_offers_each_element_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_that_uses_the_repeat_syntax_is_not_a_comma_separated_list + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_to_an_initialised_binding_stays_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::candidates_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::candidates_come_back_in_source_order + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_to_an_initialised_binding_stays_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::candidates_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_single_element_vec_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_element_is_never_offered_when_the_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_literal_offers_each_element_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_that_uses_the_repeat_syntax_is_not_a_comma_separated_list + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::macro_interiors_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_single_element_vec_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_element_is_never_offered_when_the_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_literal_offers_each_element_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_element_is_never_offered_when_the_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_literal_offers_each_element_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_const_defaults_are_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_trait_defaults_are_left_inert + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_trait_defaults_are_left_inert + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_of_only_types_yields_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_conditions_can_be_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_let_conditions_are_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_conditions_can_be_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_conditions_can_be_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_perturbed_expression_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::parenthesised_bindings_still_answer_whether_a_value_is_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_tuple_field_access_is_never_known_numeric + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_literal_argument_is_left_to_the_literal_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_mutable_reference_return_is_served_by_the_leak_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_path_still_names_the_variant_it_constructs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_shared_reference_return_is_served_by_reborrowing_a_leaked_box + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_without_an_item_type_still_offers_the_empty_case + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_to_an_initialised_binding_stays_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::candidates_come_back_in_source_order + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::candidates_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_call_to_a_capacity_named_function_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_is_still_recognised_by_its_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_tuple_field_access_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::parenthesised_bindings_still_answer_whether_a_value_is_a_number + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_binding_pattern_still_catches_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_before_a_wildcard_can_be_stopped_from_matching + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_unguarded_arm_offers_no_guard_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_wildcard_itself_is_never_stopped_from_matching + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_binding_pattern_still_catches_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_after_the_wildcard_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_before_a_wildcard_can_be_stopped_from_matching + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_unguarded_arm_offers_no_guard_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_wildcard_itself_is_never_stopped_from_matching + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_conditions_can_be_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::omit_elements_refuses_a_macro_with_no_elements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::omit_elements_refuses_element_spans_outside_the_macro + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_element_is_never_offered_when_the_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_literal_offers_each_element_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_vec_literal_past_the_text_omits_no_element + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::omit_elements_refuses_element_spans_outside_the_macro + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_element_is_never_offered_when_the_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_vec_literal_offers_each_element_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_generic_argument_that_is_not_const_is_still_reached + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_perturbed_expression_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_tuple_field_access_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_call_to_a_capacity_named_function_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_fully_qualified_standard_type_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_literal_argument_is_left_to_the_literal_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_is_still_recognised_by_its_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_path_still_names_the_variant_it_constructs + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_is_mutated_through_the_either_wrapper + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_impl_iterator_return_without_an_item_type_still_offers_the_empty_case + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::parenthesised_bindings_still_answer_whether_a_value_is_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_capacity_call_is_still_a_capacity_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_perturbed_expression_past_the_text_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_destructured_parameter_contributes_no_binding_to_perturb + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_value_is_perturbed_however_it_is_returned + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_numeric_tail_still_perturbs_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_in_still_mutates_its_body + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_match_arm_that_is_configured_out_takes_its_body_with_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_the_table_does_not_know_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_binding_pattern_still_catches_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_return_type_still_resolves_to_the_type_inside + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_zero_is_still_zero_when_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_suppressed_wildcard_arm_still_counts_as_present + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_unit_variant_arm_is_not_a_catch_all + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_in_still_is_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_wildcard_arm_that_is_configured_out_is_not_a_wildcard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_argument_expression_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_array_of_computed_values_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_carrying_a_value_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guard_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_guarded_arm_is_disabled_by_its_guard_rather_than_by_a_second_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_guard_is_mutated_the_way_a_branch_condition_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_match_without_a_wildcard_offers_no_arm_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_zero_is_still_recognised_under_negation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_beside_an_inert_type_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_after_the_wildcard_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_before_a_wildcard_can_be_stopped_from_matching + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_unguarded_arm_offers_no_guard_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_to_an_initialised_binding_stays_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::candidates_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_conditions_can_be_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_let_conditions_are_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_the_enclosing_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::negated_integer_zero_has_no_mutant_but_negative_float_zero_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_binary_expressions_are_all_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::removing_a_unary_operator_leaves_the_operand + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_wildcard_itself_is_never_stopped_from_matching + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::unary_operators_can_be_removed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::rename_method_refuses_a_name_span_outside_the_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_call_past_the_text_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_method_the_table_does_not_know_is_not_renamed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::rename_method_refuses_a_name_span_outside_the_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_method_rename_needs_the_arity_that_identifies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::iterator_methods_swap_only_where_the_types_agree + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_tuple_field_access_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_call_to_a_capacity_named_function_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_or_continue_statement_can_be_deleted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_literal_argument_is_left_to_the_literal_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_is_still_recognised_by_its_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_default_call_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_already_holding_a_default_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_offers_a_default_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_to_an_initialised_binding_stays_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::compound_assignment_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::parenthesised_bindings_still_answer_whether_a_value_is_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_later_initialised_let_lifts_the_deferral_for_that_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_default_call_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_already_holding_a_default_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_offers_a_default_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_through_a_field_is_never_treated_as_settling_a_deferred_let + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::assigning_to_an_initialised_binding_stays_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::compound_assignment_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::while_conditions_can_be_negated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comparison_argument_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_negated_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_type_it_returns + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_integer_literal_still_fixes_the_other_side + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_let_condition_still_binds_a_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_name_is_still_the_name_that_proves_it_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_statement_that_is_configured_in_still_is_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_tuple_field_access_is_never_known_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_addition_is_numeric_when_either_side_is + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_in_place_reorder_is_offered_for_the_call_it_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_call_to_a_capacity_named_function_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_body_ending_in_the_offered_value_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_argument_is_perturbed_by_one_in_both_directions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_literal_argument_is_left_to_the_literal_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_binding_does_not_leak_into_a_nested_function + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_whose_type_was_never_written_down_is_left_alone_rather_than_guessed_at + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parameter_the_source_declares_a_number_is_still_perturbed_through_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_arithmetic_expression_is_still_perturbable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_callee_is_still_recognised_by_its_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_numeric_type_annotation_still_marks_a_binding_numeric + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_true_is_not_offered_true_again + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_type_named_where_a_value_is_expected_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_annotated_local_is_judged_by_the_type_the_source_wrote_down + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::parenthesised_bindings_still_answer_whether_a_value_is_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statement_deletion_covers_calls_assignments_and_ignored_statements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::omit_update_refuses_field_spans_outside_the_struct + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::omit_update_refuses_field_spans_outside_the_struct + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::omit_update_refuses_field_spans_outside_the_struct + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::compact_path_steps_over_a_string_literal_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::compact_path_steps_over_a_string_literal_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::compact_path_steps_over_a_string_literal_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::compact_path_steps_over_a_string_literal_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_defines_without_a_default_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_does_not_define_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_for_something_other_than_a_result_is_not_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_is_not_a_definition + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_for_something_other_than_a_result_is_not_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_is_not_a_definition + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_bound_also_names_its_parameter_as_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::empty_or_non_default_segments_are_refused + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_default_call_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_already_holding_a_default_is_left_alone + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::empty_or_non_default_segments_are_refused + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_default_call_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_already_holding_a_default_is_left_alone + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::empty_or_non_default_segments_are_refused + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_default_call_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_already_holding_a_default_is_left_alone + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_callee_still_names_the_function_it_calls + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_default_call_is_still_a_default_call + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_callee_path_not_ending_in_default_is_refused + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_default_call_is_still_recognised + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_assignment_already_holding_a_default_is_left_alone + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_callee_path_not_ending_in_default_is_refused + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::repeated_noop_checks_do_not_advance_the_proc_macro_source_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::noop::tests::the_leak_prefilter_rejects_and_accepts_the_same_pairs_as_full_tokenization + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::empty_or_non_default_segments_are_refused + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::empty_or_non_default_segments_are_refused + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_bound_also_names_its_parameter_as_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_repeating_an_inline_bound_is_not_reported_twice + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_bound_also_names_its_parameter_as_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_repeating_an_inline_bound_is_not_reported_twice + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_bound_also_names_its_parameter_as_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_repeating_an_inline_bound_is_not_reported_twice + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_bound_also_names_its_parameter_as_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_repeating_an_inline_bound_is_not_reported_twice + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_bound_also_names_its_parameter_as_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_repeating_an_inline_bound_is_not_reported_twice + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_defines_without_a_default_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_does_not_define_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_for_something_other_than_a_result_is_not_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_is_not_a_definition + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_of_only_types_yields_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cfg_test_modules_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_adds_a_test_gate_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_active_cfg_attr_that_removes_an_item_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_of_only_types_yields_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cfg_test_modules_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_defines_without_a_default_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_does_not_define_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_of_only_types_yields_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_for_something_other_than_a_result_is_not_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_is_not_a_definition + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_trait_defaults_are_left_inert + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_const_defaults_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_defines_without_a_default_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_does_not_define_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_for_something_other_than_a_result_is_not_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_is_not_a_definition + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_for_something_other_than_a_result_is_not_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_aliased_result_is_not_given_an_error_it_cannot_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_inside_an_aliased_result_stays_optimistic + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_defines_without_a_default_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_does_not_define_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_is_not_a_definition + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_defines_without_a_default_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_does_not_define_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_is_not_a_definition + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_defines_without_a_default_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_defines_without_a_default_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_does_not_define_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_defines_without_a_default_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_does_not_define_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_for_something_other_than_a_result_is_not_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_is_not_a_definition + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_defines_without_a_default_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_does_not_define_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_for_something_other_than_a_result_is_not_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_is_not_a_definition + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::associated_item_attrs_read_macros_and_fall_back_for_verbatim_tokens + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::associated_item_attrs_read_macros_and_fall_back_for_verbatim_tokens + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_a_number_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_of_only_types_yields_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::item_attrs_reads_every_recognized_item_kind_and_falls_back_for_the_rest + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_impl_block_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cfg_test_modules_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_include_module_impl_and_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::non_test_cfg_modules_are_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_initializers_are_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::inactive_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::items_nested_in_an_inactive_module_are_not_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::test_gated_fields_and_constants_do_not_pollute_the_index + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_literal_inside_a_trait_path_survives_compaction + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_defines_without_a_default_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_does_not_define_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_of_only_types_yields_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::test_impl_methods_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_that_is_configured_out_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_trait_defaults_are_left_inert + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_const_defaults_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_for_something_other_than_a_result_is_not_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_is_not_a_definition + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::item_attrs_reads_every_recognized_item_kind_and_falls_back_for_the_rest + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::predicates::tests::default_callee_detection_rejects_non_paths_and_non_default_methods + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_error_type_from_another_crate_is_not_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_not_flipped_to_an_error_the_signature_cannot_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::standard_time_types_are_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_defines_without_a_default_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_does_not_define_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_for_something_other_than_a_result_is_not_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_is_not_a_definition + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::name_of_reads_through_a_parenthesized_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::name_of_reads_through_an_invisible_group + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::payload_name_handles_non_path_types_bare_paths_and_non_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_end_has_no_inclusive_form_to_offer + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_range_with_no_start_still_moves_its_boundary + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_index_and_a_range_bound_are_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_past_the_text_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_struct_literal_without_a_base_omits_no_field + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_uncontested_import_still_resolves_to_where_it_came_from + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::standard_time_detection_handles_unknown_and_imported_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_name_two_crates_disagree_about_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_non_derive_attribute_beside_a_real_derive_does_not_hide_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_qualified_path_is_keyed_by_its_last_segment + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_single_segment_standard_module_alias_still_resolves + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_defines_without_a_default_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_the_workspace_does_not_define_stays_optimistic + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_union_named_default_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_written_default_impl_is_seen_from_another_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::aliasing_the_default_module_to_the_bare_name_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_for_something_other_than_a_result_is_not_recorded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_is_not_a_definition + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_enum_with_a_derived_default_is_seen + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::every_indexed_item_kind_is_skipped_when_its_predicate_does_not_hold + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::grouped_and_glob_use_trees_are_both_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::importing_a_custom_default_directly_shadows_the_prelude + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::name_of_reads_through_a_parenthesized_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::name_of_reads_through_an_invisible_group + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::nested_and_disabled_default_shadows_do_not_poison_an_outer_implementation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::only_standard_default_implementations_and_derives_are_indexed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::payload_name_handles_non_path_types_bare_paths_and_non_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_bare_box_with_no_generic_argument_is_not_treated_as_unconstructable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_struct_field_is_never_offered_for_omission + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_without_default_is_not_replaced_with_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_that_shares_a_collection_name_but_has_no_generics_falls_back_to_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_that_names_its_error_still_offers_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_is_omitted_only_when_a_base_supplies_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_field_omission_is_withheld_when_its_mutator_is_not_selected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_with_no_base_offers_no_field_omissions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_struct_literal_without_a_base_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_workspace_error_type_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_type_of_self_is_still_given_a_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ok_is_still_flipped_when_the_error_type_is_the_workspace_s_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_generic_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::nested_return_types_recurse_into_their_payloads + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::omitting_the_last_field_leaves_the_base_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::only_the_default_method_of_a_default_impl_loses_that_replacement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_default_method_of_a_default_impl_is_not_replaced_by_a_call_to_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_one_formatting_error_that_does_have_a_default_keeps_its_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::name_of_reads_through_a_parenthesized_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::name_of_reads_through_an_invisible_group + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::types::tests::result_aliases_and_direct_errors_can_both_be_screened + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_it_defaults_to + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_result_alias_records_the_error_written_into_its_target + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_type_alias_with_no_type_parameter_reads_the_alias_target_instead + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::an_alias_already_demoted_is_not_revived_by_a_later_agreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::one_file_disagreeing_with_itself_demotes_the_alias_too + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::payload_name_handles_non_path_types_bare_paths_and_non_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_agreeing_about_result_keep_the_error_they_agree_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::two_crates_disagreeing_about_result_demote_the_alias_in_either_order + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::payload_name_handles_non_path_types_bare_paths_and_non_type_arguments + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_bound_also_names_its_parameter_as_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_repeating_an_inline_bound_is_not_reported_twice + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_bound_also_names_its_parameter_as_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_repeating_an_inline_bound_is_not_reported_twice + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_bound_also_names_its_parameter_as_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_repeating_an_inline_bound_is_not_reported_twice + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_not_invented_for_a_type_the_caller_chooses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_map_whose_key_is_a_type_the_caller_chooses_offers_only_the_empty_map + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_parenthesised_type_the_caller_chooses_is_still_treated_as_abstract + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_result_whose_success_payload_is_abstract_offers_no_ok_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_option_whose_payload_is_a_type_the_caller_chooses_offers_only_none + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_bound_also_names_its_parameter_as_defaulted + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::a_where_clause_repeating_an_inline_bound_is_not_reported_twice + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_default_is_still_invented_for_a_parameter_declared_to_have_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_trait_default_bound_suppresses_an_identical_assignment_mutant + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::defaults::tests::associated_item_attrs_read_macros_and_fall_back_for_verbatim_tokens + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_trait_defaults_are_left_inert + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::indexes::tests::indexes_collect_static_and_trait_constants_without_named_tuple_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_trait_defaults_are_left_inert + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_file_with_no_stated_values_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_inside_a_function_may_state_its_own_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_file_with_no_stated_values_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_inside_a_function_may_state_its_own_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_inside_a_function_may_state_its_own_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_file_with_no_stated_values_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_inside_a_function_may_state_its_own_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_inside_a_function_may_state_its_own_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_inside_a_function_may_state_its_own_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_stated_value_has_no_range + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_one_token_expression_is_read_whole + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_item_that_states_nothing_has_no_range + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_stated_expression_is_the_text_the_user_wrote + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_inside_a_function_may_state_its_own_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_stated_value_has_no_range + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_one_token_expression_is_read_whole + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_stated_expression_is_the_text_the_user_wrote + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_item_that_states_nothing_has_no_range + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_file_with_no_stated_values_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_inside_a_function_may_state_its_own_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_file_with_no_stated_values_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_inside_a_function_may_state_its_own_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_that_can_carry_a_mutant_is_still_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_stated_value_has_no_range + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_one_token_expression_is_read_whole + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_function_a_method_or_a_trait_method_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_item_that_states_nothing_has_no_range + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_stated_expression_is_the_text_the_user_wrote + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_stated_value_has_no_range + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_one_token_expression_is_read_whole + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_stated_expression_is_the_text_the_user_wrote + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_stated_value_has_no_range + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_one_token_expression_is_read_whole + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_stated_expression_is_the_text_the_user_wrote + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_adds_a_mutant_where_none_was_guessed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_displaces_the_guessed_ones + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_is_still_subject_to_the_selection + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_on_an_iterator_return_keeps_the_iterator_shape + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_can_be_stated_on_a_method_or_a_trait_method + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_accepted_stated_value_emits_a_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_stated_expression_reaches_the_mutant_verbatim + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_statements_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::lookup::tests::a_close_unknown_selector_offers_a_spelling_suggestion + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::lookup::tests::a_distant_unknown_selector_falls_back_to_the_registry_hint + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::unknown_selectors_are_errors_not_silent_no_ops + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::default_and_pedantic_presets_partition_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::negation_carves_out_of_a_preset + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::perturbation_is_on_by_default + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::default_and_pedantic_presets_partition_everything + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::lookup::tests::a_close_unknown_selector_offers_a_spelling_suggestion + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::associated_const_initializers_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_const_defaults_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::empty_selectors_are_ignored + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::default_and_pedantic_presets_partition_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::the_noisier_families_are_still_on + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::an_empty_error_list_does_not_enable_the_error_mutator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::caller_supplied_error_values_toggle_the_error_mutator + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::an_empty_error_list_does_not_enable_the_error_mutator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::default_and_pedantic_presets_partition_everything + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::negation_carves_out_of_a_preset + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::selectors_apply_left_to_right + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::an_empty_error_list_does_not_enable_the_error_mutator + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_values_only_reach_functions_returning_result + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::caller_supplied_error_values_toggle_the_error_mutator + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_does_not_renumber_the_named_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::each_named_error_value_becomes_its_own_mutant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_values_only_reach_functions_returning_result + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::naming_no_error_values_produces_no_error_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::an_empty_error_list_does_not_enable_the_error_mutator + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::caller_supplied_error_values_toggle_the_error_mutator + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::registry::selection::tests::default_and_pedantic_presets_partition_everything + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_comments_nest + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_comments_nest + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::known_comments_satisfy_the_fuzz_scan_invariants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_block_comment_stops_at_end_of_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_comments_nest + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::known_comments_satisfy_the_fuzz_scan_invariants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_block_comment_stops_at_end_of_file + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_block_comment_stops_at_end_of_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_comments_nest + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::known_comments_satisfy_the_fuzz_scan_invariants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::doc_comments_are_not_string_literals + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_quote_in_a_labelled_loop_is_not_a_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_block_comment_stops_at_end_of_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_comments_nest + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comments_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::doc_comments_are_distinguished_from_directive_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::known_comments_satisfy_the_fuzz_scan_invariants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::lifetimes_do_not_swallow_the_rest_of_the_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::line_comments_are_found_and_stripped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::multibyte_character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::r_prefixed_identifiers_are_not_raw_strings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::spans_point_at_the_comment_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::trailing_comments_are_marked + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_block_comment_stops_at_end_of_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::known_comments_satisfy_the_fuzz_scan_invariants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::trailing_comments_are_marked + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::line_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::doc_comments_are_not_string_literals + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::arbitrary_text_is_scanned_into_spans_that_exist + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::text_without_a_delimiter_yields_no_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_quote_in_a_labelled_loop_is_not_a_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_block_comment_stops_at_end_of_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_comments_nest + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comments_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::doc_comments_are_distinguished_from_directive_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::known_comments_satisfy_the_fuzz_scan_invariants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::lifetimes_do_not_swallow_the_rest_of_the_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::line_comments_are_found_and_stripped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::multibyte_character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::r_prefixed_identifiers_are_not_raw_strings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::spans_point_at_the_comment_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::trailing_comments_are_marked + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_binary_and_compound_assignment_operator_emits_the_replacement_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::arbitrary_text_is_scanned_into_spans_that_exist + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::text_without_a_delimiter_yields_no_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_block_comment_stops_at_end_of_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_comments_nest + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::known_comments_satisfy_the_fuzz_scan_invariants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::line_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::doc_comments_are_not_string_literals + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_quote_in_a_labelled_loop_is_not_a_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comments_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::doc_comments_are_distinguished_from_directive_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::known_comments_satisfy_the_fuzz_scan_invariants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::lifetimes_do_not_swallow_the_rest_of_the_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::line_comments_are_found_and_stripped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::multibyte_character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::r_prefixed_identifiers_are_not_raw_strings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::spans_point_at_the_comment_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::trailing_comments_are_marked + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::macro_interiors_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::arbitrary_text_is_scanned_into_spans_that_exist + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::text_without_a_delimiter_yields_no_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::multibyte_character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_byte_order_mark_is_dropped_so_that_offsets_mean_what_syn_meant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::columns_count_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::doc_comments_are_not_string_literals + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_quote_in_a_labelled_loop_is_not_a_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comments_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::doc_comments_are_distinguished_from_directive_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::known_comments_satisfy_the_fuzz_scan_invariants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::lifetimes_do_not_swallow_the_rest_of_the_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::line_comments_are_found_and_stripped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::multibyte_character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::r_prefixed_identifiers_are_not_raw_strings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::spans_point_at_the_comment_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::trailing_comments_are_marked + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::doc_comments_are_not_string_literals + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::doc_comments_are_distinguished_from_directive_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::known_comments_satisfy_the_fuzz_scan_invariants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::macro_interiors_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::arbitrary_text_is_scanned_into_spans_that_exist + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::text_without_a_delimiter_yields_no_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_quote_in_a_labelled_loop_is_not_a_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::lifetimes_do_not_swallow_the_rest_of_the_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::multibyte_character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_byte_order_mark_is_dropped_so_that_offsets_mean_what_syn_meant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::columns_count_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::macro_interiors_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::arbitrary_text_is_scanned_into_spans_that_exist + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::text_without_a_delimiter_yields_no_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_byte_order_mark_is_dropped_so_that_offsets_mean_what_syn_meant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::columns_count_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_quote_in_a_labelled_loop_is_not_a_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::lifetimes_do_not_swallow_the_rest_of_the_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::multibyte_character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_literal_does_not_confuse_the_scanner + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_literal_stays_inside_the_text + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_quote_in_a_labelled_loop_is_not_a_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_literal_does_not_confuse_the_scanner + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_literal_stays_inside_the_text + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::lifetimes_do_not_swallow_the_rest_of_the_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::multibyte_character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_quote_in_a_labelled_loop_is_not_a_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_literal_does_not_confuse_the_scanner + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_literal_stays_inside_the_text + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::lifetimes_do_not_swallow_the_rest_of_the_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::multibyte_character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_literal_does_not_confuse_the_scanner + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::multibyte_character_literals_are_skipped + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_default_is_not_offered_to_a_body_that_already_leaks_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_leaked_value_is_still_offered_to_a_body_that_leaks_something_else + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_leak_is_still_the_leak_it_wraps + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_reference_return_type_is_still_a_reference + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_return_type_is_served_the_values_that_belong_to_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_argument_ahead_of_a_result_payload_is_skipped_rather_than_counted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_does_not_count_towards_the_type_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_lifetime_generic_parameter_never_needs_a_default_bound + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::borrowed_promotable_shapes_are_classified_without_touching_unary_minus + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_quote_in_a_labelled_loop_is_not_a_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_literal_does_not_confuse_the_scanner + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_unterminated_literal_stays_inside_the_text + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::lifetimes_do_not_swallow_the_rest_of_the_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_literal_does_not_confuse_the_scanner + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_literal_does_not_confuse_the_scanner + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::invalid_raw_string_prefix_consumes_only_the_r + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::unterminated_strings_and_raw_strings_stop_at_end_of_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::invalid_raw_string_prefix_consumes_only_the_r + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::unterminated_strings_and_raw_strings_stop_at_end_of_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::unterminated_strings_and_raw_strings_stop_at_end_of_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::unterminated_strings_and_raw_strings_stop_at_end_of_file + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::macro_interiors_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_byte_order_mark_is_dropped_so_that_offsets_mean_what_syn_meant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::columns_count_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::macro_interiors_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::arbitrary_text_is_scanned_into_spans_that_exist + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::text_without_a_delimiter_yields_no_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::unterminated_strings_and_raw_strings_stop_at_end_of_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_byte_order_mark_is_dropped_so_that_offsets_mean_what_syn_meant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::columns_count_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::adjacent_block_comments_preserve_exact_token_spacing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::block_comments_are_dropped_and_replaced_by_a_single_space + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: model::identity::tests::literal_contents_are_preserved_verbatim + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::macro_interiors_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::arbitrary_text_is_scanned_into_spans_that_exist + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::text_without_a_delimiter_yields_no_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::unterminated_strings_and_raw_strings_stop_at_end_of_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_byte_order_mark_is_dropped_so_that_offsets_mean_what_syn_meant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::columns_count_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::arbitrary_text_is_scanned_into_spans_that_exist + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::fuzz::text_without_a_delimiter_yields_no_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::unterminated_strings_and_raw_strings_stop_at_end_of_file + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::non_ascii_non_identifier_bytes_are_skipped_without_affecting_depth + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_condition_literal_is_still_the_literal_it_would_become + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_binding_at_the_end_of_a_let_chain_is_also_recognized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_condition_that_is_already_a_literal_is_not_replaced_by_that_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_let_chain_condition_is_not_negated_or_replaced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_negated_condition_is_parenthesized + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_ordinary_compound_condition_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_conditions_can_be_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::if_let_conditions_are_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::option_and_result_construction_is_mutated_both_ways + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_else_if_ladder_is_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_comment_inside_a_trait_path_does_not_reach_the_item_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::doc_comments_are_not_string_literals + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_no_op_test_reads_tokens_rather_than_layout + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_quote_in_a_labelled_loop_is_not_a_literal + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_comments_nest + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_doc_comments_are_classified + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comments_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::doc_comments_are_distinguished_from_directive_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::lifetimes_do_not_swallow_the_rest_of_the_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::line_comments_are_found_and_stripped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::multibyte_character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::r_prefixed_identifiers_are_not_raw_strings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::spans_point_at_the_comment_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::trailing_comments_are_marked + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_method_rename_replaces_the_call_its_name_promises + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_borrowed_literal_array_is_left_alone_so_it_can_still_be_promoted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_compound_gate_that_only_a_test_build_satisfies_is_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_the_file_declares_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_gate_a_production_build_can_also_satisfy_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_numeric_argument_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_panic_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_value_of_the_wrong_type_is_collected_rather_than_dropped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_empty_string_literal_is_not_replaced_by_an_empty_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_expected_error_message_is_not_rewritten + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::attribute_arguments_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::literals_without_literal_mutators_are_ignored + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::macro_interiors_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::string_literals_in_real_code_are_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::text_the_source_builds_on_the_spot_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_marker_string_is_not_replaced_by_itself + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_standard_fmt_result_alias_gets_a_compiling_result_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_raw_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comment_markers_inside_strings_are_not_comments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::multibyte_character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::raw_strings_with_many_hashes_are_handled + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::brackets_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operators_inside_comments_and_literals_are_not_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_byte_order_mark_is_dropped_so_that_offsets_mean_what_syn_meant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::columns_count_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_cast_argument_is_perturbed_as_a_number + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_value_a_panic_message_is_asked_of_is_still_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_cast_chain_is_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_else_if_ladder_is_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_cast_chain_is_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_binary_chain_is_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_run_of_prefix_operators_is_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_spaced_run_of_prefix_operators_is_still_nesting + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::mixed_method_and_index_links_accumulate_on_one_path + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_postfix_call_chain_is_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_postfix_index_chain_is_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::a_long_postfix_method_chain_is_nesting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::operator_chains_inside_nested_delimiters_accumulate_on_one_path + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::the_reported_offset_is_the_delimiter_that_crossed_the_limit + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_nested_deeper_than_the_limit_is_refused_rather_than_overflowing_the_stack + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_with_a_deep_postfix_chain_is_refused_before_parsing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::blocks_cross_the_limit_without_needing_parentheses + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_block_local_binding_does_not_outlive_its_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_const_generic_argument_in_expression_position_is_never_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_deferred_binding_is_still_seen_from_inside_a_nested_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_trait_path_past_the_text_names_the_scope_for_the_self_type_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::an_impl_self_type_preserves_the_boundary_after_a_lifetime + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::every_expression_kind_is_descended_into_while_looking_for_numeric_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::importing_one_path_twice_is_not_a_disagreement + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::one_modules_import_does_not_decide_anothers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_bounds_make_generic_fallbacks_available + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_default_implementations_suppress_recursive_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::only_standard_zero_argument_default_calls_are_noops + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_file_with_no_stated_values_is_accepted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_function_inside_a_function_may_state_its_own_value + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_change_to_a_deferral_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_block_shadow_of_a_binding_does_not_outlive_the_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_call_that_merely_shares_the_name_keeps_its_arguments + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_concrete_self_associated_type_without_default_is_not_defaulted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_constant_two_declarations_disagree_about_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_field_is_judged_by_the_struct_that_declares_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_of_only_types_yields_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_break_is_left_alone_but_a_labelled_continue_is_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_cow_is_not_given_the_standard_cow_constructor + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_type_wearing_a_standard_name_is_not_treated_as_the_standard_one + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_nested_function_does_not_inherit_deferred_names + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_associated_constant_declared_as_text_is_not_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::break_and_continue_are_swapped_for_each_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::const_fn_bodies_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::function_value_replacements_cover_return_type_shapes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_handle_reference_and_non_path_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_paths_retain_qualification_generics_and_references + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::item_paths_distinguish_trait_defaults_from_each_other_and_free_functions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::repeat_lengths_and_enum_discriminants_are_const_contexts + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_assignment_settling_a_deferred_let_is_not_deletable + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_does_not_audit_stated_values_on_inactive_fields + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_inactive_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_strips_the_same_test_gated_code_the_separate_passes_do + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_default_methods_are_mutated_but_excluded_ones_are_not + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementations_record_the_terminal_trait_name + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comments_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::nesting::tests::siblings_do_not_accumulate_depth + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_trailing_newline_does_not_open_a_line + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::every_boundary_offset_lands_where_walking_the_text_says_it_should + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::locations_are_one_based + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_name_value_predicate_whose_literal_is_not_a_string_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::phase_one::tests::the_fused_walk_visits_every_indexed_and_audited_item_kind + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_binding_catch_all_receives_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::collector::tests::a_parenthesized_binding_pattern_still_catches_what_falls_through + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_break_carrying_a_value_is_left_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_cfg_test_match_arm_is_left_out_of_the_never_matches_family + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_continue_is_not_changed_to_a_valueless_break_in_a_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_half_open_range_offers_its_inclusive_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_labelled_continue_is_not_changed_to_a_valueless_break_in_its_value_producing_loop + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_local_used_where_only_a_number_fits_is_perturbed_without_an_annotation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_loop_that_can_break_with_a_value_is_still_perturbed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_returned_number_in_tail_position_perturbs_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_selection_that_needs_no_pre_pass_collects_what_a_full_one_does + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_while_let_chain_condition_is_not_negated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_after_the_wildcard_offers_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_arm_before_a_wildcard_can_be_stopped_from_matching + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::an_inclusive_range_offers_its_half_open_form + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::array_lengths_in_types_are_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::every_registry_entry_produces_at_least_one_candidate_against_the_composite_fixture + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::huge_integer_literals_skip_neighbour_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::integer_literal_tails_and_explicit_returns_have_identical_mutants + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::statically_divergent_tails_perturb_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::stating_a_value_leaves_every_other_family_alone + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_produces_the_same_candidates_as_check_stated_then_collect_with + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_largest_integer_literal_does_not_overflow + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_wildcard_itself_is_never_stopped_from_matching + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_loads_and_parses_a_file_from_disk + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_doubly_inert_function_reports_the_const_reason + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_malformed_value_on_an_inert_function_reports_the_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_stated_value_with_no_argument_list_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_const_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_a_declaration_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_an_empty_bodied_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_value_stated_on_anything_but_a_function_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::an_argument_that_is_not_one_expression_is_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_first_fault_in_the_file_is_the_one_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::two_stated_values_on_one_item_are_reported + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_fused_pass_reports_the_same_fault_as_check_stated_and_collects_nothing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::the_positions_a_stated_value_is_refused_on_emit_no_candidate + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::fuzz::locations_over_arbitrary_text_agree_with_counting_from_the_start + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_byte_order_mark_is_dropped_so_that_offsets_mean_what_syn_meant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::columns_count_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::every_boundary_offset_lands_where_walking_the_text_says_it_should + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::locations_are_one_based + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::fuzz::locations_over_arbitrary_text_agree_with_counting_from_the_start + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::columns_count_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::every_boundary_offset_lands_where_walking_the_text_says_it_should + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::locations_are_one_based + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_nested_deeper_than_the_limit_is_refused_rather_than_overflowing_the_stack + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_with_a_deep_postfix_chain_is_refused_before_parsing + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::a_one_token_expression_is_read_whole + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::stated::tests::the_stated_expression_is_the_text_the_user_wrote + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_that_states_nothing_uses_the_site_counted_identity_baseline + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_stated_mutant_has_an_identity_of_its_own + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::cached_normalization_matches_a_direct_recomputation_for_every_replacement_at_a_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::different_replacements_at_one_site_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_different_functions_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::identical_sites_in_one_function_get_distinct_ids + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_are_stable_across_reformatting + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::ids_survive_a_line_inserted_above + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_preserve_word_boundaries_when_blocks_are_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::impl_identities_survive_reordering_across_qualified_instantiated_and_reference_self_types + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::mutants_carry_line_and_column + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::named_error_identity_changes_with_text_and_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::occurrence_counts_sites_instead_of_replacements + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::replacements_at_same_span_share_a_site_allocation + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::spans_cover_the_whole_binary_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::trait_implementation_paths_keep_identical_methods_stable_when_reordered + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::two_replacements_at_one_site_get_distinct_identifiers + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::a_comment_after_an_escaped_quote_is_still_found + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::an_escaped_quote_does_not_end_a_string + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::block_comments_nest + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::character_literals_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::comments_come_back_in_source_order + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::lifetimes_do_not_swallow_the_rest_of_the_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::line_comments_are_found_and_stripped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::comment::tests::spans_point_at_the_comment_itself + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_name_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_bare_test_gate_is_in_the_build_but_not_mutated + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_arguments_do_not_parse_as_a_meta_list_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_combinator_whose_head_is_not_a_bare_identifier_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_feature_is_a_pair_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_key_value_pair_is_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_malformed_not_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_name_value_predicate_whose_literal_is_not_a_string_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_predicate_nested_deeper_than_the_limit_is_refused_rather_than_parsed + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::a_qualified_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_empty_value_is_a_value_like_any_other + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_key_value_pair_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_undecided_name_is_unknown_rather_than_looked_up + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unknown_operand_leaves_a_combinator_unknown + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unmodelled_predicate_holds + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::an_unresolved_set_holds_everything + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::decide_str_reports_the_undecided_verdict + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::printed_lines_that_are_not_settings_are_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_combinators_compose + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: cfg::tests::the_nesting_guard_keeps_a_parseable_false_predicate + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::strip_bom_removes_only_a_leading_mark + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_file_with_a_byte_order_mark_crlf_endings_and_multibyte_text_keeps_its_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_byte_order_mark_is_dropped_so_that_offsets_mean_what_syn_meant + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::every_boundary_offset_lands_where_walking_the_text_says_it_should + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_stays_a_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_in_condition_position_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_reports_the_whole_range_it_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_arm_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_site_is_instrumented_only_in_the_default_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_statement_site_is_skipped_when_active + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_zero_based_count_becomes_the_position_after_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_site_becomes_a_guard_trailing_the_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_expression_site_becomes_a_parenthesized_guard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_instrumented_iterator_body_is_still_balanced_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::break_to_continue_keeps_break_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::continue_to_break_keeps_continue_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guard_positions_count_unicode_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::multibyte_text_is_spliced_on_byte_boundaries + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::sites_are_spliced_at_the_right_offsets_when_there_are_several + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::text_outside_every_site_is_preserved_exactly + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::the_guarded_expression_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_mutants_on_one_span_nest_rather_than_collide + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_stays_a_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_in_condition_position_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_reports_the_whole_range_it_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_arm_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_site_is_instrumented_only_in_the_default_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_statement_site_is_skipped_when_active + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_site_becomes_a_guard_trailing_the_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_expression_site_becomes_a_parenthesized_guard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_instrumented_iterator_body_is_still_balanced_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::break_to_continue_keeps_break_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::continue_to_break_keeps_continue_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guard_positions_count_unicode_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::multibyte_text_is_spliced_on_byte_boundaries + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::sites_are_spliced_at_the_right_offsets_when_there_are_several + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::text_outside_every_site_is_preserved_exactly + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::the_guarded_expression_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_mutants_on_one_span_nest_rather_than_collide + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_site_is_instrumented_only_in_the_default_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_site_is_instrumented_only_in_the_default_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::overlapping_sites_are_rejected + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_site_is_instrumented_only_in_the_default_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::overlapping_sites_are_rejected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::sites_are_spliced_at_the_right_offsets_when_there_are_several + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_mutants_on_one_span_nest_rather_than_collide + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_site_is_instrumented_only_in_the_default_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::overlapping_sites_are_rejected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_mutants_on_one_span_nest_rather_than_collide + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_stays_a_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_in_condition_position_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_reports_the_whole_range_it_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_arm_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_site_is_instrumented_only_in_the_default_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_span_beyond_the_text_is_skipped_rather_than_spliced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_span_bisecting_a_character_is_skipped_rather_than_deleting_the_region + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_statement_site_is_skipped_when_active + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_site_becomes_a_guard_trailing_the_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_empty_span_is_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_expression_site_becomes_a_parenthesized_guard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_instrumented_iterator_body_is_still_balanced_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::break_to_continue_keeps_break_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::continue_to_break_keeps_continue_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guard_positions_count_unicode_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::multibyte_text_is_spliced_on_byte_boundaries + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::no_mutants_leaves_the_text_untouched + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::overlapping_sites_are_rejected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::sites_are_spliced_at_the_right_offsets_when_there_are_several + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::text_outside_every_site_is_preserved_exactly + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::the_guarded_expression_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_mutants_on_one_span_nest_rather_than_collide + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_stays_a_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_in_condition_position_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_reports_the_whole_range_it_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_arm_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_site_is_instrumented_only_in_the_default_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_statement_site_is_skipped_when_active + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_site_becomes_a_guard_trailing_the_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_expression_site_becomes_a_parenthesized_guard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_instrumented_iterator_body_is_still_balanced_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::break_to_continue_keeps_break_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::continue_to_break_keeps_continue_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guard_positions_count_unicode_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::multibyte_text_is_spliced_on_byte_boundaries + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::overlapping_sites_are_rejected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::sites_are_spliced_at_the_right_offsets_when_there_are_several + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::text_outside_every_site_is_preserved_exactly + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::the_guarded_expression_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_mutants_on_one_span_nest_rather_than_collide + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_stays_a_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_in_condition_position_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_reports_the_whole_range_it_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_arm_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_site_is_instrumented_only_in_the_default_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_span_beyond_the_text_is_skipped_rather_than_spliced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_span_bisecting_a_character_is_skipped_rather_than_deleting_the_region + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_statement_site_is_skipped_when_active + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_site_becomes_a_guard_trailing_the_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_empty_span_is_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_expression_site_becomes_a_parenthesized_guard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_instrumented_iterator_body_is_still_balanced_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::break_to_continue_keeps_break_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::continue_to_break_keeps_continue_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guard_positions_count_unicode_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::multibyte_text_is_spliced_on_byte_boundaries + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::no_mutants_leaves_the_text_untouched + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::sites_are_spliced_at_the_right_offsets_when_there_are_several + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::text_outside_every_site_is_preserved_exactly + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::the_guarded_expression_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_mutants_on_one_span_nest_rather_than_collide + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_mutants_on_one_span_nest_rather_than_collide + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::overlapping_sites_are_rejected + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::sites_are_spliced_at_the_right_offsets_when_there_are_several + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_stays_a_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_in_condition_position_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_arm_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_site_is_instrumented_only_in_the_default_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_span_beyond_the_text_is_skipped_rather_than_spliced + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_span_bisecting_a_character_is_skipped_rather_than_deleting_the_region + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_statement_site_is_skipped_when_active + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_site_becomes_a_guard_trailing_the_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_empty_span_is_skipped + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_expression_site_becomes_a_parenthesized_guard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_instrumented_iterator_body_is_still_balanced_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::break_to_continue_keeps_break_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::continue_to_break_keeps_continue_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::multibyte_text_is_spliced_on_byte_boundaries + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::no_mutants_leaves_the_text_untouched + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::overlapping_sites_are_rejected + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::sites_are_spliced_at_the_right_offsets_when_there_are_several + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::text_outside_every_site_is_preserved_exactly + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::the_guarded_expression_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_mutants_on_one_span_nest_rather_than_collide + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_reports_the_whole_range_it_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_instrumented_iterator_body_is_still_balanced_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::break_to_continue_keeps_break_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::continue_to_break_keeps_continue_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guard_positions_count_unicode_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::text_outside_every_site_is_preserved_exactly + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_reports_the_whole_range_it_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guard_positions_count_unicode_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::text_outside_every_site_is_preserved_exactly + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_stays_a_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_in_condition_position_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_reports_the_whole_range_it_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_site_is_instrumented_only_in_the_default_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_expression_site_becomes_a_parenthesized_guard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_instrumented_iterator_body_is_still_balanced_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::break_to_continue_keeps_break_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::continue_to_break_keeps_continue_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guard_positions_count_unicode_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::multibyte_text_is_spliced_on_byte_boundaries + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::sites_are_spliced_at_the_right_offsets_when_there_are_several + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::text_outside_every_site_is_preserved_exactly + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::the_guarded_expression_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_mutants_on_one_span_nest_rather_than_collide + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_arm_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_site_becomes_a_guard_trailing_the_pattern + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_stays_a_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_in_condition_position_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_reports_the_whole_range_it_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_site_is_instrumented_only_in_the_default_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_expression_site_becomes_a_parenthesized_guard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_instrumented_iterator_body_is_still_balanced_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guard_positions_count_unicode_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::multibyte_text_is_spliced_on_byte_boundaries + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::sites_are_spliced_at_the_right_offsets_when_there_are_several + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::text_outside_every_site_is_preserved_exactly + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::the_guarded_expression_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_mutants_on_one_span_nest_rather_than_collide + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::break_to_continue_keeps_break_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::continue_to_break_keeps_continue_as_the_tail_expression + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_statement_site_is_skipped_when_active + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_arm_mutants_on_one_pattern_chain_with_and + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_stays_a_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_statement_site_is_skipped_when_active + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::break_to_continue_keeps_break_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::continue_to_break_keeps_continue_as_the_tail_expression + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: ops::collect::tests::a_non_ascii_file_instruments_into_source_that_still_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_in_condition_position_parses + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guard_reports_the_whole_range_it_spans + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_guarded_site_that_grows_shifts_the_guards_below_it + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_site_is_instrumented_only_in_the_default_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_arm_guard_nests_inside_an_enclosing_expression_site + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_expression_site_becomes_a_parenthesized_guard + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guard_positions_count_unicode_characters_not_bytes + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::guards_report_the_lines_they_actually_landed_on + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::multibyte_text_is_spliced_on_byte_boundaries + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::nesting_does_not_grow_exponentially + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::ordinals_are_emitted_in_order_within_a_span + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::sites_are_spliced_at_the_right_offsets_when_there_are_several + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::text_outside_every_site_is_preserved_exactly + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::the_guarded_expression_still_parses_as_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::two_mutants_on_one_span_nest_rather_than_collide + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_instrumented_iterator_body_is_still_balanced_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_containing_an_expression_site_nests + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_block_site_stays_a_block + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::a_nested_guard_lies_outside_its_enclosing_guards_mutated_branch + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::an_instrumented_iterator_body_is_still_balanced_rust + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: schema::tests::every_else_arm_of_an_iterator_body_is_wrapped_so_that_two_mutants_still_agree_on_a_type + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::style_validation_covers_simple_extended_and_invalid_parameters + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::style_validation_covers_simple_extended_and_invalid_parameters + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::style_validation_covers_simple_extended_and_invalid_parameters + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::style_validation_covers_simple_extended_and_invalid_parameters + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::style_validation_covers_simple_extended_and_invalid_parameters + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::style_validation_covers_simple_extended_and_invalid_parameters + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c1_control_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::a_newline_cannot_forge_a_second_line + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::multibyte_text_around_a_control_survives_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::the_erase_sequence_is_shown_rather_than_obeyed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::multibyte_text_around_a_control_survives_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::ordinary_text_is_borrowed_unchanged + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_nested_deeper_than_the_limit_is_refused_rather_than_overflowing_the_stack + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_with_a_deep_postfix_chain_is_refused_before_parsing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_parse_failure_names_the_file_and_position + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_failures_name_the_missing_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::a_newline_cannot_forge_a_second_line + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::multibyte_text_around_a_control_survives_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::ordinary_text_is_borrowed_unchanged + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::the_erase_sequence_is_shown_rather_than_obeyed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::a_newline_cannot_forge_a_second_line + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::multibyte_text_around_a_control_survives_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::the_erase_sequence_is_shown_rather_than_obeyed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_nested_deeper_than_the_limit_is_refused_rather_than_overflowing_the_stack + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_with_a_deep_postfix_chain_is_refused_before_parsing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_parse_failure_names_the_file_and_position + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_failures_name_the_missing_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::a_newline_cannot_forge_a_second_line + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::multibyte_text_around_a_control_survives_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::ordinary_text_is_borrowed_unchanged + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::the_erase_sequence_is_shown_rather_than_obeyed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c1_control_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::multibyte_text_around_a_control_survives_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::ordinary_text_is_borrowed_unchanged + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_nested_deeper_than_the_limit_is_refused_rather_than_overflowing_the_stack + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_with_a_deep_postfix_chain_is_refused_before_parsing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_parse_failure_names_the_file_and_position + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_failures_name_the_missing_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::a_newline_cannot_forge_a_second_line + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c1_control_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::multibyte_text_around_a_control_survives_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::ordinary_text_is_borrowed_unchanged + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::the_erase_sequence_is_shown_rather_than_obeyed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::a_newline_cannot_forge_a_second_line + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c1_control_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::multibyte_text_around_a_control_survives_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::the_erase_sequence_is_shown_rather_than_obeyed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::a_newline_cannot_forge_a_second_line + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::multibyte_text_around_a_control_survives_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::the_erase_sequence_is_shown_rather_than_obeyed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_nested_deeper_than_the_limit_is_refused_rather_than_overflowing_the_stack + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_with_a_deep_postfix_chain_is_refused_before_parsing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_parse_failure_names_the_file_and_position + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_failures_name_the_missing_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::ordinary_text_is_borrowed_unchanged + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_nested_deeper_than_the_limit_is_refused_rather_than_overflowing_the_stack + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_file_with_a_deep_postfix_chain_is_refused_before_parsing + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::a_parse_failure_names_the_file_and_position + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: parse::source_file::tests::read_failures_name_the_missing_file + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::a_newline_cannot_forge_a_second_line + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c1_control_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::multibyte_text_around_a_control_survives_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::ordinary_text_is_borrowed_unchanged + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::the_erase_sequence_is_shown_rather_than_obeyed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_osc_hyperlink_is_encoded_in_both_of_its_spellings + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::multibyte_text_around_a_control_survives_intact + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::the_erase_sequence_is_shown_rather_than_obeyed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::a_newline_cannot_forge_a_second_line + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::a_newline_cannot_forge_a_second_line + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::every_c0_control_and_delete_is_encoded + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::the_erase_sequence_is_shown_rather_than_obeyed + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::color_is_kept_only_by_the_relaying_policy + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_color_around_encoded_controls_keeps_both_decisions + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relayed_styling_is_contained_by_a_trusted_reset + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::relaying_still_refuses_every_sequence_that_is_not_color + - - package: cargo-gamma-engine + target: cargo_gamma_engine + test: text::tests::an_unterminated_color_sequence_is_encoded_rather_than_trusted + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_mutator_without_a_family_is_its_own_family + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_aggregate_every_field_and_break_ties_by_family + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_rank_families_by_survivors_per_cpu_hour + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::fixed_cost_threshold_and_zero_wall_are_handled_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::fixed_cost_threshold_and_zero_wall_are_handled_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_at_exactly_ten_percent_is_hot_and_keeps_its_cpu_total + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_at_exactly_ten_percent_is_hot_and_keeps_its_cpu_total + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_at_exactly_ten_percent_is_hot_and_keeps_its_cpu_total + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_at_exactly_ten_percent_is_hot_and_keeps_its_cpu_total + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::long_run_starts_at_thirty_minutes + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::long_run_starts_at_thirty_minutes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_share_threshold_is_inclusive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_share_threshold_is_inclusive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_run_with_no_out_of_memory_mutants_has_no_such_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_share_threshold_is_inclusive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_share_threshold_is_inclusive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_names_the_slowest_test_targets + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::slow_baseline_starts_at_ten_seconds_and_never_divides_by_zero_jobs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_inflate_the_baseline_projection + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_names_the_slowest_test_targets + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::slow_baseline_starts_at_ten_seconds_and_never_divides_by_zero_jobs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_inflate_the_baseline_projection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_names_the_slowest_test_targets + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_requires_the_population_and_share_thresholds_inclusively + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_requires_the_population_and_share_thresholds_inclusively + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_requires_the_population_and_share_thresholds_inclusively + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::execution_dominance_under_the_default_profile_suggests_the_gamma_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::profile_advice_requires_dominant_execution_and_an_unoptimized_profile + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::execution_dominance_under_the_default_profile_suggests_the_gamma_profile + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::execution_dominance_under_the_default_profile_suggests_the_gamma_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::profile_advice_requires_dominant_execution_and_an_unoptimized_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::unviable_requires_the_population_and_share_thresholds_inclusively + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::unviable_requires_the_population_and_share_thresholds_inclusively + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::unviable_requires_the_population_and_share_thresholds_inclusively + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_aggregate_every_field_and_break_ties_by_family + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_rank_families_by_survivors_per_cpu_hour + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_aggregate_every_field_and_break_ties_by_family + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_rank_families_by_survivors_per_cpu_hour + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::finding_headings_are_numbered_and_capitalized + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_findings_introduction_describes_the_diagnostic_order + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::empty_rows_are_absent_from_both_contents_and_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_verdict_in_the_population_is_accounted_for_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_findings_introduction_describes_the_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::unscored_outcomes_are_named_as_not_scored_in_the_run_table + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::empty_rows_are_absent_from_both_contents_and_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_verdict_in_the_population_is_accounted_for_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_findings_introduction_describes_the_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::unscored_outcomes_are_named_as_not_scored_in_the_run_table + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_findings_introduction_describes_the_diagnostic_order + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::empty_rows_are_absent_from_both_contents_and_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_verdict_in_the_population_is_accounted_for_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::unscored_outcomes_are_named_as_not_scored_in_the_run_table + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_verdict_in_the_population_is_accounted_for_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::unscored_outcomes_are_named_as_not_scored_in_the_run_table + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_verdict_in_the_population_is_accounted_for_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::unscored_outcomes_are_named_as_not_scored_in_the_run_table + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::empty_rows_are_absent_from_both_contents_and_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_findings_introduction_describes_the_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::unscored_outcomes_are_named_as_not_scored_in_the_run_table + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::long_run_starts_at_thirty_minutes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_findings_introduction_describes_the_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::text::tests::durations_read_the_way_a_person_says_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_the_ceiling_leaves_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_widens_the_range + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_at_exactly_ten_percent_is_hot_and_keeps_its_cpu_total + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_names_the_slowest_test_targets + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::execution_dominance_under_the_default_profile_suggests_the_gamma_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::fixed_cost_threshold_and_zero_wall_are_handled_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::long_run_starts_at_thirty_minutes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::slow_baseline_starts_at_ten_seconds_and_never_divides_by_zero_jobs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_share_threshold_is_inclusive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_inflate_the_baseline_projection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::empty_rows_are_absent_from_both_contents_and_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_verdict_in_the_population_is_accounted_for_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_findings_introduction_describes_the_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::unscored_outcomes_are_named_as_not_scored_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::text::tests::durations_read_the_way_a_person_says_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_the_ceiling_leaves_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_widens_the_range + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_at_exactly_ten_percent_is_hot_and_keeps_its_cpu_total + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_names_the_slowest_test_targets + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::execution_dominance_under_the_default_profile_suggests_the_gamma_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::fixed_cost_threshold_and_zero_wall_are_handled_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::long_run_starts_at_thirty_minutes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::slow_baseline_starts_at_ten_seconds_and_never_divides_by_zero_jobs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_inflate_the_baseline_projection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::empty_rows_are_absent_from_both_contents_and_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_verdict_in_the_population_is_accounted_for_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_findings_introduction_describes_the_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::unscored_outcomes_are_named_as_not_scored_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::text::tests::durations_read_the_way_a_person_says_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_the_ceiling_leaves_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_widens_the_range + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_at_exactly_ten_percent_is_hot_and_keeps_its_cpu_total + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_share_threshold_is_inclusive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::text::tests::counts_of_one_are_not_pluralized + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::finding_headings_are_numbered_and_capitalized + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_findings_introduction_describes_the_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::text::tests::sentences_and_shares_cover_empty_and_nonzero_inputs + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_no_wall_time_reports_no_share_rather_than_a_division_by_zero + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::empty_rows_are_absent_from_both_contents_and_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_verdict_in_the_population_is_accounted_for_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_findings_introduction_describes_the_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::unscored_outcomes_are_named_as_not_scored_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::text::tests::sentences_and_shares_cover_empty_and_nonzero_inputs + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_no_wall_time_reports_no_share_rather_than_a_division_by_zero + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::text::tests::sentences_and_shares_cover_empty_and_nonzero_inputs + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::empty_rows_are_absent_from_both_contents_and_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_verdict_in_the_population_is_accounted_for_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_findings_introduction_describes_the_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::unscored_outcomes_are_named_as_not_scored_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::text::tests::a_slug_matches_the_anchor_a_markdown_renderer_would_generate + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_findings_introduction_describes_the_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::text::tests::a_slug_matches_the_anchor_a_markdown_renderer_would_generate + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_aggregate_every_field_and_break_ties_by_family + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_rank_families_by_survivors_per_cpu_hour + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::yield_::tests::the_ratio_is_survivors_per_cpu_hour + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::low_yield_honours_both_inclusive_thresholds_and_zero_execution + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_aggregate_every_field_and_break_ties_by_family + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::yields_rank_families_by_survivors_per_cpu_hour + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::yield_::tests::a_family_with_no_time_has_no_ratio_rather_than_an_infinite_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::yield_::tests::the_ratio_is_survivors_per_cpu_hour + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_factor_is_positive_and_not_absurd + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::keys_are_spelled_in_kebab_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_factor_is_positive_and_not_absurd + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::keys_are_spelled_in_kebab_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_factor_is_positive_and_not_absurd + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_factor_is_positive_and_not_absurd + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::keys_are_spelled_in_kebab_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_percentage_stays_within_its_range + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_wins_for_scalars + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_percentage_stays_within_its_range + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_duration_that_would_panic_is_rejected_instead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_factor_is_positive_and_not_absurd + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_below_one_byte_is_refused_rather_than_truncated_to_a_zero_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_that_is_not_one_is_refused_rather_than_guessed_at + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_understands_the_units_people_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::keys_are_spelled_in_kebab_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_duration_that_would_panic_is_rejected_instead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_factor_is_positive_and_not_absurd + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_that_is_not_one_is_refused_rather_than_guessed_at + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_duration_that_would_panic_is_rejected_instead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_factor_is_positive_and_not_absurd + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_below_one_byte_is_refused_rather_than_truncated_to_a_zero_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_that_is_not_one_is_refused_rather_than_guessed_at + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_understands_the_units_people_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::keys_are_spelled_in_kebab_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_duration_that_would_panic_is_rejected_instead + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_that_is_not_one_is_refused_rather_than_guessed_at + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_understands_the_units_people_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_understands_the_units_people_write + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_below_one_byte_is_refused_rather_than_truncated_to_a_zero_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_that_is_not_one_is_refused_rather_than_guessed_at + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_understands_the_units_people_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_below_one_byte_is_refused_rather_than_truncated_to_a_zero_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_understands_the_units_people_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_below_one_byte_is_refused_rather_than_truncated_to_a_zero_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_that_is_not_one_is_refused_rather_than_guessed_at + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_understands_the_units_people_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_memory_size_that_is_not_a_size_is_reported_rather_than_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_below_one_byte_is_refused_rather_than_truncated_to_a_zero_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_that_is_not_one_is_refused_rather_than_guessed_at + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_understands_the_units_people_write + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_below_one_byte_is_refused_rather_than_truncated_to_a_zero_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_understands_the_units_people_write + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_that_is_not_one_is_refused_rather_than_guessed_at + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_memory_size_that_is_not_a_size_is_reported_rather_than_ignored + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_below_one_byte_is_refused_rather_than_truncated_to_a_zero_ceiling + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: bounds::tests::a_size_that_is_not_one_is_refused_rather_than_guessed_at + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_probe_command_line_carries_every_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_for_another_target_answers_about_that_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_custom_predicate_the_build_passes_holds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_name_the_build_cannot_settle_is_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_profile_without_debug_assertions_strips_the_other_half + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_rustc_probe_failure_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_valued_predicate_the_build_cannot_settle_is_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::an_unanswered_profile_leaves_both_halves_mutable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::the_host_answers_about_itself + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_probe_command_line_carries_every_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_custom_predicate_the_build_passes_holds + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_probe_command_line_carries_every_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_for_another_target_answers_about_that_target + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_probe_command_line_carries_every_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_for_another_target_answers_about_that_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_custom_predicate_the_build_passes_holds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_name_the_build_cannot_settle_is_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_profile_without_debug_assertions_strips_the_other_half + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_valued_predicate_the_build_cannot_settle_is_unanswerable + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_probe_command_line_carries_every_setting + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::duplicate_configured_targets_still_describe_one_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_requested_targets_are_the_ones_the_command_line_and_the_environment_ask_for + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::duplicate_configured_targets_still_describe_one_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::requested_targets_are_deduplicated_even_when_repeated_out_of_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_requested_targets_are_the_ones_the_command_line_and_the_environment_ask_for + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unconfigured_workspace_holds_no_settings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_absent_configuration_is_not_recorded_as_an_unreadable_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unconfigured_workspace_holds_no_settings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unreadable_configuration_is_recorded_as_an_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::table_keys_are_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_absent_configuration_is_not_recorded_as_an_unreadable_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unconfigured_workspace_holds_no_settings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::table_keys_are_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unreadable_configuration_is_recorded_as_an_input + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::table_keys_are_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::table_keys_are_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unconfigured_workspace_holds_no_settings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::host_lookup_is_skipped_without_target_tables_and_answers_with_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::table_keys_are_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unconfigured_workspace_holds_no_settings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::table_keys_are_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unconfigured_workspace_holds_no_settings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::table_keys_are_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::table_keys_are_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unconfigured_workspace_holds_no_settings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unconfigured_workspace_holds_no_settings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::duplicate_configured_targets_still_describe_one_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::duplicate_configured_targets_still_describe_one_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::environment_names_and_home_fallbacks_are_read_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_target_specific_variables_are_read_by_enumeration + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::environment_names_and_home_fallbacks_are_read_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_target_specific_variables_are_read_by_enumeration + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_target_specific_variables_are_read_by_enumeration + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_target_specific_variables_are_read_by_enumeration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::codegen_options_accept_every_rustc_spelling_but_only_cfg_relevant_values + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::debug_assertion_flags_use_the_last_recognised_exact_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::debug_assertion_flags_use_the_last_recognised_exact_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::codegen_options_accept_every_rustc_spelling_but_only_cfg_relevant_values + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::debug_assertion_flags_use_the_last_recognised_exact_value + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::codegen_options_accept_every_rustc_spelling_but_only_cfg_relevant_values + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::debug_assertion_flags_use_the_last_recognised_exact_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unconfigured_workspace_holds_no_settings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_home_is_recognized_only_below_its_actual_parent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::table_keys_are_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_home_is_recognized_only_below_its_actual_parent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::codegen_options_accept_every_rustc_spelling_but_only_cfg_relevant_values + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::codegen_options_accept_every_rustc_spelling_but_only_cfg_relevant_values + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::host_lookup_is_skipped_without_target_tables_and_answers_with_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::host_lookup_is_skipped_without_target_tables_and_answers_with_them + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::host_lookup_is_skipped_without_target_tables_and_answers_with_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::duplicate_configured_targets_still_describe_one_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::host_lookup_is_skipped_without_target_tables_and_answers_with_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::table_keys_are_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configuration_search_obeys_cargo_precedence_and_reads_every_level + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::duplicate_configured_targets_still_describe_one_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::legacy_configuration_names_are_used_when_toml_is_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::user_configuration_is_read_only_when_it_is_outside_the_workspace + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::release_shorthand_must_match_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::release_shorthand_must_match_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::release_shorthand_must_match_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::codegen_options_accept_every_rustc_spelling_but_only_cfg_relevant_values + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::debug_assertion_flags_use_the_last_recognised_exact_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::codegen_options_accept_every_rustc_spelling_but_only_cfg_relevant_values + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::debug_assertion_flags_use_the_last_recognised_exact_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::codegen_options_accept_every_rustc_spelling_but_only_cfg_relevant_values + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::debug_assertion_flags_use_the_last_recognised_exact_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::codegen_options_accept_every_rustc_spelling_but_only_cfg_relevant_values + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::host_lookup_is_skipped_without_target_tables_and_answers_with_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::host_output_parsing_requires_the_host_field + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_user_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unconfigured_workspace_holds_no_settings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unprojected_cargo_setting_still_moves_the_record_input + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_settings_name_every_file_borne_input_the_resolution_reads + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::duplicate_configured_targets_still_describe_one_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::duplicate_configured_targets_still_describe_one_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::requested_targets_are_deduplicated_even_when_repeated_out_of_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::duplicate_configured_targets_still_describe_one_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::requested_targets_are_deduplicated_even_when_repeated_out_of_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::flag_value_parsing_requires_exact_spellings_and_keeps_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::requested_targets_are_deduplicated_even_when_repeated_out_of_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_requested_targets_are_the_ones_the_command_line_and_the_environment_ask_for + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::flag_value_parsing_requires_exact_spellings_and_keeps_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::release_shorthand_must_match_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::requested_targets_are_deduplicated_even_when_repeated_out_of_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_requested_targets_are_the_ones_the_command_line_and_the_environment_ask_for + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configured_profile_overrides_the_manifest + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_custom_profile_follows_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_cyclic_profile_chain_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_missing_parent_is_not_replaced_with_the_empty_profile + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_cannot_be_followed_is_left_unanswered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_profile_that_switches_them_on_is_believed_over_what_it_inherits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_directory_is_not_a_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::an_unparsable_configuration_file_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::cargo_build_rustflags_are_used_when_the_other_variables_are_absent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::configured_rustflags_carry_their_custom_predicates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::descendant_non_dot_cargo_home_reaches_resolution_and_record_settings_once + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::duplicate_configured_targets_still_describe_one_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::encoded_flags_are_split_on_the_unit_separator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::flag_value_parsing_requires_exact_spellings_and_keeps_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::profile_chain_iteration_starts_at_zero_and_ends_before_the_limit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::release_shorthand_must_match_exactly + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::requested_targets_are_deduplicated_even_when_repeated_out_of_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_sources_fall_back_in_order_and_are_normalised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_outranks_the_configured_build_rustflags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_default_profile_has_debug_assertions_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_environment_outranks_the_configuration_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_release_profile_has_them_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_requested_targets_are_the_ones_the_command_line_and_the_environment_ask_for + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_underscore_spelling_of_debug_assertions_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_profile_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::flag_value_parsing_requires_exact_spellings_and_keeps_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_requested_targets_are_the_ones_the_command_line_and_the_environment_ask_for + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_configuration_file_above_the_workspace_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_deeply_nested_cargo_cfg_key_is_left_undecided_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_matching_predicate_table_is_joined_with_the_triples_own + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_passthrough_target_outranks_the_configured_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_predicate_gated_table_leaves_its_names_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_table_this_build_does_not_read_leaves_its_codegen_predicates_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_table_supplies_the_flags_for_its_own_triple + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_target_variable_applies_with_no_table_to_hang_it_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_triple_is_spelled_into_a_variable_name_the_way_cargo_spells_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::a_valued_predicate_in_a_gated_table_leaves_its_bare_name_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::public_resolution_reads_the_workspace_configuration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::several_targets_are_reported_rather_than_picked_between + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::target_table_uncertainty_is_sorted_deduplicated_and_excludes_the_chosen_flags + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_build_rustflags_variable_ranks_below_the_target_tables + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_cargo_configuration_supplies_the_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_target_specific_variables_are_read_by_enumeration + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::build::tests::the_variable_spelling_of_a_target_table_is_read_and_beats_the_file + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::cfgs::tests::a_package_gets_its_own_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::cfgs::tests::an_unknown_package_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::cfgs::tests::every_package_set_describes_a_test_build + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::cfgs::tests::the_unconditional_map_strips_nothing + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::cfgs::tests::a_package_gets_its_own_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::cfgs::tests::an_unknown_package_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::cfgs::tests::every_package_set_describes_a_test_build + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::cfgs::tests::the_unconditional_map_strips_nothing + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_of_a_package_outside_the_workspace_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_member_feature_reference_to_an_undeclared_feature_does_not_invent_downstream_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_named_feature_is_turned_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_renamed_dependency_forwards_its_features_to_the_package_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_weak_reference_through_an_alias_resolves_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::all_features_turns_on_everything_declared + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_alias_does_not_reach_beyond_the_manifest_that_declares_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::default_is_on_and_expands + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::features_chain_through_their_own_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::one_member_can_turn_on_anothers_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_of_an_unrecognised_kind_does_not_propagate_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_outside_the_workspace_contributes_nothing_to_propagate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dev_dependency_counts_because_the_schema_is_built_with_cargo_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_of_a_package_outside_the_workspace_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_that_is_not_declared_is_not_invented + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_member_feature_reference_to_an_undeclared_feature_does_not_invent_downstream_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_named_feature_is_turned_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_qualified_name_only_reaches_its_own_package + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_renamed_dependency_forwards_its_features_to_the_package_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_weak_reference_through_an_alias_resolves_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::all_features_turns_on_everything_declared + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_alias_does_not_reach_beyond_the_manifest_that_declares_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::default_is_on_and_expands + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::every_member_appears_even_with_no_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::features_chain_through_their_own_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::no_default_features_leaves_nothing_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::one_member_can_turn_on_anothers_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::several_named_features_may_share_one_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_passthrough_selector_adds_to_the_typed_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_passthrough_selector_is_read_however_it_is_written + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_passthrough_selector_is_read_however_it_is_written + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_passthrough_selector_adds_to_the_typed_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_passthrough_selector_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_argument_that_merely_begins_like_a_selector_names_no_feature + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_passthrough_selector_adds_to_the_typed_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_passthrough_selector_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_argument_that_merely_begins_like_a_selector_names_no_feature + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_passthrough_selector_is_read_however_it_is_written + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_argument_that_merely_begins_like_a_selector_names_no_feature + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_of_an_unrecognised_kind_does_not_propagate_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_outside_the_workspace_contributes_nothing_to_propagate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dev_dependency_counts_because_the_schema_is_built_with_cargo_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_member_feature_reference_to_an_undeclared_feature_does_not_invent_downstream_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_renamed_dependency_forwards_its_features_to_the_package_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_weak_reference_through_an_alias_resolves_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_alias_does_not_reach_beyond_the_manifest_that_declares_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::one_member_can_turn_on_anothers_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dev_dependency_counts_because_the_schema_is_built_with_cargo_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_member_feature_reference_to_an_undeclared_feature_does_not_invent_downstream_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_renamed_dependency_forwards_its_features_to_the_package_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_weak_reference_through_an_alias_resolves_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_alias_does_not_reach_beyond_the_manifest_that_declares_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::one_member_can_turn_on_anothers_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_of_an_unrecognised_kind_does_not_propagate_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dev_dependency_counts_because_the_schema_is_built_with_cargo_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_member_feature_reference_to_an_undeclared_feature_does_not_invent_downstream_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_renamed_dependency_forwards_its_features_to_the_package_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_weak_reference_through_an_alias_resolves_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_alias_does_not_reach_beyond_the_manifest_that_declares_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::one_member_can_turn_on_anothers_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dev_dependency_counts_because_the_schema_is_built_with_cargo_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_outside_the_workspace_contributes_nothing_to_propagate + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_of_an_unrecognised_kind_does_not_propagate_its_features + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_outside_the_workspace_contributes_nothing_to_propagate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_of_a_package_outside_the_workspace_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_member_feature_reference_to_an_undeclared_feature_does_not_invent_downstream_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_named_feature_is_turned_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_renamed_dependency_forwards_its_features_to_the_package_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_weak_reference_through_an_alias_resolves_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::all_features_turns_on_everything_declared + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_alias_does_not_reach_beyond_the_manifest_that_declares_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::default_is_on_and_expands + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::features_chain_through_their_own_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::one_member_can_turn_on_anothers_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::several_named_features_may_share_one_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_of_a_package_outside_the_workspace_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_member_feature_reference_to_an_undeclared_feature_does_not_invent_downstream_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_named_feature_is_turned_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_renamed_dependency_forwards_its_features_to_the_package_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_weak_reference_through_an_alias_resolves_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_alias_does_not_reach_beyond_the_manifest_that_declares_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::default_is_on_and_expands + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::features_chain_through_their_own_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::one_member_can_turn_on_anothers_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_that_is_not_declared_is_not_invented + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_named_feature_is_turned_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::several_named_features_may_share_one_argument + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_qualified_name_only_reaches_its_own_package + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_that_is_not_declared_is_not_invented + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_named_feature_is_turned_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_qualified_name_only_reaches_its_own_package + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::several_named_features_may_share_one_argument + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_of_an_unrecognised_kind_does_not_propagate_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_outside_the_workspace_contributes_nothing_to_propagate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dev_dependency_counts_because_the_schema_is_built_with_cargo_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_of_a_package_outside_the_workspace_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_that_is_not_declared_is_not_invented + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_member_feature_reference_to_an_undeclared_feature_does_not_invent_downstream_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_named_feature_is_turned_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_qualified_name_only_reaches_its_own_package + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_renamed_dependency_forwards_its_features_to_the_package_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_weak_reference_through_an_alias_resolves_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_alias_does_not_reach_beyond_the_manifest_that_declares_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::default_is_on_and_expands + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::every_member_appears_even_with_no_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::features_chain_through_their_own_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::no_default_features_leaves_nothing_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::one_member_can_turn_on_anothers_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::several_named_features_may_share_one_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_of_an_unrecognised_kind_does_not_propagate_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_outside_the_workspace_contributes_nothing_to_propagate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dev_dependency_counts_because_the_schema_is_built_with_cargo_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_of_a_package_outside_the_workspace_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_that_is_not_declared_is_not_invented + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_member_feature_reference_to_an_undeclared_feature_does_not_invent_downstream_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_named_feature_is_turned_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_qualified_name_only_reaches_its_own_package + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_renamed_dependency_forwards_its_features_to_the_package_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_weak_reference_through_an_alias_resolves_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_alias_does_not_reach_beyond_the_manifest_that_declares_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::default_is_on_and_expands + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::every_member_appears_even_with_no_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::features_chain_through_their_own_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::one_member_can_turn_on_anothers_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::several_named_features_may_share_one_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dep_entry_names_no_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_outside_the_workspace_contributes_nothing_to_propagate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_of_a_package_outside_the_workspace_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_member_feature_reference_to_an_undeclared_feature_does_not_invent_downstream_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_named_feature_is_turned_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_renamed_dependency_forwards_its_features_to_the_package_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_weak_reference_through_an_alias_resolves_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_alias_does_not_reach_beyond_the_manifest_that_declares_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::default_is_on_and_expands + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::features_chain_through_their_own_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::one_member_can_turn_on_anothers_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::all_features_turns_on_everything_declared + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_cycle_between_features_terminates + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dependency_declaration_contributes_its_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_dev_dependency_counts_because_the_schema_is_built_with_cargo_test + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_feature_of_a_package_outside_the_workspace_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_member_feature_reference_to_an_undeclared_feature_does_not_invent_downstream_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_named_feature_is_turned_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_renamed_dependency_forwards_its_features_to_the_package_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::a_weak_reference_through_an_alias_resolves_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::all_features_turns_on_everything_declared + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::an_alias_does_not_reach_beyond_the_manifest_that_declares_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::default_is_on_and_expands + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::features_chain_through_their_own_entries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::one_member_can_turn_on_anothers_feature + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::features::tests::worklist_matches_fixed_point_rescans + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_for_another_target_answers_about_that_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_of_several_targets_strips_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_custom_predicate_the_build_passes_holds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_name_the_build_cannot_settle_is_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_profile_without_debug_assertions_strips_the_other_half + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_valued_predicate_the_build_cannot_settle_is_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::an_unanswered_profile_leaves_both_halves_mutable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::the_host_answers_about_itself + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_for_another_target_answers_about_that_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::an_unanswered_profile_leaves_both_halves_mutable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::the_host_answers_about_itself + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_for_another_target_answers_about_that_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_custom_predicate_the_build_passes_holds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_name_the_build_cannot_settle_is_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_profile_without_debug_assertions_strips_the_other_half + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_rustc_probe_failure_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_valued_predicate_the_build_cannot_settle_is_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::an_unanswered_profile_leaves_both_halves_mutable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::the_host_answers_about_itself + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_for_another_target_answers_about_that_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_custom_predicate_the_build_passes_holds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_name_the_build_cannot_settle_is_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_profile_without_debug_assertions_strips_the_other_half + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_valued_predicate_the_build_cannot_settle_is_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::an_unanswered_profile_leaves_both_halves_mutable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::the_host_answers_about_itself + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_rustc_probe_failure_is_reported + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_build_for_another_target_answers_about_that_target + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_custom_predicate_the_build_passes_holds + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_name_the_build_cannot_settle_is_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_profile_without_debug_assertions_strips_the_other_half + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_valued_predicate_the_build_cannot_settle_is_unanswerable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::an_unanswered_profile_leaves_both_halves_mutable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::the_compiler_override_uses_cargos_rustc_variable + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::the_host_answers_about_itself + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: regressions + test: issue_018_annotations_stop_at_what_github_keeps + - - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: regressions + test: issue_018_a_sarif_log_stays_within_what_github_accepts + - package: cargo-gamma-lib + target: regressions + test: issue_018_annotations_stop_at_what_github_keeps + - - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: regressions + test: issue_018_a_sarif_log_stays_within_what_github_accepts + - package: cargo-gamma-lib + target: regressions + test: issue_018_annotations_stop_at_what_github_keeps + - - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: regressions + test: issue_018_a_sarif_log_stays_within_what_github_accepts + - - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: regressions + test: issue_018_a_sarif_log_stays_within_what_github_accepts + - - package: cargo-gamma-lib + target: regressions + test: issue_018_a_sarif_log_stays_within_what_github_accepts + - - package: cargo-gamma-lib + target: cli + test: clean_deletes_only_the_current_workspaces_cached_data + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_flag_turns_on_and_the_command_line_cannot_turn_it_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_package_list_contradicts_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_count_from_the_file_and_an_index_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_shard_named_on_the_command_line_overrides_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::absent_boolean_run_settings_leave_their_branches_disabled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::absent_feature_settings_do_not_enable_cargo_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_command_line_memory_mode_overrides_a_size_flag_implication + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_config_path_is_read_instead_of_the_default_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_config_path_that_is_missing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_alone_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_from_the_file_and_a_count_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::artifact_directory_comes_from_the_file_when_the_command_line_is_silent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::command_line_memory_limits_override_a_configured_memory_mode + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_list_concatenates_with_the_command_line_first + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::half_a_shard_in_the_file_and_nothing_on_the_command_line_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::lists_concatenate_rather_than_replace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::nextest_in_the_file_is_merged_in_and_adds_to_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::no_config_wins_over_a_file_that_is_there + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::ops_are_joined_into_the_selector_list_the_flag_parses + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::sharding_can_be_set_entirely_from_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_on_the_command_line_survives_a_file_that_does_not_set_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_outranks_the_file_for_every_scalar + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_wins_for_scalars + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::trait_implementation_exclusions_reach_mutant_selection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_on_the_command_line_survives_a_false_file_setting + - - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cli + test: a_negated_selector_carves_out_of_a_family + - package: cargo-gamma-lib + target: cli + test: selecting_one_operator_excludes_the_others + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_count_from_the_file_and_an_index_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_shard_named_on_the_command_line_overrides_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_from_the_file_and_a_count_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::sharding_can_be_set_entirely_from_the_file + - package: cargo-gamma-lib + target: cli + test: an_out_of_range_shard_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: shard_membership_is_deterministic + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_count_from_the_file_and_an_index_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_shard_named_on_the_command_line_overrides_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_from_the_file_and_a_count_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::sharding_can_be_set_entirely_from_the_file + - package: cargo-gamma-lib + target: cli + test: an_out_of_range_shard_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: shard_membership_is_deterministic + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_count_from_the_file_and_an_index_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_shard_named_on_the_command_line_overrides_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_alone_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_from_the_file_and_a_count_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::half_a_shard_in_the_file_and_nothing_on_the_command_line_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::sharding_can_be_set_entirely_from_the_file + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_count_from_the_file_and_an_index_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_shard_named_on_the_command_line_overrides_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_from_the_file_and_a_count_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::sharding_can_be_set_entirely_from_the_file + - package: cargo-gamma-lib + target: cli + test: shard_membership_is_deterministic + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::half_a_shard_in_the_file_and_nothing_on_the_command_line_is_refused + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_alone_in_the_file_is_refused + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cli + test: an_out_of_range_shard_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cli + test: a_directory_that_is_not_a_workspace_fails_without_panicking + - package: cargo-gamma-lib + target: cli + test: a_file_pattern_matching_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: a_file_that_does_not_parse_names_the_file + - package: cargo-gamma-lib + target: cli + test: an_out_of_range_shard_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: an_unknown_selector_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: explaining_an_unknown_subject_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cli + test: an_unknown_flag_goes_to_stderr_and_exits_one + - package: cargo-gamma-lib + target: cli + test: help_goes_to_stdout_and_exits_zero + - package: cargo-gamma-lib + target: cli + test: the_tool_works_when_invoked_directly_rather_than_through_cargo + - package: cargo-gamma-lib + target: regressions + test: issue_020_the_documented_option_names_are_the_ones_that_exist + - package: cargo-gamma-lib + target: regressions + test: issue_028_the_rollback_round_cap_is_configurable + - package: cargo-gamma-lib + target: session + test: the_advise_surface_that_became_a_flag_is_gone + - - package: cargo-gamma-lib + target: cli + test: help_goes_to_stdout_and_exits_zero + - package: cargo-gamma-lib + target: cli + test: the_tool_works_when_invoked_directly_rather_than_through_cargo + - package: cargo-gamma-lib + target: regressions + test: issue_020_the_documented_option_names_are_the_ones_that_exist + - package: cargo-gamma-lib + target: regressions + test: issue_028_the_rollback_round_cap_is_configurable + - - package: cargo-gamma-lib + target: cli + test: an_unknown_flag_goes_to_stderr_and_exits_one + - package: cargo-gamma-lib + target: session + test: the_advise_surface_that_became_a_flag_is_gone + - - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_020_the_documented_option_names_are_the_ones_that_exist + - package: cargo-gamma-lib + target: regressions + test: issue_028_the_rollback_round_cap_is_configurable + - package: cargo-gamma-lib + target: session + test: the_advise_surface_that_became_a_flag_is_gone + - - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: an_unknown_flag_goes_to_stderr_and_exits_one + - package: cargo-gamma-lib + target: cli + test: help_goes_to_stdout_and_exits_zero + - package: cargo-gamma-lib + target: cli + test: the_tool_works_when_invoked_directly_rather_than_through_cargo + - - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: an_unknown_flag_goes_to_stderr_and_exits_one + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: explaining_a_mutator_describes_how_to_suppress_it + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_negated_selector_carves_out_of_a_family + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: cli + test: doc_comments_are_not_reported_as_string_literals + - package: cargo-gamma-lib + target: cli + test: explaining_a_mutator_describes_how_to_suppress_it + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: cli + test: json_mutants_carry_a_stable_id + - package: cargo-gamma-lib + target: cli + test: json_output_is_valid_json + - package: cargo-gamma-lib + target: cli + test: listing_files_reports_the_library + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_expected_operators + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_file_line_and_column + - package: cargo-gamma-lib + target: cli + test: listing_ops_marks_the_enabled_set + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - package: cargo-gamma-lib + target: cli + test: results_go_to_stdout_and_progress_goes_to_stderr + - package: cargo-gamma-lib + target: cli + test: selecting_one_operator_excludes_the_others + - package: cargo-gamma-lib + target: cli + test: shard_membership_is_deterministic + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - package: cargo-gamma-lib + target: cli + test: test_modules_are_not_mutated + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_negated_selector_carves_out_of_a_family + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: cli + test: doc_comments_are_not_reported_as_string_literals + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_expected_operators + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_file_line_and_column + - package: cargo-gamma-lib + target: cli + test: results_go_to_stdout_and_progress_goes_to_stderr + - package: cargo-gamma-lib + target: cli + test: selecting_one_operator_excludes_the_others + - package: cargo-gamma-lib + target: cli + test: shard_membership_is_deterministic + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - package: cargo-gamma-lib + target: cli + test: test_modules_are_not_mutated + - - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - - package: cargo-gamma-lib + target: cli + test: listing_files_reports_the_library + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_negated_selector_carves_out_of_a_family + - package: cargo-gamma-lib + target: cli + test: an_empty_library_yields_no_mutants + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: cli + test: doc_comments_are_not_reported_as_string_literals + - package: cargo-gamma-lib + target: cli + test: excluded_files_are_not_scanned + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: cli + test: json_mutants_carry_a_stable_id + - package: cargo-gamma-lib + target: cli + test: json_output_is_valid_json + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_expected_operators + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_file_line_and_column + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - package: cargo-gamma-lib + target: cli + test: results_go_to_stdout_and_progress_goes_to_stderr + - package: cargo-gamma-lib + target: cli + test: selecting_one_operator_excludes_the_others + - package: cargo-gamma-lib + target: cli + test: shard_membership_is_deterministic + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - package: cargo-gamma-lib + target: cli + test: test_modules_are_not_mutated + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_negated_selector_carves_out_of_a_family + - package: cargo-gamma-lib + target: cli + test: an_empty_library_yields_no_mutants + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: cli + test: doc_comments_are_not_reported_as_string_literals + - package: cargo-gamma-lib + target: cli + test: excluded_files_are_not_scanned + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_expected_operators + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_file_line_and_column + - package: cargo-gamma-lib + target: cli + test: results_go_to_stdout_and_progress_goes_to_stderr + - package: cargo-gamma-lib + target: cli + test: selecting_one_operator_excludes_the_others + - package: cargo-gamma-lib + target: cli + test: shard_membership_is_deterministic + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - package: cargo-gamma-lib + target: cli + test: test_modules_are_not_mutated + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: json_mutants_carry_a_stable_id + - package: cargo-gamma-lib + target: cli + test: json_output_is_valid_json + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: listing_ops_marks_the_enabled_set + - - package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + - - package: cargo-gamma-lib + target: gate + test: a_merged_score_below_the_bar_exits_gate_failed + - - package: cargo-gamma-lib + target: gate + test: a_merged_score_at_or_above_the_bar_exits_ok + - - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_flag_turns_on_and_the_command_line_cannot_turn_it_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_count_from_the_file_and_an_index_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_shard_named_on_the_command_line_overrides_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::absent_boolean_run_settings_leave_their_branches_disabled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_command_line_memory_mode_overrides_a_size_flag_implication + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_alone_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_from_the_file_and_a_count_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::artifact_directory_comes_from_the_file_when_the_command_line_is_silent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::command_line_memory_limits_override_a_configured_memory_mode + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_list_concatenates_with_the_command_line_first + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::half_a_shard_in_the_file_and_nothing_on_the_command_line_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::lists_concatenate_rather_than_replace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::nextest_in_the_file_is_merged_in_and_adds_to_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::sharding_can_be_set_entirely_from_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_on_the_command_line_survives_a_file_that_does_not_set_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_outranks_the_file_for_every_scalar + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_wins_for_scalars + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_on_the_command_line_survives_a_false_file_setting + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_flag_turns_on_and_the_command_line_cannot_turn_it_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_count_from_the_file_and_an_index_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_shard_named_on_the_command_line_overrides_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::absent_boolean_run_settings_leave_their_branches_disabled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_command_line_memory_mode_overrides_a_size_flag_implication + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_alone_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_from_the_file_and_a_count_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::artifact_directory_comes_from_the_file_when_the_command_line_is_silent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::command_line_memory_limits_override_a_configured_memory_mode + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_list_concatenates_with_the_command_line_first + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::half_a_shard_in_the_file_and_nothing_on_the_command_line_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::lists_concatenate_rather_than_replace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::nextest_in_the_file_is_merged_in_and_adds_to_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::sharding_can_be_set_entirely_from_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_outranks_the_file_for_every_scalar + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_wins_for_scalars + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_on_the_command_line_survives_a_false_file_setting + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_flag_turns_on_and_the_command_line_cannot_turn_it_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_count_from_the_file_and_an_index_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_shard_named_on_the_command_line_overrides_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::absent_boolean_run_settings_leave_their_branches_disabled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_command_line_memory_mode_overrides_a_size_flag_implication + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_alone_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_from_the_file_and_a_count_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::artifact_directory_comes_from_the_file_when_the_command_line_is_silent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::command_line_memory_limits_override_a_configured_memory_mode + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_list_concatenates_with_the_command_line_first + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::half_a_shard_in_the_file_and_nothing_on_the_command_line_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::lists_concatenate_rather_than_replace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::nextest_in_the_file_is_merged_in_and_adds_to_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::sharding_can_be_set_entirely_from_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_on_the_command_line_survives_a_file_that_does_not_set_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_outranks_the_file_for_every_scalar + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_wins_for_scalars + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::ops_are_joined_into_the_selector_list_the_flag_parses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_flag_turns_on_and_the_command_line_cannot_turn_it_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_package_list_contradicts_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_count_from_the_file_and_an_index_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_shard_named_on_the_command_line_overrides_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::absent_boolean_run_settings_leave_their_branches_disabled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::absent_feature_settings_do_not_enable_cargo_features + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_command_line_memory_mode_overrides_a_size_flag_implication + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_alone_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_from_the_file_and_a_count_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::artifact_directory_comes_from_the_file_when_the_command_line_is_silent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::command_line_memory_limits_override_a_configured_memory_mode + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_list_concatenates_with_the_command_line_first + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::half_a_shard_in_the_file_and_nothing_on_the_command_line_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::lists_concatenate_rather_than_replace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::nextest_in_the_file_is_merged_in_and_adds_to_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::ops_are_joined_into_the_selector_list_the_flag_parses + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::sharding_can_be_set_entirely_from_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_on_the_command_line_survives_a_file_that_does_not_set_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_outranks_the_file_for_every_scalar + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_wins_for_scalars + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::trait_implementation_exclusions_reach_mutant_selection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_on_the_command_line_survives_a_false_file_setting + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::cargo_discovery_receives_the_profile_and_extra_arguments + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_foreign_config_file_is_noticed_but_never_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::foreign_project_detection_distinguishes_every_marker_combination + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_foreign_config_file_is_noticed_but_never_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::foreign_project_detection_distinguishes_every_marker_combination + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_config_that_cannot_be_read_is_an_error_rather_than_the_defaults + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_foreign_config_file_is_noticed_but_never_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_malformed_file_is_a_usage_error_naming_the_path + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_missing_file_is_not_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_present_file_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::no_config_wins_over_a_file_that_is_there + - package: cargo-gamma-lib + target: docs + test: the_workspace_configuration_loads_with_its_settings_intact + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_config_that_cannot_be_read_is_an_error_rather_than_the_defaults + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_foreign_config_file_is_noticed_but_never_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_missing_file_is_not_an_error + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_config_that_cannot_be_read_is_an_error_rather_than_the_defaults + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_flag_turns_on_and_the_command_line_cannot_turn_it_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_package_list_contradicts_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_count_from_the_file_and_an_index_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_malformed_file_is_a_usage_error_naming_the_path + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_memory_size_that_is_not_a_size_is_reported_rather_than_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_misspelled_key_in_a_table_is_also_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_misspelled_key_is_an_error_rather_than_a_silent_no_op + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_present_file_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_shard_named_on_the_command_line_overrides_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_trait_exclusion_names_an_unqualified_final_path_identifier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_empty_file_is_valid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_command_line_memory_mode_overrides_a_size_flag_implication + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_config_path_is_read_instead_of_the_default_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_alone_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_from_the_file_and_a_count_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::artifact_directory_comes_from_the_file_when_the_command_line_is_silent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::command_line_memory_limits_override_a_configured_memory_mode + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::half_a_shard_in_the_file_and_nothing_on_the_command_line_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::keys_are_spelled_in_kebab_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::lists_concatenate_rather_than_replace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::nextest_in_the_file_is_merged_in_and_adds_to_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::no_config_wins_over_a_file_that_is_there + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::ops_are_joined_into_the_selector_list_the_flag_parses + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::sharding_can_be_set_entirely_from_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_on_the_command_line_survives_a_file_that_does_not_set_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_wins_for_scalars + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::trait_exclusions_reject_the_old_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::trait_implementation_exclusions_reach_mutant_selection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_on_the_command_line_survives_a_false_file_setting + - package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: docs + test: the_example_configuration_is_inert_and_parses + - package: cargo-gamma-lib + target: docs + test: the_workspace_configuration_loads_with_its_settings_intact + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_flag_turns_on_and_the_command_line_cannot_turn_it_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_package_list_contradicts_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_count_from_the_file_and_an_index_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_present_file_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_shard_named_on_the_command_line_overrides_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_empty_file_is_valid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_command_line_memory_mode_overrides_a_size_flag_implication + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_config_path_is_read_instead_of_the_default_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_alone_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_from_the_file_and_a_count_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::artifact_directory_comes_from_the_file_when_the_command_line_is_silent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::command_line_memory_limits_override_a_configured_memory_mode + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::half_a_shard_in_the_file_and_nothing_on_the_command_line_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::keys_are_spelled_in_kebab_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::lists_concatenate_rather_than_replace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::nextest_in_the_file_is_merged_in_and_adds_to_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::no_config_wins_over_a_file_that_is_there + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::ops_are_joined_into_the_selector_list_the_flag_parses + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::sharding_can_be_set_entirely_from_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_on_the_command_line_survives_a_file_that_does_not_set_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_wins_for_scalars + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::trait_implementation_exclusions_reach_mutant_selection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_on_the_command_line_survives_a_false_file_setting + - package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: docs + test: the_example_configuration_is_inert_and_parses + - package: cargo-gamma-lib + target: docs + test: the_workspace_configuration_loads_with_its_settings_intact + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_config_path_is_read_instead_of_the_default_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_config_path_that_is_missing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::no_config_wins_over_a_file_that_is_there + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_flag_turns_on_and_the_command_line_cannot_turn_it_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_package_list_contradicts_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_count_from_the_file_and_an_index_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_memory_size_that_is_not_a_size_is_reported_rather_than_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_present_file_is_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_shard_named_on_the_command_line_overrides_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_trait_exclusion_names_an_unqualified_final_path_identifier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_empty_file_is_valid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_command_line_memory_mode_overrides_a_size_flag_implication + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_config_path_is_read_instead_of_the_default_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_alone_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_from_the_file_and_a_count_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::artifact_directory_comes_from_the_file_when_the_command_line_is_silent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::command_line_memory_limits_override_a_configured_memory_mode + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::half_a_shard_in_the_file_and_nothing_on_the_command_line_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::keys_are_spelled_in_kebab_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::lists_concatenate_rather_than_replace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::nextest_in_the_file_is_merged_in_and_adds_to_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::no_config_wins_over_a_file_that_is_there + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::ops_are_joined_into_the_selector_list_the_flag_parses + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::sharding_can_be_set_entirely_from_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_on_the_command_line_survives_a_file_that_does_not_set_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_wins_for_scalars + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::trait_implementation_exclusions_reach_mutant_selection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_on_the_command_line_survives_a_false_file_setting + - package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: docs + test: the_example_configuration_is_inert_and_parses + - package: cargo-gamma-lib + target: docs + test: the_workspace_configuration_loads_with_its_settings_intact + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_trait_exclusion_names_an_unqualified_final_path_identifier + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_package_list_contradicts_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_package_list_contradicts_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_package_list_contradicts_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_flag_turns_on_and_the_command_line_cannot_turn_it_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_list_on_its_own_is_not_a_contradiction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_count_from_the_file_and_an_index_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_shard_named_on_the_command_line_overrides_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_typed_ceiling_implies_a_mode_that_outranks_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::absent_boolean_run_settings_leave_their_branches_disabled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_command_line_memory_mode_overrides_a_size_flag_implication + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_alone_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_from_the_file_and_a_count_from_the_command_line_make_one_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::artifact_directory_comes_from_the_file_when_the_command_line_is_silent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::command_line_memory_limits_override_a_configured_memory_mode + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_configured_key_reaches_its_setting + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::half_a_shard_in_the_file_and_nothing_on_the_command_line_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::lists_concatenate_rather_than_replace + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::memory_sizes_in_the_file_are_parsed_and_merged_into_the_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::nextest_in_the_file_is_merged_in_and_adds_to_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::sharding_can_be_set_entirely_from_the_file + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::test_workspace_on_the_command_line_survives_a_file_that_does_not_set_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::the_command_line_wins_for_scalars + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_in_the_file_selects_the_same_oracle_as_the_flag + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::whole_test_binaries_on_the_command_line_survives_a_false_file_setting + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cli + test: a_file_pattern_matching_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: excluded_files_are_not_scanned + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: units + test: glob::a_bare_name_matches_at_any_depth + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_crosses_separators + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_matches_zero_segments + - package: cargo-gamma-lib + target: units + test: glob::a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: units + test: glob::a_question_mark_matches_one_character + - package: cargo-gamma-lib + target: units + test: glob::a_star_does_not_cross_separators + - package: cargo-gamma-lib + target: units + test: glob::an_exact_pattern_matches_exactly + - package: cargo-gamma-lib + target: units + test: glob::repeated_double_stars_have_bounded_work + - - package: cargo-gamma-lib + target: units + test: glob::a_question_mark_matches_one_character + - - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_crosses_separators + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_matches_zero_segments + - package: cargo-gamma-lib + target: units + test: glob::a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: units + test: glob::a_star_does_not_cross_separators + - - package: cargo-gamma-lib + target: units + test: glob::a_double_star_crosses_separators + - package: cargo-gamma-lib + target: units + test: glob::repeated_double_stars_have_bounded_work + - - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_crosses_separators + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_matches_zero_segments + - package: cargo-gamma-lib + target: units + test: glob::a_pattern_and_a_path_are_compared_on_the_same_separators + - - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: units + test: glob::a_bare_name_matches_at_any_depth + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_crosses_separators + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_matches_zero_segments + - package: cargo-gamma-lib + target: units + test: glob::a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: units + test: glob::a_question_mark_matches_one_character + - package: cargo-gamma-lib + target: units + test: glob::a_star_does_not_cross_separators + - package: cargo-gamma-lib + target: units + test: glob::an_exact_pattern_matches_exactly + - package: cargo-gamma-lib + target: units + test: glob::repeated_double_stars_have_bounded_work + - - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: units + test: glob::a_bare_name_matches_at_any_depth + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_crosses_separators + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_matches_zero_segments + - package: cargo-gamma-lib + target: units + test: glob::a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: units + test: glob::a_question_mark_matches_one_character + - package: cargo-gamma-lib + target: units + test: glob::a_star_does_not_cross_separators + - package: cargo-gamma-lib + target: units + test: glob::an_exact_pattern_matches_exactly + - package: cargo-gamma-lib + target: units + test: glob::repeated_double_stars_have_bounded_work + - - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_crosses_separators + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_matches_zero_segments + - package: cargo-gamma-lib + target: units + test: glob::a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: units + test: glob::a_star_does_not_cross_separators + - package: cargo-gamma-lib + target: units + test: glob::repeated_double_stars_have_bounded_work + - - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_crosses_separators + - package: cargo-gamma-lib + target: units + test: glob::a_double_star_matches_zero_segments + - package: cargo-gamma-lib + target: units + test: glob::a_pattern_and_a_path_are_compared_on_the_same_separators + - package: cargo-gamma-lib + target: units + test: glob::repeated_double_stars_have_bounded_work + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - - package: cargo-gamma-lib + target: cli + test: shard_membership_is_deterministic + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - - package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - - package: cargo-gamma-lib + target: cli + test: a_file_pattern_matching_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cli + test: excluded_files_are_not_scanned + - - package: cargo-gamma-lib + target: cli + test: a_file_pattern_matching_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: excluded_files_are_not_scanned + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cli + test: a_file_pattern_matching_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: excluded_files_are_not_scanned + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_negated_selector_carves_out_of_a_family + - package: cargo-gamma-lib + target: cli + test: an_empty_library_yields_no_mutants + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: cli + test: doc_comments_are_not_reported_as_string_literals + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: cli + test: json_mutants_carry_a_stable_id + - package: cargo-gamma-lib + target: cli + test: json_output_is_valid_json + - package: cargo-gamma-lib + target: cli + test: listing_files_reports_the_library + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_expected_operators + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_file_line_and_column + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - package: cargo-gamma-lib + target: cli + test: results_go_to_stdout_and_progress_goes_to_stderr + - package: cargo-gamma-lib + target: cli + test: selecting_one_operator_excludes_the_others + - package: cargo-gamma-lib + target: cli + test: shard_membership_is_deterministic + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - package: cargo-gamma-lib + target: cli + test: test_modules_are_not_mutated + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_negated_selector_carves_out_of_a_family + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: cli + test: doc_comments_are_not_reported_as_string_literals + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: cli + test: json_mutants_carry_a_stable_id + - package: cargo-gamma-lib + target: cli + test: json_output_is_valid_json + - package: cargo-gamma-lib + target: cli + test: listing_files_reports_the_library + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_expected_operators + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_file_line_and_column + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - package: cargo-gamma-lib + target: cli + test: results_go_to_stdout_and_progress_goes_to_stderr + - package: cargo-gamma-lib + target: cli + test: selecting_one_operator_excludes_the_others + - package: cargo-gamma-lib + target: cli + test: shard_membership_is_deterministic + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - package: cargo-gamma-lib + target: cli + test: test_modules_are_not_mutated + - - package: cargo-gamma-lib + target: cli + test: a_file_that_does_not_parse_names_the_file + - - package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::an_unknown_block_name_is_refused_rather_than_rendered_empty + - package: cargo-gamma-lib + target: docs + test: one_row_of_every_generated_block_is_pinned_to_a_hand_written_expectation + - package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + - - package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + - - package: cargo-gamma-lib + target: docs + test: one_row_of_every_generated_block_is_pinned_to_a_hand_written_expectation + - package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::an_unknown_block_name_is_refused_rather_than_rendered_empty + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::a_description_containing_a_pipe_cannot_break_the_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::an_unknown_block_name_is_refused_rather_than_rendered_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::every_registered_mutator_appears_in_the_mutator_table + - package: cargo-gamma-lib + target: docs + test: one_row_of_every_generated_block_is_pinned_to_a_hand_written_expectation + - package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::an_unknown_block_name_is_refused_rather_than_rendered_empty + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::every_registered_mutator_appears_in_the_mutator_table + - package: cargo-gamma-lib + target: docs + test: one_row_of_every_generated_block_is_pinned_to_a_hand_written_expectation + - package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::an_unrecognized_family_name_is_given_no_question_rather_than_a_guess + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::every_family_is_given_a_question_to_ask + - package: cargo-gamma-lib + target: docs + test: one_row_of_every_generated_block_is_pinned_to_a_hand_written_expectation + - package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::every_family_is_given_a_question_to_ask + - package: cargo-gamma-lib + target: docs + test: one_row_of_every_generated_block_is_pinned_to_a_hand_written_expectation + - package: cargo-gamma-lib + target: docs + test: the_generated_reference_tables_match_the_registry + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: docs::tests::an_unrecognized_family_name_is_given_no_question_rather_than_a_guess + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_streamed_page_matches_the_string_form + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_streamed_page_matches_the_string_form + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::a_closing_script_tag_in_the_source_cannot_break_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_inline_page_carries_the_whole_viewer + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_page_follows_the_theme_the_viewer_settled_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_page_loads_no_code_from_anywhere_else + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_streamed_page_matches_the_string_form + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_theme_listener_is_registered_before_the_report_starts_the_update_cycle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::unsharded_reports_merge_and_report_full_coverage + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_file_keeps_its_selected_source_language + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_never_withdraws_anything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_only_merge_says_its_withdrawals_went_unchecked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_timeout_counts_as_undetected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_leaves_the_rendered_document_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unsharded_merge_checks_every_file_it_covers + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unstamped_report_has_exactly_the_current_identity_version + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::incompatible_input_names_are_reported_in_stable_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::metadata_aggregation_distinguishes_zero_one_and_maximum_values + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_source_text_comes_from_the_newest_report_not_the_last_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unviable_and_suppressed_mutants_stay_out_of_the_denominator + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::supported_schema_versions_are_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unsupported_or_malformed_schema_versions_are_refused + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_document_missing_or_corrupting_a_required_field_is_not_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_framework_without_a_version_keeps_its_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_the_schema_does_not_define_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::supported_schema_versions_are_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unrelated_free_form_config_does_not_make_a_report_invalid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unsupported_or_malformed_schema_versions_are_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unsupported_or_malformed_schema_versions_are_refused + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_document_missing_or_corrupting_a_required_field_is_not_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_framework_without_a_version_keeps_its_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_the_schema_does_not_define_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::supported_schema_versions_are_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unrelated_free_form_config_does_not_make_a_report_invalid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_document_missing_or_corrupting_a_required_field_is_not_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_the_schema_does_not_define_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_document_missing_or_corrupting_a_required_field_is_not_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_framework_without_a_version_keeps_its_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::supported_schema_versions_are_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unrelated_free_form_config_does_not_make_a_report_invalid + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_framework_without_a_version_keeps_its_name + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_document_missing_or_corrupting_a_required_field_is_not_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_framework_without_a_version_keeps_its_name + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_the_schema_does_not_define_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_the_schema_does_not_define_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_the_schema_does_not_define_is_refused + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_document_missing_or_corrupting_a_required_field_is_not_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_framework_without_a_version_keeps_its_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_the_schema_does_not_define_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::supported_schema_versions_are_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unrelated_free_form_config_does_not_make_a_report_invalid + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_framework_without_a_version_keeps_its_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::supported_schema_versions_are_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unrelated_free_form_config_does_not_make_a_report_invalid + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_document_missing_or_corrupting_a_required_field_is_not_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_framework_without_a_version_keeps_its_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_the_schema_does_not_define_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::supported_schema_versions_are_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unrelated_free_form_config_does_not_make_a_report_invalid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unsupported_or_malformed_schema_versions_are_refused + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unrelated_free_form_config_does_not_make_a_report_invalid + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_framework_without_a_version_keeps_its_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::supported_schema_versions_are_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unrelated_free_form_config_does_not_make_a_report_invalid + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_rustc_probe_failure_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_config_that_cannot_be_read_is_an_error_rather_than_the_defaults + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_package_list_contradicts_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_malformed_file_is_a_usage_error_naming_the_path + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_alone_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::half_a_shard_in_the_file_and_nothing_on_the_command_line_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::cause_is_appended_to_the_display_form + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::engine_errors_preserve_classification_and_causes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::io_errors_convert + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::marking_a_usage_error_preserves_the_message_and_cause + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::message_is_preserved + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::a_survivor_cannot_be_made_eligible + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::unknown_eligible_verdicts_are_errors + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_document_missing_or_corrupting_a_required_field_is_not_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_file_over_the_ceiling_is_refused_by_its_size_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_that_grows_after_its_handle_is_checked_still_hits_the_read_cap + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_the_schema_does_not_define_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::replacing_a_checked_path_cannot_change_the_capped_handle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unsupported_or_malformed_schema_versions_are_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::collisions_are_detected_for_resolvable_and_unresolvable_paths + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::containment_accepts_descendants_and_refuses_siblings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::excessive_windows_link_indirection_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::windows_links_are_resolved_and_containment_uses_their_targets + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_diagnostic_stream_fails_the_session_notes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_untested_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_pipe_that_closes_partway_through_fails_whichever_note_was_writing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cli + test: a_directory_that_is_not_a_workspace_fails_without_panicking + - package: cargo-gamma-lib + target: cli + test: a_file_pattern_matching_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: a_file_that_does_not_parse_names_the_file + - package: cargo-gamma-lib + target: cli + test: an_out_of_range_shard_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: an_unknown_selector_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: explaining_an_unknown_subject_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::io_errors_convert + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_diagnostic_stream_fails_the_session_notes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_untested_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_pipe_that_closes_partway_through_fails_whichever_note_was_writing + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::engine_errors_preserve_classification_and_causes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::source_is_exposed_for_the_error_trait + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_config_that_cannot_be_read_is_an_error_rather_than_the_defaults + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_config_path_that_is_missing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::cause_is_appended_to_the_display_form + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::io_errors_convert + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::marking_a_usage_error_preserves_the_message_and_cause + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::source_is_exposed_for_the_error_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_document_missing_or_corrupting_a_required_field_is_not_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_diagnostic_stream_fails_the_session_notes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_untested_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_pipe_that_closes_partway_through_fails_whichever_note_was_writing + - package: cargo-gamma-lib + target: cli + test: a_directory_that_is_not_a_workspace_fails_without_panicking + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::message_is_preserved + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: cfg::probe::tests::a_rustc_probe_failure_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_config_that_cannot_be_read_is_an_error_rather_than_the_defaults + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_package_list_contradicts_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_package_list_contradicts_test_workspace_on_the_command_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_configured_test_workspace_is_merged_and_then_contradicts_configured_test_packages + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_file_count_that_the_command_line_index_falls_outside_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_malformed_file_is_a_usage_error_naming_the_path + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::a_zero_count_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_explicit_config_path_that_is_missing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::an_index_alone_in_the_file_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::every_config_reachable_conflicting_pair_is_checked_after_the_merge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: config::tests::half_a_shard_in_the_file_and_nothing_on_the_command_line_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::cause_is_appended_to_the_display_form + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::errors_are_not_usage_errors_by_default + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::io_errors_convert + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::marking_a_usage_error_preserves_the_message_and_cause + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::message_is_preserved + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::source_is_exposed_for_the_error_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: error::tests::usage_errors_are_marked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::a_survivor_cannot_be_made_eligible + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::unknown_eligible_verdicts_are_errors + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_document_missing_or_corrupting_a_required_field_is_not_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_file_over_the_ceiling_is_refused_by_its_size_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_that_grows_after_its_handle_is_checked_still_hits_the_read_cap + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_the_schema_does_not_define_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::replacing_a_checked_path_cannot_change_the_capped_handle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unsupported_or_malformed_schema_versions_are_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::collisions_are_detected_for_resolvable_and_unresolvable_paths + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::containment_accepts_descendants_and_refuses_siblings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::excessive_windows_link_indirection_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::windows_links_are_resolved_and_containment_uses_their_targets + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_diagnostic_stream_fails_the_session_notes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_untested_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_pipe_that_closes_partway_through_fails_whichever_note_was_writing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cli + test: a_directory_that_is_not_a_workspace_fails_without_panicking + - package: cargo-gamma-lib + target: cli + test: a_file_pattern_matching_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: an_out_of_range_shard_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_error_bar_brackets_the_estimate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_error_bar_never_widens_the_part_that_was_measured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_projected_range_never_reaches_past_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_the_ceiling_leaves_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_widens_the_range + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_worst_case_exceeds_the_estimate + - package: cargo-gamma-lib + target: regressions + test: issue_005_the_projected_range_never_reaches_past_the_ceiling + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_error_bar_brackets_the_estimate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_error_bar_never_widens_the_part_that_was_measured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_the_ceiling_leaves_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_widens_the_range + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_error_bar_brackets_the_estimate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_error_bar_never_widens_the_part_that_was_measured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_projected_range_never_reaches_past_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_the_ceiling_leaves_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_widens_the_range + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_worst_case_exceeds_the_estimate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_worst_case_pays_for_confirming_every_timeout + - package: cargo-gamma-lib + target: regressions + test: issue_005_the_projected_range_never_reaches_past_the_ceiling + - package: cargo-gamma-lib + target: regressions + test: issue_005_the_worst_case_pays_for_confirming_every_timeout + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::a_hang_is_charged_for_one_binary_rather_than_all_of_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::hanging_mutants_cost_more_than_mutants_that_are_judged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::only_mutants_that_would_run_are_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::only_the_binaries_a_mutant_reaches_are_charged_for_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::parallelism_divides_the_projection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_error_bar_brackets_the_estimate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_error_bar_never_widens_the_part_that_was_measured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_projected_range_never_reaches_past_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_the_ceiling_leaves_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_widens_the_range + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_worst_case_exceeds_the_estimate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_worst_case_pays_for_confirming_every_timeout + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::zero_jobs_does_not_divide_by_zero + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: regressions + test: issue_005_the_projected_range_never_reaches_past_the_ceiling + - package: cargo-gamma-lib + target: regressions + test: issue_005_the_worst_case_pays_for_confirming_every_timeout + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::a_hang_is_charged_for_one_binary_rather_than_all_of_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::hanging_mutants_cost_more_than_mutants_that_are_judged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::only_mutants_that_would_run_are_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::only_the_binaries_a_mutant_reaches_are_charged_for_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::parallelism_divides_the_projection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_error_bar_brackets_the_estimate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_projected_range_never_reaches_past_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_the_ceiling_leaves_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_widens_the_range + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_worst_case_exceeds_the_estimate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_worst_case_pays_for_confirming_every_timeout + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::zero_jobs_does_not_divide_by_zero + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_the_ceiling_leaves_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_widens_the_range + - - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: testing::tests::the_portable_helper_obeys_its_directives + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: testing::tests::the_portable_helper_obeys_its_directives + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: testing::tests::the_portable_helper_obeys_its_directives + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_020_the_documented_option_names_are_the_ones_that_exist + - package: cargo-gamma-lib + target: regressions + test: issue_028_the_rollback_round_cap_is_configurable + - package: cargo-gamma-lib + target: session + test: the_advise_surface_that_became_a_flag_is_gone + - - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: clean_deletes_only_the_current_workspaces_cached_data + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: clean_deletes_only_the_current_workspaces_cached_data + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: clean_deletes_only_the_current_workspaces_cached_data + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: clean_deletes_only_the_current_workspaces_cached_data + - - package: cargo-gamma-lib + target: units + test: diff::a_diff_accounts_for_every_line_of_both_texts + - package: cargo-gamma-lib + target: units + test: diff::a_diff_of_a_file_against_itself_is_all_context + - package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_a_deleted_line_as_a_removal + - package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_an_inserted_line_as_an_addition + - package: cargo-gamma-lib + target: units + test: diff::an_emptied_file_is_all_removals_and_a_filled_one_all_additions + - package: cargo-gamma-lib + target: units + test: diff::the_diff_marks_only_the_added_lines + - package: cargo-gamma-lib + target: units + test: diff::two_empty_texts_diff_to_nothing + - - package: cargo-gamma-lib + target: units + test: diff::a_diff_accounts_for_every_line_of_both_texts + - package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_a_deleted_line_as_a_removal + - package: cargo-gamma-lib + target: units + test: diff::an_emptied_file_is_all_removals_and_a_filled_one_all_additions + - - package: cargo-gamma-lib + target: units + test: diff::a_diff_accounts_for_every_line_of_both_texts + - package: cargo-gamma-lib + target: units + test: diff::an_emptied_file_is_all_removals_and_a_filled_one_all_additions + - - package: cargo-gamma-lib + target: units + test: diff::a_diff_accounts_for_every_line_of_both_texts + - package: cargo-gamma-lib + target: units + test: diff::a_diff_of_a_file_against_itself_is_all_context + - package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_a_deleted_line_as_a_removal + - package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_an_inserted_line_as_an_addition + - package: cargo-gamma-lib + target: units + test: diff::an_emptied_file_is_all_removals_and_a_filled_one_all_additions + - package: cargo-gamma-lib + target: units + test: diff::the_diff_marks_only_the_added_lines + - - package: cargo-gamma-lib + target: units + test: diff::a_diff_accounts_for_every_line_of_both_texts + - package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_a_deleted_line_as_a_removal + - package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_an_inserted_line_as_an_addition + - package: cargo-gamma-lib + target: units + test: diff::an_emptied_file_is_all_removals_and_a_filled_one_all_additions + - package: cargo-gamma-lib + target: units + test: diff::the_diff_marks_only_the_added_lines + - - package: cargo-gamma-lib + target: units + test: diff::a_diff_accounts_for_every_line_of_both_texts + - package: cargo-gamma-lib + target: units + test: diff::a_diff_of_a_file_against_itself_is_all_context + - package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_a_deleted_line_as_a_removal + - package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_an_inserted_line_as_an_addition + - package: cargo-gamma-lib + target: units + test: diff::the_diff_marks_only_the_added_lines + - - package: cargo-gamma-lib + target: units + test: diff::a_diff_accounts_for_every_line_of_both_texts + - - package: cargo-gamma-lib + target: units + test: diff::a_diff_accounts_for_every_line_of_both_texts + - package: cargo-gamma-lib + target: units + test: diff::a_diff_shows_an_inserted_line_as_an_addition + - package: cargo-gamma-lib + target: units + test: diff::an_emptied_file_is_all_removals_and_a_filled_one_all_additions + - package: cargo-gamma-lib + target: units + test: diff::the_diff_marks_only_the_added_lines + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::edit::tests::a_directive_ends_the_way_the_file_it_joins_does + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::edit::tests::a_directive_names_the_exact_mutators_never_a_family + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_crlf_file_keeps_its_line_endings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_directive_is_written_above_the_line_at_its_indentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_hand_written_directive_is_never_rewritten + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_new_reason_at_a_suppressed_site_does_not_retag_the_existing_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_second_mutator_extends_the_generated_directive_rather_than_stacking + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::an_lf_file_keeps_its_line_endings_even_with_one_stray_crlf + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::edits_are_applied_from_the_end_so_earlier_lines_stay_valid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::running_twice_is_a_no_op + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::two_reasons_at_one_site_stack_above_the_line_they_govern + - package: cargo-gamma-lib + target: regressions + test: issue_019_a_crlf_file_keeps_its_line_endings + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::a_survivor_cannot_be_made_eligible + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::eligible_lists_are_trimmed_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::out_of_memory_is_eligible_under_each_of_its_spellings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::unknown_eligible_verdicts_are_errors + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::eligible_lists_are_trimmed_sorted_and_deduplicated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::out_of_memory_is_eligible_under_each_of_its_spellings + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::a_survivor_cannot_be_made_eligible + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::out_of_memory_is_eligible_under_each_of_its_spellings + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::eligible_lists_are_trimmed_sorted_and_deduplicated + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::eligible::tests::unknown_eligible_verdicts_are_errors + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_second_mutator_extends_the_generated_directive_rather_than_stacking + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::running_twice_is_a_no_op + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::two_reasons_at_one_site_stack_above_the_line_they_govern + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::edits_are_applied_from_the_end_so_earlier_lines_stay_valid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::two_reasons_at_one_site_stack_above_the_line_they_govern + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_crlf_file_keeps_its_line_endings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_directive_is_written_above_the_line_at_its_indentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_hand_written_directive_is_never_rewritten + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_new_reason_at_a_suppressed_site_does_not_retag_the_existing_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_second_mutator_extends_the_generated_directive_rather_than_stacking + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::an_lf_file_keeps_its_line_endings_even_with_one_stray_crlf + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::edits_are_applied_from_the_end_so_earlier_lines_stay_valid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::running_twice_is_a_no_op + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::two_reasons_at_one_site_stack_above_the_line_they_govern + - package: cargo-gamma-lib + target: regressions + test: issue_019_a_crlf_file_keeps_its_line_endings + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_crlf_file_keeps_its_line_endings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_directive_is_written_above_the_line_at_its_indentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_hand_written_directive_is_never_rewritten + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_new_reason_at_a_suppressed_site_does_not_retag_the_existing_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_second_mutator_extends_the_generated_directive_rather_than_stacking + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::an_lf_file_keeps_its_line_endings_even_with_one_stray_crlf + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::edits_are_applied_from_the_end_so_earlier_lines_stay_valid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::edits_for_missing_lines_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::running_twice_is_a_no_op + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::two_reasons_at_one_site_stack_above_the_line_they_govern + - package: cargo-gamma-lib + target: regressions + test: issue_019_a_crlf_file_keeps_its_line_endings + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_crlf_file_keeps_its_line_endings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_directive_is_written_above_the_line_at_its_indentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_hand_written_directive_is_never_rewritten + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_new_reason_at_a_suppressed_site_does_not_retag_the_existing_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_second_mutator_extends_the_generated_directive_rather_than_stacking + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::an_lf_file_keeps_its_line_endings_even_with_one_stray_crlf + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::running_twice_is_a_no_op + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::two_reasons_at_one_site_stack_above_the_line_they_govern + - package: cargo-gamma-lib + target: regressions + test: issue_019_a_crlf_file_keeps_its_line_endings + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::the_epoch_converts_to_its_known_date + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::today_is_a_plausible_date + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::the_epoch_converts_to_its_known_date + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_directive_is_written_above_the_line_at_its_indentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_hand_written_directive_is_never_rewritten + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_new_reason_at_a_suppressed_site_does_not_retag_the_existing_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_second_mutator_extends_the_generated_directive_rather_than_stacking + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::an_lf_file_keeps_its_line_endings_even_with_one_stray_crlf + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::edits_are_applied_from_the_end_so_earlier_lines_stay_valid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::edits_for_missing_lines_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::running_twice_is_a_no_op + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::two_reasons_at_one_site_stack_above_the_line_they_govern + - package: cargo-gamma-lib + target: regressions + test: issue_019_a_crlf_file_keeps_its_line_endings + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_crlf_file_keeps_its_line_endings + - package: cargo-gamma-lib + target: regressions + test: issue_019_a_crlf_file_keeps_its_line_endings + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_new_reason_at_a_suppressed_site_does_not_retag_the_existing_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_second_mutator_extends_the_generated_directive_rather_than_stacking + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::running_twice_is_a_no_op + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::two_reasons_at_one_site_stack_above_the_line_they_govern + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_new_reason_at_a_suppressed_site_does_not_retag_the_existing_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::two_reasons_at_one_site_stack_above_the_line_they_govern + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::edits_are_applied_from_the_end_so_earlier_lines_stay_valid + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_survivor_is_skipped_even_if_it_reaches_the_planner + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::ineligible_outcomes_are_not_planned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::mutators_at_one_site_coalesce_into_a_single_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::one_site_stopped_for_two_reasons_gets_one_directive_for_each + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::timeouts_are_eligible_by_default_and_unviables_are_opt_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::two_reasons_at_one_site_stack_above_the_line_they_govern + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::a_survivor_is_skipped_even_if_it_reaches_the_planner + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::plan::tests::today_is_a_plausible_date + - - package: cargo-gamma-lib + target: units + test: removal::a_directive_sharing_its_line_with_anything_else_is_not_removable + - package: cargo-gamma-lib + target: units + test: removal::a_line_that_is_only_a_directive_is_removable + - - package: cargo-gamma-lib + target: units + test: removal::a_line_that_is_only_a_directive_is_removable + - - package: cargo-gamma-lib + target: units + test: removal::a_directive_sharing_its_line_with_anything_else_is_not_removable + - - package: cargo-gamma-lib + target: units + test: removal::removal_keeps_the_line_endings_the_file_already_had + - package: cargo-gamma-lib + target: units + test: removal::removing_a_line_leaves_the_rest_untouched + - package: cargo-gamma-lib + target: units + test: removal::removing_several_lines_does_not_shift_the_ones_still_to_go + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::verify::tests::a_clean_verification_is_both_halves + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::verify::tests::a_mutant_that_stops_being_suppressed_is_reported_as_released + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::verify::tests::verification_notices_an_edit_that_suppressed_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::verify::tests::verification_notices_collateral_suppression + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::verify::tests::a_clean_verification_is_both_halves + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::verify::tests::verification_notices_collateral_suppression + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::verify::tests::a_clean_verification_is_both_halves + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::verify::tests::verification_notices_an_edit_that_suppressed_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::verify::tests::verification_notices_collateral_suppression + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: fix::verify::tests::a_mutant_that_stops_being_suppressed_is_reported_as_released + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::a_closing_script_tag_in_the_source_cannot_break_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::escaping_leaves_the_document_valid_json + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::a_closing_script_tag_in_the_source_cannot_break_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::escaping_leaves_the_document_valid_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_inline_page_carries_the_whole_viewer + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_page_follows_the_theme_the_viewer_settled_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_page_loads_no_code_from_anywhere_else + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_streamed_page_matches_the_string_form + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_theme_listener_is_registered_before_the_report_starts_the_update_cycle + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::a_closing_script_tag_in_the_source_cannot_break_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::escaping_leaves_the_document_valid_json + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::a_closing_script_tag_in_the_source_cannot_break_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_inline_page_carries_the_whole_viewer + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_page_follows_the_theme_the_viewer_settled_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_page_loads_no_code_from_anywhere_else + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_streamed_page_matches_the_string_form + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_theme_listener_is_registered_before_the_report_starts_the_update_cycle + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::a_closing_script_tag_in_the_source_cannot_break_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_inline_page_carries_the_whole_viewer + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_page_follows_the_theme_the_viewer_settled_on + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_page_loads_no_code_from_anywhere_else + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_streamed_page_matches_the_string_form + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_theme_listener_is_registered_before_the_report_starts_the_update_cycle + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::unsharded_reports_merge_and_report_full_coverage + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::a_rotation_at_the_bound_still_reports_every_missing_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::an_unchecked_shard_count_is_reported_up_to_the_bound_and_no_further + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::a_rotation_at_the_bound_still_reports_every_missing_shard + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::an_unchecked_shard_count_is_reported_up_to_the_bound_and_no_further + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::unsharded_reports_merge_and_report_full_coverage + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merging_nothing_prints_a_perfect_score_but_has_nothing_to_grade + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merging_nothing_prints_a_perfect_score_but_has_nothing_to_grade + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_document_missing_or_corrupting_a_required_field_is_not_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_file_over_the_ceiling_is_refused_by_its_size_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_framework_without_a_version_keeps_its_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_that_grows_after_its_handle_is_checked_still_hits_the_read_cap + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_the_schema_does_not_define_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::replacing_a_checked_path_cannot_change_the_capped_handle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::supported_schema_versions_are_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unrelated_free_form_config_does_not_make_a_report_invalid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unsupported_or_malformed_schema_versions_are_refused + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_document_missing_or_corrupting_a_required_field_is_not_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_framework_without_a_version_keeps_its_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_that_grows_after_its_handle_is_checked_still_hits_the_read_cap + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_the_schema_does_not_define_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::replacing_a_checked_path_cannot_change_the_capped_handle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::supported_schema_versions_are_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unrelated_free_form_config_does_not_make_a_report_invalid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unsupported_or_malformed_schema_versions_are_refused + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_that_grows_after_its_handle_is_checked_still_hits_the_read_cap + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::replacing_a_checked_path_cannot_change_the_capped_handle + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_document_missing_or_corrupting_a_required_field_is_not_a_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_file_over_the_ceiling_is_refused_by_its_size_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_framework_without_a_version_keeps_its_name + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_the_schema_does_not_define_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::invalid_optional_schema_fields_are_not_silently_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::repeated_ids_are_rejected_within_and_across_files + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::schema_bounds_are_enforced_before_a_report_is_merged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::supported_schema_versions_are_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unrelated_free_form_config_does_not_make_a_report_invalid + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::unsupported_or_malformed_schema_versions_are_refused + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::an_impossible_shard_count_is_refused_at_the_file_that_carried_it + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_shard_outside_its_own_rotation_is_refused + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_from_the_future_is_refused_at_the_file_that_carried_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_rotation_at_the_largest_supported_count_is_still_read + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_file_over_the_ceiling_is_refused_by_its_size_alone + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::unsharded_reports_merge_and_report_full_coverage + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::status::tests::a_status_outside_the_schema_is_not_classified + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::status::tests::every_status_the_schema_defines_is_classified + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_file_keeps_its_selected_source_language + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_never_withdraws_anything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_only_merge_says_its_withdrawals_went_unchecked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_timeout_counts_as_undetected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_leaves_the_rendered_document_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unsharded_merge_checks_every_file_it_covers + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::incompatible_input_names_are_reported_in_stable_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_source_text_comes_from_the_newest_report_not_the_last_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unviable_and_suppressed_mutants_stay_out_of_the_denominator + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_status_this_tool_never_writes_is_still_a_status_the_schema_defines + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::status::tests::every_status_the_schema_defines_is_classified + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_leaves_the_rendered_document_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unviable_and_suppressed_mutants_stay_out_of_the_denominator + - package: cargo-gamma-lib + target: gate + test: a_merge_that_scored_nothing_exits_gate_failed + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::unsharded_reports_merge_and_report_full_coverage + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_complete_document_survives_the_read_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::a_report_without_a_framework_is_still_a_mutation_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::read::tests::fractional_mutant_durations_survive_schema_valid_ingress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::status::tests::every_status_the_schema_defines_is_classified + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_file_keeps_its_selected_source_language + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_never_withdraws_anything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_only_merge_says_its_withdrawals_went_unchecked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unsharded_merge_checks_every_file_it_covers + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::incompatible_input_names_are_reported_in_stable_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_source_text_comes_from_the_newest_report_not_the_last_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unviable_and_suppressed_mutants_stay_out_of_the_denominator + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::status::tests::every_status_the_schema_defines_is_classified + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_timeout_counts_as_undetected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::unsharded_reports_merge_and_report_full_coverage + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_file_keeps_its_selected_source_language + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_never_withdraws_anything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_only_merge_says_its_withdrawals_went_unchecked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_timeout_counts_as_undetected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_leaves_the_rendered_document_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unsharded_merge_checks_every_file_it_covers + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::incompatible_input_names_are_reported_in_stable_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_source_text_comes_from_the_newest_report_not_the_last_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unviable_and_suppressed_mutants_stay_out_of_the_denominator + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::unsharded_reports_merge_and_report_full_coverage + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_file_keeps_its_selected_source_language + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_never_withdraws_anything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_only_merge_says_its_withdrawals_went_unchecked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_timeout_counts_as_undetected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_leaves_the_rendered_document_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unsharded_merge_checks_every_file_it_covers + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unstamped_report_has_exactly_the_current_identity_version + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::incompatible_input_names_are_reported_in_stable_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_source_text_comes_from_the_newest_report_not_the_last_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unviable_and_suppressed_mutants_stay_out_of_the_denominator + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::unsharded_reports_merge_and_report_full_coverage + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_file_keeps_its_selected_source_language + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_never_withdraws_anything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_only_merge_says_its_withdrawals_went_unchecked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unsharded_merge_checks_every_file_it_covers + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::incompatible_input_names_are_reported_in_stable_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_source_text_comes_from_the_newest_report_not_the_last_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unviable_and_suppressed_mutants_stay_out_of_the_denominator + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::unsharded_reports_merge_and_report_full_coverage + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_file_keeps_its_selected_source_language + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_never_withdraws_anything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_only_merge_says_its_withdrawals_went_unchecked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_timeout_counts_as_undetected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unsharded_merge_checks_every_file_it_covers + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::incompatible_input_names_are_reported_in_stable_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_source_text_comes_from_the_newest_report_not_the_last_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unviable_and_suppressed_mutants_stay_out_of_the_denominator + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_source_text_comes_from_the_newest_report_not_the_last_argument + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_leaves_the_rendered_document_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_timeout_counts_as_undetected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::unsharded_reports_merge_and_report_full_coverage + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_file_keeps_its_selected_source_language + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_never_withdraws_anything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_only_merge_says_its_withdrawals_went_unchecked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_timeout_counts_as_undetected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_leaves_the_rendered_document_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unsharded_merge_checks_every_file_it_covers + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::incompatible_input_names_are_reported_in_stable_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merging_nothing_prints_a_perfect_score_but_has_nothing_to_grade + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_source_text_comes_from_the_newest_report_not_the_last_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unviable_and_suppressed_mutants_stay_out_of_the_denominator + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_never_withdraws_anything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_only_merge_says_its_withdrawals_went_unchecked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_timeout_counts_as_undetected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_source_text_comes_from_the_newest_report_not_the_last_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unviable_and_suppressed_mutants_stay_out_of_the_denominator + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::unsharded_reports_merge_and_report_full_coverage + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_file_keeps_its_selected_source_language + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_never_withdraws_anything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_only_merge_says_its_withdrawals_went_unchecked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_timeout_counts_as_undetected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unsharded_merge_checks_every_file_it_covers + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::incompatible_input_names_are_reported_in_stable_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_source_text_comes_from_the_newest_report_not_the_last_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unviable_and_suppressed_mutants_stay_out_of_the_denominator + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_leaves_the_rendered_document_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::unsharded_reports_merge_and_report_full_coverage + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_file_keeps_its_selected_source_language + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_leaves_the_rendered_document_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unsharded_merge_checks_every_file_it_covers + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::incompatible_input_names_are_reported_in_stable_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_leaves_the_rendered_document_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::unsharded_reports_merge_and_report_full_coverage + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_round_trips_through_json + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_file_keeps_its_selected_source_language + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_never_run_mutant_is_counted_separately_and_never_as_killed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_never_withdraws_anything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_only_merge_says_its_withdrawals_went_unchecked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_status_the_score_cannot_interpret_stays_out_of_the_fraction + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_timeout_counts_as_undetected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_exactly_on_the_freshness_boundary_is_still_fresh + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_older_than_the_window_is_stale_but_still_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_leaves_the_rendered_document_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_unsharded_merge_checks_every_file_it_covers + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::explicitly_mixed_identity_schemes_are_isolated_instead_of_unioning_their_ids + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::incompatible_input_names_are_reported_in_stable_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::metadata_aggregation_distinguishes_zero_one_and_maximum_values + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_source_text_comes_from_the_newest_report_not_the_last_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unviable_and_suppressed_mutants_stay_out_of_the_denominator + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::metadata_aggregation_distinguishes_zero_one_and_maximum_values + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_leaves_the_rendered_document_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::merged::tests::rotation_coverage_reports_the_shards_that_were_missed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_disagreeing_shard_count_is_reported_rather_than_reconciled + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_file_no_full_run_covers_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_full_run_withdraws_from_a_shard_that_predates_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_newer_shard_is_not_withdrawn_by_an_older_full_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_never_withdraws_anything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_shard_only_merge_says_its_withdrawals_went_unchecked + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_leaves_the_rendered_document_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::changed_source_excludes_a_verdict_without_a_compatible_presentation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_produces_same_document_as_before_clone_elimination + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rotation_coverage_never_exceeds_the_whole_rotation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::shards_union_into_one_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_merged_document_holds_every_mutant_in_line_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_rotation_is_the_same_whichever_order_the_inputs_arrive_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_source_text_comes_from_the_newest_report_not_the_last_argument + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::unstamped_reports_use_the_current_identity_scheme + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_shard_does_not_withdraw_what_it_never_looked_at + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_informative_verdict_outranks_a_newer_pending_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::rebuild_mixes_the_winning_verdict_with_the_selected_presentation_field_by_field + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_equal_timestamp_conflict_resolves_the_same_way_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_listing_does_not_erase_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_real_verdict_still_replaces_an_older_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_verdict_for_edited_code_leaves_the_denominator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_withdrawn_mutant_is_counted_once_however_many_inputs_named_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::an_older_report_never_overwrites_a_newer_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_most_recent_verdict_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::the_newest_full_population_is_the_one_that_decides + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_current_population_does_not_blank_the_verdicts_it_is_merged_with + - package: cargo-gamma-lib + target: regressions + test: issue_011_a_verdict_for_code_that_no_longer_exists_leaves_the_denominator + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::a_merged_document_is_not_a_population_authority_when_merged_again + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::merged_started_at_is_the_newest_source_or_verdict_provenance + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::repeated_merges_keep_each_verdicts_original_freshness + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::run_metadata_is_aggregated_and_survives_staging + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: merge::union::tests::staged_reports_with_colliding_inner_provenance_are_order_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::interner::tests::sharing_a_decoded_population_leaves_its_values_alone + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_negated_selector_carves_out_of_a_family + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: cli + test: doc_comments_are_not_reported_as_string_literals + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_expected_operators + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_file_line_and_column + - package: cargo-gamma-lib + target: cli + test: results_go_to_stdout_and_progress_goes_to_stderr + - package: cargo-gamma-lib + target: cli + test: selecting_one_operator_excludes_the_others + - package: cargo-gamma-lib + target: cli + test: shard_membership_is_deterministic + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - package: cargo-gamma-lib + target: cli + test: test_modules_are_not_mutated + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::a_definition_starts_with_no_execution_state + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::a_statement_shaped_mutant_is_summarized_as_a_deletion + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::an_arm_shaped_mutant_never_shows_its_guard_replacement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::expr_and_block_shaped_mutants_are_summarized_as_a_replacement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_negated_selector_carves_out_of_a_family + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: cli + test: doc_comments_are_not_reported_as_string_literals + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_expected_operators + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_file_line_and_column + - package: cargo-gamma-lib + target: cli + test: results_go_to_stdout_and_progress_goes_to_stderr + - package: cargo-gamma-lib + target: cli + test: selecting_one_operator_excludes_the_others + - package: cargo-gamma-lib + target: cli + test: shard_membership_is_deterministic + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - package: cargo-gamma-lib + target: cli + test: test_modules_are_not_mutated + - package: cargo-gamma-lib + target: regressions + test: issue_018_a_sarif_log_stays_within_what_github_accepts + - package: cargo-gamma-lib + target: regressions + test: issue_018_annotations_stop_at_what_github_keeps + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::a_long_construct_is_elided_in_the_middle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::eliding_counts_characters_not_bytes + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::a_description_is_always_one_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::a_long_construct_is_elided_in_the_middle + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::a_short_construct_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::a_statement_shaped_mutant_is_summarized_as_a_deletion + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::an_arm_shaped_mutant_never_shows_its_guard_replacement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::eliding_counts_characters_not_bytes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: model::mutant::tests::expr_and_block_shaped_mutants_are_summarized_as_a_replacement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_negated_selector_carves_out_of_a_family + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - package: cargo-gamma-lib + target: cli + test: doc_comments_are_not_reported_as_string_literals + - package: cargo-gamma-lib + target: cli + test: file_filters_narrow_the_scan + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_expected_operators + - package: cargo-gamma-lib + target: cli + test: listing_mutants_reports_the_file_line_and_column + - package: cargo-gamma-lib + target: cli + test: results_go_to_stdout_and_progress_goes_to_stderr + - package: cargo-gamma-lib + target: cli + test: selecting_one_operator_excludes_the_others + - package: cargo-gamma-lib + target: cli + test: shard_membership_is_deterministic + - package: cargo-gamma-lib + target: cli + test: shards_partition_the_mutants_exactly + - package: cargo-gamma-lib + target: cli + test: test_modules_are_not_mutated + - package: cargo-gamma-lib + target: regressions + test: issue_018_a_sarif_log_stays_within_what_github_accepts + - package: cargo-gamma-lib + target: regressions + test: issue_018_annotations_stop_at_what_github_keeps + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::a_hang_is_charged_for_one_binary_rather_than_all_of_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::hanging_mutants_cost_more_than_mutants_that_are_judged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::only_mutants_that_would_run_are_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::only_the_binaries_a_mutant_reaches_are_charged_for_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::parallelism_divides_the_projection + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_error_bar_brackets_the_estimate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_projected_range_never_reaches_past_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_the_ceiling_leaves_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_widens_the_range + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_worst_case_exceeds_the_estimate + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_worst_case_pays_for_confirming_every_timeout + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::zero_jobs_does_not_divide_by_zero + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_run_with_no_out_of_memory_mutants_has_no_such_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_share_threshold_is_inclusive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: units + test: summary::every_outcome_is_tallied_into_its_own_counter + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_build_that_is_a_small_part_of_the_run_is_not_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_dominant_build_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_dominating_a_few_seconds_is_not_a_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_cheaply_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_that_finds_nothing_expensively_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_family_with_survivors_is_never_low_yield + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_file_below_the_share_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_healthy_run_produces_no_findings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_hot_file_names_the_survivors_that_would_be_lost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_large_share_of_out_of_memory_mutants_indicts_the_ceiling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_long_run_suggests_a_rotation_sized_to_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_pile_of_unviable_mutants_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_run_with_no_out_of_memory_mutants_has_no_such_finding + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_slow_baseline_projects_the_floor_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_small_run_never_indicts_the_ceiling_however_large_the_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::a_tiny_run_is_never_diagnosed_by_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::findings_follow_the_documented_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_in_many_files_are_reported_as_spread + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::out_of_memory_mutants_report_the_budget_they_burned_and_where_they_sit + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_remedy_names_both_routes_and_both_costs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_out_of_memory_share_threshold_is_inclusive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::the_timeout_remedy_names_its_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::timeouts_report_the_budget_they_burned + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_code_is_reported_as_the_finding_it_is + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::analysis::tests::uncovered_mutants_do_not_dilute_the_out_of_memory_share + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_embedded_layout_nests_under_the_heading_its_host_already_wrote + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_untested_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_empty_population_reports_files_instead_of_a_score + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: units + test: summary::every_outcome_is_tallied_into_its_own_counter + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_verdict_in_the_population_is_accounted_for_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::unscored_outcomes_are_named_as_not_scored_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: units + test: summary::a_scored_population_grades_at_its_printed_score + - package: cargo-gamma-lib + target: units + test: summary::covered_score_excludes_uncovered_mutants + - package: cargo-gamma-lib + target: units + test: summary::score_uses_detected_over_valid + - package: cargo-gamma-lib + target: units + test: summary::the_score_is_detected_over_valid_with_uncovered_counted_against_it + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_finding_with_no_detail_lines_omits_the_measured_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_of_nothing_but_memory_exhaustion_still_has_a_breakdown + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::a_run_with_nothing_to_report_still_says_what_it_cost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::empty_rows_are_absent_from_both_contents_and_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_contents_entry_points_at_a_heading_that_exists + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::every_verdict_in_the_population_is_accounted_for_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_document_renders_every_table_row_and_explanatory_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::the_findings_introduction_describes_the_diagnostic_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: advise::render::tests::unscored_outcomes_are_named_as_not_scored_in_the_run_table + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: units + test: summary::a_scored_population_grades_at_its_printed_score + - package: cargo-gamma-lib + target: units + test: summary::an_empty_run_scores_one_hundred + - package: cargo-gamma-lib + target: units + test: summary::covered_score_excludes_uncovered_mutants + - package: cargo-gamma-lib + target: units + test: summary::score_uses_detected_over_valid + - package: cargo-gamma-lib + target: units + test: summary::the_score_is_detected_over_valid_with_uncovered_counted_against_it + - - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: units + test: summary::a_population_of_only_excluded_mutants_has_no_score_to_grade + - package: cargo-gamma-lib + target: units + test: summary::a_scored_population_grades_at_its_printed_score + - package: cargo-gamma-lib + target: units + test: summary::an_empty_population_has_no_score_to_grade + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::a_fresh_run_has_no_dropped_notes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::a_process_that_raised_nothing_drains_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::concurrent_runs_drain_only_their_own_notes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::draining_empties_the_buffer + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::exactly_one_note_past_the_cap_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::leaving_a_nested_scope_restores_the_previous_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::notes_come_back_in_the_order_they_were_raised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::notes_past_the_cap_are_counted_rather_than_kept + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_020_the_documented_option_names_are_the_ones_that_exist + - package: cargo-gamma-lib + target: regressions + test: issue_028_the_rollback_round_cap_is_configurable + - package: cargo-gamma-lib + target: session + test: the_advise_surface_that_became_a_flag_is_gone + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::a_fresh_run_has_no_dropped_notes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::a_process_that_raised_nothing_drains_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::concurrent_runs_drain_only_their_own_notes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::draining_empties_the_buffer + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::exactly_one_note_past_the_cap_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::leaving_a_nested_scope_restores_the_previous_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::notes_come_back_in_the_order_they_were_raised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::notes_past_the_cap_are_counted_rather_than_kept + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::exactly_one_note_past_the_cap_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::notes_past_the_cap_are_counted_rather_than_kept + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::concurrent_runs_drain_only_their_own_notes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::draining_empties_the_buffer + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::exactly_one_note_past_the_cap_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::leaving_a_nested_scope_restores_the_previous_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::notes_come_back_in_the_order_they_were_raised + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::notes_past_the_cap_are_counted_rather_than_kept + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_streamed_page_matches_the_string_form + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::absent_tails_are_preserved_after_the_existing_prefix_is_resolved + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::collisions_are_detected_for_resolvable_and_unresolvable_paths + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::containment_accepts_descendants_and_refuses_siblings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::excessive_windows_link_indirection_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::lexical_normalization_removes_current_and_parent_components + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::regular_existing_paths_resolve_to_themselves + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::relative_paths_are_absolutized_and_absolute_paths_are_preserved + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::windows_links_are_resolved_and_containment_uses_their_targets + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: html::tests::the_streamed_page_matches_the_string_form + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::absent_tails_are_preserved_after_the_existing_prefix_is_resolved + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::collisions_are_detected_for_resolvable_and_unresolvable_paths + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::containment_accepts_descendants_and_refuses_siblings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::excessive_windows_link_indirection_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::lexical_normalization_removes_current_and_parent_components + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::windows_links_are_resolved_and_containment_uses_their_targets + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::lexical_normalization_removes_current_and_parent_components + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::excessive_windows_link_indirection_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::windows_links_are_resolved_and_containment_uses_their_targets + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::absent_tails_are_preserved_after_the_existing_prefix_is_resolved + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::containment_accepts_descendants_and_refuses_siblings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::excessive_windows_link_indirection_is_refused + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::regular_existing_paths_resolve_to_themselves + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::windows_links_are_resolved_and_containment_uses_their_targets + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::collisions_are_detected_for_resolvable_and_unresolvable_paths + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::containment_accepts_descendants_and_refuses_siblings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::windows_links_are_resolved_and_containment_uses_their_targets + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::containment_accepts_descendants_and_refuses_siblings + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: paths::tests::windows_links_are_resolved_and_containment_uses_their_targets + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_abandoned_phase_line_is_closed_so_what_follows_starts_on_its_own_line + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_without_a_phase_at_all_writes_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_abandoned_phase_line_is_closed_so_what_follows_starts_on_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_ending_with_no_phase_behind_it_is_written_under_the_status_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_insisted_line_is_written_whether_the_display_is_on_or_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::ordinary_subjects_are_rendered_exactly_as_before + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::relayed_tool_output_keeps_safe_styling_and_loses_everything_else + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_abandoned_phase_line_is_closed_so_what_follows_starts_on_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::progress_writes_to_the_diagnostic_stream_and_never_to_the_result_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_abandoned_phase_line_is_closed_so_what_follows_starts_on_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::progress_writes_to_the_diagnostic_stream_and_never_to_the_result_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_is_not_drawn_when_the_display_is_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_changed_borrowed_line_is_drawn_once_the_interval_has_passed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_redraw_reaches_the_terminal_as_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_throttled_borrowed_line_leaves_the_previous_one_on_screen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_unchanged_borrowed_line_is_not_repainted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::cargos_erase_prefix_is_not_rendered_as_progress_text + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_changed_borrowed_line_is_drawn_once_the_interval_has_passed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_redraw_reaches_the_terminal_as_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_throttled_borrowed_line_leaves_the_previous_one_on_screen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_unchanged_borrowed_line_is_not_repainted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::cargos_erase_prefix_is_not_rendered_as_progress_text + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_throttled_borrowed_line_leaves_the_previous_one_on_screen + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_disabled_display_writes_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_abandoned_phase_line_is_closed_so_what_follows_starts_on_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_ending_with_no_phase_behind_it_is_written_under_the_status_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_insisted_line_is_written_whether_the_display_is_on_or_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::ordinary_subjects_are_rendered_exactly_as_before + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::progress_writes_to_the_diagnostic_stream_and_never_to_the_result_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::relayed_tool_output_keeps_safe_styling_and_loses_everything_else + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::progress_writes_to_the_diagnostic_stream_and_never_to_the_result_stream + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_ending_with_no_phase_behind_it_is_written_under_the_status_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::progress_writes_to_the_diagnostic_stream_and_never_to_the_result_stream + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_ending_with_no_phase_behind_it_is_written_under_the_status_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::progress_writes_to_the_diagnostic_stream_and_never_to_the_result_stream + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_ending_with_no_phase_behind_it_is_written_under_the_status_column + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_changed_borrowed_line_is_drawn_once_the_interval_has_passed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_redraw_reaches_the_terminal_as_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_throttled_borrowed_line_leaves_the_previous_one_on_screen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_unchanged_borrowed_line_is_not_repainted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::cargos_erase_prefix_is_not_rendered_as_progress_text + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_unchanged_borrowed_line_is_not_repainted + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_ending_with_no_phase_behind_it_is_written_under_the_status_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::progress_writes_to_the_diagnostic_stream_and_never_to_the_result_stream + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_disabled_display_writes_nothing + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_finished_run_has_no_time_left_to_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_empty_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_fraction_is_clamped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_finished_run_has_no_time_left_to_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_empty_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::no_total_means_no_progress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_fraction_is_clamped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_insisted_line_is_written_whether_the_display_is_on_or_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_insisted_line_is_written_whether_the_display_is_on_or_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::relayed_tool_output_keeps_safe_styling_and_loses_everything_else + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_insisted_line_is_written_whether_the_display_is_on_or_off + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_ending_with_no_phase_behind_it_is_written_under_the_status_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_insisted_line_is_written_whether_the_display_is_on_or_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::ordinary_subjects_are_rendered_exactly_as_before + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::relayed_tool_output_keeps_safe_styling_and_loses_everything_else + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_ending_with_no_phase_behind_it_is_written_under_the_status_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_insisted_line_is_written_whether_the_display_is_on_or_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::ordinary_subjects_are_rendered_exactly_as_before + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::relayed_tool_output_keeps_safe_styling_and_loses_everything_else + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_is_not_drawn_when_the_display_is_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_changed_borrowed_line_is_drawn_once_the_interval_has_passed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_finished_run_has_no_time_left_to_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_redraw_reaches_the_terminal_as_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_throttled_borrowed_line_leaves_the_previous_one_on_screen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_without_a_phase_at_all_writes_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_abandoned_phase_line_is_closed_so_what_follows_starts_on_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_empty_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_ending_with_no_phase_behind_it_is_written_under_the_status_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_insisted_line_is_written_whether_the_display_is_on_or_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_unchanged_borrowed_line_is_not_repainted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::cargos_erase_prefix_is_not_rendered_as_progress_text + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::no_total_means_no_progress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::ordinary_subjects_are_rendered_exactly_as_before + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::progress_writes_to_the_diagnostic_stream_and_never_to_the_result_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::relayed_tool_output_keeps_safe_styling_and_loses_everything_else + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_fraction_is_clamped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_is_not_drawn_when_the_display_is_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_changed_borrowed_line_is_drawn_once_the_interval_has_passed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_disabled_display_writes_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_finished_run_has_no_time_left_to_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_redraw_reaches_the_terminal_as_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_throttled_borrowed_line_leaves_the_previous_one_on_screen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_without_a_phase_at_all_writes_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_abandoned_phase_line_is_closed_so_what_follows_starts_on_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_empty_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_ending_with_no_phase_behind_it_is_written_under_the_status_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_insisted_line_is_written_whether_the_display_is_on_or_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_unchanged_borrowed_line_is_not_repainted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::cargos_erase_prefix_is_not_rendered_as_progress_text + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::no_total_means_no_progress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::ordinary_subjects_are_rendered_exactly_as_before + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::progress_writes_to_the_diagnostic_stream_and_never_to_the_result_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::relayed_tool_output_keeps_safe_styling_and_loses_everything_else + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_fraction_is_clamped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::relayed_tool_output_keeps_safe_styling_and_loses_everything_else + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_finished_run_has_no_time_left_to_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_empty_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_finished_run_has_no_time_left_to_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_empty_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_finished_run_has_no_time_left_to_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_empty_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_disabled_display_writes_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_finished_run_has_no_time_left_to_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_empty_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_fraction_is_clamped + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::ordinary_subjects_are_rendered_exactly_as_before + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_disabled_display_writes_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_changed_borrowed_line_is_drawn_once_the_interval_has_passed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_redraw_reaches_the_terminal_as_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_throttled_borrowed_line_leaves_the_previous_one_on_screen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_abandoned_phase_line_is_closed_so_what_follows_starts_on_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_ending_with_no_phase_behind_it_is_written_under_the_status_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_insisted_line_is_written_whether_the_display_is_on_or_off + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_unchanged_borrowed_line_is_not_repainted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::cargos_erase_prefix_is_not_rendered_as_progress_text + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::ordinary_subjects_are_rendered_exactly_as_before + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::progress_writes_to_the_diagnostic_stream_and_never_to_the_result_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::relayed_tool_output_keeps_safe_styling_and_loses_everything_else + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::styling_costs_no_columns_and_a_cut_line_stops_styling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::truncation_appends_an_ellipsis + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::styling_costs_no_columns_and_a_cut_line_stops_styling + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_changed_borrowed_line_is_drawn_once_the_interval_has_passed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_redraw_reaches_the_terminal_as_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_throttled_borrowed_line_leaves_the_previous_one_on_screen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_unchanged_borrowed_line_is_not_repainted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::cargos_erase_prefix_is_not_rendered_as_progress_text + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::styling_costs_no_columns_and_a_cut_line_stops_styling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::truncation_appends_an_ellipsis + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::truncation_counts_characters_not_bytes + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_finished_run_has_no_time_left_to_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_abandoned_phase_line_is_closed_so_what_follows_starts_on_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_empty_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::ordinary_subjects_are_rendered_exactly_as_before + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::progress_writes_to_the_diagnostic_stream_and_never_to_the_result_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::a_disabled_styler_emits_no_escape_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::a_label_occupies_the_status_column_even_when_it_is_colored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::an_enabled_styler_emits_escape_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::every_status_label_fits_the_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::outcome_labels_are_distinct + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::stylers_do_not_share_state + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_build_that_had_to_widen_says_so + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_diagnostic_stream_fails_the_session_notes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_untested_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_missing_hints_file_suggests_creating_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_pipe_that_closes_partway_through_fails_whichever_note_was_writing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_empty_population_reports_files_instead_of_a_score + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_oracle_that_lost_test_targets_says_how_many + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::every_skipped_file_is_written_to_the_diagnostic_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::suppressible_mutants_suggest_the_suppress_command + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_finished_run_has_no_time_left_to_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_abandoned_phase_line_is_closed_so_what_follows_starts_on_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_empty_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::ordinary_subjects_are_rendered_exactly_as_before + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::progress_writes_to_the_diagnostic_stream_and_never_to_the_result_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::a_disabled_styler_emits_no_escape_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::a_label_occupies_the_status_column_even_when_it_is_colored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::an_enabled_styler_emits_escape_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::every_status_label_fits_the_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::outcome_labels_are_distinct + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::stylers_do_not_share_state + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_build_that_had_to_widen_says_so + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_diagnostic_stream_fails_the_session_notes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_untested_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_missing_hints_file_suggests_creating_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_pipe_that_closes_partway_through_fails_whichever_note_was_writing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_empty_population_reports_files_instead_of_a_score + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_oracle_that_lost_test_targets_says_how_many + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::every_skipped_file_is_written_to_the_diagnostic_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::suppressible_mutants_suggest_the_suppress_command + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: clean_deletes_only_the_current_workspaces_cached_data + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::a_disabled_styler_emits_no_escape_sequences + - package: cargo-gamma-lib + target: cli + test: a_directory_that_is_not_a_workspace_fails_without_panicking + - package: cargo-gamma-lib + target: cli + test: a_file_pattern_matching_nothing_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: a_file_that_does_not_parse_names_the_file + - package: cargo-gamma-lib + target: cli + test: an_out_of_range_shard_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: an_unknown_selector_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: an_unmatched_mutant_exclusion_is_a_usage_error + - package: cargo-gamma-lib + target: cli + test: explaining_an_unknown_subject_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_002_a_pattern_that_matches_nothing_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_build_that_had_to_widen_says_so + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_diagnostic_stream_fails_the_session_notes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_missing_hints_file_suggests_creating_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_pipe_that_closes_partway_through_fails_whichever_note_was_writing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_oracle_that_lost_test_targets_says_how_many + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::suppressible_mutants_suggest_the_suppress_command + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::a_disabled_styler_emits_no_escape_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::an_enabled_styler_emits_escape_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::outcome_labels_are_distinct + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_clean_run_has_no_verdict_section + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_completed_result_can_replace_the_in_progress_subject + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_finished_run_has_no_time_left_to_report + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_full_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_line_printed_mid_phase_does_not_land_on_the_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_drops_the_verdict_counts_rather_than_cutting_the_time_remaining + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_partial_bar_ends_in_an_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_time_estimate_appears_once_there_is_something_to_extrapolate_from + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::abandoning_a_line_that_was_already_closed_writes_nothing_extra + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_abandoned_phase_line_is_closed_so_what_follows_starts_on_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_empty_bar_has_no_arrowhead + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_out_of_memory_verdict_is_counted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::ordinary_subjects_are_rendered_exactly_as_before + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::progress_writes_to_the_diagnostic_stream_and_never_to_the_result_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_arrowhead_is_counted_inside_the_filled_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_gauge_keeps_its_width_however_long_the_caption_grows + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_mutant_bar_also_redraws_in_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_time_remaining_is_marked_approximate_rather_than_spelled_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::a_disabled_styler_emits_no_escape_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::a_label_occupies_the_status_column_even_when_it_is_colored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::an_enabled_styler_emits_escape_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::every_status_label_fits_the_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::styler::tests::stylers_do_not_share_state + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_untested_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_empty_population_reports_files_instead_of_a_score + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_corrupt_artifact_costs_time_and_never_signal + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - package: cargo-gamma-lib + target: cli + test: clean_deletes_only_the_current_workspaces_cached_data + - package: cargo-gamma-lib + target: cli + test: previewing_a_promotion_writes_no_file + - package: cargo-gamma-lib + target: cli + test: promoting_hints_writes_only_what_cannot_move_a_score + - package: cargo-gamma-lib + target: cli + test: promoting_without_a_record_writes_nothing_and_explains_why + - package: cargo-gamma-lib + target: cli + test: promotion_drops_hints_for_mutants_that_no_longer_exist + - package: cargo-gamma-lib + target: cli + test: regenerating_an_unchanged_artifact_changes_no_bytes + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::every_skipped_file_is_written_to_the_diagnostic_stream + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_untested_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_empty_population_reports_files_instead_of_a_score + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_build_that_had_to_widen_says_so + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_build_that_kept_its_scope_says_nothing_about_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_missing_hints_file_suggests_creating_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_pipe_that_closes_partway_through_fails_whichever_note_was_writing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_that_could_not_bound_memory_does_not_say_so_on_the_console + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_oracle_that_kept_every_target_says_nothing_about_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_oracle_that_lost_test_targets_says_how_many + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::suppressible_mutants_suggest_the_suppress_command + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_build_that_had_to_widen_says_so + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_build_that_kept_its_scope_says_nothing_about_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_diagnostic_stream_fails_the_session_notes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_missing_hints_file_suggests_creating_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_pipe_that_closes_partway_through_fails_whichever_note_was_writing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_that_could_not_bound_memory_does_not_say_so_on_the_console + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_oracle_that_kept_every_target_says_nothing_about_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_oracle_that_lost_test_targets_says_how_many + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::suppressible_mutants_suggest_the_suppress_command + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_untested_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_empty_population_reports_files_instead_of_a_score + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::every_skipped_file_is_written_to_the_diagnostic_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_piped_host_is_not_colorized + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_run_reports_what_it_found + - package: cargo-gamma-lib + target: cli + test: a_run_with_no_subcommand_behaves_like_run + - package: cargo-gamma-lib + target: cli + test: a_terminal_host_is_colorized + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::byte_counts_read_the_way_a_person_would_say_them + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_ending_with_no_phase_behind_it_is_written_under_the_status_column + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::a_continuation_is_exactly_the_status_column + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_is_one_line_carrying_the_range_the_population_and_the_worst_case + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_the_ceiling_leaves_out + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: estimate::tests::the_rendering_says_what_widens_the_range + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::exactly_one_note_past_the_cap_is_reported + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: notes::tests::notes_past_the_cap_are_counted_rather_than_kept + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_caption_counts_evaluated_mutants_and_what_they_found + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::zero_verdict_counts_are_omitted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_untested_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_pipe_that_closes_partway_through_fails_whichever_note_was_writing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_empty_population_reports_files_instead_of_a_score + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::an_oracle_that_lost_test_targets_says_how_many + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::every_skipped_file_is_written_to_the_diagnostic_stream + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::any_other_count_is_plural + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::one_of_something_is_singular + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_stalled_mutant_still_names_the_test_it_hung_in + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_timeout_is_not_told_it_timed_out_twice + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::requesting_killed_mutants_when_none_were_killed_adds_no_empty_block + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::only_exact_boundary_scores_are_rendered_at_the_boundary + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::only_exact_boundary_scores_are_rendered_at_the_boundary + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_closed_results_stream_fails_the_summary + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_is_named_apart_from_the_survivors_and_scores_as_neither + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_flake_remains_visible_when_live_results_were_announced + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::a_run_without_flakes_does_not_mention_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::inexact_boundary_scores_do_not_render_as_exact_boundaries + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_listing_excludes_timeout_and_memory_limit_outcomes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::killed_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::memory_exhaustion_is_listed_separately_from_a_killed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_are_listed_when_nothing_announced_them + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::results_the_live_display_already_named_are_not_repeated + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_does_not_count_mutants_the_compiler_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_names_mutants_a_shard_left_to_another_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::the_summary_still_names_mutants_already_settled_out_of_the_run + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::summary::tests::unviable_mutants_are_listed_only_when_requested + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::only_exact_boundary_scores_are_rendered_at_the_boundary + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_borrowed_line_takes_the_phase_line_off_the_screen_rather_than_committing_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_changed_borrowed_line_is_drawn_once_the_interval_has_passed + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_held_open_subject_is_encoded_in_every_later_repaint + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_narrow_terminal_still_renders_something + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_repeats_its_opening_with_the_result_attached + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_phase_interrupted_by_a_build_that_then_failed_gets_its_opening_back + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_redraw_reaches_the_terminal_as_a_single_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::a_throttled_borrowed_line_leaves_the_previous_one_on_screen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::an_unchanged_borrowed_line_is_not_repainted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::baseline_phase_progress_contains_only_the_binary_count + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::cargos_erase_prefix_is_not_rendered_as_progress_text + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::completed_phase_progress_fills_the_gauge + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::every_subject_entry_point_encodes_terminal_control_sequences + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::finishing_a_build_restores_the_active_phase + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::phase_progress_counts_completed_units_on_the_active_phase_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::styling_costs_no_columns_and_a_cut_line_stops_styling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_bar_never_exceeds_the_terminal_width + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::the_first_build_bar_replaces_the_phase_in_one_write + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::truncation_appends_an_ellipsis + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::truncation_counts_characters_not_bytes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::an_escape_that_never_terminates_consumes_the_rest_rather_than_leaking_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::styling_is_removed_without_disturbing_the_text_around_it + - package: cargo-gamma-lib + target: cli + test: a_measured_run_journals_every_testing_verdict_in_the_cache_directory + - package: cargo-gamma-lib + target: cli + test: a_redirected_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: a_workspace_inherited_runtime_dependency_keeps_the_feature_gating_its_own_api + - package: cargo-gamma-lib + target: cli + test: cache_and_artifact_directories_are_independent + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::styling_costs_no_columns_and_a_cut_line_stops_styling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::an_escape_that_never_terminates_consumes_the_rest_rather_than_leaking_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::styling_is_removed_without_disturbing_the_text_around_it + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::progress::tests::styling_costs_no_columns_and_a_cut_line_stops_styling + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: report::text::tests::styling_is_removed_without_disturbing_the_text_around_it + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::literal_selectors_and_none_delimited_groups_are_rendered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::literal_selectors_and_none_delimited_groups_are_rendered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::literal_selectors_and_none_delimited_groups_are_rendered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::literal_selectors_and_none_delimited_groups_are_rendered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::literal_selectors_and_none_delimited_groups_are_rendered + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::literal_selectors_and_none_delimited_groups_are_rendered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::literal_selectors_and_none_delimited_groups_are_rendered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_string_literal_loses_its_delimiters_and_keeps_its_text + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::anything_that_is_not_a_string_literal_passes_through_unquote_unchanged + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::literal_selectors_and_none_delimited_groups_are_rendered + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::equal_ending_nested_spans_do_not_displace_the_outer_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::equal_ending_nested_spans_do_not_displace_the_outer_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::equal_ending_nested_spans_do_not_displace_the_outer_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_span_reaching_past_the_recorded_file_end_is_dropped_by_the_collector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_a_span_reaching_past_the_recorded_file_end_are_dropped_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::equal_ending_nested_spans_do_not_displace_the_outer_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_unattributed_function_gets_no_synthetic_function_head + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::equal_ending_nested_spans_do_not_displace_the_outer_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_a_span_reaching_past_the_recorded_file_end_are_dropped_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::equal_ending_nested_spans_do_not_displace_the_outer_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_span_reaching_past_the_recorded_file_end_is_dropped_by_the_collector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_a_span_reaching_past_the_recorded_file_end_are_dropped_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::equal_ending_nested_spans_do_not_displace_the_outer_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::spans_outside_the_source_are_never_recorded + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_span_reaching_past_the_recorded_file_end_is_dropped_by_the_collector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_a_span_reaching_past_the_recorded_file_end_are_dropped_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::spans_outside_the_source_are_never_recorded + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::equal_ending_nested_spans_do_not_displace_the_outer_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::spans_outside_the_source_are_never_recorded + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::equal_ending_nested_spans_do_not_displace_the_outer_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::among_spans_sharing_a_start_the_widest_is_chosen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::many_spans_resolve_the_widest_at_the_earliest_start_at_every_offset + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::nested_spans_sharing_a_start_resolve_to_the_outermost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_at_a_shared_start_wins_in_either_order + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::among_spans_sharing_a_start_the_widest_is_chosen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_offset_on_a_span_start_selects_that_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::many_spans_resolve_the_widest_at_the_earliest_start_at_every_offset + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::nested_spans_sharing_a_start_resolve_to_the_outermost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_nearest_span_after_the_offset_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_at_a_shared_start_wins_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::among_spans_sharing_a_start_the_widest_is_chosen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_empty_scope_set_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_offset_on_a_span_start_selects_that_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_offset_past_the_last_span_start_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::many_spans_resolve_the_widest_at_the_earliest_start_at_every_offset + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::nested_spans_sharing_a_start_resolve_to_the_outermost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_nearest_span_after_the_offset_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_at_a_shared_start_wins_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_offset_on_a_span_start_selects_that_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::many_spans_resolve_the_widest_at_the_earliest_start_at_every_offset + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::nested_spans_sharing_a_start_resolve_to_the_outermost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_nearest_span_after_the_offset_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::among_spans_sharing_a_start_the_widest_is_chosen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_offset_on_a_span_start_selects_that_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_offset_past_the_last_span_start_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::many_spans_resolve_the_widest_at_the_earliest_start_at_every_offset + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::nested_spans_sharing_a_start_resolve_to_the_outermost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_nearest_span_after_the_offset_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_at_a_shared_start_wins_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::among_spans_sharing_a_start_the_widest_is_chosen + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_empty_scope_set_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_offset_on_a_span_start_selects_that_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_offset_past_the_last_span_start_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::equal_ending_nested_spans_do_not_displace_the_outer_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::many_spans_resolve_the_widest_at_the_earliest_start_at_every_offset + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::nested_spans_sharing_a_start_resolve_to_the_outermost + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_nearest_span_after_the_offset_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_at_a_shared_start_wins_in_either_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: agreement + test: the_two_channels_agree_on_timeout_multiplier_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_directive_governing_nothing_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_dotted_selector_survives_being_read_as_tokens + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_hash_inside_an_ordinary_string_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_malformed_comment_directive_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_misspelled_reason_or_tag_is_rejected_rather_than_losing_its_value + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_negated_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_profile_selector_is_accepted + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_raw_string_reason_keeps_its_text_and_loses_its_delimiters + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_reason_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::a_tag_is_captured + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_directive_name_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_named_argument_is_rejected_rather_than_silently_widening_the_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::an_unknown_selector_is_a_hard_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::directive::tests::non_string_comment_metadata_is_rejected_rather_than_widening_a_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::an_unrelated_cfg_attr_entry_does_not_hide_a_later_gamma_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scan::tests::directives_are_sorted_across_attribute_and_comment_channels + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_a_free_function_suppresses_its_whole_body + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_function_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_above_a_trait_governs_the_whole_trait + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_directive_suppresses_the_following_statement + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_span_reaching_past_the_recorded_file_end_is_dropped_by_the_collector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_trailing_directive_governs_its_own_line + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_covers_the_whole_function + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_attribute_directive_on_a_trait_covers_its_default_methods + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::an_empty_or_overrunning_span_is_not_a_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_a_span_reaching_past_the_recorded_file_end_are_dropped_too + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_inside_nested_expressions_reach_the_inner_expression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::equal_ending_nested_spans_do_not_displace_the_outer_span + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::following_prefers_the_widest_scope_at_the_earliest_start + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::one_line_function_trailing_directive_prefers_the_widest_scope + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::spans_outside_the_source_are_never_recorded + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_outermost_span_from_a_real_parse_is_the_governing_one + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::the_widest_span_starting_on_a_line_wins + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_cfg_attr_with_no_argument_list_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_bare_skip_covers_every_mutator + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_false_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_whose_predicate_is_unknown_still_suppresses_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_directive_is_honored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapped_gamma_directive_keeps_its_arguments + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_comment_that_opens_with_the_namespace_but_parses_as_nothing_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_deeply_nested_comment_directive_is_rejected_before_parsing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_directive_only_suppresses_the_mutators_it_names + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_doc_comment_is_never_a_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_false_nested_cfg_attr_does_not_suppress_the_site + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_whose_skips_all_still_apply_names_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_file_with_no_directives_yields_none + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_misspelled_bracketed_comment_directive_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_mutant_with_no_directive_carries_no_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_namespaced_comment_with_too_many_path_segments_is_an_error + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_positional_multiplier_is_read_wherever_in_the_argument_list_it_sits + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_reasonable_timeout_multiplier_still_survives_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_second_timeout_multiplier_is_refused_in_every_spelling_and_order + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_that_governs_nothing_is_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_the_run_never_offered_a_mutant_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_skip_with_no_selectors_is_named_when_it_governs_nothing + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_is_not_mistaken_for_a_misspelled_suppression + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_stated_value_written_as_a_comment_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_empty_all_predicate_applies_its_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_is_recorded_on_every_mutant_it_governs + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_expectation_that_governs_nothing_is_not_named + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unbounded_timeout_multiplier_is_refused_at_parse_time_in_both_directive_forms + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_gamma_attribute_is_an_error_rather_than_silence + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unknown_mutants_attribute_is_still_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::an_unrelated_comment_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::cfg_attr_tokens_that_do_not_parse_as_a_meta_list_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::comment_directives_without_argument_lists_select_everything + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_records_the_opposite_expectation + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expect_killed_with_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::expectation_directives_do_not_suppress + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::extra_attributes_in_a_directive_comment_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_sets_test_timeout_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_attribute_with_positional_multiplier + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_test_timeout_multiplier_attribute_with_selector + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::gamma_timeout_multiplier_comment_directive + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::invalid_timeout_multiplier_is_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::malformed_nested_cfg_attr_tokens_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::nested_cfg_attr_directives_keep_their_selectors_and_metadata + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::prose_that_merely_mentions_gamma_is_left_alone + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::single_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::skipping_a_function_still_suppresses_the_value_it_states + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::suppressed_mutants_stay_in_the_population + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_attribute_is_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_mutants_skip_comment_spellings_are_ignored + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_reason_reaches_the_suppressed_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::the_shorthand_comment_spelling_is_ordinary_prose + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::trailing_tokens_after_named_values_are_rejected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::unrelated_two_segment_attributes_are_ignored + - package: cargo-gamma-lib + target: regressions + test: issue_015_an_unknown_gamma_directive_is_a_usage_error + - package: cargo-gamma-lib + target: regressions + test: issue_027_a_directive_behind_cfg_attr_still_suppresses + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_comment_between_attributes_and_an_impl_method_suppresses_its_whole_body_mutant + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::a_directive_above_a_struct_does_not_reach_the_function_below_it + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::directives_attach_to_impl_trait_and_module_scopes + - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::tests::a_cfg_attr_wrapping_something_else_is_ignored + - package: cargo-gamma-lib + target: cli + test: configured_trait_implementation_exclusions_suppress_their_mutants + - - package: cargo-gamma-lib + target: cargo_gamma_lib + test: suppress::scopes::tests::attributes_on_modules_and_use_items_are_collected + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_errors_preserve_their_causes + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_can_still_be_run_and_waited_for + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_is_placed_inside_a_job + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_failed_spawn_returns_the_preparation_for_retry + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_metered_subtree_reports_what_it_used + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_run_that_asks_for_no_accounting_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_subtree_with_no_job_still_kills_the_child_directly + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_unmetered_launch_is_sealed_but_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_reopens_the_window_after_the_wait + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_a_jobless_subtree_stops_its_child + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_an_unreleased_subtree_reaps_its_leader_and_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild_that_left_the_process_group + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::platform_capacity_and_spawned_id_are_observable + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::terminating_an_already_reaped_subtree_reports_the_exact_reason + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::the_host_answer_about_sealing_matches_what_a_launch_gets + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_failed_spawn_returns_the_preparation_for_retry + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_can_still_be_run_and_waited_for + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_is_placed_inside_a_job + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_failed_spawn_returns_the_preparation_for_retry + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_metered_subtree_reports_what_it_used + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_run_that_asks_for_no_accounting_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_adopt_fault_abandons_the_child_and_refuses + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_unmetered_launch_is_sealed_but_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_reopens_the_window_after_the_wait + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_a_jobless_spawned_command_stops_its_child + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_an_unreleased_subtree_reaps_its_leader_and_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild_that_left_the_process_group + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::platform_capacity_and_spawned_id_are_observable + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::the_host_answer_about_sealing_matches_what_a_launch_gets + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_can_still_be_run_and_waited_for + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_is_placed_inside_a_job + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_failed_spawn_returns_the_preparation_for_retry + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_metered_subtree_reports_what_it_used + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_run_that_asks_for_no_accounting_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_adopt_fault_abandons_the_child_and_refuses + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_unmetered_launch_is_sealed_but_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_reopens_the_window_after_the_wait + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_an_unreleased_subtree_reaps_its_leader_and_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild_that_left_the_process_group + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::platform_capacity_and_spawned_id_are_observable + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::the_host_answer_about_sealing_matches_what_a_launch_gets + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_can_still_be_run_and_waited_for + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_is_placed_inside_a_job + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_failed_spawn_returns_the_preparation_for_retry + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_metered_subtree_reports_what_it_used + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_run_that_asks_for_no_accounting_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_unmetered_launch_is_sealed_but_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_reopens_the_window_after_the_wait + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_an_unreleased_subtree_reaps_its_leader_and_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild_that_left_the_process_group + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::platform_capacity_and_spawned_id_are_observable + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::the_host_answer_about_sealing_matches_what_a_launch_gets + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_adopt_fault_abandons_the_child_and_refuses + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_is_placed_inside_a_job + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_subtree_with_no_job_still_kills_the_child_directly + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_unmetered_launch_is_sealed_but_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_a_jobless_subtree_stops_its_child + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_an_unreleased_subtree_reaps_its_leader_and_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild_that_left_the_process_group + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::the_host_answer_about_sealing_matches_what_a_launch_gets + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_can_still_be_run_and_waited_for + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_failed_spawn_returns_the_preparation_for_retry + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_metered_subtree_reports_what_it_used + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_run_that_asks_for_no_accounting_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_reopens_the_window_after_the_wait + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::platform_capacity_and_spawned_id_are_observable + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_can_still_be_run_and_waited_for + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_is_placed_inside_a_job + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_failed_spawn_returns_the_preparation_for_retry + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_metered_subtree_reports_what_it_used + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_run_that_asks_for_no_accounting_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_subtree_with_no_job_still_kills_the_child_directly + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_unmetered_launch_is_sealed_but_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_reopens_the_window_after_the_wait + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_a_jobless_subtree_stops_its_child + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_an_unreleased_subtree_reaps_its_leader_and_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild_that_left_the_process_group + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::platform_capacity_and_spawned_id_are_observable + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::the_host_answer_about_sealing_matches_what_a_launch_gets + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_is_placed_inside_a_job + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_unmetered_launch_is_sealed_but_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild_that_left_the_process_group + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::the_host_answer_about_sealing_matches_what_a_launch_gets + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_is_placed_inside_a_job + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_unmetered_launch_is_sealed_but_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild_that_left_the_process_group + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::terminating_an_already_reaped_subtree_reports_the_exact_reason + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::the_host_answer_about_sealing_matches_what_a_launch_gets + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::terminating_an_already_reaped_subtree_reports_the_exact_reason + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_metered_subtree_reports_what_it_used + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_run_that_asks_for_no_accounting_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_unmetered_launch_is_sealed_but_reports_no_usage + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_reopens_the_window_after_the_wait + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::platform_capacity_and_spawned_id_are_observable + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_adopt_fault_abandons_the_child_and_refuses + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_a_jobless_spawned_command_stops_its_child + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_cleanup_failure_is_reported_after_the_leader_is_reaped + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_pending_observation_neither_cleans_nor_reaps + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_reap_failure_is_distinguished_from_a_cleanup_failure + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_observed_exit_sweeps_before_a_reused_group_can_be_signalled + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::detached_output_capture_releases_bytes_and_stops_retaining + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::detached_output_capture_releases_bytes_and_stops_retaining + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::output_reader_preserves_absence_and_read_failures + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::detached_output_capture_releases_bytes_and_stops_retaining + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::output_reader_preserves_absence_and_read_failures + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::output_reader_retries_interrupted_reads + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_is_placed_inside_a_job + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_subtree_with_no_job_still_kills_the_child_directly + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_adopt_fault_abandons_the_child_and_refuses + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_unmetered_launch_is_sealed_but_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_a_jobless_spawned_command_stops_its_child + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_a_jobless_subtree_stops_its_child + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_an_unreleased_subtree_reaps_its_leader_and_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_an_already_exited_child_accepts_the_exit_race + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_an_exited_child_succeeds + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild_that_left_the_process_group + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::the_host_answer_about_sealing_matches_what_a_launch_gets + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::detached_output_capture_releases_bytes_and_stops_retaining + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::output_reader_retries_interrupted_reads + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::detached_output_capture_releases_bytes_and_stops_retaining + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::output_reader_retries_interrupted_reads + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::output_reader_preserves_absence_and_read_failures + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::output_reader_retries_interrupted_reads + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_can_still_be_run_and_waited_for + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_contained_child_is_placed_inside_a_job + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_failed_spawn_returns_the_preparation_for_retry + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_metered_subtree_reports_what_it_used + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_prepare_fault_refuses_to_install_containment + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_run_that_asks_for_no_accounting_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_adopt_fault_abandons_the_child_and_refuses + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::an_unmetered_launch_is_sealed_but_reports_no_usage + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::asking_for_accounting_a_host_cannot_provide_fails_the_spawn + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_reopens_the_window_after_the_wait + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::backing_off_waits_before_reopening_the_window + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_preserves_spawn_errors + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::dropping_an_unreleased_subtree_reaps_its_leader_and_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::killing_the_subtree_reaches_a_grandchild_that_left_the_process_group + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::platform_capacity_and_spawned_id_are_observable + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::stdout_and_stderr_pipes_are_taken_once_and_only_once + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::termination_reports_only_an_armed_fault_and_still_finishes_cleanup + - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::the_host_answer_about_sealing_matches_what_a_launch_gets + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::a_prepare_fault_refuses_to_install_containment + - - package: cargo-gamma-process + target: cargo_gamma_process + test: process_tree::tests::contained_output_does_not_wait_for_a_descendant_holding_its_pipes + - - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::a_platform_error_displays_only_its_message + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::an_operating_system_cause_is_retained_as_the_error_source + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::an_owned_operating_system_cause_is_retained_as_the_error_source + - - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::a_backtrace_is_captured_at_construction + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::a_borrowed_non_static_message_remains_accepted + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::a_platform_error_displays_only_its_message + - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::an_owned_operating_system_cause_is_retained_as_the_error_source + - - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::an_owned_operating_system_cause_is_retained_as_the_error_source + - - package: cargo-gamma-unsafe + target: cargo_gamma_unsafe + test: platform_error::tests::an_operating_system_cause_is_retained_as_the_error_source + - - package: cargo-heather + target: cargo-heather + test: cli::tests::project_dir_defaults_to_current_directory + - - package: cargo-heather + target: cargo-heather + test: config::tests::fallback_config_enables_scripts_and_disables_dot_toml + - package: cargo-heather + target: cargo-heather + test: config::tests::load_config_falls_back_to_cargo_toml_license + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_resolves_workspace_inherited_license + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_uses_workspace_package_license + - - package: cargo-heather + target: cargo-heather + test: config::tests::find_workspace_root_errors_when_no_workspace_ancestor + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_resolves_workspace_inherited_license + - package: cargo-heather + target: cargo-heather + test: config::tests::workspace_inherited_license_absent_resolves_to_none + - - package: cargo-heather + target: cargo-heather + test: config::tests::load_config_errors_when_neither_config_nor_cargo_toml_present + - package: cargo-heather + target: cargo-heather + test: config::tests::load_config_falls_back_to_cargo_toml_license + - - package: cargo-heather + target: cargo-heather + test: config::tests::read_config_file_missing_path_is_config_not_found + - package: cargo-heather + target: cargo-heather + test: config::tests::read_config_file_on_directory_is_file_read_error + - - package: cargo-heather + target: cargo-heather + test: config::tests::read_config_file_missing_path_is_config_not_found + - - package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_accepts_custom_header_and_explicit_options + - package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_rejects_empty_header + - - package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_accepts_custom_header_and_explicit_options + - package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_accepts_spdx_license_and_applies_option_defaults + - - package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_rejects_empty_header + - - package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_rejects_neither_license_nor_header + - - package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_rejects_both_license_and_header + - - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_resolves_workspace_inherited_license + - package: cargo-heather + target: cargo-heather + test: config::tests::workspace_inherited_license_absent_resolves_to_none + - - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_resolves_workspace_inherited_license + - - package: cargo-heather + target: cargo-heather + test: config::tests::load_config_falls_back_to_cargo_toml_license + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_empty_or_false_workspace_license_is_none + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_on_directory_is_file_read_error + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_rejects_malformed + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_resolves_workspace_inherited_license + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_uses_workspace_package_license + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_without_license_is_none + - package: cargo-heather + target: cargo-heather + test: config::tests::workspace_inherited_license_absent_resolves_to_none + - - package: cargo-heather + target: cargo-heather + test: config::tests::load_config_falls_back_to_cargo_toml_license + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_empty_or_false_workspace_license_is_none + - - package: cargo-heather + target: cargo-heather + test: config::tests::load_config_falls_back_to_cargo_toml_license + - - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_uses_workspace_package_license + - - package: cargo-heather + target: cargo-heather + test: run::tests::format_mismatch_details_handles_empty_expected_and_actual + - package: cargo-heather + target: cargo-heather + test: run::tests::format_mismatch_details_lists_nonempty_lines_with_markers + - - package: cargo-heather + target: cargo-heather + test: run::tests::format_mismatch_details_handles_empty_expected_and_actual + - - package: cargo-heather + target: cargo-heather + test: run::tests::format_mismatch_details_lists_nonempty_lines_with_markers + - - package: cargo-heather + target: cargo-heather + test: run::tests::make_relative_strips_base_or_falls_back + - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_propagates_read_error + - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_rejects_unsupported_file_type + - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_returns_kind_and_content_for_supported_file + - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + - - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_returns_kind_and_content_for_supported_file + - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + - - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_returns_kind_and_content_for_supported_file + - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_rejects_unsupported_file_type + - - package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + - - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - - package: cargo-heather + target: cargo-heather + test: run::tests::write_fixed_propagates_write_error + - package: cargo-heather + target: cargo-heather + test: run::tests::write_fixed_writes_bytes_to_disk + - - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_stops_at_first_non_comment + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_trims_only_trailing_blank_comments + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::content_without_a_header_comment_returns_none + - package: cargo-heather + target: cargo_heather + test: checker::tests::fix_returns_input_unchanged_when_already_ok + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_correct_crlf_header_is_byte_equivalent + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_toml_missing_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_adding_missing_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_replacing_wrong_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_lf_when_adding_missing_header + - - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_stops_at_first_non_comment + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::content_without_a_header_comment_returns_none + - package: cargo-heather + target: cargo_heather + test: checker::tests::fix_returns_input_unchanged_when_already_ok + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_correct_crlf_header_is_byte_equivalent + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_toml_missing_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_adding_missing_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_replacing_wrong_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_lf_when_adding_missing_header + - - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_stops_at_first_non_comment + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_trims_only_trailing_blank_comments + - package: cargo-heather + target: cargo_heather + test: checker::tests::fix_returns_input_unchanged_when_already_ok + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_correct_crlf_header_is_byte_equivalent + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_replacing_wrong_header + - - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::script_header_returns_none_when_second_line_is_not_dash + - - package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::header_matches_false_when_actual_shorter_than_expected + - package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::header_matches_ignores_outer_blank_lines + - package: cargo-heather + target: cargo_heather + test: checker::tests::fix_returns_input_unchanged_when_already_ok + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_correct_crlf_header_is_byte_equivalent + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - package: cargo-heather + target: powershell_ms + test: ps1_ok + - package: cargo-heather + target: powershell_ms + test: ps1_ok_with_trailing_comments + - package: cargo-heather + target: rust_mit + test: rust_descriptive + - package: cargo-heather + target: rust_mit + test: rust_mismatch + - package: cargo-heather + target: rust_mit + test: rust_ok + - - package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::header_matches_ignores_outer_blank_lines + - package: cargo-heather + target: cargo_heather + test: checker::tests::fix_returns_input_unchanged_when_already_ok + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_correct_crlf_header_is_byte_equivalent + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - package: cargo-heather + target: powershell_ms + test: ps1_ok + - package: cargo-heather + target: powershell_ms + test: ps1_ok_with_trailing_comments + - package: cargo-heather + target: rust_apache + test: rust_apache_ok + - package: cargo-heather + target: rust_mit + test: rust_descriptive + - package: cargo-heather + target: rust_mit + test: rust_mismatch + - package: cargo-heather + target: rust_mit + test: rust_ok + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_ok + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_with_trailing_descriptive_comment_is_ok + - - package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::header_matches_false_when_actual_shorter_than_expected + - package: cargo-heather + target: rust_apache + test: rust_apache_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_partial_is_mismatch + - - package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::header_matches_false_when_actual_shorter_than_expected + - package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::header_matches_ignores_outer_blank_lines + - package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::normalize_strips_outer_blank_lines_and_trailing_ws + - package: cargo-heather + target: cargo_heather + test: checker::tests::fix_returns_input_unchanged_when_already_ok + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_correct_crlf_header_is_byte_equivalent + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - package: cargo-heather + target: powershell_ms + test: ps1_ok + - package: cargo-heather + target: powershell_ms + test: ps1_ok_with_trailing_comments + - package: cargo-heather + target: rust_mit + test: rust_descriptive + - package: cargo-heather + target: rust_mit + test: rust_mismatch + - package: cargo-heather + target: rust_mit + test: rust_ok + - - package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::header_matches_ignores_outer_blank_lines + - package: cargo-heather + target: cargo_heather + test: checker::matcher::tests::normalize_strips_outer_blank_lines_and_trailing_ws + - - package: cargo-heather + target: cargo_heather + test: checker::tests::fix_returns_input_unchanged_when_already_ok + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_correct_crlf_header_is_byte_equivalent + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - package: cargo-heather + target: powershell_ms + test: ps1_ok + - package: cargo-heather + target: powershell_ms + test: ps1_ok_with_trailing_comments + - package: cargo-heather + target: rust_mit + test: rust_descriptive + - package: cargo-heather + target: rust_mit + test: rust_mismatch + - package: cargo-heather + target: rust_mit + test: rust_ok + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_without_shebang_strips_and_prepends + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_toml_missing_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_adding_missing_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_replacing_wrong_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_lf_when_adding_missing_header + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_consumes_trailing_blank_line + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_no_blank_when_next_line_is_real_code + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_skips_leading_blanks + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_strips_full_multi_paragraph_header_returns_exact_index + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_body_preserves_it + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_no_body_emits_frontmatter_and_header + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_reassembles_header_and_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_without_shebang_strips_and_prepends + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_preserves_absence_of_trailing_newline + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_strips_full_block_when_expected_is_shorter + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_yields_empty_when_file_is_only_a_header + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - package: cargo-heather + target: rust_apache + test: rust_apache_mismatch + - package: cargo-heather + target: rust_mit + test: rust_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_partial_is_mismatch + - package: cargo-heather + target: script_mit + test: script_mismatch + - package: cargo-heather + target: toml_mit + test: toml_mismatch + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_consumes_trailing_blank_line + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_strips_full_block_when_expected_is_shorter + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - package: cargo-heather + target: rust_apache + test: rust_apache_mismatch + - package: cargo-heather + target: rust_mit + test: rust_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_partial_is_mismatch + - package: cargo-heather + target: script_mit + test: script_mismatch + - package: cargo-heather + target: toml_mit + test: toml_mismatch + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_consumes_trailing_blank_line + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_no_blank_when_next_line_is_real_code + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_returns_none_when_no_header_lines + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_skips_leading_blanks + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_strips_full_multi_paragraph_header_returns_exact_index + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_body_preserves_it + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_no_body_emits_frontmatter_and_header + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_only_emits_header_without_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_reassembles_header_and_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_without_shebang_strips_and_prepends + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_preserves_absence_of_trailing_newline + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_returns_content_unchanged_when_no_header + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_strips_full_block_when_expected_is_shorter + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_yields_empty_when_file_is_only_a_header + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - package: cargo-heather + target: rust_apache + test: rust_apache_mismatch + - package: cargo-heather + target: rust_mit + test: rust_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_partial_is_mismatch + - package: cargo-heather + target: toml_mit + test: toml_mismatch + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_returns_none_when_no_header_lines + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_only_emits_header_without_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_returns_content_unchanged_when_no_header + - package: cargo-heather + target: script_mit + test: script_missing + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_body_preserves_it + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_no_body_emits_frontmatter_and_header + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_only_emits_header_without_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_reassembles_header_and_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_without_shebang_strips_and_prepends + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_handles_empty_content + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_only_emits_header_without_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_reassembles_header_and_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_without_shebang_strips_and_prepends + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_only_emits_header_without_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_reassembles_header_and_body + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::prepend_after_optional_shebang_handles_empty_content + - - package: cargo-heather + target: powershell_ms + test: ps1_shebang_missing_with_descriptive_comments + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_only_emits_header_without_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_reassembles_header_and_body + - package: cargo-heather + target: powershell_ms + test: ps1_shebang_missing_with_descriptive_comments + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_without_shebang_strips_and_prepends + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_preserves_absence_of_trailing_newline + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_strips_full_block_when_expected_is_shorter + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - package: cargo-heather + target: rust_apache + test: rust_apache_mismatch + - package: cargo-heather + target: rust_mit + test: rust_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_partial_is_mismatch + - package: cargo-heather + target: toml_mit + test: toml_mismatch + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_without_shebang_strips_and_prepends + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_preserves_absence_of_trailing_newline + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_strips_full_block_when_expected_is_shorter + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_yields_empty_when_file_is_only_a_header + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - package: cargo-heather + target: rust_apache + test: rust_apache_mismatch + - package: cargo-heather + target: rust_mit + test: rust_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_partial_is_mismatch + - package: cargo-heather + target: toml_mit + test: toml_mismatch + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_without_shebang_strips_and_prepends + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_preserves_absence_of_trailing_newline + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_returns_content_unchanged_when_no_header + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_strips_full_block_when_expected_is_shorter + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_yields_empty_when_file_is_only_a_header + - package: cargo-heather + target: powershell_ms + test: ps1_mismatch_wrong_license + - package: cargo-heather + target: rust_apache + test: rust_apache_mismatch + - package: cargo-heather + target: rust_mit + test: rust_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_mismatch + - package: cargo-heather + target: rust_ms_mit + test: rust_ms_mit_partial_is_mismatch + - package: cargo-heather + target: toml_mit + test: toml_mismatch + - - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_body_preserves_it + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_no_body_emits_frontmatter_and_header + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_handles_empty_content + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_only_emits_header_without_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_reassembles_header_and_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_without_shebang_strips_and_prepends + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::prepend_after_optional_shebang_handles_empty_content + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_toml_missing_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_adding_missing_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_replacing_wrong_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_lf_when_adding_missing_header + - - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_stops_at_first_non_comment + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::content_without_a_header_comment_returns_none + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_consumes_trailing_blank_line + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_no_blank_when_next_line_is_real_code + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_returns_none_when_no_header_lines + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_skips_leading_blanks + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_strips_full_multi_paragraph_header_returns_exact_index + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_body_preserves_it + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_reassembles_header_and_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_without_shebang_strips_and_prepends + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_preserves_absence_of_trailing_newline + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_returns_content_unchanged_when_no_header + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_strips_full_block_when_expected_is_shorter + - package: cargo-heather + target: cargo_heather + test: checker::tests::fix_returns_input_unchanged_when_already_ok + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_correct_crlf_header_is_byte_equivalent + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_adding_missing_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_replacing_wrong_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_lf_when_adding_missing_header + - - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_stops_at_first_non_comment + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_trims_only_trailing_blank_comments + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_consumes_trailing_blank_line + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_no_blank_when_next_line_is_real_code + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_skips_leading_blanks + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_strips_full_multi_paragraph_header_returns_exact_index + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_body_preserves_it + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_no_body_emits_frontmatter_and_header + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_reassembles_header_and_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_without_shebang_strips_and_prepends + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_preserves_absence_of_trailing_newline + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_strips_full_block_when_expected_is_shorter + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_yields_empty_when_file_is_only_a_header + - package: cargo-heather + target: cargo_heather + test: checker::tests::fix_returns_input_unchanged_when_already_ok + - package: cargo-heather + target: cargo_heather + test: comment::tests::doc_comment_is_not_header_comment + - package: cargo-heather + target: cargo_heather + test: comment::tests::inner_doc_comment_is_not_header_comment + - package: cargo-heather + target: cargo_heather + test: comment::tests::regular_comment_is_header_comment + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_correct_crlf_header_is_byte_equivalent + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_replacing_wrong_header + - - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_stops_at_first_non_comment + - package: cargo-heather + target: cargo_heather + test: checker::extract::tests::comment_collection_trims_only_trailing_blank_comments + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_consumes_trailing_blank_line + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_no_blank_when_next_line_is_real_code + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_skips_leading_blanks + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::find_header_end_strips_full_multi_paragraph_header_returns_exact_index + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_body_preserves_it + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_script_content_with_no_body_emits_frontmatter_and_header + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_with_shebang_reassembles_header_and_body + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::fix_shebang_content_without_shebang_strips_and_prepends + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_preserves_absence_of_trailing_newline + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_strips_full_block_when_expected_is_shorter + - package: cargo-heather + target: cargo_heather + test: checker::strip::tests::strip_existing_header_yields_empty_when_file_is_only_a_header + - package: cargo-heather + target: cargo_heather + test: checker::tests::fix_returns_input_unchanged_when_already_ok + - package: cargo-heather + target: cargo_heather + test: comment::tests::inner_doc_comment_is_not_header_comment + - package: cargo-heather + target: cargo_heather + test: comment::tests::regular_comment_is_header_comment + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_correct_crlf_header_is_byte_equivalent + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_replacing_wrong_header + - - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_toml_missing_header + - - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_propagates_read_error + - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_returns_kind_and_content_for_supported_file + - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + - - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_propagates_read_error + - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_rejects_unsupported_file_type + - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_returns_kind_and_content_for_supported_file + - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + - package: cargo-heather + target: cargo_heather + test: comment::tests::detect_powershell_data_file_by_psd1_extension + - package: cargo-heather + target: cargo_heather + test: comment::tests::detect_powershell_module_by_psm1_extension + - package: cargo-heather + target: cargo_heather + test: comment::tests::detect_powershell_script_by_ps1_extension + - package: cargo-heather + target: cargo_heather + test: comment::tests::detect_returns_none_for_unsupported_extensions + - - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_rejects_unsupported_file_type + - package: cargo-heather + target: cargo_heather + test: comment::tests::detect_returns_none_for_unsupported_extensions + - - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_rejects_unsupported_file_type + - package: cargo-heather + target: cargo_heather + test: comment::tests::detect_powershell_data_file_by_psd1_extension + - package: cargo-heather + target: cargo_heather + test: comment::tests::detect_powershell_module_by_psm1_extension + - package: cargo-heather + target: cargo_heather + test: comment::tests::detect_powershell_script_by_ps1_extension + - package: cargo-heather + target: cargo_heather + test: comment::tests::detect_returns_none_for_unsupported_extensions + - - package: cargo-heather + target: cargo_heather + test: comment::tests::detect_powershell_data_file_by_psd1_extension + - package: cargo-heather + target: cargo_heather + test: comment::tests::detect_powershell_module_by_psm1_extension + - package: cargo-heather + target: cargo_heather + test: comment::tests::detect_powershell_script_by_ps1_extension + - - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_returns_kind_and_content_for_supported_file + - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + - package: cargo-heather + target: cargo_heather + test: comment::tests::inner_attribute_is_not_cargo_script + - package: cargo-heather + target: cargo_heather + test: comment::tests::ordinary_rust_with_dash_second_line_is_not_cargo_script + - package: cargo-heather + target: cargo_heather + test: comment::tests::shebang_without_frontmatter_is_not_cargo_script + - package: cargo-heather + target: cargo_heather + test: comment::tests::valid_cargo_script + - - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_returns_kind_and_content_for_supported_file + - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + - package: cargo-heather + target: cargo_heather + test: comment::tests::empty_content_is_not_cargo_script + - package: cargo-heather + target: cargo_heather + test: comment::tests::inner_attribute_is_not_cargo_script + - package: cargo-heather + target: cargo_heather + test: comment::tests::ordinary_rust_with_dash_second_line_is_not_cargo_script + - package: cargo-heather + target: cargo_heather + test: comment::tests::shebang_without_frontmatter_is_not_cargo_script + - package: cargo-heather + target: cargo_heather + test: comment::tests::valid_cargo_script + - - package: cargo-heather + target: cargo_heather + test: comment::tests::empty_content_is_not_cargo_script + - - package: cargo-heather + target: cargo-heather + test: run::tests::read_and_classify_returns_kind_and_content_for_supported_file + - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - package: cargo-heather + target: cargo_heather + test: comment::tests::inner_attribute_is_not_cargo_script + - package: cargo-heather + target: cargo_heather + test: comment::tests::ordinary_rust_with_dash_second_line_is_not_cargo_script + - - package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + - package: cargo-heather + target: cargo_heather + test: comment::tests::inner_attribute_is_not_cargo_script + - package: cargo-heather + target: cargo_heather + test: comment::tests::shebang_without_frontmatter_is_not_cargo_script + - package: cargo-heather + target: cargo_heather + test: comment::tests::valid_cargo_script + - - package: cargo-heather + target: cargo-heather + test: run::tests::run_fix_skips_cargo_scripts_when_scripts_disabled + - package: cargo-heather + target: cargo_heather + test: comment::tests::shebang_without_frontmatter_is_not_cargo_script + - package: cargo-heather + target: cargo_heather + test: comment::tests::valid_cargo_script + - - package: cargo-heather + target: cargo-heather + test: run::tests::run_check_reports_the_exact_number_of_failures + - package: cargo-heather + target: cargo-heather + test: run::tests::write_fixed_propagates_write_error + - package: cargo-heather + target: cargo_heather + test: error::tests::display_renders_every_variant + - - package: cargo-heather + target: cargo_heather + test: error::tests::file_read_error_exposes_source + - package: cargo-heather + target: cargo_heather + test: error::tests::non_io_variants_have_no_source + - - package: cargo-heather + target: cargo_heather + test: error::tests::file_read_error_exposes_source + - - package: cargo-heather + target: cargo-heather + test: config::tests::load_config_falls_back_to_cargo_toml_license + - package: cargo-heather + target: cargo-heather + test: config::tests::resolve_config_accepts_spdx_license_and_applies_option_defaults + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_resolves_workspace_inherited_license + - package: cargo-heather + target: cargo-heather + test: config::tests::try_load_from_cargo_toml_uses_workspace_package_license + - - package: cargo-heather + target: cargo_heather + test: license::tests::supported_licenses_contains_known_ids + - package: cargo-heather + target: cargo_heather + test: license::tests::supported_licenses_is_sorted + - - package: cargo-heather + target: cargo_heather + test: process::tests::fix_correct_crlf_header_is_byte_equivalent + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_toml_missing_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_adding_missing_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_replacing_wrong_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_lf_when_adding_missing_header + - - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_lf_when_adding_missing_header + - - package: cargo-heather + target: cargo_heather + test: process::tests::fix_correct_crlf_header_is_byte_equivalent + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_toml_missing_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_adding_missing_header + - package: cargo-heather + target: cargo_heather + test: process::tests::fix_preserves_crlf_when_replacing_wrong_header + - - package: cargo-ensure-no-cyclic-deps + target: integration_tests + test: test_workspace_without_cycle + reach: + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: advisory_comments + mutator: literal.str_to_empty + normalizedText: '".pipelines/anvil/steps/advisory-comments.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: advisory_comments + mutator: literal.str_to_xyzzy + normalizedText: '".pipelines/anvil/steps/advisory-comments.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: all + mutator: collection.omit_element + normalizedText: vec![setup_step(), impact_step(), advisory_comments(), job_wrapper()] + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: all + mutator: fn_value.empty_collection + normalizedText: '{ let mut out = vec![setup_step(), impact_step(), advisory_comments(), job_wrapper()]; for (group, + path) in GROUP_STEPS { out.push(Artifact::backend_file(Backend::Ado, path, render_group_step(group))); } out.push(pr_stages()); + out.push(scheduled_stages()); out.push(custom_pr_stages()); out.push(custom_scheduled_stages()); out.push(pr_root_pipeline()); + out.push(scheduled_root_pipeline()); out }' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: all + mutator: stmt.delete_call + normalizedText: out.push(Artifact::backend_file(Backend::Ado, path, render_group_step(group))); + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: all + mutator: stmt.delete_call + normalizedText: out.push(custom_pr_stages()); + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: all + mutator: stmt.delete_call + normalizedText: out.push(custom_scheduled_stages()); + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: all + mutator: stmt.delete_call + normalizedText: out.push(pr_root_pipeline()); + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: all + mutator: stmt.delete_call + normalizedText: out.push(pr_stages()); + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: all + mutator: stmt.delete_call + normalizedText: out.push(scheduled_root_pipeline()); + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: all + mutator: stmt.delete_call + normalizedText: out.push(scheduled_stages()); + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: custom_pr_stages + mutator: literal.str_to_empty + normalizedText: '".pipelines/anvil/custom-pr-stages.yml"' + occurrence: 0 + testSet: 1 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: custom_pr_stages + mutator: literal.str_to_xyzzy + normalizedText: '".pipelines/anvil/custom-pr-stages.yml"' + occurrence: 0 + testSet: 1 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: custom_scheduled_stages + mutator: literal.str_to_empty + normalizedText: '".pipelines/anvil/custom-scheduled-stages.yml"' + occurrence: 0 + testSet: 1 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: custom_scheduled_stages + mutator: literal.str_to_xyzzy + normalizedText: '".pipelines/anvil/custom-scheduled-stages.yml"' + occurrence: 0 + testSet: 1 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: impact_step + mutator: literal.str_to_empty + normalizedText: '".pipelines/anvil/steps/impact.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: impact_step + mutator: literal.str_to_xyzzy + normalizedText: '".pipelines/anvil/steps/impact.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: job_wrapper + mutator: literal.str_to_empty + normalizedText: '".pipelines/anvil/steps/job.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: job_wrapper + mutator: literal.str_to_xyzzy + normalizedText: '".pipelines/anvil/steps/job.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: pr_root_pipeline + mutator: literal.str_to_empty + normalizedText: '".pipelines/anvil-pr.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: pr_root_pipeline + mutator: literal.str_to_xyzzy + normalizedText: '".pipelines/anvil-pr.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: pr_stages + mutator: literal.str_to_empty + normalizedText: '".pipelines/anvil/pr.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: pr_stages + mutator: literal.str_to_xyzzy + normalizedText: '".pipelines/anvil/pr.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: assign_value.default + normalizedText: rendered.replace(IMPACT_MODE_PLACEHOLDER, impact_mode(group)) + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: assign_value.default + normalizedText: rendered.replace(PR_TITLE_ENV_PLACEHOLDER, title_env) + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: assign_value.default + normalizedText: rendered.replace(PR_TITLE_STEP_PLACEHOLDER, title_step) + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: cond.always_false + normalizedText: group == "pr-fast" + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: cond.always_true + normalizedText: group == "pr-fast" + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: cond.negate + normalizedText: group == "pr-fast" + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: fn_value.empty_string + normalizedText: '{ let mut rendered = GROUP_STEP_TEMPLATE.replace(GROUP_PLACEHOLDER, group); rendered = rendered.replace(IMPACT_MODE_PLACEHOLDER, + impact_mode(group)); let (title_step, title_env) = if group == "pr-fast" { (PR_TITLE_STEP_TEMPLATE.trim_end(), PR_TITLE_ENV_TEMPLATE.trim_end()) + } else { ("", "") }; rendered = rendered.replace(PR_TITLE_STEP_PLACEHOLDER, title_step); rendered = rendered.replace(PR_TITLE_ENV_PLACEHOLDER, + title_env); rendered }' + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut rendered = GROUP_STEP_TEMPLATE.replace(GROUP_PLACEHOLDER, group); rendered = rendered.replace(IMPACT_MODE_PLACEHOLDER, + impact_mode(group)); let (title_step, title_env) = if group == "pr-fast" { (PR_TITLE_STEP_TEMPLATE.trim_end(), PR_TITLE_ENV_TEMPLATE.trim_end()) + } else { ("", "") }; rendered = rendered.replace(PR_TITLE_STEP_PLACEHOLDER, title_step); rendered = rendered.replace(PR_TITLE_ENV_PLACEHOLDER, + title_env); rendered }' + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: literal.str_to_empty + normalizedText: '"pr-fast"' + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 3 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 1 + testSet: 3 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: literal.str_to_xyzzy + normalizedText: '"pr-fast"' + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: relational.eq_to_ne + normalizedText: group == "pr-fast" + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: stmt.delete_assign + normalizedText: rendered = rendered.replace(IMPACT_MODE_PLACEHOLDER, impact_mode(group)); + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: stmt.delete_assign + normalizedText: rendered = rendered.replace(PR_TITLE_ENV_PLACEHOLDER, title_env); + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: stmt.delete_assign + normalizedText: rendered = rendered.replace(PR_TITLE_STEP_PLACEHOLDER, title_step); + occurrence: 0 + testSet: 2 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: string.trim_end_to_trim_start + normalizedText: PR_TITLE_ENV_TEMPLATE.trim_end() + occurrence: 0 + testSet: 4 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: render_group_step + mutator: string.trim_end_to_trim_start + normalizedText: PR_TITLE_STEP_TEMPLATE.trim_end() + occurrence: 0 + testSet: 4 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: scheduled_root_pipeline + mutator: literal.str_to_empty + normalizedText: '".pipelines/anvil-scheduled.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: scheduled_root_pipeline + mutator: literal.str_to_xyzzy + normalizedText: '".pipelines/anvil-scheduled.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: scheduled_stages + mutator: literal.str_to_empty + normalizedText: '".pipelines/anvil/scheduled.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: scheduled_stages + mutator: literal.str_to_xyzzy + normalizedText: '".pipelines/anvil/scheduled.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: setup_step + mutator: literal.str_to_empty + normalizedText: '".pipelines/anvil/steps/setup.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/ado.rs + item: setup_step + mutator: literal.str_to_xyzzy + normalizedText: '".pipelines/anvil/steps/setup.yml"' + occurrence: 0 + testSet: 0 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: all + mutator: collection.omit_element + normalizedText: vec![ recipe(), dockerignore(), dockerfile_base_image(), dockerfile_base(), dockerfile_tools(), dockerfile_setup(), + dockerfile_entry(), ] + occurrence: 0 + testSet: 5 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: all + mutator: fn_value.empty_collection + normalizedText: '{ vec![ recipe(), dockerignore(), dockerfile_base_image(), dockerfile_base(), dockerfile_tools(), dockerfile_setup(), + dockerfile_entry(), ] }' + occurrence: 0 + testSet: 5 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_base + mutator: literal.str_to_empty + normalizedText: '"anvil-container-base"' + occurrence: 0 + testSet: 5 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_base + mutator: literal.str_to_xyzzy + normalizedText: '"anvil-container-base"' + occurrence: 0 + testSet: 5 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_base_image + mutator: literal.str_to_empty + normalizedText: '"anvil-container-base-image"' + occurrence: 0 + testSet: 6 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_base_image + mutator: literal.str_to_xyzzy + normalizedText: '"anvil-container-base-image"' + occurrence: 0 + testSet: 6 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_entry + mutator: literal.str_to_empty + normalizedText: '"anvil-container-entry"' + occurrence: 0 + testSet: 5 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_entry + mutator: literal.str_to_xyzzy + normalizedText: '"anvil-container-entry"' + occurrence: 0 + testSet: 5 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_setup + mutator: literal.str_to_empty + normalizedText: '"anvil-container-setup"' + occurrence: 0 + testSet: 6 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_setup + mutator: literal.str_to_xyzzy + normalizedText: '"anvil-container-setup"' + occurrence: 0 + testSet: 6 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_tools + mutator: literal.str_to_empty + normalizedText: '"anvil-container-tools"' + occurrence: 0 + testSet: 5 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/container.rs + item: dockerfile_tools + mutator: literal.str_to_xyzzy + normalizedText: '"anvil-container-tools"' + occurrence: 0 + testSet: 5 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: all + mutator: collection.omit_element + normalizedText: vec![ setup_action(), just_problem_matcher(), run_group_action(), report_status_action(), impact_action(), + pr_impl_workflow(), scheduled_impl_workflow(), pr_root_workflow(), scheduled_root_workflow(), code_review_skill(), + ] + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: all + mutator: fn_value.empty_collection + normalizedText: '{ vec![ setup_action(), just_problem_matcher(), run_group_action(), report_status_action(), impact_action(), + pr_impl_workflow(), scheduled_impl_workflow(), pr_root_workflow(), scheduled_root_workflow(), code_review_skill(), + ] }' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: code_review_skill + mutator: literal.str_to_empty + normalizedText: '".github/skills/code-review/SKILL.md"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: code_review_skill + mutator: literal.str_to_xyzzy + normalizedText: '".github/skills/code-review/SKILL.md"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: impact_action + mutator: literal.str_to_empty + normalizedText: '".github/actions/anvil-impact/action.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: impact_action + mutator: literal.str_to_xyzzy + normalizedText: '".github/actions/anvil-impact/action.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: just_problem_matcher + mutator: literal.str_to_empty + normalizedText: '".github/actions/anvil-setup/just-problem-matcher.json"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: just_problem_matcher + mutator: literal.str_to_xyzzy + normalizedText: '".github/actions/anvil-setup/just-problem-matcher.json"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: pr_impl_workflow + mutator: literal.str_to_empty + normalizedText: '".github/workflows/anvil-pr-impl.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: pr_impl_workflow + mutator: literal.str_to_xyzzy + normalizedText: '".github/workflows/anvil-pr-impl.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: pr_root_workflow + mutator: literal.str_to_empty + normalizedText: '".github/workflows/anvil-pr.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: pr_root_workflow + mutator: literal.str_to_xyzzy + normalizedText: '".github/workflows/anvil-pr.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: report_status_action + mutator: literal.str_to_empty + normalizedText: '".github/actions/anvil-report-status/action.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: report_status_action + mutator: literal.str_to_xyzzy + normalizedText: '".github/actions/anvil-report-status/action.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: run_group_action + mutator: literal.str_to_empty + normalizedText: '".github/actions/anvil-run-group/action.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: run_group_action + mutator: literal.str_to_xyzzy + normalizedText: '".github/actions/anvil-run-group/action.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: scheduled_impl_workflow + mutator: literal.str_to_empty + normalizedText: '".github/workflows/anvil-scheduled-impl.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: scheduled_impl_workflow + mutator: literal.str_to_xyzzy + normalizedText: '".github/workflows/anvil-scheduled-impl.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: scheduled_root_workflow + mutator: literal.str_to_empty + normalizedText: '".github/workflows/anvil-scheduled.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: scheduled_root_workflow + mutator: literal.str_to_xyzzy + normalizedText: '".github/workflows/anvil-scheduled.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: setup_action + mutator: literal.str_to_empty + normalizedText: '".github/actions/anvil-setup/action.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/github.rs + item: setup_action + mutator: literal.str_to_xyzzy + normalizedText: '".github/actions/anvil-setup/action.yml"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/instructions.rs + item: adoption_skill + mutator: literal.str_to_empty + normalizedText: '".github/skills/cargo-anvil-adoption/SKILL.md"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/instructions.rs + item: adoption_skill + mutator: literal.str_to_xyzzy + normalizedText: '".github/skills/cargo-anvil-adoption/SKILL.md"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/instructions.rs + item: cargo_anvil + mutator: literal.str_to_empty + normalizedText: '".github/instructions/cargo-anvil.instructions.md"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/instructions.rs + item: cargo_anvil + mutator: literal.str_to_xyzzy + normalizedText: '".github/instructions/cargo-anvil.instructions.md"' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/justfile.rs + item: check_files + mutator: fn_value.empty_collection + normalizedText: '{ CHECK_FILES.iter().map(|&(path, body)| Artifact::owned_file(path, body)).collect() }' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/justfile.rs + item: dev_files + mutator: fn_value.empty_collection + normalizedText: '{ DEV_FILES.iter().map(|&(path, body)| Artifact::owned_file(path, body)).collect() }' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/justfile.rs + item: group_files + mutator: fn_value.empty_collection + normalizedText: '{ GROUP_FILES.iter().map(|&(path, body)| Artifact::owned_file(path, body)).collect() }' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: anvil_artifacts + mutator: collection.omit_element + normalizedText: vec![ justfile::entry(), justfile::tools(), justfile::versions(), justfile::helpers(), justfile::impact(), + justfile::tiers(), instructions::cargo_anvil(), instructions::adoption_skill(), region::justfile_imports(), region::workspace_lints(), + region::single_crate_lints(), region::member_lints(), region::deny_advisories(), region::deny_licenses(), region::deny_bans(), + region::deny_sources(), region::rustfmt(), region::delta(), region::spellcheck(), region::clippy(), region::gitattributes(), + ] + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: anvil_artifacts + mutator: fn_value.empty_collection + normalizedText: '{ let mut out = vec![ justfile::entry(), justfile::tools(), justfile::versions(), justfile::helpers(), + justfile::impact(), justfile::tiers(), instructions::cargo_anvil(), instructions::adoption_skill(), region::justfile_imports(), + region::workspace_lints(), region::single_crate_lints(), region::member_lints(), region::deny_advisories(), region::deny_licenses(), + region::deny_bans(), region::deny_sources(), region::rustfmt(), region::delta(), region::spellcheck(), region::clippy(), + region::gitattributes(), ]; out.extend(justfile::dev_files()); out.extend(justfile::check_files()); out.extend(justfile::group_files()); + out.extend(container::all()); out.extend(github::all()); out.extend(ado::all()); out }' + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: anvil_artifacts + mutator: stmt.delete_call + normalizedText: out.extend(ado::all()); + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: anvil_artifacts + mutator: stmt.delete_call + normalizedText: out.extend(container::all()); + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: anvil_artifacts + mutator: stmt.delete_call + normalizedText: out.extend(github::all()); + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: anvil_artifacts + mutator: stmt.delete_call + normalizedText: out.extend(justfile::check_files()); + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: anvil_artifacts + mutator: stmt.delete_call + normalizedText: out.extend(justfile::dev_files()); + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: anvil_artifacts + mutator: stmt.delete_call + normalizedText: out.extend(justfile::group_files()); + occurrence: 0 + testSet: 7 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: composed_hosts + mutator: fn_value.empty_collection + normalizedText: '{ vec![container::composed_host()] }' + occurrence: 0 + testSet: 8 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: impact_mode + mutator: fn_value.empty_string + normalizedText: '{ match group { "pr-fast" | "pr-test" | "pr-msrv" | "pr-runtime-analysis" | "pr-mutants" => "consume", + "scheduled-test" | "scheduled-advisories" | "scheduled-runtime-analysis" | "scheduled-exhaustive" => "off", other + => { panic!("impact_mode: unclassified group ''{other}''; add it to the pr/scheduled arms in artifacts::impact_mode") + } } }' + occurrence: 0 + testSet: 9 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: impact_mode + mutator: fn_value.xyzzy_string + normalizedText: '{ match group { "pr-fast" | "pr-test" | "pr-msrv" | "pr-runtime-analysis" | "pr-mutants" => "consume", + "scheduled-test" | "scheduled-advisories" | "scheduled-runtime-analysis" | "scheduled-exhaustive" => "off", other + => { panic!("impact_mode: unclassified group ''{other}''; add it to the pr/scheduled arms in artifacts::impact_mode") + } } }' + occurrence: 0 + testSet: 9 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: impact_mode + mutator: literal.str_to_empty + normalizedText: '"consume"' + occurrence: 0 + testSet: 10 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: impact_mode + mutator: literal.str_to_empty + normalizedText: '"off"' + occurrence: 0 + testSet: 11 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: impact_mode + mutator: literal.str_to_xyzzy + normalizedText: '"consume"' + occurrence: 0 + testSet: 10 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: impact_mode + mutator: literal.str_to_xyzzy + normalizedText: '"off"' + occurrence: 0 + testSet: 11 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: impact_mode + mutator: match_arm.never_matches + normalizedText: '"pr-fast" | "pr-test" | "pr-msrv" | "pr-runtime-analysis" | "pr-mutants"' + occurrence: 0 + testSet: 10 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/mod.rs + item: impact_mode + mutator: match_arm.never_matches + normalizedText: '"scheduled-test" | "scheduled-advisories" | "scheduled-runtime-analysis" | "scheduled-exhaustive"' + occurrence: 0 + testSet: 11 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_single_crate_lints_body + mutator: fn_value.empty_string + normalizedText: '{ let mut out = String::new(); out.push_str("[lints]\n"); out.push_str(LINTS_BODY); out }' + occurrence: 0 + testSet: 12 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_single_crate_lints_body + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut out = String::new(); out.push_str("[lints]\n"); out.push_str(LINTS_BODY); out }' + occurrence: 0 + testSet: 12 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_single_crate_lints_body + mutator: literal.str_to_empty + normalizedText: '"[lints]\n"' + occurrence: 0 + testSet: 12 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_single_crate_lints_body + mutator: literal.str_to_xyzzy + normalizedText: '"[lints]\n"' + occurrence: 0 + testSet: 12 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_single_crate_lints_body + mutator: stmt.delete_call + normalizedText: out.push_str("[lints]\n"); + occurrence: 0 + testSet: 12 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_single_crate_lints_body + mutator: stmt.delete_call + normalizedText: out.push_str(LINTS_BODY); + occurrence: 0 + testSet: 12 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_workspace_lints_body + mutator: fn_value.empty_string + normalizedText: '{ let mut out = String::new(); out.push_str("[workspace.lints]\n"); out.push_str(LINTS_BODY); out }' + occurrence: 0 + testSet: 13 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_workspace_lints_body + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut out = String::new(); out.push_str("[workspace.lints]\n"); out.push_str(LINTS_BODY); out }' + occurrence: 0 + testSet: 13 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_workspace_lints_body + mutator: literal.str_to_empty + normalizedText: '"[workspace.lints]\n"' + occurrence: 0 + testSet: 13 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_workspace_lints_body + mutator: literal.str_to_xyzzy + normalizedText: '"[workspace.lints]\n"' + occurrence: 0 + testSet: 13 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_workspace_lints_body + mutator: stmt.delete_call + normalizedText: out.push_str("[workspace.lints]\n"); + occurrence: 0 + testSet: 13 + - site: + file: crates/cargo-anvil/src/anvil/artifacts/region.rs + item: render_workspace_lints_body + mutator: stmt.delete_call + normalizedText: out.push_str(LINTS_BODY); + occurrence: 0 + testSet: 13 + - site: + file: crates/cargo-anvil/src/anvil/mod.rs + item: anvil_cli_meta + mutator: literal.str_to_empty + normalizedText: '"Update local recipes, cloud-workflow building blocks, and managed regions for the anvil unified build + setup"' + occurrence: 0 + testSet: 14 + - site: + file: crates/cargo-anvil/src/anvil/mod.rs + item: anvil_cli_meta + mutator: literal.str_to_empty + normalizedText: '"anvil"' + occurrence: 0 + testSet: 14 + - site: + file: crates/cargo-anvil/src/anvil/mod.rs + item: anvil_cli_meta + mutator: literal.str_to_empty + normalizedText: '"cargo-anvil"' + occurrence: 0 + testSet: 14 + - site: + file: crates/cargo-anvil/src/anvil/mod.rs + item: anvil_cli_meta + mutator: literal.str_to_xyzzy + normalizedText: '"Update local recipes, cloud-workflow building blocks, and managed regions for the anvil unified build + setup"' + occurrence: 0 + testSet: 14 + - site: + file: crates/cargo-anvil/src/anvil/mod.rs + item: anvil_cli_meta + mutator: literal.str_to_xyzzy + normalizedText: '"anvil"' + occurrence: 0 + testSet: 14 + - site: + file: crates/cargo-anvil/src/anvil/mod.rs + item: anvil_cli_meta + mutator: literal.str_to_xyzzy + normalizedText: '"cargo-anvil"' + occurrence: 0 + testSet: 14 + - site: + file: crates/cargo-anvil/src/backend.rs + item: Backend::parse + mutator: match_arm.never_matches + normalizedText: '"ado"' + occurrence: 0 + testSet: 15 + - site: + file: crates/cargo-anvil/src/backend.rs + item: Backend::parse + mutator: match_arm.never_matches + normalizedText: '"github"' + occurrence: 0 + testSet: 16 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: cond.always_false + normalizedText: host == "dev.azure.com" || host == "ssh.dev.azure.com" || host.ends_with(".visualstudio.com") + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: cond.always_false + normalizedText: host == "github.com" || host.ends_with(".github.com") + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: cond.always_true + normalizedText: host == "dev.azure.com" || host == "ssh.dev.azure.com" || host.ends_with(".visualstudio.com") + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: cond.always_true + normalizedText: host == "github.com" || host.ends_with(".github.com") + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: cond.negate + normalizedText: host == "dev.azure.com" || host == "ssh.dev.azure.com" || host.ends_with(".visualstudio.com") + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: cond.negate + normalizedText: host == "github.com" || host.ends_with(".github.com") + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: fn_value.empty_collection + normalizedText: '{ if let Some(host) = extract_host(url) { if host == "github.com" || host.ends_with(".github.com") + { return vec![Backend::GitHub]; } if host == "dev.azure.com" || host == "ssh.dev.azure.com" || host.ends_with(".visualstudio.com") + { return vec![Backend::Ado]; } } Vec::new() }' + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: literal.str_to_empty + normalizedText: '".github.com"' + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: literal.str_to_empty + normalizedText: '".visualstudio.com"' + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: literal.str_to_empty + normalizedText: '"dev.azure.com"' + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: literal.str_to_empty + normalizedText: '"github.com"' + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: literal.str_to_empty + normalizedText: '"ssh.dev.azure.com"' + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: literal.str_to_xyzzy + normalizedText: '".github.com"' + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: literal.str_to_xyzzy + normalizedText: '".visualstudio.com"' + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: literal.str_to_xyzzy + normalizedText: '"dev.azure.com"' + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: literal.str_to_xyzzy + normalizedText: '"github.com"' + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: literal.str_to_xyzzy + normalizedText: '"ssh.dev.azure.com"' + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: logical.or_to_and + normalizedText: host == "dev.azure.com" || host == "ssh.dev.azure.com" + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: logical.or_to_and + normalizedText: host == "dev.azure.com" || host == "ssh.dev.azure.com" || host.ends_with(".visualstudio.com") + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: logical.or_to_and + normalizedText: host == "github.com" || host.ends_with(".github.com") + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: relational.eq_to_ne + normalizedText: host == "dev.azure.com" + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: relational.eq_to_ne + normalizedText: host == "github.com" + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: relational.eq_to_ne + normalizedText: host == "ssh.dev.azure.com" + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: string.ends_with_to_starts_with + normalizedText: host.ends_with(".github.com") + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: detect_from_url + mutator: string.ends_with_to_starts_with + normalizedText: host.ends_with(".visualstudio.com") + occurrence: 0 + testSet: 17 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: arith.add_to_mul + normalizedText: at_idx + 1 + occurrence: 0 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: arith.add_to_mul + normalizedText: at_idx + 1 + occurrence: 1 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: arith.add_to_mul + normalizedText: at_idx + 1 + occurrence: 2 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: arith.add_to_mul + normalizedText: at_idx + 1 + colon_idx + occurrence: 0 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: arith.add_to_mul + normalizedText: i + 1 + occurrence: 0 + testSet: 19 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: arith.add_to_mul + normalizedText: scheme_end + 3 + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: arith.add_to_sub + normalizedText: at_idx + 1 + occurrence: 0 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: arith.add_to_sub + normalizedText: at_idx + 1 + occurrence: 1 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: arith.add_to_sub + normalizedText: at_idx + 1 + occurrence: 2 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: arith.add_to_sub + normalizedText: at_idx + 1 + colon_idx + occurrence: 0 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: arith.add_to_sub + normalizedText: i + 1 + occurrence: 0 + testSet: 19 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: arith.add_to_sub + normalizedText: scheme_end + 3 + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: cond.always_false + normalizedText: url.is_empty() + occurrence: 0 + testSet: 21 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: cond.always_true + normalizedText: url.is_empty() + occurrence: 0 + testSet: 21 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: cond.negate + normalizedText: url.is_empty() + occurrence: 0 + testSet: 21 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: expr.decrement + normalizedText: after_scheme.len() + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: expr.decrement + normalizedText: at_idx + 1 + occurrence: 0 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: expr.decrement + normalizedText: at_idx + 1 + occurrence: 1 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: expr.decrement + normalizedText: at_idx + 1 + colon_idx + occurrence: 0 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: expr.decrement + normalizedText: host_part.len() + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: expr.decrement + normalizedText: scheme_end + 3 + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: expr.increment + normalizedText: after_scheme.len() + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: expr.increment + normalizedText: at_idx + 1 + occurrence: 0 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: expr.increment + normalizedText: at_idx + 1 + occurrence: 1 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: expr.increment + normalizedText: at_idx + 1 + colon_idx + occurrence: 0 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: expr.increment + normalizedText: host_part.len() + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: expr.increment + normalizedText: scheme_end + 3 + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: fn_value.none + normalizedText: '{ let url = url.trim(); if url.is_empty() { return None; } if let Some(scheme_end) = url.find("://") + && scheme_end > 0 { let after_scheme = url.get(scheme_end + 3..).unwrap_or_default(); let authority_end = after_scheme.find(''/'').unwrap_or(after_scheme.len()); + let authority = &after_scheme[..authority_end]; let host_start = authority.rfind(''@'').map_or(0, |i| i + 1); let + host_part = &authority[host_start..]; let host_end = host_part.find('':'').unwrap_or(host_part.len()); let host = + &host_part[..host_end]; return (!host.is_empty()).then_some(host); } if let Some(at_idx) = url.find(''@'') && let + Some(colon_idx) = url[at_idx + 1..].find('':'') { let host = &url[at_idx + 1..at_idx + 1 + colon_idx]; return (!host.is_empty()).then_some(host); + } None }' + occurrence: 0 + testSet: 21 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 19 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 19 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.str_to_empty + normalizedText: '"://"' + occurrence: 0 + testSet: 21 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: literal.str_to_xyzzy + normalizedText: '"://"' + occurrence: 0 + testSet: 21 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 22 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 23 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: range.exclusive_to_inclusive + normalizedText: ..authority_end + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: range.exclusive_to_inclusive + normalizedText: ..host_end + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: range.exclusive_to_inclusive + normalizedText: at_idx + 1..at_idx + 1 + colon_idx + occurrence: 0 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: relational.gt_to_ge + normalizedText: scheme_end > 0 + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: relational.gt_to_lt + normalizedText: scheme_end > 0 + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: unary.remove_not + normalizedText: '!host.is_empty()' + occurrence: 0 + testSet: 20 + - site: + file: crates/cargo-anvil/src/backend.rs + item: extract_host + mutator: unary.remove_not + normalizedText: '!host.is_empty()' + occurrence: 1 + testSet: 18 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: cond.always_false + normalizedText: '!output.status.success()' + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: cond.always_false + normalizedText: url.is_empty() + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: cond.always_true + normalizedText: '!output.status.success()' + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: cond.always_true + normalizedText: url.is_empty() + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: cond.negate + normalizedText: '!output.status.success()' + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: cond.negate + normalizedText: url.is_empty() + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: fn_value.ok + normalizedText: '{ let output = output.into_app_err("failed to invoke `git config` — is git installed and on PATH?")?; + if !output.status.success() { return Err(app_err!( "`git config --get remote.origin.url` exited with {} in {}", output.status, + repo_root.display() )); } let url = String::from_utf8(output.stdout) .into_app_err("git config output was not valid + UTF-8")? .trim() .to_owned(); if url.is_empty() { return Err(app_err!("no `origin` remote configured in {}", repo_root.display())); + } Ok(url) }' + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: literal.str_to_empty + normalizedText: '"failed to invoke `git config` — is git installed and on PATH?"' + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: literal.str_to_empty + normalizedText: '"git config output was not valid UTF-8"' + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: literal.str_to_xyzzy + normalizedText: '"failed to invoke `git config` — is git installed and on PATH?"' + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: literal.str_to_xyzzy + normalizedText: '"git config output was not valid UTF-8"' + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: result.err_to_ok + normalizedText: Err(app_err!( "`git config --get remote.origin.url` exited with {} in {}", output.status, repo_root.display() + )) + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: result.err_to_ok + normalizedText: Err(app_err!("no `origin` remote configured in {}", repo_root.display())) + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: origin_url_from_output + mutator: unary.remove_not + normalizedText: '!output.status.success()' + occurrence: 0 + testSet: 24 + - site: + file: crates/cargo-anvil/src/backend.rs + item: resolve + mutator: cond.always_false + normalizedText: '!flag_backends.is_empty()' + occurrence: 0 + testSet: 25 + - site: + file: crates/cargo-anvil/src/backend.rs + item: resolve + mutator: cond.always_false + normalizedText: no_backends + occurrence: 0 + testSet: 26 + - site: + file: crates/cargo-anvil/src/backend.rs + item: resolve + mutator: cond.always_true + normalizedText: '!flag_backends.is_empty()' + occurrence: 0 + testSet: 25 + - site: + file: crates/cargo-anvil/src/backend.rs + item: resolve + mutator: cond.always_true + normalizedText: no_backends + occurrence: 0 + testSet: 26 + - site: + file: crates/cargo-anvil/src/backend.rs + item: resolve + mutator: cond.negate + normalizedText: '!flag_backends.is_empty()' + occurrence: 0 + testSet: 25 + - site: + file: crates/cargo-anvil/src/backend.rs + item: resolve + mutator: cond.negate + normalizedText: no_backends + occurrence: 0 + testSet: 26 + - site: + file: crates/cargo-anvil/src/backend.rs + item: resolve + mutator: fn_value.ok + normalizedText: "{ if no_backends { return Ok(Vec::new()); } if !flag_backends.is_empty() { let mut parsed = Vec::with_capacity(flag_backends.len());\ + \ for name in flag_backends { parsed.push(Backend::parse(name)?); } parsed.sort_unstable(); parsed.dedup(); return\ + \ Ok(parsed); } let url = read_origin_url(repo_root)?; let detected = detect_from_url(&url); if detected.is_empty()\ + \ { return Err(app_err!( \"could not autodetect a cloud-workflow backend from origin URL '{url}'. \\\n \ + \ Pass --backend github|ado explicitly, or --no-backends.\" )); } Ok(detected) }" + occurrence: 0 + testSet: 26 + - site: + file: crates/cargo-anvil/src/backend.rs + item: resolve + mutator: iter.remove_dedup + normalizedText: parsed.dedup(); + occurrence: 0 + testSet: 27 + - site: + file: crates/cargo-anvil/src/backend.rs + item: resolve + mutator: iter.remove_sort + normalizedText: parsed.sort_unstable(); + occurrence: 0 + testSet: 27 + - site: + file: crates/cargo-anvil/src/backend.rs + item: resolve + mutator: stmt.delete_call + normalizedText: parsed.push(Backend::parse(name)?); + occurrence: 0 + testSet: 25 + - site: + file: crates/cargo-anvil/src/backend.rs + item: resolve + mutator: unary.remove_not + normalizedText: '!flag_backends.is_empty()' + occurrence: 0 + testSet: 25 + - site: + file: crates/cargo-anvil/src/catalog/artifact.rs + item: ::fmt + mutator: fn_value.ok + normalizedText: '{ f.write_str(self.0) }' + occurrence: 0 + testSet: 28 + - site: + file: crates/cargo-anvil/src/catalog/artifact.rs + item: Artifact::backend_file + mutator: option.some_to_none + normalizedText: Some(backend) + occurrence: 0 + testSet: 29 + - site: + file: crates/cargo-anvil/src/catalog/artifact.rs + item: Artifact::body + mutator: fn_value.empty_string + normalizedText: '{ match self { Self::OwnedFile(spec) => &spec.body, Self::Region(spec) => &spec.body, } }' + occurrence: 0 + testSet: 30 + - site: + file: crates/cargo-anvil/src/catalog/artifact.rs + item: Artifact::body + mutator: fn_value.xyzzy_string + normalizedText: '{ match self { Self::OwnedFile(spec) => &spec.body, Self::Region(spec) => &spec.body, } }' + occurrence: 0 + testSet: 30 + - site: + file: crates/cargo-anvil/src/catalog/artifact.rs + item: Artifact::with_body + mutator: struct_field.omit + normalizedText: 'OwnedFileSpec { body: body.into(), ..spec }' + occurrence: 0 + testSet: 31 + - site: + file: crates/cargo-anvil/src/catalog/artifact.rs + item: Artifact::with_body + mutator: struct_field.omit + normalizedText: 'RegionSpec { body: body.into(), ..spec }' + occurrence: 0 + testSet: 32 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: Catalog::artifacts + mutator: fn_value.default + normalizedText: '{ &self.artifacts }' + occurrence: 0 + testSet: 33 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: Catalog::checksum + mutator: fn_value.empty_string + normalizedText: '{ let mut entries: Vec = self.artifacts.iter().map(canonical_repr).collect(); entries.sort(); + checksum_str(&entries.join("\n")) }' + occurrence: 0 + testSet: 34 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: Catalog::checksum + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut entries: Vec = self.artifacts.iter().map(canonical_repr).collect(); entries.sort(); + checksum_str(&entries.join("\n")) }' + occurrence: 0 + testSet: 34 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: Catalog::checksum + mutator: iter.remove_sort + normalizedText: entries.sort(); + occurrence: 0 + testSet: 34 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: Catalog::checksum + mutator: literal.str_to_empty + normalizedText: '"\n"' + occurrence: 0 + testSet: 34 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: Catalog::checksum + mutator: literal.str_to_xyzzy + normalizedText: '"\n"' + occurrence: 0 + testSet: 34 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::about + mutator: assign_value.default + normalizedText: about.into() + occurrence: 0 + testSet: 35 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::about + mutator: stmt.delete_assign + normalizedText: self.cli.about = about.into(); + occurrence: 0 + testSet: 35 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::build + mutator: cond.always_false + normalizedText: '!errors.is_empty()' + occurrence: 0 + testSet: 36 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::build + mutator: cond.always_true + normalizedText: '!errors.is_empty()' + occurrence: 0 + testSet: 36 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::build + mutator: cond.negate + normalizedText: '!errors.is_empty()' + occurrence: 0 + testSet: 36 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::build + mutator: stmt.delete_call + normalizedText: errors.extend(self.artifacts.iter().filter_map(non_recipe_under_justfiles)); + occurrence: 0 + testSet: 36 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::build + mutator: unary.remove_not + normalizedText: '!errors.is_empty()' + occurrence: 0 + testSet: 36 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::position_of + mutator: fn_value.none + normalizedText: '{ let key = artifact.key(); self.artifacts.iter().position(|a| a.key() == key) }' + occurrence: 0 + testSet: 37 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::position_of + mutator: relational.eq_to_ne + normalizedText: a.key() == key + occurrence: 0 + testSet: 38 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::replace_artifact + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 39 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::replace_artifact + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 39 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::subcommand + mutator: assign_value.default + normalizedText: format!("cargo-{name}") + occurrence: 0 + testSet: 35 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::subcommand + mutator: assign_value.default + normalizedText: name + occurrence: 0 + testSet: 35 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::subcommand + mutator: stmt.delete_assign + normalizedText: self.cli.bin_name = format!("cargo-{name}"); + occurrence: 0 + testSet: 35 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::subcommand + mutator: stmt.delete_assign + normalizedText: self.cli.subcommand = name; + occurrence: 0 + testSet: 35 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::version + mutator: assign_value.default + normalizedText: version.into() + occurrence: 0 + testSet: 40 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::version + mutator: stmt.delete_assign + normalizedText: self.cli.version = version.into(); + occurrence: 0 + testSet: 40 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::with_artifact + mutator: cond.always_false + normalizedText: self.position_of(&artifact).is_some() + occurrence: 0 + testSet: 41 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::with_artifact + mutator: cond.always_true + normalizedText: self.position_of(&artifact).is_some() + occurrence: 0 + testSet: 41 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::with_artifact + mutator: cond.negate + normalizedText: self.position_of(&artifact).is_some() + occurrence: 0 + testSet: 41 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::with_artifact + mutator: stmt.delete_call + normalizedText: self.artifacts.push(artifact); + occurrence: 0 + testSet: 42 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::with_artifact + mutator: stmt.delete_call + normalizedText: 'self.errors.push(format!( "with_artifact: an artifact with identity {:?} already exists; use replace_artifact + to override it", artifact.key() ));' + occurrence: 0 + testSet: 43 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::without_artifact + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 44 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::without_artifact + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 44 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: CatalogBuilder::without_artifact + mutator: stmt.delete_call + normalizedText: self.artifacts.remove(index); + occurrence: 0 + testSet: 44 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: canonical_repr + mutator: fn_value.empty_string + normalizedText: '{ const SEP: char = ''\u{1f}''; match artifact { Artifact::OwnedFile(spec) => { format!("file{SEP}{}{SEP}gate={}{SEP}{}", + spec.path, gate_repr(spec.gate), spec.body) } Artifact::Region(spec) => { format!( "region{SEP}{}{SEP}{}{SEP}{}{SEP}{}", + host_repr(&spec.host), spec.id.as_str(), syntax_repr(spec.syntax), spec.body ) } } }' + occurrence: 0 + testSet: 45 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: canonical_repr + mutator: fn_value.xyzzy_string + normalizedText: '{ const SEP: char = ''\u{1f}''; match artifact { Artifact::OwnedFile(spec) => { format!("file{SEP}{}{SEP}gate={}{SEP}{}", + spec.path, gate_repr(spec.gate), spec.body) } Artifact::Region(spec) => { format!( "region{SEP}{}{SEP}{}{SEP}{}{SEP}{}", + host_repr(&spec.host), spec.id.as_str(), syntax_repr(spec.syntax), spec.body ) } } }' + occurrence: 0 + testSet: 45 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: gate_repr + mutator: fn_value.empty_string + normalizedText: '{ gate.map_or_else(|| "none".to_owned(), |backend| backend.name().to_owned()) }' + occurrence: 0 + testSet: 46 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: gate_repr + mutator: fn_value.xyzzy_string + normalizedText: '{ gate.map_or_else(|| "none".to_owned(), |backend| backend.name().to_owned()) }' + occurrence: 0 + testSet: 46 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: gate_repr + mutator: literal.str_to_empty + normalizedText: '"none"' + occurrence: 0 + testSet: 46 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: gate_repr + mutator: literal.str_to_xyzzy + normalizedText: '"none"' + occurrence: 0 + testSet: 46 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: host_repr + mutator: fn_value.empty_string + normalizedText: '{ match host { crate::catalog::HostSelector::Path(path) => format!("path:{path}"), crate::catalog::HostSelector::EachMemberManifest + => "each_member_manifest".to_owned(), crate::catalog::HostSelector::WorkspaceCargoToml => "workspace_cargo_toml".to_owned(), + crate::catalog::HostSelector::SingleCrateCargoToml => "single_crate_cargo_toml".to_owned(), } }' + occurrence: 0 + testSet: 47 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: host_repr + mutator: fn_value.xyzzy_string + normalizedText: '{ match host { crate::catalog::HostSelector::Path(path) => format!("path:{path}"), crate::catalog::HostSelector::EachMemberManifest + => "each_member_manifest".to_owned(), crate::catalog::HostSelector::WorkspaceCargoToml => "workspace_cargo_toml".to_owned(), + crate::catalog::HostSelector::SingleCrateCargoToml => "single_crate_cargo_toml".to_owned(), } }' + occurrence: 0 + testSet: 47 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: host_repr + mutator: literal.str_to_empty + normalizedText: '"each_member_manifest"' + occurrence: 0 + testSet: 48 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: host_repr + mutator: literal.str_to_empty + normalizedText: '"single_crate_cargo_toml"' + occurrence: 0 + testSet: 48 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: host_repr + mutator: literal.str_to_empty + normalizedText: '"workspace_cargo_toml"' + occurrence: 0 + testSet: 48 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: host_repr + mutator: literal.str_to_xyzzy + normalizedText: '"each_member_manifest"' + occurrence: 0 + testSet: 48 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: host_repr + mutator: literal.str_to_xyzzy + normalizedText: '"single_crate_cargo_toml"' + occurrence: 0 + testSet: 48 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: host_repr + mutator: literal.str_to_xyzzy + normalizedText: '"workspace_cargo_toml"' + occurrence: 0 + testSet: 48 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: cond.always_false + normalizedText: '!spec.path.starts_with("justfiles/") || path.extension().is_some_and(|extension| extension == "just")' + occurrence: 0 + testSet: 49 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: cond.always_true + normalizedText: '!spec.path.starts_with("justfiles/") || path.extension().is_some_and(|extension| extension == "just")' + occurrence: 0 + testSet: 49 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: cond.negate + normalizedText: '!spec.path.starts_with("justfiles/") || path.extension().is_some_and(|extension| extension == "just")' + occurrence: 0 + testSet: 49 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: fn_value.none + normalizedText: '{ let Artifact::OwnedFile(spec) = artifact else { return None; }; let path = std::path::Path::new(spec.path); + if !spec.path.starts_with("justfiles/") || path.extension().is_some_and(|extension| extension == "just") { return + None; } Some(format!( "owned file ''{}'' is not a .just recipe; non-recipe artifacts must live outside justfiles/ + (it is the recipe tree, not an asset directory)", spec.path )) }' + occurrence: 0 + testSet: 50 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: literal.str_to_empty + normalizedText: '"just"' + occurrence: 0 + testSet: 51 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: literal.str_to_empty + normalizedText: '"justfiles/"' + occurrence: 0 + testSet: 49 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: literal.str_to_xyzzy + normalizedText: '"just"' + occurrence: 0 + testSet: 51 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: literal.str_to_xyzzy + normalizedText: '"justfiles/"' + occurrence: 0 + testSet: 49 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: logical.or_to_and + normalizedText: '!spec.path.starts_with("justfiles/") || path.extension().is_some_and(|extension| extension == "just")' + occurrence: 0 + testSet: 49 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 52 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 49 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: option.some_to_none + normalizedText: Some(format!( "owned file '{}' is not a .just recipe; non-recipe artifacts must live outside justfiles/ + (it is the recipe tree, not an asset directory)", spec.path )) + occurrence: 0 + testSet: 53 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: relational.eq_to_ne + normalizedText: extension == "just" + occurrence: 0 + testSet: 51 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: string.starts_with_to_ends_with + normalizedText: spec.path.starts_with("justfiles/") + occurrence: 0 + testSet: 49 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: non_recipe_under_justfiles + mutator: unary.remove_not + normalizedText: '!spec.path.starts_with("justfiles/")' + occurrence: 0 + testSet: 49 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: syntax_repr + mutator: fn_value.empty_string + normalizedText: '{ match syntax { crate::region::CommentSyntax::Hash => "hash", crate::region::CommentSyntax::SlashSlash + => "slashslash", } }' + occurrence: 0 + testSet: 47 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: syntax_repr + mutator: fn_value.xyzzy_string + normalizedText: '{ match syntax { crate::region::CommentSyntax::Hash => "hash", crate::region::CommentSyntax::SlashSlash + => "slashslash", } }' + occurrence: 0 + testSet: 47 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: syntax_repr + mutator: literal.str_to_empty + normalizedText: '"hash"' + occurrence: 0 + testSet: 47 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: syntax_repr + mutator: literal.str_to_empty + normalizedText: '"slashslash"' + occurrence: 0 + testSet: 54 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: syntax_repr + mutator: literal.str_to_xyzzy + normalizedText: '"hash"' + occurrence: 0 + testSet: 47 + - site: + file: crates/cargo-anvil/src/catalog/builder.rs + item: syntax_repr + mutator: literal.str_to_xyzzy + normalizedText: '"slashslash"' + occurrence: 0 + testSet: 54 + - site: + file: crates/cargo-anvil/src/catalog/meta.rs + item: CliMeta::new + mutator: literal.str_to_empty + normalizedText: '"0.0.0"' + occurrence: 0 + testSet: 55 + - site: + file: crates/cargo-anvil/src/catalog/meta.rs + item: CliMeta::new + mutator: literal.str_to_xyzzy + normalizedText: '"0.0.0"' + occurrence: 0 + testSet: 55 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: bitwise.and_to_or + normalizedText: byte & 0x0f + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: bitwise.and_to_xor + normalizedText: byte & 0x0f + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: expr.decrement + normalizedText: (byte & 0x0f) as usize + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: expr.decrement + normalizedText: (byte >> 4) as usize + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: expr.increment + normalizedText: (byte & 0x0f) as usize + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: expr.increment + normalizedText: (byte >> 4) as usize + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: fn_value.empty_string + normalizedText: '{ let normalized = normalize_line_endings(data); let digest = Sha256::digest(&normalized); let mut + s = String::new(); s.push_str("sha256:"); for byte in digest { s.push(HEX[(byte >> 4) as usize] as char); s.push(HEX[(byte + & 0x0f) as usize] as char); } s }' + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: fn_value.xyzzy_string + normalizedText: '{ let normalized = normalize_line_endings(data); let digest = Sha256::digest(&normalized); let mut + s = String::new(); s.push_str("sha256:"); for byte in digest { s.push(HEX[(byte >> 4) as usize] as char); s.push(HEX[(byte + & 0x0f) as usize] as char); } s }' + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: literal.int_decrement + normalizedText: '0x0f' + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: literal.int_decrement + normalizedText: '4' + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: literal.int_increment + normalizedText: '0x0f' + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: literal.int_increment + normalizedText: '4' + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: literal.int_to_one + normalizedText: '0x0f' + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: literal.int_to_one + normalizedText: '4' + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: literal.int_to_zero + normalizedText: '0x0f' + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: literal.int_to_zero + normalizedText: '4' + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: literal.str_to_empty + normalizedText: '"sha256:"' + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: literal.str_to_xyzzy + normalizedText: '"sha256:"' + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: shift.shr_to_shl + normalizedText: byte >> 4 + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: stmt.delete_call + normalizedText: s.push(HEX[(byte & 0x0f) as usize] as char); + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: stmt.delete_call + normalizedText: s.push(HEX[(byte >> 4) as usize] as char); + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_bytes + mutator: stmt.delete_call + normalizedText: s.push_str("sha256:"); + occurrence: 0 + testSet: 56 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_str + mutator: fn_value.empty_string + normalizedText: '{ checksum_bytes(data.as_bytes()) }' + occurrence: 0 + testSet: 57 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: checksum_str + mutator: fn_value.xyzzy_string + normalizedText: '{ checksum_bytes(data.as_bytes()) }' + occurrence: 0 + testSet: 57 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: arith.add_to_mul + normalizedText: i + 1 + occurrence: 0 + testSet: 58 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: arith.add_to_sub + normalizedText: i + 1 + occurrence: 0 + testSet: 58 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: assign.add_to_sub + normalizedText: i += 1 + occurrence: 0 + testSet: 59 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: assign.add_to_sub + normalizedText: i += 2 + occurrence: 0 + testSet: 60 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: cond.always_false + normalizedText: data[i] == b'\r' && data.get(i + 1) == Some(&b'\n') + occurrence: 0 + testSet: 59 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: cond.always_true + normalizedText: data[i] == b'\r' && data.get(i + 1) == Some(&b'\n') + occurrence: 0 + testSet: 59 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: cond.negate + normalizedText: data[i] == b'\r' && data.get(i + 1) == Some(&b'\n') + occurrence: 0 + testSet: 59 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: cond.negate + normalizedText: i < data.len() + occurrence: 0 + testSet: 61 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: expr.decrement + normalizedText: i + occurrence: 0 + testSet: 59 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: expr.decrement + normalizedText: i + occurrence: 1 + testSet: 59 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: expr.decrement + normalizedText: i + 1 + occurrence: 0 + testSet: 58 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: expr.increment + normalizedText: i + occurrence: 0 + testSet: 59 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: expr.increment + normalizedText: i + occurrence: 1 + testSet: 59 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: expr.increment + normalizedText: i + 1 + occurrence: 0 + testSet: 58 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: fn_value.empty_collection + normalizedText: '{ let mut out = Vec::with_capacity(data.len()); let mut i = 0; while i < data.len() { let prev = i; + if data[i] == b''\r'' && data.get(i + 1) == Some(&b''\n'') { out.push(b''\n''); i += 2; } else { out.push(data[i]); + i += 1; } debug_assert!(i > prev, "normalize_line_endings must make progress (prev={prev}, i={i})"); } out }' + occurrence: 0 + testSet: 61 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: fn_value.one_element + normalizedText: '{ let mut out = Vec::with_capacity(data.len()); let mut i = 0; while i < data.len() { let prev = i; + if data[i] == b''\r'' && data.get(i + 1) == Some(&b''\n'') { out.push(b''\n''); i += 2; } else { out.push(data[i]); + i += 1; } debug_assert!(i > prev, "normalize_line_endings must make progress (prev={prev}, i={i})"); } out }' + occurrence: 0 + testSet: 61 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 58 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 59 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 60 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 61 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 58 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 59 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 60 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 60 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: logical.and_to_or + normalizedText: data[i] == b'\r' && data.get(i + 1) == Some(&b'\n') + occurrence: 0 + testSet: 59 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: option.some_to_none + normalizedText: Some(&b'\n') + occurrence: 0 + testSet: 58 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: relational.eq_to_ne + normalizedText: data.get(i + 1) == Some(&b'\n') + occurrence: 0 + testSet: 58 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: relational.eq_to_ne + normalizedText: data[i] == b'\r' + occurrence: 0 + testSet: 59 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: relational.lt_to_gt + normalizedText: i < data.len() + occurrence: 0 + testSet: 61 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: relational.lt_to_le + normalizedText: i < data.len() + occurrence: 0 + testSet: 61 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: stmt.delete_assign + normalizedText: i += 1; + occurrence: 0 + testSet: 59 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: stmt.delete_assign + normalizedText: i += 2; + occurrence: 0 + testSet: 60 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: stmt.delete_call + normalizedText: out.push(b'\n'); + occurrence: 0 + testSet: 60 + - site: + file: crates/cargo-anvil/src/checksum.rs + item: normalize_line_endings + mutator: stmt.delete_call + normalizedText: out.push(data[i]); + occurrence: 0 + testSet: 59 + - site: + file: crates/cargo-anvil/src/cli.rs + item: Cli::parse_from_cargo_args + mutator: cond.always_false + normalizedText: rest.first().is_some_and(|a| a == meta.subcommand.as_str()) + occurrence: 0 + testSet: 62 + - site: + file: crates/cargo-anvil/src/cli.rs + item: Cli::parse_from_cargo_args + mutator: cond.always_true + normalizedText: rest.first().is_some_and(|a| a == meta.subcommand.as_str()) + occurrence: 0 + testSet: 62 + - site: + file: crates/cargo-anvil/src/cli.rs + item: Cli::parse_from_cargo_args + mutator: cond.negate + normalizedText: rest.first().is_some_and(|a| a == meta.subcommand.as_str()) + occurrence: 0 + testSet: 62 + - site: + file: crates/cargo-anvil/src/cli.rs + item: Cli::parse_from_cargo_args + mutator: fn_value.ok + normalizedText: '{ let meta = catalog.cli(); let mut iter = args.into_iter().map(Into::::into); + let exe = iter.next(); let mut rest: Vec = iter.collect(); if rest.first().is_some_and(|a| a == + meta.subcommand.as_str()) { rest.remove(0); } let argv_iter = exe.into_iter().chain(rest); let usage_name = format!("cargo + {}", meta.subcommand); let long_version = format!("{}\ncatalog: {}", meta.version, catalog.checksum()); let command + = Self::command() .name(meta.bin_name.clone()) .bin_name(usage_name) .about(meta.about.clone()) .long_about(meta.about.clone()) + .version(meta.version.clone()) .long_version(long_version); let matches = command.try_get_matches_from(argv_iter)?; + Self::from_arg_matches(&matches) }' + occurrence: 0 + testSet: 62 + - site: + file: crates/cargo-anvil/src/cli.rs + item: Cli::parse_from_cargo_args + mutator: iter.first_to_last + normalizedText: rest.first() + occurrence: 0 + testSet: 62 + - site: + file: crates/cargo-anvil/src/cli.rs + item: Cli::parse_from_cargo_args + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 63 + - site: + file: crates/cargo-anvil/src/cli.rs + item: Cli::parse_from_cargo_args + mutator: relational.eq_to_ne + normalizedText: a == meta.subcommand.as_str() + occurrence: 0 + testSet: 62 + - site: + file: crates/cargo-anvil/src/cli.rs + item: Cli::parse_from_cargo_args + mutator: stmt.delete_call + normalizedText: rest.remove(0); + occurrence: 0 + testSet: 63 + - site: + file: crates/cargo-anvil/src/decision.rs + item: decide + mutator: match_guard.always_false + normalizedText: d == inputs.template + occurrence: 0 + testSet: 64 + - site: + file: crates/cargo-anvil/src/decision.rs + item: decide + mutator: match_guard.always_false + normalizedText: d == l + occurrence: 0 + testSet: 65 + - site: + file: crates/cargo-anvil/src/decision.rs + item: decide + mutator: match_guard.always_false + normalizedText: l == inputs.template + occurrence: 0 + testSet: 66 + - site: + file: crates/cargo-anvil/src/decision.rs + item: decide + mutator: match_guard.always_true + normalizedText: d == inputs.template + occurrence: 0 + testSet: 64 + - site: + file: crates/cargo-anvil/src/decision.rs + item: decide + mutator: match_guard.always_true + normalizedText: d == l + occurrence: 0 + testSet: 65 + - site: + file: crates/cargo-anvil/src/decision.rs + item: decide + mutator: match_guard.always_true + normalizedText: l == inputs.template + occurrence: 0 + testSet: 66 + - site: + file: crates/cargo-anvil/src/decision.rs + item: decide + mutator: match_guard.negate + normalizedText: d == inputs.template + occurrence: 0 + testSet: 64 + - site: + file: crates/cargo-anvil/src/decision.rs + item: decide + mutator: match_guard.negate + normalizedText: d == l + occurrence: 0 + testSet: 65 + - site: + file: crates/cargo-anvil/src/decision.rs + item: decide + mutator: match_guard.negate + normalizedText: l == inputs.template + occurrence: 0 + testSet: 66 + - site: + file: crates/cargo-anvil/src/decision.rs + item: decide_removal + mutator: match_guard.always_false + normalizedText: d == last_rendered + occurrence: 0 + testSet: 67 + - site: + file: crates/cargo-anvil/src/decision.rs + item: decide_removal + mutator: match_guard.always_true + normalizedText: d == last_rendered + occurrence: 0 + testSet: 67 + - site: + file: crates/cargo-anvil/src/decision.rs + item: decide_removal + mutator: match_guard.negate + normalizedText: d == last_rendered + occurrence: 0 + testSet: 67 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: plan_managed_region + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 68 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: plan_managed_region + mutator: logical.and_to_or + normalizedText: placement == RegionPlacement::Start && disk_region.as_ref().is_some_and(|region| region.start_line.start + != 0) + occurrence: 0 + testSet: 69 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: plan_managed_region + mutator: match_guard.always_false + normalizedText: needs_reposition + occurrence: 0 + testSet: 70 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: plan_managed_region + mutator: match_guard.always_true + normalizedText: needs_reposition + occurrence: 0 + testSet: 70 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: plan_managed_region + mutator: match_guard.negate + normalizedText: needs_reposition + occurrence: 0 + testSet: 70 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: plan_managed_region + mutator: relational.eq_to_ne + normalizedText: placement == RegionPlacement::Start + occurrence: 0 + testSet: 69 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: plan_managed_region + mutator: relational.ne_to_eq + normalizedText: region.start_line.start != 0 + occurrence: 0 + testSet: 68 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: splice + mutator: assign_value.default + normalizedText: adopt_unmanaged_toml_tables(base, rendered_body, syntax) + occurrence: 0 + testSet: 71 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: splice + mutator: cond.always_false + normalizedText: is_toml_host && find_region(base, region_id, syntax)?.is_none() + occurrence: 0 + testSet: 72 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: splice + mutator: cond.always_true + normalizedText: is_toml_host && find_region(base, region_id, syntax)?.is_none() + occurrence: 0 + testSet: 72 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: splice + mutator: cond.negate + normalizedText: is_toml_host && find_region(base, region_id, syntax)?.is_none() + occurrence: 0 + testSet: 72 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: splice + mutator: fn_value.ok + normalizedText: '{ let base = host_text.unwrap_or(""); let adopted; let is_toml_host = std::path::Path::new(host_relpath) + .extension() .is_some_and(|ext| ext.eq_ignore_ascii_case("toml")); let base = if is_toml_host && find_region(base, + region_id, syntax)?.is_none() { adopted = adopt_unmanaged_toml_tables(base, rendered_body, syntax); adopted.as_str() + } else { base }; upsert_region_with_placement(base, region_id, rendered_body, syntax, placement) }' + occurrence: 0 + testSet: 72 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: splice + mutator: literal.str_to_empty + normalizedText: '"toml"' + occurrence: 0 + testSet: 73 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: splice + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 72 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: splice + mutator: literal.str_to_xyzzy + normalizedText: '"toml"' + occurrence: 0 + testSet: 73 + - site: + file: crates/cargo-anvil/src/emit/managed_region.rs + item: splice + mutator: logical.and_to_or + normalizedText: is_toml_host && find_region(base, region_id, syntax)?.is_none() + occurrence: 0 + testSet: 72 + - site: + file: crates/cargo-anvil/src/io.rs + item: find_entry_case_insensitive + mutator: fn_value.none + normalizedText: '{ let entries = std::fs::read_dir(dir) .ok()? .flatten() .map(|entry| entry.file_name().to_string_lossy().into_owned()); + select_case_insensitive(entries, name) }' + occurrence: 0 + testSet: 74 + - site: + file: crates/cargo-anvil/src/io.rs + item: read_file_if_present + mutator: fn_value.ok + normalizedText: '{ match std::fs::read_to_string(path) { Ok(s) => Ok(Some(s)), Err(e) if e.kind() == std::io::ErrorKind::NotFound + => Ok(None), Err(e) => Err::, _>(e).into_app_err_with(|| format!("failed to read {}", path.display())), + } }' + occurrence: 0 + testSet: 75 + - site: + file: crates/cargo-anvil/src/io.rs + item: read_file_if_present + mutator: match_guard.always_false + normalizedText: e.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 76 + - site: + file: crates/cargo-anvil/src/io.rs + item: read_file_if_present + mutator: match_guard.always_true + normalizedText: e.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 76 + - site: + file: crates/cargo-anvil/src/io.rs + item: read_file_if_present + mutator: match_guard.negate + normalizedText: e.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 76 + - site: + file: crates/cargo-anvil/src/io.rs + item: read_file_if_present + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 77 + - site: + file: crates/cargo-anvil/src/io.rs + item: read_file_if_present + mutator: option.some_to_none + normalizedText: Some(s) + occurrence: 0 + testSet: 78 + - site: + file: crates/cargo-anvil/src/io.rs + item: read_file_if_present + mutator: result.err_to_ok + normalizedText: Err::, _>(e) + occurrence: 0 + testSet: 79 + - site: + file: crates/cargo-anvil/src/io.rs + item: resolve_existing_case_insensitive + mutator: fn_value.empty_string + normalizedText: '{ let segments: Vec<&str> = relpath.split(''/'').filter(|s| !s.is_empty()).collect(); let mut resolved: + Vec = Vec::with_capacity(segments.len()); for (index, segment) in segments.iter().enumerate() { let current_dir + = repo_root.join(resolved.join("/")); if let Some(actual) = find_entry_case_insensitive(¤t_dir, segment) { resolved.push(actual); + } else { resolved.extend(segments[index..].iter().map(|s| (*s).to_owned())); break; } } resolved.join("/") }' + occurrence: 0 + testSet: 74 + - site: + file: crates/cargo-anvil/src/io.rs + item: resolve_existing_case_insensitive + mutator: fn_value.xyzzy_string + normalizedText: '{ let segments: Vec<&str> = relpath.split(''/'').filter(|s| !s.is_empty()).collect(); let mut resolved: + Vec = Vec::with_capacity(segments.len()); for (index, segment) in segments.iter().enumerate() { let current_dir + = repo_root.join(resolved.join("/")); if let Some(actual) = find_entry_case_insensitive(¤t_dir, segment) { resolved.push(actual); + } else { resolved.extend(segments[index..].iter().map(|s| (*s).to_owned())); break; } } resolved.join("/") }' + occurrence: 0 + testSet: 74 + - site: + file: crates/cargo-anvil/src/io.rs + item: resolve_existing_case_insensitive + mutator: literal.str_to_empty + normalizedText: '"/"' + occurrence: 0 + testSet: 74 + - site: + file: crates/cargo-anvil/src/io.rs + item: resolve_existing_case_insensitive + mutator: literal.str_to_empty + normalizedText: '"/"' + occurrence: 1 + testSet: 74 + - site: + file: crates/cargo-anvil/src/io.rs + item: resolve_existing_case_insensitive + mutator: literal.str_to_xyzzy + normalizedText: '"/"' + occurrence: 0 + testSet: 74 + - site: + file: crates/cargo-anvil/src/io.rs + item: resolve_existing_case_insensitive + mutator: literal.str_to_xyzzy + normalizedText: '"/"' + occurrence: 1 + testSet: 74 + - site: + file: crates/cargo-anvil/src/io.rs + item: resolve_existing_case_insensitive + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 80 + - site: + file: crates/cargo-anvil/src/io.rs + item: resolve_existing_case_insensitive + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 80 + - site: + file: crates/cargo-anvil/src/io.rs + item: resolve_existing_case_insensitive + mutator: stmt.delete_call + normalizedText: resolved.extend(segments[index..].iter().map(|s| (*s).to_owned())); + occurrence: 0 + testSet: 80 + - site: + file: crates/cargo-anvil/src/io.rs + item: resolve_existing_case_insensitive + mutator: stmt.delete_call + normalizedText: resolved.push(actual); + occurrence: 0 + testSet: 81 + - site: + file: crates/cargo-anvil/src/io.rs + item: resolve_existing_case_insensitive + mutator: unary.remove_not + normalizedText: '!s.is_empty()' + occurrence: 0 + testSet: 74 + - site: + file: crates/cargo-anvil/src/io.rs + item: select_case_insensitive + mutator: assign_value.default + normalizedText: Some(entry_name) + occurrence: 0 + testSet: 82 + - site: + file: crates/cargo-anvil/src/io.rs + item: select_case_insensitive + mutator: fn_value.none + normalizedText: '{ let mut case_insensitive: Option = None; for entry_name in entries { match entry_name.as_str().cmp(name) + { std::cmp::Ordering::Equal => return Some(entry_name), _ if case_insensitive.is_none() && entry_name.eq_ignore_ascii_case(name) + => { case_insensitive = Some(entry_name); } _ => {} } } case_insensitive }' + occurrence: 0 + testSet: 83 + - site: + file: crates/cargo-anvil/src/io.rs + item: select_case_insensitive + mutator: match_arm.never_matches + normalizedText: std::cmp::Ordering::Equal + occurrence: 0 + testSet: 84 + - site: + file: crates/cargo-anvil/src/io.rs + item: select_case_insensitive + mutator: match_guard.always_false + normalizedText: case_insensitive.is_none() && entry_name.eq_ignore_ascii_case(name) + occurrence: 0 + testSet: 85 + - site: + file: crates/cargo-anvil/src/io.rs + item: select_case_insensitive + mutator: match_guard.always_true + normalizedText: case_insensitive.is_none() && entry_name.eq_ignore_ascii_case(name) + occurrence: 0 + testSet: 85 + - site: + file: crates/cargo-anvil/src/io.rs + item: select_case_insensitive + mutator: match_guard.negate + normalizedText: case_insensitive.is_none() && entry_name.eq_ignore_ascii_case(name) + occurrence: 0 + testSet: 85 + - site: + file: crates/cargo-anvil/src/io.rs + item: select_case_insensitive + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 83 + - site: + file: crates/cargo-anvil/src/io.rs + item: select_case_insensitive + mutator: option.some_to_none + normalizedText: Some(entry_name) + occurrence: 0 + testSet: 84 + - site: + file: crates/cargo-anvil/src/io.rs + item: select_case_insensitive + mutator: option.some_to_none + normalizedText: Some(entry_name) + occurrence: 1 + testSet: 82 + - site: + file: crates/cargo-anvil/src/io.rs + item: select_case_insensitive + mutator: stmt.delete_assign + normalizedText: case_insensitive = Some(entry_name); + occurrence: 0 + testSet: 82 + - site: + file: crates/cargo-anvil/src/lib.rs + item: run_app + mutator: fn_value.default + normalizedText: '{ use tracing_subscriber::fmt::format::FmtSpan; tracing_subscriber::fmt() .with_target(false) .with_level(false) + .with_span_events(FmtSpan::NONE) .without_time() .init(); let cli = match cli::Cli::parse_from_cargo_args(&catalog, + std::env::args_os()) { Ok(cli) => cli, Err(err) => { err.exit(); } }; match run::run(&catalog, &cli) { Ok(()) => ExitCode::SUCCESS, + Err(err) => { eprintln!("error: {err:#}"); ExitCode::FAILURE } } }' + occurrence: 0 + testSet: 86 + - site: + file: crates/cargo-anvil/src/lib.rs + item: test_support::rustfmt_region_id + mutator: fn_value.empty_string + normalizedText: '{ crate::anvil::artifacts::region::RUSTFMT_REGION_ID }' + occurrence: 0 + testSet: 87 + - site: + file: crates/cargo-anvil/src/lib.rs + item: test_support::rustfmt_region_id + mutator: fn_value.xyzzy_string + normalizedText: '{ crate::anvil::artifacts::region::RUSTFMT_REGION_ID }' + occurrence: 0 + testSet: 87 + - site: + file: crates/cargo-anvil/src/main.rs + item: main + mutator: fn_value.default + normalizedText: '{ cargo_anvil::run_app(Catalog::anvil()) }' + occurrence: 0 + testSet: 86 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::file_checksum + mutator: fn_value.none + normalizedText: '{ self.files.get(path).map(String::as_str).or_else(|| { self.files .iter() .find(|(key, _)| key.as_str().eq_ignore_ascii_case(path)) + .map(|(_, checksum)| checksum.as_str()) }) }' + occurrence: 0 + testSet: 88 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::has_region_host + mutator: fn_value.bool_false + normalizedText: '{ self.regions.keys().any(|key| key.host.as_str().eq_ignore_ascii_case(path)) }' + occurrence: 0 + testSet: 89 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::has_region_host + mutator: fn_value.bool_true + normalizedText: '{ self.regions.keys().any(|key| key.host.as_str().eq_ignore_ascii_case(path)) }' + occurrence: 0 + testSet: 89 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::has_region_host + mutator: iter.any_to_all + normalizedText: self.regions.keys().any(|key| key.host.as_str().eq_ignore_ascii_case(path)) + occurrence: 0 + testSet: 89 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::load + mutator: cond.always_false + normalizedText: '!path.exists()' + occurrence: 0 + testSet: 90 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::load + mutator: cond.always_true + normalizedText: '!path.exists()' + occurrence: 0 + testSet: 90 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::load + mutator: cond.negate + normalizedText: '!path.exists()' + occurrence: 0 + testSet: 90 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::load + mutator: fn_value.ok + normalizedText: '{ let path = Self::path_for(repo_root); if !path.exists() { return Ok(Self::default()); } let text + = std::fs::read_to_string(&path).into_app_err_with(|| format!("failed to read {}", path.display()))?; Self::parse(&text).into_app_err_with(|| + format!("failed to parse manifest at {}", path.display())) }' + occurrence: 0 + testSet: 90 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::load + mutator: unary.remove_not + normalizedText: '!path.exists()' + occurrence: 0 + testSet: 90 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: cond.always_false + normalizedText: files.insert(path.clone(), checksum).is_some() + occurrence: 0 + testSet: 91 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: cond.always_false + normalizedText: regions.insert(key.clone(), checksum).is_some() + occurrence: 0 + testSet: 92 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: cond.always_false + normalizedText: version > SCHEMA_VERSION + occurrence: 0 + testSet: 93 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: cond.always_true + normalizedText: files.insert(path.clone(), checksum).is_some() + occurrence: 0 + testSet: 91 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: cond.always_true + normalizedText: regions.insert(key.clone(), checksum).is_some() + occurrence: 0 + testSet: 92 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: cond.always_true + normalizedText: version > SCHEMA_VERSION + occurrence: 0 + testSet: 93 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: cond.negate + normalizedText: files.insert(path.clone(), checksum).is_some() + occurrence: 0 + testSet: 91 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: cond.negate + normalizedText: regions.insert(key.clone(), checksum).is_some() + occurrence: 0 + testSet: 92 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: cond.negate + normalizedText: version > SCHEMA_VERSION + occurrence: 0 + testSet: 93 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: fn_value.ok + normalizedText: '{ let doc: DocumentMut = text.parse::().into_app_err("manifest is not valid TOML")?; let + version = doc .get("version") .and_then(Item::as_integer) .ok_or_else(|| app_err!("manifest is missing a top-level + `version` integer"))?; if version > SCHEMA_VERSION { bail!("manifest schema version {version} is newer than supported + ({SCHEMA_VERSION}); upgrade cargo-anvil"); } let tool = doc.get("tool").and_then(Item::as_str).map(str::to_owned); + let tool_version = doc.get("tool_version").and_then(Item::as_str).map(str::to_owned).or_else(|| { doc.get("rendered_by") + .and_then(Item::as_str) .and_then(|rb| rb.split_whitespace().last()) .map(str::to_owned) }); let catalog_checksum + = doc.get("catalog_checksum").and_then(Item::as_str).map(str::to_owned); let mut files = BTreeMap::new(); if let Some(arr) + = doc.get("file").and_then(Item::as_array_of_tables) { for table in arr { let path = table .get("path") .and_then(Item::as_str) + .ok_or_else(|| app_err!("[[file]] entry is missing `path`"))? .to_owned(); let checksum = table .get("checksum") .and_then(Item::as_str) + .ok_or_else(|| app_err!("[[file]] entry ''{path}'' is missing `checksum`"))? .to_owned(); if files.insert(path.clone(), + checksum).is_some() { bail!("duplicate [[file]] entry for ''{path}''"); } ensure_contained(&path, "[[file]] entry")?; + } } let mut regions = BTreeMap::new(); if let Some(arr) = doc.get("region").and_then(Item::as_array_of_tables) { for + table in arr { let host = table .get("host") .and_then(Item::as_str) .ok_or_else(|| app_err!("[[region]] entry is + missing `host`"))? .to_owned(); let id = table .get("id") .and_then(Item::as_str) .ok_or_else(|| app_err!("[[region]] + entry ''{host}'' is missing `id`"))? .to_owned(); let checksum = table .get("checksum") .and_then(Item::as_str) .ok_or_else(|| + app_err!("[[region]] entry ''{host}''/''{id}'' is missing `checksum`"))? .to_owned(); let key = RegionKey { host, + id }; if regions.insert(key.clone(), checksum).is_some() { bail!("duplicate [[region]] entry for host ''{}'' id ''{}''", + key.host, key.id); } ensure_contained(&key.host, "[[region]] host")?; } } Ok(Self { tool, tool_version, catalog_checksum, + files, regions, }) }' + occurrence: 0 + testSet: 94 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"[[file]] entry"' + occurrence: 0 + testSet: 91 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"[[region]] host"' + occurrence: 0 + testSet: 92 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"catalog_checksum"' + occurrence: 0 + testSet: 95 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"checksum"' + occurrence: 0 + testSet: 96 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"checksum"' + occurrence: 1 + testSet: 92 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"file"' + occurrence: 0 + testSet: 95 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"host"' + occurrence: 0 + testSet: 92 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"id"' + occurrence: 0 + testSet: 92 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"manifest is not valid TOML"' + occurrence: 0 + testSet: 94 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"path"' + occurrence: 0 + testSet: 96 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"region"' + occurrence: 0 + testSet: 97 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"rendered_by"' + occurrence: 0 + testSet: 98 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"tool"' + occurrence: 0 + testSet: 95 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"tool_version"' + occurrence: 0 + testSet: 95 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_empty + normalizedText: '"version"' + occurrence: 0 + testSet: 99 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"[[file]] entry"' + occurrence: 0 + testSet: 91 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"[[region]] host"' + occurrence: 0 + testSet: 92 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"catalog_checksum"' + occurrence: 0 + testSet: 95 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"checksum"' + occurrence: 0 + testSet: 96 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"checksum"' + occurrence: 1 + testSet: 92 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"file"' + occurrence: 0 + testSet: 95 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"host"' + occurrence: 0 + testSet: 92 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"id"' + occurrence: 0 + testSet: 92 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"manifest is not valid TOML"' + occurrence: 0 + testSet: 94 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"path"' + occurrence: 0 + testSet: 96 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"region"' + occurrence: 0 + testSet: 97 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"rendered_by"' + occurrence: 0 + testSet: 98 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"tool"' + occurrence: 0 + testSet: 95 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"tool_version"' + occurrence: 0 + testSet: 95 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: literal.str_to_xyzzy + normalizedText: '"version"' + occurrence: 0 + testSet: 99 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: relational.gt_to_ge + normalizedText: version > SCHEMA_VERSION + occurrence: 0 + testSet: 93 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::parse + mutator: relational.gt_to_lt + normalizedText: version > SCHEMA_VERSION + occurrence: 0 + testSet: 93 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::path_for + mutator: fn_value.default + normalizedText: '{ repo_root.join(MANIFEST_FILE_NAME) }' + occurrence: 0 + testSet: 100 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::save + mutator: fn_value.ok + normalizedText: '{ let path = Self::path_for(repo_root); let text = self.to_toml(); let tmp = path.with_extension("lock.tmp"); + match std::fs::remove_file(&tmp) { Ok(()) => {} Err(e) if e.kind() == std::io::ErrorKind::NotFound => {} Err(e) => + { return Err(e).into_app_err_with(|| format!("failed to clear the temporary file {}", tmp.display())); } } std::fs::write(&tmp, + text.as_bytes()).into_app_err_with(|| format!("failed to write {}", tmp.display()))?; std::fs::rename(&tmp, &path).into_app_err_with(|| + format!("failed to rename {} -> {}", tmp.display(), path.display()))?; Ok(()) }' + occurrence: 0 + testSet: 101 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::save + mutator: literal.str_to_empty + normalizedText: '"lock.tmp"' + occurrence: 0 + testSet: 101 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::save + mutator: literal.str_to_xyzzy + normalizedText: '"lock.tmp"' + occurrence: 0 + testSet: 101 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::save + mutator: match_guard.always_false + normalizedText: e.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 102 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::save + mutator: match_guard.always_true + normalizedText: e.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 102 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::save + mutator: match_guard.negate + normalizedText: e.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 102 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::save + mutator: result.err_to_ok + normalizedText: Err(e) + occurrence: 0 + testSet: 103 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::set_file + mutator: fn_value.unit + normalizedText: '{ self.files.insert(path.into(), checksum.into()); }' + occurrence: 0 + testSet: 104 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::set_file + mutator: stmt.delete_call + normalizedText: self.files.insert(path.into(), checksum.into()); + occurrence: 0 + testSet: 104 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::set_region + mutator: fn_value.unit + normalizedText: '{ self.regions.insert( RegionKey { host: host.into(), id: id.into(), }, checksum.into(), ); }' + occurrence: 0 + testSet: 105 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::set_region + mutator: stmt.delete_call + normalizedText: 'self.regions.insert( RegionKey { host: host.into(), id: id.into(), }, checksum.into(), );' + occurrence: 0 + testSet: 105 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: expr.decrement + normalizedText: SCHEMA_VERSION + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: expr.increment + normalizedText: SCHEMA_VERSION + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: fn_value.empty_string + normalizedText: '{ let mut doc = DocumentMut::new(); doc.insert("version", value(SCHEMA_VERSION)); if let Some(tool) + = &self.tool { doc.insert("tool", value(tool.as_str())); } if let Some(tool_version) = &self.tool_version { doc.insert("tool_version", + value(tool_version.as_str())); } if let Some(catalog_checksum) = &self.catalog_checksum { doc.insert("catalog_checksum", + value(catalog_checksum.as_str())); } if let Some(tables) = file_tables(&self.files) { doc.insert("file", Item::ArrayOfTables(tables)); + } if let Some(tables) = region_tables(&self.regions) { doc.insert("region", Item::ArrayOfTables(tables)); } let body + = doc.to_string(); let trimmed = body.trim_end_matches(''\n''); let mut out = String::new(); out.push_str(trimmed); + out.push(''\n''); out }' + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut doc = DocumentMut::new(); doc.insert("version", value(SCHEMA_VERSION)); if let Some(tool) + = &self.tool { doc.insert("tool", value(tool.as_str())); } if let Some(tool_version) = &self.tool_version { doc.insert("tool_version", + value(tool_version.as_str())); } if let Some(catalog_checksum) = &self.catalog_checksum { doc.insert("catalog_checksum", + value(catalog_checksum.as_str())); } if let Some(tables) = file_tables(&self.files) { doc.insert("file", Item::ArrayOfTables(tables)); + } if let Some(tables) = region_tables(&self.regions) { doc.insert("region", Item::ArrayOfTables(tables)); } let body + = doc.to_string(); let trimmed = body.trim_end_matches(''\n''); let mut out = String::new(); out.push_str(trimmed); + out.push(''\n''); out }' + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: literal.str_to_empty + normalizedText: '"catalog_checksum"' + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: literal.str_to_empty + normalizedText: '"file"' + occurrence: 0 + testSet: 108 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: literal.str_to_empty + normalizedText: '"region"' + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: literal.str_to_empty + normalizedText: '"tool"' + occurrence: 0 + testSet: 109 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: literal.str_to_empty + normalizedText: '"tool_version"' + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: literal.str_to_empty + normalizedText: '"version"' + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: literal.str_to_xyzzy + normalizedText: '"catalog_checksum"' + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: literal.str_to_xyzzy + normalizedText: '"file"' + occurrence: 0 + testSet: 108 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: literal.str_to_xyzzy + normalizedText: '"region"' + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: literal.str_to_xyzzy + normalizedText: '"tool"' + occurrence: 0 + testSet: 109 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: literal.str_to_xyzzy + normalizedText: '"tool_version"' + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: literal.str_to_xyzzy + normalizedText: '"version"' + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: stmt.delete_call + normalizedText: doc.insert("catalog_checksum", value(catalog_checksum.as_str())); + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: stmt.delete_call + normalizedText: doc.insert("file", Item::ArrayOfTables(tables)); + occurrence: 0 + testSet: 108 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: stmt.delete_call + normalizedText: doc.insert("region", Item::ArrayOfTables(tables)); + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: stmt.delete_call + normalizedText: doc.insert("tool", value(tool.as_str())); + occurrence: 0 + testSet: 109 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: stmt.delete_call + normalizedText: doc.insert("tool_version", value(tool_version.as_str())); + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: stmt.delete_call + normalizedText: doc.insert("version", value(SCHEMA_VERSION)); + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: Manifest::to_toml + mutator: stmt.delete_call + normalizedText: out.push_str(trimmed); + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: ensure_contained + mutator: cond.always_false + normalizedText: last.is_empty() || last == "." + occurrence: 0 + testSet: 110 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: ensure_contained + mutator: cond.always_false + normalizedText: path.contains('\\') || drive_qualified + occurrence: 0 + testSet: 111 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: ensure_contained + mutator: cond.always_true + normalizedText: last.is_empty() || last == "." + occurrence: 0 + testSet: 110 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: ensure_contained + mutator: cond.always_true + normalizedText: path.contains('\\') || drive_qualified + occurrence: 0 + testSet: 111 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: ensure_contained + mutator: cond.negate + normalizedText: last.is_empty() || last == "." + occurrence: 0 + testSet: 110 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: ensure_contained + mutator: cond.negate + normalizedText: path.contains('\\') || drive_qualified + occurrence: 0 + testSet: 111 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: ensure_contained + mutator: fn_value.ok + normalizedText: '{ let drive_qualified = { let mut chars = path.chars(); matches!((chars.next(), chars.next()), (Some(letter), + Some('':'')) if letter.is_ascii_alphabetic()) }; if path.contains(''\\'') || drive_qualified { bail!("{context} ''{path}'' + must be a relative path inside the repository"); } for component in Path::new(path).components() { match component + { Component::Normal(_) => {} Component::CurDir | Component::RootDir | Component::Prefix(_) | Component::ParentDir + => { bail!("{context} ''{path}'' must be a relative path inside the repository"); } } } let last = path.rsplit(''/'').next().unwrap_or_default(); + if last.is_empty() || last == "." { bail!("{context} ''{path}'' must name a file inside the repository"); } Ok(()) + }' + occurrence: 0 + testSet: 111 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: ensure_contained + mutator: literal.str_to_empty + normalizedText: '"."' + occurrence: 0 + testSet: 110 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: ensure_contained + mutator: literal.str_to_xyzzy + normalizedText: '"."' + occurrence: 0 + testSet: 110 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: ensure_contained + mutator: logical.or_to_and + normalizedText: last.is_empty() || last == "." + occurrence: 0 + testSet: 110 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: ensure_contained + mutator: logical.or_to_and + normalizedText: path.contains('\\') || drive_qualified + occurrence: 0 + testSet: 111 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: ensure_contained + mutator: relational.eq_to_ne + normalizedText: last == "." + occurrence: 0 + testSet: 110 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: file_tables + mutator: cond.always_false + normalizedText: files.is_empty() + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: file_tables + mutator: cond.always_true + normalizedText: files.is_empty() + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: file_tables + mutator: cond.negate + normalizedText: files.is_empty() + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: file_tables + mutator: fn_value.none + normalizedText: '{ if files.is_empty() { return None; } let mut tables = ArrayOfTables::new(); for (path, checksum) + in files { let mut table = Table::new(); table.insert("path", value(path.as_str())); table.insert("checksum", value(checksum.as_str())); + tables.push(table); } Some(tables) }' + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: file_tables + mutator: literal.str_to_empty + normalizedText: '"checksum"' + occurrence: 0 + testSet: 108 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: file_tables + mutator: literal.str_to_empty + normalizedText: '"path"' + occurrence: 0 + testSet: 108 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: file_tables + mutator: literal.str_to_xyzzy + normalizedText: '"checksum"' + occurrence: 0 + testSet: 108 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: file_tables + mutator: literal.str_to_xyzzy + normalizedText: '"path"' + occurrence: 0 + testSet: 108 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: file_tables + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 112 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: file_tables + mutator: option.some_to_none + normalizedText: Some(tables) + occurrence: 0 + testSet: 108 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: file_tables + mutator: stmt.delete_call + normalizedText: table.insert("checksum", value(checksum.as_str())); + occurrence: 0 + testSet: 108 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: file_tables + mutator: stmt.delete_call + normalizedText: table.insert("path", value(path.as_str())); + occurrence: 0 + testSet: 108 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: file_tables + mutator: stmt.delete_call + normalizedText: tables.push(table); + occurrence: 0 + testSet: 108 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: cond.always_false + normalizedText: regions.is_empty() + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: cond.always_true + normalizedText: regions.is_empty() + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: cond.negate + normalizedText: regions.is_empty() + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: fn_value.none + normalizedText: '{ if regions.is_empty() { return None; } let mut tables = ArrayOfTables::new(); for (key, checksum) + in regions { let mut table = Table::new(); table.insert("host", value(key.host.as_str())); table.insert("id", value(key.id.as_str())); + table.insert("checksum", value(checksum.as_str())); tables.push(table); } Some(tables) }' + occurrence: 0 + testSet: 106 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: literal.str_to_empty + normalizedText: '"checksum"' + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: literal.str_to_empty + normalizedText: '"host"' + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: literal.str_to_empty + normalizedText: '"id"' + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: literal.str_to_xyzzy + normalizedText: '"checksum"' + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: literal.str_to_xyzzy + normalizedText: '"host"' + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: literal.str_to_xyzzy + normalizedText: '"id"' + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 113 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: option.some_to_none + normalizedText: Some(tables) + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: stmt.delete_call + normalizedText: table.insert("checksum", value(checksum.as_str())); + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: stmt.delete_call + normalizedText: table.insert("host", value(key.host.as_str())); + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: stmt.delete_call + normalizedText: table.insert("id", value(key.id.as_str())); + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/manifest.rs + item: region_tables + mutator: stmt.delete_call + normalizedText: tables.push(table); + occurrence: 0 + testSet: 107 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::apply + mutator: fn_value.ok + normalizedText: '{ self.apply_files(repo_root)?; Ok(self.projected_manifest(previous_manifest)) }' + occurrence: 0 + testSet: 114 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::apply_files + mutator: fn_value.ok + normalizedText: '{ for item in &self.items { match (&item.target, item.decision) { (Target::File { path }, Decision::Write) + => { let content = item.rendered.as_ref().expect("Write decision must carry rendered content"); write_file(&contained_path(repo_root, + path)?, content)?; } (Target::File { path }, Decision::Propose) => { let content = item.rendered.as_ref().expect("Propose + decision must carry rendered content"); write_file(&contained_path(repo_root, &format!("{path}.anvil-proposed"))?, + content)?; } (Target::Region { host, .. }, Decision::Write) => { let spliced = item.spliced_host.as_ref().expect("region + Write must carry spliced host"); write_file(&contained_path(repo_root, host)?, spliced)?; } (Target::Region { host, + .. }, Decision::Propose) => { let spliced = item.spliced_host.as_ref().expect("region Propose must carry spliced host"); + write_file(&contained_path(repo_root, &format!("{host}.anvil-proposed"))?, spliced)?; } (Target::File { path }, Decision::Remove) + => { let actual_path = resolve_existing_case_insensitive(repo_root, path); let abs = contained_path(repo_root, &actual_path)?; + if let Err(e) = std::fs::remove_file(&abs) && e.kind() != std::io::ErrorKind::NotFound { return Err::<(), _>(e).into_app_err_with(|| + format!("failed to remove {}", abs.display())); } } (Target::Region { host, .. }, Decision::Remove) => { let spliced + = item.spliced_host.as_ref().expect("region Remove must carry spliced host"); let actual_host = resolve_existing_case_insensitive(repo_root, + host); write_file(&contained_path(repo_root, &actual_host)?, spliced)?; } (_, Decision::InSync | Decision::LeaveAlone + | Decision::OrphanedKept) => {} } } Ok(()) }' + occurrence: 0 + testSet: 115 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::apply_files + mutator: relational.ne_to_eq + normalizedText: e.kind() != std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 116 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::apply_files + mutator: result.err_to_ok + normalizedText: Err::<(), _>(e) + occurrence: 0 + testSet: 117 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::dry_run_exit_code + mutator: expr.decrement + normalizedText: i32::from(self.has_changes() || !self.refusals.is_empty()) + occurrence: 0 + testSet: 118 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::dry_run_exit_code + mutator: expr.increment + normalizedText: i32::from(self.has_changes() || !self.refusals.is_empty()) + occurrence: 0 + testSet: 118 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::dry_run_exit_code + mutator: fn_value.minus_one + normalizedText: '{ i32::from(self.has_changes() || !self.refusals.is_empty()) }' + occurrence: 0 + testSet: 118 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::dry_run_exit_code + mutator: fn_value.one + normalizedText: '{ i32::from(self.has_changes() || !self.refusals.is_empty()) }' + occurrence: 0 + testSet: 118 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::dry_run_exit_code + mutator: fn_value.zero + normalizedText: '{ i32::from(self.has_changes() || !self.refusals.is_empty()) }' + occurrence: 0 + testSet: 118 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::dry_run_exit_code + mutator: logical.or_to_and + normalizedText: self.has_changes() || !self.refusals.is_empty() + occurrence: 0 + testSet: 118 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::dry_run_exit_code + mutator: unary.remove_not + normalizedText: '!self.refusals.is_empty()' + occurrence: 0 + testSet: 119 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::has_changes + mutator: fn_value.bool_false + normalizedText: '{ self.manifest_update_required || self.items.iter().any(|i| i.decision.writes()) }' + occurrence: 0 + testSet: 120 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::has_changes + mutator: fn_value.bool_true + normalizedText: '{ self.manifest_update_required || self.items.iter().any(|i| i.decision.writes()) }' + occurrence: 0 + testSet: 120 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::has_changes + mutator: iter.any_to_all + normalizedText: self.items.iter().any(|i| i.decision.writes()) + occurrence: 0 + testSet: 121 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::has_changes + mutator: logical.or_to_and + normalizedText: self.manifest_update_required || self.items.iter().any(|i| i.decision.writes()) + occurrence: 0 + testSet: 120 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::items + mutator: fn_value.default + normalizedText: '{ &self.items }' + occurrence: 0 + testSet: 122 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::items_mut + mutator: fn_value.default + normalizedText: '{ &mut self.items }' + occurrence: 0 + testSet: 123 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::note + mutator: fn_value.unit + normalizedText: '{ self.notes.push(note.into()); }' + occurrence: 0 + testSet: 124 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::note + mutator: stmt.delete_call + normalizedText: self.notes.push(note.into()); + occurrence: 0 + testSet: 124 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::notes + mutator: fn_value.default + normalizedText: '{ &self.notes }' + occurrence: 0 + testSet: 125 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::projected_manifest + mutator: fn_value.default + normalizedText: '{ let mut next = Manifest { tool: previous_manifest.tool.clone(), tool_version: previous_manifest.tool_version.clone(), + catalog_checksum: previous_manifest.catalog_checksum.clone(), files: previous_manifest.files.clone(), regions: previous_manifest.regions.clone(), + }; for item in &self.items { match item.decision { Decision::Write | Decision::Propose | Decision::InSync => { if + let Some(checksum) = &item.rendered_checksum { match &item.target { Target::File { path } => { next.files.insert(path.clone(), + checksum.clone()); } Target::Region { host, id } => { next.regions.insert( RegionKey { host: host.clone(), id: id.clone(), + }, checksum.clone(), ); } } } } Decision::Remove | Decision::OrphanedKept => match &item.target { Target::File { path + } => { next.files.remove(path); } Target::Region { host, id } => { next.regions.remove(&RegionKey { host: host.clone(), + id: id.clone(), }); } }, Decision::LeaveAlone => {} } } next }' + occurrence: 0 + testSet: 126 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::projected_manifest + mutator: stmt.delete_call + normalizedText: next.files.insert(path.clone(), checksum.clone()); + occurrence: 0 + testSet: 127 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::projected_manifest + mutator: stmt.delete_call + normalizedText: next.files.remove(path); + occurrence: 0 + testSet: 128 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::projected_manifest + mutator: stmt.delete_call + normalizedText: 'next.regions.insert( RegionKey { host: host.clone(), id: id.clone(), }, checksum.clone(), );' + occurrence: 0 + testSet: 129 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::projected_manifest + mutator: stmt.delete_call + normalizedText: 'next.regions.remove(&RegionKey { host: host.clone(), id: id.clone(), });' + occurrence: 0 + testSet: 130 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::push + mutator: fn_value.unit + normalizedText: '{ self.items.push(item); }' + occurrence: 0 + testSet: 131 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::push + mutator: stmt.delete_call + normalizedText: self.items.push(item); + occurrence: 0 + testSet: 131 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::refusal + mutator: fn_value.unit + normalizedText: '{ self.refusals.push(refusal.into()); }' + occurrence: 0 + testSet: 132 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::refusal + mutator: stmt.delete_call + normalizedText: self.refusals.push(refusal.into()); + occurrence: 0 + testSet: 132 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::refusals + mutator: fn_value.default + normalizedText: '{ &self.refusals }' + occurrence: 0 + testSet: 132 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::set_manifest_update_required + mutator: assign_value.default + normalizedText: required + occurrence: 0 + testSet: 133 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::set_manifest_update_required + mutator: fn_value.unit + normalizedText: '{ self.manifest_update_required = required; }' + occurrence: 0 + testSet: 133 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::set_manifest_update_required + mutator: stmt.delete_assign + normalizedText: self.manifest_update_required = required; + occurrence: 0 + testSet: 133 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.always_false + normalizedText: '!in_syncs.is_empty()' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.always_false + normalizedText: '!self.notes.is_empty()' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.always_false + normalizedText: '!self.refusals.is_empty()' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.always_false + normalizedText: existed + occurrence: 0 + testSet: 135 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.always_false + normalizedText: self.manifest_update_required + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.always_true + normalizedText: '!in_syncs.is_empty()' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.always_true + normalizedText: '!self.notes.is_empty()' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.always_true + normalizedText: '!self.refusals.is_empty()' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.always_true + normalizedText: existed + occurrence: 0 + testSet: 135 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.always_true + normalizedText: self.manifest_update_required + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.negate + normalizedText: '!in_syncs.is_empty()' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.negate + normalizedText: '!self.notes.is_empty()' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.negate + normalizedText: '!self.refusals.is_empty()' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.negate + normalizedText: existed + occurrence: 0 + testSet: 135 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: cond.negate + normalizedText: self.manifest_update_required + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: fn_value.empty_string + normalizedText: '{ let mut creates: Vec<&PlanItem> = Vec::new(); let mut updates: Vec<&PlanItem> = Vec::new(); let mut + leave_alones: Vec<&PlanItem> = Vec::new(); let mut proposes: Vec<&PlanItem> = Vec::new(); let mut in_syncs: Vec<&PlanItem> + = Vec::new(); let mut removes: Vec<&PlanItem> = Vec::new(); let mut orphans_kept: Vec<&PlanItem> = Vec::new(); for + item in &self.items { match item.decision { Decision::Write => { let existed = previous_manifest.is_some_and(|m| match + &item.target { Target::File { path } => m.files.contains_key(path), Target::Region { host, id } => m.regions.contains_key(&RegionKey + { host: host.clone(), id: id.clone(), }), }); if existed { updates.push(item); } else { creates.push(item); } } Decision::LeaveAlone + => leave_alones.push(item), Decision::Propose => proposes.push(item), Decision::InSync => in_syncs.push(item), Decision::Remove + => removes.push(item), Decision::OrphanedKept => orphans_kept.push(item), } } let mut out = String::new(); let _ = + writeln!(out, "cargo-anvil plan: {} item(s)", self.items.len()); write_section(&mut out, "Will create", &creates); + write_section(&mut out, "Will update", &updates); write_section(&mut out, "Will propose", &proposes); write_section(&mut + out, "Will remove", &removes); write_section(&mut out, "No longer managed (left in place; ownership transferred)", + &orphans_kept); write_section(&mut out, "Will leave alone (silent)", &leave_alones); if self.manifest_update_required + { let _ = writeln!(out, "Manifest update required: 1 item(s)"); let _ = writeln!(out, " - .anvil.lock"); } if !in_syncs.is_empty() + { let _ = writeln!(out, "Unchanged: {} item(s)", in_syncs.len()); } if !self.refusals.is_empty() { let _ = writeln!(out, + "Refused: {} item(s)", self.refusals.len()); for refusal in &self.refusals { let _ = writeln!(out, "- {refusal}"); + } } if !self.notes.is_empty() { let _ = writeln!(out, "Notes: {} item(s)", self.notes.len()); for note in &self.notes + { let _ = writeln!(out, "- {note}"); } } out }' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut creates: Vec<&PlanItem> = Vec::new(); let mut updates: Vec<&PlanItem> = Vec::new(); let mut + leave_alones: Vec<&PlanItem> = Vec::new(); let mut proposes: Vec<&PlanItem> = Vec::new(); let mut in_syncs: Vec<&PlanItem> + = Vec::new(); let mut removes: Vec<&PlanItem> = Vec::new(); let mut orphans_kept: Vec<&PlanItem> = Vec::new(); for + item in &self.items { match item.decision { Decision::Write => { let existed = previous_manifest.is_some_and(|m| match + &item.target { Target::File { path } => m.files.contains_key(path), Target::Region { host, id } => m.regions.contains_key(&RegionKey + { host: host.clone(), id: id.clone(), }), }); if existed { updates.push(item); } else { creates.push(item); } } Decision::LeaveAlone + => leave_alones.push(item), Decision::Propose => proposes.push(item), Decision::InSync => in_syncs.push(item), Decision::Remove + => removes.push(item), Decision::OrphanedKept => orphans_kept.push(item), } } let mut out = String::new(); let _ = + writeln!(out, "cargo-anvil plan: {} item(s)", self.items.len()); write_section(&mut out, "Will create", &creates); + write_section(&mut out, "Will update", &updates); write_section(&mut out, "Will propose", &proposes); write_section(&mut + out, "Will remove", &removes); write_section(&mut out, "No longer managed (left in place; ownership transferred)", + &orphans_kept); write_section(&mut out, "Will leave alone (silent)", &leave_alones); if self.manifest_update_required + { let _ = writeln!(out, "Manifest update required: 1 item(s)"); let _ = writeln!(out, " - .anvil.lock"); } if !in_syncs.is_empty() + { let _ = writeln!(out, "Unchanged: {} item(s)", in_syncs.len()); } if !self.refusals.is_empty() { let _ = writeln!(out, + "Refused: {} item(s)", self.refusals.len()); for refusal in &self.refusals { let _ = writeln!(out, "- {refusal}"); + } } if !self.notes.is_empty() { let _ = writeln!(out, "Notes: {} item(s)", self.notes.len()); for note in &self.notes + { let _ = writeln!(out, "- {note}"); } } out }' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: literal.str_to_empty + normalizedText: '"No longer managed (left in place; ownership transferred)"' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: literal.str_to_empty + normalizedText: '"Will create"' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: literal.str_to_empty + normalizedText: '"Will leave alone (silent)"' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: literal.str_to_empty + normalizedText: '"Will propose"' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: literal.str_to_empty + normalizedText: '"Will remove"' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: literal.str_to_empty + normalizedText: '"Will update"' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: literal.str_to_xyzzy + normalizedText: '"No longer managed (left in place; ownership transferred)"' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: literal.str_to_xyzzy + normalizedText: '"Will create"' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: literal.str_to_xyzzy + normalizedText: '"Will leave alone (silent)"' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: literal.str_to_xyzzy + normalizedText: '"Will propose"' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: literal.str_to_xyzzy + normalizedText: '"Will remove"' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: literal.str_to_xyzzy + normalizedText: '"Will update"' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: stmt.delete_call + normalizedText: creates.push(item); + occurrence: 0 + testSet: 135 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: stmt.delete_call + normalizedText: updates.push(item); + occurrence: 0 + testSet: 136 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: stmt.delete_call + normalizedText: write_section(&mut out, "No longer managed (left in place; ownership transferred)", &orphans_kept); + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: stmt.delete_call + normalizedText: write_section(&mut out, "Will create", &creates); + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: stmt.delete_call + normalizedText: write_section(&mut out, "Will leave alone (silent)", &leave_alones); + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: stmt.delete_call + normalizedText: write_section(&mut out, "Will propose", &proposes); + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: stmt.delete_call + normalizedText: write_section(&mut out, "Will remove", &removes); + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: stmt.delete_call + normalizedText: write_section(&mut out, "Will update", &updates); + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: unary.remove_not + normalizedText: '!in_syncs.is_empty()' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: unary.remove_not + normalizedText: '!self.notes.is_empty()' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Plan::summary + mutator: unary.remove_not + normalizedText: '!self.refusals.is_empty()' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::insync + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 137 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::insync + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 137 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::insync + mutator: option.some_to_none + normalizedText: Some(template_checksum) + occurrence: 0 + testSet: 137 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::noop + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 138 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::noop + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 138 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::noop + mutator: option.none_to_some + normalizedText: None + occurrence: 2 + testSet: 138 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::orphaned_kept + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 139 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::orphaned_kept + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 139 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::orphaned_kept + mutator: option.none_to_some + normalizedText: None + occurrence: 2 + testSet: 139 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::propose_file + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 140 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::propose_file + mutator: option.some_to_none + normalizedText: Some(rendered) + occurrence: 0 + testSet: 140 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::propose_file + mutator: option.some_to_none + normalizedText: Some(template_checksum) + occurrence: 0 + testSet: 140 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::propose_region + mutator: option.some_to_none + normalizedText: Some(body) + occurrence: 0 + testSet: 141 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::propose_region + mutator: option.some_to_none + normalizedText: Some(body_checksum) + occurrence: 0 + testSet: 141 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::propose_region + mutator: option.some_to_none + normalizedText: Some(spliced_host) + occurrence: 0 + testSet: 141 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::remove_file + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 142 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::remove_file + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 142 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::remove_file + mutator: option.none_to_some + normalizedText: None + occurrence: 2 + testSet: 142 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::remove_region + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 143 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::remove_region + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 143 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::remove_region + mutator: option.some_to_none + normalizedText: Some(spliced_host) + occurrence: 0 + testSet: 143 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::write_file + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 144 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::write_file + mutator: option.some_to_none + normalizedText: Some(checksum) + occurrence: 0 + testSet: 144 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::write_file + mutator: option.some_to_none + normalizedText: Some(rendered) + occurrence: 0 + testSet: 144 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::write_region + mutator: option.some_to_none + normalizedText: Some(body) + occurrence: 0 + testSet: 145 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::write_region + mutator: option.some_to_none + normalizedText: Some(body_checksum) + occurrence: 0 + testSet: 145 + - site: + file: crates/cargo-anvil/src/plan.rs + item: PlanItem::write_region + mutator: option.some_to_none + normalizedText: Some(spliced_host) + occurrence: 0 + testSet: 145 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Target::label + mutator: fn_value.empty_string + normalizedText: '{ match self { Self::File { path } => path.clone(), Self::Region { host, id } => format!("{host} [{id}]"), + } }' + occurrence: 0 + testSet: 146 + - site: + file: crates/cargo-anvil/src/plan.rs + item: Target::label + mutator: fn_value.xyzzy_string + normalizedText: '{ match self { Self::File { path } => path.clone(), Self::Region { host, id } => format!("{host} [{id}]"), + } }' + occurrence: 0 + testSet: 146 + - site: + file: crates/cargo-anvil/src/plan.rs + item: contained_path + mutator: cond.always_false + normalizedText: '!resolved.starts_with(&root)' + occurrence: 0 + testSet: 147 + - site: + file: crates/cargo-anvil/src/plan.rs + item: contained_path + mutator: cond.always_true + normalizedText: '!resolved.starts_with(&root)' + occurrence: 0 + testSet: 147 + - site: + file: crates/cargo-anvil/src/plan.rs + item: contained_path + mutator: cond.negate + normalizedText: '!resolved.starts_with(&root)' + occurrence: 0 + testSet: 147 + - site: + file: crates/cargo-anvil/src/plan.rs + item: contained_path + mutator: fn_value.ok + normalizedText: '{ let abs = repo_root.join(relpath); let root = repo_root .canonicalize() .into_app_err_with(|| format!("failed + to resolve the repository root {}", repo_root.display()))?; let mut probe = abs.as_path(); loop { match probe.canonicalize() + { Ok(resolved) => { if !resolved.starts_with(&root) { bail!( "manifest path ''{relpath}'' resolves to {}, outside + the repository at {}", resolved.display(), root.display() ); } return Ok(abs); } Err(error) if error.kind() == std::io::ErrorKind::NotFound + => {} Err(error) => { return Err(error).into_app_err_with(|| format!("failed to resolve {} while checking containment", + probe.display())); } } probe = probe .parent() .expect("the walk reaches a filesystem root, which always resolves, + before running out of components"); } }' + occurrence: 0 + testSet: 148 + - site: + file: crates/cargo-anvil/src/plan.rs + item: contained_path + mutator: match_guard.always_false + normalizedText: error.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 149 + - site: + file: crates/cargo-anvil/src/plan.rs + item: contained_path + mutator: match_guard.always_true + normalizedText: error.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 149 + - site: + file: crates/cargo-anvil/src/plan.rs + item: contained_path + mutator: match_guard.negate + normalizedText: error.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 149 + - site: + file: crates/cargo-anvil/src/plan.rs + item: contained_path + mutator: result.err_to_ok + normalizedText: Err(error) + occurrence: 0 + testSet: 150 + - site: + file: crates/cargo-anvil/src/plan.rs + item: contained_path + mutator: string.starts_with_to_ends_with + normalizedText: resolved.starts_with(&root) + occurrence: 0 + testSet: 147 + - site: + file: crates/cargo-anvil/src/plan.rs + item: contained_path + mutator: unary.remove_not + normalizedText: '!resolved.starts_with(&root)' + occurrence: 0 + testSet: 147 + - site: + file: crates/cargo-anvil/src/plan.rs + item: make_temp_path + mutator: fn_value.default + normalizedText: '{ let mut name = path.file_name().map(std::ffi::OsString::from).unwrap_or_default(); name.push(".anvil-tmp"); + path.with_file_name(name) }' + occurrence: 0 + testSet: 151 + - site: + file: crates/cargo-anvil/src/plan.rs + item: make_temp_path + mutator: literal.str_to_empty + normalizedText: '".anvil-tmp"' + occurrence: 0 + testSet: 151 + - site: + file: crates/cargo-anvil/src/plan.rs + item: make_temp_path + mutator: literal.str_to_xyzzy + normalizedText: '".anvil-tmp"' + occurrence: 0 + testSet: 151 + - site: + file: crates/cargo-anvil/src/plan.rs + item: make_temp_path + mutator: stmt.delete_call + normalizedText: name.push(".anvil-tmp"); + occurrence: 0 + testSet: 151 + - site: + file: crates/cargo-anvil/src/plan.rs + item: write_file + mutator: fn_value.ok + normalizedText: '{ let parent = path .parent() .expect("write_file targets are always repo-root-joined paths, which + always have a parent"); std::fs::create_dir_all(parent).into_app_err_with(|| format!("failed to create parent directory + {}", parent.display()))?; let tmp = make_temp_path(path); match std::fs::remove_file(&tmp) { Ok(()) => {} Err(e) if + e.kind() == std::io::ErrorKind::NotFound => {} Err(e) => { return Err(e).into_app_err_with(|| format!("failed to clear + the temporary file {}", tmp.display())); } } std::fs::write(&tmp, content).into_app_err_with(|| format!("failed to + write {}", tmp.display()))?; std::fs::rename(&tmp, path).into_app_err_with(|| format!("failed to rename {} -> {}", + tmp.display(), path.display()))?; Ok(()) }' + occurrence: 0 + testSet: 152 + - site: + file: crates/cargo-anvil/src/plan.rs + item: write_file + mutator: match_guard.always_false + normalizedText: e.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 153 + - site: + file: crates/cargo-anvil/src/plan.rs + item: write_file + mutator: match_guard.always_true + normalizedText: e.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 153 + - site: + file: crates/cargo-anvil/src/plan.rs + item: write_file + mutator: match_guard.negate + normalizedText: e.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 153 + - site: + file: crates/cargo-anvil/src/plan.rs + item: write_file + mutator: result.err_to_ok + normalizedText: Err(e) + occurrence: 0 + testSet: 154 + - site: + file: crates/cargo-anvil/src/plan.rs + item: write_section + mutator: cond.always_false + normalizedText: items.is_empty() + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: write_section + mutator: cond.always_true + normalizedText: items.is_empty() + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: write_section + mutator: cond.negate + normalizedText: items.is_empty() + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/plan.rs + item: write_section + mutator: fn_value.unit + normalizedText: '{ if items.is_empty() { return; } let _ = writeln!(out, "{header}: {} item(s)", items.len()); for item + in items { let _ = writeln!(out, " - {}", item.target.label()); } }' + occurrence: 0 + testSet: 134 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: arith.add_to_mul + normalizedText: start + i + occurrence: 0 + testSet: 155 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: arith.add_to_mul + normalizedText: start + i + 1 + occurrence: 0 + testSet: 155 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: arith.add_to_sub + normalizedText: start + i + occurrence: 0 + testSet: 155 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: arith.add_to_sub + normalizedText: start + i + 1 + occurrence: 0 + testSet: 155 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: cond.always_false + normalizedText: self.pos >= self.text.len() + occurrence: 0 + testSet: 156 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: cond.always_true + normalizedText: self.pos >= self.text.len() + occurrence: 0 + testSet: 156 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: cond.negate + normalizedText: self.pos >= self.text.len() + occurrence: 0 + testSet: 156 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: expr.decrement + normalizedText: start + occurrence: 0 + testSet: 157 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: expr.increment + normalizedText: start + occurrence: 0 + testSet: 157 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: fn_value.none + normalizedText: '{ if self.pos >= self.text.len() { return None; } let start = self.pos; let rest = &self.text[start..]; + let end = match rest.find(''\n'') { Some(i) => start + i + 1, None => self.text.len(), }; debug_assert!(end > start, + "LineIter::next must make progress"); self.pos = end; Some(ByteRange { start, end }) }' + occurrence: 0 + testSet: 156 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 155 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 155 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: option.some_to_none + normalizedText: Some(ByteRange { start, end }) + occurrence: 0 + testSet: 157 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: relational.ge_to_gt + normalizedText: self.pos >= self.text.len() + occurrence: 0 + testSet: 156 + - site: + file: crates/cargo-anvil/src/region.rs + item: as Iterator>::next + mutator: relational.ge_to_le + normalizedText: self.pos >= self.text.len() + occurrence: 0 + testSet: 156 + - site: + file: crates/cargo-anvil/src/region.rs + item: CommentSyntax::prefix + mutator: fn_value.empty_string + normalizedText: '{ match self { Self::Hash => "#", Self::SlashSlash => "//", } }' + occurrence: 0 + testSet: 158 + - site: + file: crates/cargo-anvil/src/region.rs + item: CommentSyntax::prefix + mutator: fn_value.xyzzy_string + normalizedText: '{ match self { Self::Hash => "#", Self::SlashSlash => "//", } }' + occurrence: 0 + testSet: 158 + - site: + file: crates/cargo-anvil/src/region.rs + item: CommentSyntax::prefix + mutator: literal.str_to_empty + normalizedText: '"#"' + occurrence: 0 + testSet: 159 + - site: + file: crates/cargo-anvil/src/region.rs + item: CommentSyntax::prefix + mutator: literal.str_to_empty + normalizedText: '"//"' + occurrence: 0 + testSet: 160 + - site: + file: crates/cargo-anvil/src/region.rs + item: CommentSyntax::prefix + mutator: literal.str_to_xyzzy + normalizedText: '"#"' + occurrence: 0 + testSet: 159 + - site: + file: crates/cargo-anvil/src/region.rs + item: CommentSyntax::prefix + mutator: literal.str_to_xyzzy + normalizedText: '"//"' + occurrence: 0 + testSet: 160 + - site: + file: crates/cargo-anvil/src/region.rs + item: Region<'a>::body_str + mutator: expr.decrement + normalizedText: self.body.end + occurrence: 0 + testSet: 161 + - site: + file: crates/cargo-anvil/src/region.rs + item: Region<'a>::body_str + mutator: expr.decrement + normalizedText: self.body.start + occurrence: 0 + testSet: 161 + - site: + file: crates/cargo-anvil/src/region.rs + item: Region<'a>::body_str + mutator: expr.increment + normalizedText: self.body.end + occurrence: 0 + testSet: 161 + - site: + file: crates/cargo-anvil/src/region.rs + item: Region<'a>::body_str + mutator: expr.increment + normalizedText: self.body.start + occurrence: 0 + testSet: 161 + - site: + file: crates/cargo-anvil/src/region.rs + item: Region<'a>::body_str + mutator: fn_value.empty_string + normalizedText: '{ &self.text[self.body.start..self.body.end] }' + occurrence: 0 + testSet: 161 + - site: + file: crates/cargo-anvil/src/region.rs + item: Region<'a>::body_str + mutator: fn_value.xyzzy_string + normalizedText: '{ &self.text[self.body.start..self.body.end] }' + occurrence: 0 + testSet: 161 + - site: + file: crates/cargo-anvil/src/region.rs + item: Region<'a>::body_str + mutator: range.exclusive_to_inclusive + normalizedText: self.body.start..self.body.end + occurrence: 0 + testSet: 161 + - site: + file: crates/cargo-anvil/src/region.rs + item: Region<'a>::is_empty + mutator: fn_value.bool_false + normalizedText: '{ self.body_str().trim().is_empty() }' + occurrence: 0 + testSet: 162 + - site: + file: crates/cargo-anvil/src/region.rs + item: Region<'a>::is_empty + mutator: fn_value.bool_true + normalizedText: '{ self.body_str().trim().is_empty() }' + occurrence: 0 + testSet: 162 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: assign_value.default + normalizedText: '!in_managed' + occurrence: 0 + testSet: 163 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: assign_value.default + normalizedText: '!is_array_of_tables(header) && table_path(header).is_some_and(|path| adoptable.contains(&path))' + occurrence: 0 + testSet: 164 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 163 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.always_false + normalizedText: '!in_managed' + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.always_false + normalizedText: contains_multi_line_string(text) || contains_multi_line_string(body) + occurrence: 0 + testSet: 166 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.always_false + normalizedText: dropping + occurrence: 0 + testSet: 167 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.always_false + normalizedText: trimmed.starts_with(&close) + occurrence: 0 + testSet: 168 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.always_false + normalizedText: trimmed.starts_with(&open) + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.always_true + normalizedText: '!in_managed' + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.always_true + normalizedText: contains_multi_line_string(text) || contains_multi_line_string(body) + occurrence: 0 + testSet: 166 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.always_true + normalizedText: dropping + occurrence: 0 + testSet: 167 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.always_true + normalizedText: trimmed.starts_with(&close) + occurrence: 0 + testSet: 168 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.always_true + normalizedText: trimmed.starts_with(&open) + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.negate + normalizedText: '!in_managed' + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.negate + normalizedText: contains_multi_line_string(text) || contains_multi_line_string(body) + occurrence: 0 + testSet: 166 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.negate + normalizedText: dropping + occurrence: 0 + testSet: 167 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.negate + normalizedText: trimmed.starts_with(&close) + occurrence: 0 + testSet: 168 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: cond.negate + normalizedText: trimmed.starts_with(&open) + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: expr.decrement + normalizedText: line.end + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: expr.decrement + normalizedText: line.start + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: expr.increment + normalizedText: line.end + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: expr.increment + normalizedText: line.start + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: fn_value.empty_string + normalizedText: '{ if contains_multi_line_string(text) || contains_multi_line_string(body) { return text.to_owned(); + } let managed = parsed_tables(body, syntax); let open = syntax.prefix().to_owned() + " >>> anvil-managed:"; let close + = syntax.prefix().to_owned() + " <<< anvil-managed:"; let mut adoptable: Vec> = Vec::new(); for (path, + values) in parsed_tables(text, syntax) { if let Some(managed_values) = managed.iter().find(|(name, _)| *name == path).map(|(_, + values)| values) && values.iter().all(|(key, value)| managed_values.get(key) == Some(value)) { adoptable.push(path); + } } let mut out = String::with_capacity(text.len()); let mut in_managed = false; let mut dropping = false; for line + in iterate_lines(text) { let raw = &text[line.start..line.end]; let trimmed = raw.trim(); if trimmed.starts_with(&open) + { in_managed = true; dropping = !in_managed; } if !in_managed { if let Some(header) = toml_table_header(trimmed) { + dropping = !is_array_of_tables(header) && table_path(header).is_some_and(|path| adoptable.contains(&path)); } if dropping + { continue; } } out.push_str(raw); if trimmed.starts_with(&close) { in_managed = false; } } out }' + occurrence: 0 + testSet: 166 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: fn_value.xyzzy_string + normalizedText: '{ if contains_multi_line_string(text) || contains_multi_line_string(body) { return text.to_owned(); + } let managed = parsed_tables(body, syntax); let open = syntax.prefix().to_owned() + " >>> anvil-managed:"; let close + = syntax.prefix().to_owned() + " <<< anvil-managed:"; let mut adoptable: Vec> = Vec::new(); for (path, + values) in parsed_tables(text, syntax) { if let Some(managed_values) = managed.iter().find(|(name, _)| *name == path).map(|(_, + values)| values) && values.iter().all(|(key, value)| managed_values.get(key) == Some(value)) { adoptable.push(path); + } } let mut out = String::with_capacity(text.len()); let mut in_managed = false; let mut dropping = false; for line + in iterate_lines(text) { let raw = &text[line.start..line.end]; let trimmed = raw.trim(); if trimmed.starts_with(&open) + { in_managed = true; dropping = !in_managed; } if !in_managed { if let Some(header) = toml_table_header(trimmed) { + dropping = !is_array_of_tables(header) && table_path(header).is_some_and(|path| adoptable.contains(&path)); } if dropping + { continue; } } out.push_str(raw); if trimmed.starts_with(&close) { in_managed = false; } } out }' + occurrence: 0 + testSet: 166 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: iter.all_to_any + normalizedText: values.iter().all(|(key, value)| managed_values.get(key) == Some(value)) + occurrence: 0 + testSet: 169 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 163 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 163 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: literal.str_to_empty + normalizedText: '" <<< anvil-managed:"' + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: literal.str_to_empty + normalizedText: '" >>> anvil-managed:"' + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: literal.str_to_xyzzy + normalizedText: '" <<< anvil-managed:"' + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: literal.str_to_xyzzy + normalizedText: '" >>> anvil-managed:"' + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: logical.and_to_or + normalizedText: '!is_array_of_tables(header) && table_path(header).is_some_and(|path| adoptable.contains(&path))' + occurrence: 0 + testSet: 164 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: logical.or_to_and + normalizedText: contains_multi_line_string(text) || contains_multi_line_string(body) + occurrence: 0 + testSet: 166 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 170 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 170 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: option.some_to_none + normalizedText: Some(value) + occurrence: 0 + testSet: 169 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: range.exclusive_to_inclusive + normalizedText: line.start..line.end + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: relational.eq_to_ne + normalizedText: '*name == path' + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: relational.eq_to_ne + normalizedText: managed_values.get(key) == Some(value) + occurrence: 0 + testSet: 169 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: stmt.delete_assign + normalizedText: dropping = !in_managed; + occurrence: 0 + testSet: 163 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: stmt.delete_assign + normalizedText: dropping = !is_array_of_tables(header) && table_path(header).is_some_and(|path| adoptable.contains(&path)); + occurrence: 0 + testSet: 164 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: stmt.delete_assign + normalizedText: in_managed = false; + occurrence: 0 + testSet: 163 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: stmt.delete_assign + normalizedText: in_managed = true; + occurrence: 0 + testSet: 163 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: stmt.delete_call + normalizedText: adoptable.push(path); + occurrence: 0 + testSet: 170 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: stmt.delete_call + normalizedText: out.push_str(raw); + occurrence: 0 + testSet: 168 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: string.starts_with_to_ends_with + normalizedText: trimmed.starts_with(&close) + occurrence: 0 + testSet: 168 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: string.starts_with_to_ends_with + normalizedText: trimmed.starts_with(&open) + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: unary.remove_not + normalizedText: '!in_managed' + occurrence: 0 + testSet: 163 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: unary.remove_not + normalizedText: '!in_managed' + occurrence: 1 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: adopt_unmanaged_toml_tables + mutator: unary.remove_not + normalizedText: '!is_array_of_tables(header)' + occurrence: 0 + testSet: 164 + - site: + file: crates/cargo-anvil/src/region.rs + item: collect_values + mutator: fn_value.bool_false + normalizedText: '{ table.iter().all(|(key, item)| { path.push(key.to_owned()); let understood = match item.as_value() + { Some(value) => { values.insert(path.clone(), value.to_string().trim().to_owned()); true } None => item.as_table().is_some_and(|inner| + collect_values(inner, path, values)), }; path.pop(); understood }) }' + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: collect_values + mutator: fn_value.bool_true + normalizedText: '{ table.iter().all(|(key, item)| { path.push(key.to_owned()); let understood = match item.as_value() + { Some(value) => { values.insert(path.clone(), value.to_string().trim().to_owned()); true } None => item.as_table().is_some_and(|inner| + collect_values(inner, path, values)), }; path.pop(); understood }) }' + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: collect_values + mutator: iter.all_to_any + normalizedText: table.iter().all(|(key, item)| { path.push(key.to_owned()); let understood = match item.as_value() { + Some(value) => { values.insert(path.clone(), value.to_string().trim().to_owned()); true } None => item.as_table().is_some_and(|inner| + collect_values(inner, path, values)), }; path.pop(); understood }) + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: collect_values + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: collect_values + mutator: stmt.delete_call + normalizedText: path.pop(); + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: collect_values + mutator: stmt.delete_call + normalizedText: path.push(key.to_owned()); + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: collect_values + mutator: stmt.delete_call + normalizedText: values.insert(path.clone(), value.to_string().trim().to_owned()); + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: contains_multi_line_string + mutator: fn_value.bool_false + normalizedText: '{ text.contains("\"\"\"") || text.contains("''''''") }' + occurrence: 0 + testSet: 166 + - site: + file: crates/cargo-anvil/src/region.rs + item: contains_multi_line_string + mutator: fn_value.bool_true + normalizedText: '{ text.contains("\"\"\"") || text.contains("''''''") }' + occurrence: 0 + testSet: 166 + - site: + file: crates/cargo-anvil/src/region.rs + item: contains_multi_line_string + mutator: literal.str_to_empty + normalizedText: '"''''''"' + occurrence: 0 + testSet: 172 + - site: + file: crates/cargo-anvil/src/region.rs + item: contains_multi_line_string + mutator: literal.str_to_empty + normalizedText: '"\"\"\""' + occurrence: 0 + testSet: 166 + - site: + file: crates/cargo-anvil/src/region.rs + item: contains_multi_line_string + mutator: literal.str_to_xyzzy + normalizedText: '"''''''"' + occurrence: 0 + testSet: 172 + - site: + file: crates/cargo-anvil/src/region.rs + item: contains_multi_line_string + mutator: literal.str_to_xyzzy + normalizedText: '"\"\"\""' + occurrence: 0 + testSet: 166 + - site: + file: crates/cargo-anvil/src/region.rs + item: contains_multi_line_string + mutator: logical.or_to_and + normalizedText: text.contains("\"\"\"") || text.contains("'''") + occurrence: 0 + testSet: 166 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: assign_value.default + normalizedText: Some(line) + occurrence: 0 + testSet: 173 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: assign_value.default + normalizedText: Some(line) + occurrence: 1 + testSet: 174 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.always_false + normalizedText: end_line.is_some() + occurrence: 0 + testSet: 174 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.always_false + normalizedText: start_line.is_none() + occurrence: 0 + testSet: 175 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.always_false + normalizedText: start_line.is_some() + occurrence: 0 + testSet: 173 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.always_false + normalizedText: trimmed == closer + occurrence: 0 + testSet: 176 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.always_false + normalizedText: trimmed == opener + occurrence: 0 + testSet: 177 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.always_true + normalizedText: end_line.is_some() + occurrence: 0 + testSet: 174 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.always_true + normalizedText: start_line.is_none() + occurrence: 0 + testSet: 175 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.always_true + normalizedText: start_line.is_some() + occurrence: 0 + testSet: 173 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.always_true + normalizedText: trimmed == closer + occurrence: 0 + testSet: 176 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.always_true + normalizedText: trimmed == opener + occurrence: 0 + testSet: 177 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.negate + normalizedText: end_line.is_some() + occurrence: 0 + testSet: 174 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.negate + normalizedText: start_line.is_none() + occurrence: 0 + testSet: 175 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.negate + normalizedText: start_line.is_some() + occurrence: 0 + testSet: 173 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.negate + normalizedText: trimmed == closer + occurrence: 0 + testSet: 176 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: cond.negate + normalizedText: trimmed == opener + occurrence: 0 + testSet: 177 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: expr.decrement + normalizedText: line.end + occurrence: 0 + testSet: 177 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: expr.decrement + normalizedText: line.start + occurrence: 0 + testSet: 177 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: expr.increment + normalizedText: line.end + occurrence: 0 + testSet: 177 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: expr.increment + normalizedText: line.start + occurrence: 0 + testSet: 177 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: fn_value.ok + normalizedText: '{ let opener = format!("{} >>> anvil-managed: {id}", syntax.prefix()); let closer = format!("{} <<< + anvil-managed: {id}", syntax.prefix()); let mut start_line: Option = None; let mut end_line: Option + = None; for line in iterate_lines(text) { let body = text[line.start..line.end].trim_end_matches([''\n'', ''\r'']); + let trimmed = body.trim(); if trimmed == opener { if start_line.is_some() { bail!("duplicate opening sentinel for + region ''{id}''"); } start_line = Some(line); } else if trimmed == closer { if start_line.is_none() { bail!("closing + sentinel for region ''{id}'' before its opener"); } if end_line.is_some() { bail!("duplicate closing sentinel for + region ''{id}''"); } end_line = Some(line); } } let Some(start) = start_line else { return Ok(None); }; let Some(end) + = end_line else { return Err(app_err!("region ''{id}'' has an opening sentinel but no closing sentinel")); }; debug_assert!(end.start + >= start.end, "closing sentinel recorded before its opener"); let body = ByteRange { start: start.end, end: end.start, + }; Ok(Some(Region { id: id.to_owned(), start_line: start, end_line: end, body, text, })) }' + occurrence: 0 + testSet: 178 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: option.some_to_none + normalizedText: 'Some(Region { id: id.to_owned(), start_line: start, end_line: end, body, text, })' + occurrence: 0 + testSet: 179 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: option.some_to_none + normalizedText: Some(line) + occurrence: 0 + testSet: 173 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: option.some_to_none + normalizedText: Some(line) + occurrence: 1 + testSet: 174 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: range.exclusive_to_inclusive + normalizedText: line.start..line.end + occurrence: 0 + testSet: 177 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: relational.eq_to_ne + normalizedText: trimmed == closer + occurrence: 0 + testSet: 176 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: relational.eq_to_ne + normalizedText: trimmed == opener + occurrence: 0 + testSet: 177 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: result.err_to_ok + normalizedText: Err(app_err!("region '{id}' has an opening sentinel but no closing sentinel")) + occurrence: 0 + testSet: 180 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: stmt.delete_assign + normalizedText: end_line = Some(line); + occurrence: 0 + testSet: 174 + - site: + file: crates/cargo-anvil/src/region.rs + item: find_region + mutator: stmt.delete_assign + normalizedText: start_line = Some(line); + occurrence: 0 + testSet: 173 + - site: + file: crates/cargo-anvil/src/region.rs + item: is_array_of_tables + mutator: fn_value.bool_false + normalizedText: '{ header.starts_with("[[") }' + occurrence: 0 + testSet: 164 + - site: + file: crates/cargo-anvil/src/region.rs + item: is_array_of_tables + mutator: fn_value.bool_true + normalizedText: '{ header.starts_with("[[") }' + occurrence: 0 + testSet: 164 + - site: + file: crates/cargo-anvil/src/region.rs + item: is_array_of_tables + mutator: literal.str_to_empty + normalizedText: '"[["' + occurrence: 0 + testSet: 164 + - site: + file: crates/cargo-anvil/src/region.rs + item: is_array_of_tables + mutator: literal.str_to_xyzzy + normalizedText: '"[["' + occurrence: 0 + testSet: 164 + - site: + file: crates/cargo-anvil/src/region.rs + item: is_array_of_tables + mutator: string.starts_with_to_ends_with + normalizedText: header.starts_with("[[") + occurrence: 0 + testSet: 164 + - site: + file: crates/cargo-anvil/src/region.rs + item: iterate_lines + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 156 + - site: + file: crates/cargo-anvil/src/region.rs + item: parsed_tables + mutator: fn_value.empty_collection + normalizedText: '{ toml_tables(text, syntax) .into_iter() .filter(|(header, _)| !is_array_of_tables(header)) .filter_map(|(header, + lines)| Some((table_path(header)?, table_values(&lines)?))) .collect() }' + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: parsed_tables + mutator: fn_value.one_element + normalizedText: '{ toml_tables(text, syntax) .into_iter() .filter(|(header, _)| !is_array_of_tables(header)) .filter_map(|(header, + lines)| Some((table_path(header)?, table_values(&lines)?))) .collect() }' + occurrence: 0 + testSet: 165 + - site: + file: crates/cargo-anvil/src/region.rs + item: parsed_tables + mutator: option.some_to_none + normalizedText: Some((table_path(header)?, table_values(&lines)?)) + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: parsed_tables + mutator: unary.remove_not + normalizedText: '!is_array_of_tables(header)' + occurrence: 0 + testSet: 164 + - site: + file: crates/cargo-anvil/src/region.rs + item: prepend_region + mutator: cond.always_false + normalizedText: '!text.is_empty() && !text.starts_with(''\n'')' + occurrence: 0 + testSet: 181 + - site: + file: crates/cargo-anvil/src/region.rs + item: prepend_region + mutator: cond.always_true + normalizedText: '!text.is_empty() && !text.starts_with(''\n'')' + occurrence: 0 + testSet: 181 + - site: + file: crates/cargo-anvil/src/region.rs + item: prepend_region + mutator: cond.negate + normalizedText: '!text.is_empty() && !text.starts_with(''\n'')' + occurrence: 0 + testSet: 181 + - site: + file: crates/cargo-anvil/src/region.rs + item: prepend_region + mutator: fn_value.empty_string + normalizedText: '{ let mut out = String::new(); out.push_str(rendered); if !text.is_empty() && !text.starts_with(''\n'') + { out.push(''\n''); } out.push_str(text); out }' + occurrence: 0 + testSet: 181 + - site: + file: crates/cargo-anvil/src/region.rs + item: prepend_region + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut out = String::new(); out.push_str(rendered); if !text.is_empty() && !text.starts_with(''\n'') + { out.push(''\n''); } out.push_str(text); out }' + occurrence: 0 + testSet: 181 + - site: + file: crates/cargo-anvil/src/region.rs + item: prepend_region + mutator: logical.and_to_or + normalizedText: '!text.is_empty() && !text.starts_with(''\n'')' + occurrence: 0 + testSet: 181 + - site: + file: crates/cargo-anvil/src/region.rs + item: prepend_region + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 0 + testSet: 182 + - site: + file: crates/cargo-anvil/src/region.rs + item: prepend_region + mutator: stmt.delete_call + normalizedText: out.push_str(rendered); + occurrence: 0 + testSet: 181 + - site: + file: crates/cargo-anvil/src/region.rs + item: prepend_region + mutator: stmt.delete_call + normalizedText: out.push_str(text); + occurrence: 0 + testSet: 181 + - site: + file: crates/cargo-anvil/src/region.rs + item: prepend_region + mutator: string.starts_with_to_ends_with + normalizedText: text.starts_with('\n') + occurrence: 0 + testSet: 182 + - site: + file: crates/cargo-anvil/src/region.rs + item: prepend_region + mutator: unary.remove_not + normalizedText: '!text.is_empty()' + occurrence: 0 + testSet: 181 + - site: + file: crates/cargo-anvil/src/region.rs + item: prepend_region + mutator: unary.remove_not + normalizedText: '!text.starts_with(''\n'')' + occurrence: 0 + testSet: 182 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: assign.add_to_sub + normalizedText: cut_end += 1 + occurrence: 0 + testSet: 183 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: assign.sub_to_add + normalizedText: cut_start -= 1 + occurrence: 0 + testSet: 184 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: cond.always_false + normalizedText: prefix.ends_with("\n\n") + occurrence: 0 + testSet: 185 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: cond.always_false + normalizedText: trailing_blank + occurrence: 0 + testSet: 186 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: cond.always_true + normalizedText: prefix.ends_with("\n\n") + occurrence: 0 + testSet: 185 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: cond.always_true + normalizedText: trailing_blank + occurrence: 0 + testSet: 186 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: cond.negate + normalizedText: prefix.ends_with("\n\n") + occurrence: 0 + testSet: 185 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: cond.negate + normalizedText: trailing_blank + occurrence: 0 + testSet: 186 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: expr.decrement + normalizedText: cut_end + occurrence: 0 + testSet: 186 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: expr.decrement + normalizedText: cut_end + occurrence: 1 + testSet: 186 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: expr.decrement + normalizedText: cut_start + occurrence: 0 + testSet: 185 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: expr.decrement + normalizedText: cut_start + occurrence: 1 + testSet: 186 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: expr.increment + normalizedText: cut_end + occurrence: 0 + testSet: 186 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: expr.increment + normalizedText: cut_end + occurrence: 1 + testSet: 186 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: expr.increment + normalizedText: cut_start + occurrence: 0 + testSet: 185 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: expr.increment + normalizedText: cut_start + occurrence: 1 + testSet: 186 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: fn_value.ok + normalizedText: '{ let Some(region) = find_region(text, id, syntax)? else { return Ok(text.to_owned()); }; let mut cut_start + = region.start_line.start; let mut cut_end = region.end_line.end; let trailing_blank = text[cut_end..].starts_with(''\n''); + if trailing_blank { cut_end += 1; } else { let prefix = &text[..cut_start]; if prefix.ends_with("\n\n") { cut_start + -= 1; } } let mut out = String::new(); out.push_str(&text[..cut_start]); out.push_str(&text[cut_end..]); Ok(out) }' + occurrence: 0 + testSet: 187 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 183 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 184 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 183 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 184 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: literal.str_to_empty + normalizedText: '"\n\n"' + occurrence: 0 + testSet: 185 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: literal.str_to_xyzzy + normalizedText: '"\n\n"' + occurrence: 0 + testSet: 185 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: range.exclusive_to_inclusive + normalizedText: ..cut_start + occurrence: 0 + testSet: 185 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: range.exclusive_to_inclusive + normalizedText: ..cut_start + occurrence: 1 + testSet: 186 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: stmt.delete_assign + normalizedText: cut_end += 1; + occurrence: 0 + testSet: 183 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: stmt.delete_assign + normalizedText: cut_start -= 1; + occurrence: 0 + testSet: 184 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: stmt.delete_call + normalizedText: out.push_str(&text[..cut_start]); + occurrence: 0 + testSet: 186 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: stmt.delete_call + normalizedText: out.push_str(&text[cut_end..]); + occurrence: 0 + testSet: 186 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: string.ends_with_to_starts_with + normalizedText: prefix.ends_with("\n\n") + occurrence: 0 + testSet: 185 + - site: + file: crates/cargo-anvil/src/region.rs + item: remove_region + mutator: string.starts_with_to_ends_with + normalizedText: text[cut_end..].starts_with('\n') + occurrence: 0 + testSet: 186 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: cond.always_false + normalizedText: '!body.is_empty() && !body.ends_with(''\n'')' + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: cond.always_true + normalizedText: '!body.is_empty() && !body.ends_with(''\n'')' + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: cond.negate + normalizedText: '!body.is_empty() && !body.ends_with(''\n'')' + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: fn_value.empty_string + normalizedText: '{ let prefix = syntax.prefix(); let mut out = String::new(); out.push_str(prefix); out.push_str(" >>> + anvil-managed: "); out.push_str(id); out.push(''\n''); out.push_str(body); if !body.is_empty() && !body.ends_with(''\n'') + { out.push(''\n''); } out.push_str(prefix); out.push_str(" <<< anvil-managed: "); out.push_str(id); out.push(''\n''); + out }' + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: fn_value.xyzzy_string + normalizedText: '{ let prefix = syntax.prefix(); let mut out = String::new(); out.push_str(prefix); out.push_str(" >>> + anvil-managed: "); out.push_str(id); out.push(''\n''); out.push_str(body); if !body.is_empty() && !body.ends_with(''\n'') + { out.push(''\n''); } out.push_str(prefix); out.push_str(" <<< anvil-managed: "); out.push_str(id); out.push(''\n''); + out }' + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: literal.str_to_empty + normalizedText: '" <<< anvil-managed: "' + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: literal.str_to_empty + normalizedText: '" >>> anvil-managed: "' + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: literal.str_to_xyzzy + normalizedText: '" <<< anvil-managed: "' + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: literal.str_to_xyzzy + normalizedText: '" >>> anvil-managed: "' + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: logical.and_to_or + normalizedText: '!body.is_empty() && !body.ends_with(''\n'')' + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 1 + testSet: 189 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 2 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: stmt.delete_call + normalizedText: 'out.push_str(" <<< anvil-managed: ");' + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: stmt.delete_call + normalizedText: 'out.push_str(" >>> anvil-managed: ");' + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: stmt.delete_call + normalizedText: out.push_str(body); + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: stmt.delete_call + normalizedText: out.push_str(id); + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: stmt.delete_call + normalizedText: out.push_str(id); + occurrence: 1 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: stmt.delete_call + normalizedText: out.push_str(prefix); + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: stmt.delete_call + normalizedText: out.push_str(prefix); + occurrence: 1 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: string.ends_with_to_starts_with + normalizedText: body.ends_with('\n') + occurrence: 0 + testSet: 190 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: unary.remove_not + normalizedText: '!body.ends_with(''\n'')' + occurrence: 0 + testSet: 190 + - site: + file: crates/cargo-anvil/src/region.rs + item: render_region + mutator: unary.remove_not + normalizedText: '!body.is_empty()' + occurrence: 0 + testSet: 188 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: assign_value.default + normalizedText: Some(character) + occurrence: 0 + testSet: 191 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 192 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: expr.decrement + normalizedText: line.len() + occurrence: 0 + testSet: 193 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: expr.increment + normalizedText: line.len() + occurrence: 0 + testSet: 193 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: fn_value.empty_string + normalizedText: '{ let mut quote = None; let mut escaped = false; let comment = line.char_indices().find_map(|(index, + character)| match (quote, character) { (None, ''#'') => Some(index), (None, ''\'''' | ''"'') => { quote = Some(character); + None } (Some(''"''), ''\\'') if !escaped => { escaped = true; None } (Some(active), character) if character == active + && !escaped => { quote.take(); None } _ => { escaped = false; None } }); line[..comment.unwrap_or(line.len())].trim_end() + }' + occurrence: 0 + testSet: 193 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut quote = None; let mut escaped = false; let comment = line.char_indices().find_map(|(index, + character)| match (quote, character) { (None, ''#'') => Some(index), (None, ''\'''' | ''"'') => { quote = Some(character); + None } (Some(''"''), ''\\'') if !escaped => { escaped = true; None } (Some(active), character) if character == active + && !escaped => { quote.take(); None } _ => { escaped = false; None } }); line[..comment.unwrap_or(line.len())].trim_end() + }' + occurrence: 0 + testSet: 193 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 193 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 193 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 192 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: match_arm.never_matches + normalizedText: (None, '#') + occurrence: 0 + testSet: 194 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: match_arm.never_matches + normalizedText: (None, '\'' | '"') + occurrence: 0 + testSet: 191 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: match_guard.always_false + normalizedText: '!escaped' + occurrence: 0 + testSet: 192 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: match_guard.always_false + normalizedText: character == active && !escaped + occurrence: 0 + testSet: 191 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: match_guard.always_true + normalizedText: '!escaped' + occurrence: 0 + testSet: 192 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: match_guard.always_true + normalizedText: character == active && !escaped + occurrence: 0 + testSet: 191 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: match_guard.negate + normalizedText: '!escaped' + occurrence: 0 + testSet: 192 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: match_guard.negate + normalizedText: character == active && !escaped + occurrence: 0 + testSet: 191 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 193 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 191 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: option.none_to_some + normalizedText: None + occurrence: 2 + testSet: 192 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: option.none_to_some + normalizedText: None + occurrence: 3 + testSet: 191 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: option.none_to_some + normalizedText: None + occurrence: 4 + testSet: 193 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: option.some_to_none + normalizedText: Some(character) + occurrence: 0 + testSet: 191 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: option.some_to_none + normalizedText: Some(index) + occurrence: 0 + testSet: 194 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: range.exclusive_to_inclusive + normalizedText: ..comment.unwrap_or(line.len()) + occurrence: 0 + testSet: 193 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: stmt.delete_assign + normalizedText: escaped = false; + occurrence: 0 + testSet: 193 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: stmt.delete_assign + normalizedText: escaped = true; + occurrence: 0 + testSet: 192 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: stmt.delete_assign + normalizedText: quote = Some(character); + occurrence: 0 + testSet: 191 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: stmt.delete_call + normalizedText: quote.take(); + occurrence: 0 + testSet: 191 + - site: + file: crates/cargo-anvil/src/region.rs + item: strip_trailing_comment + mutator: string.trim_end_to_trim_start + normalizedText: line[..comment.unwrap_or(line.len())].trim_end() + occurrence: 0 + testSet: 193 + - site: + file: crates/cargo-anvil/src/region.rs + item: table_path + mutator: fn_value.none + normalizedText: '{ let document = header.parse::().ok()?; let mut path = Vec::new(); let mut table = document.as_table(); + loop { let mut entries = table.iter(); let (key, item) = entries.next()?; entries.next().is_none().then_some(())?; + path.push(key.to_owned()); match item.as_table() { Some(inner) if !inner.is_empty() => table = inner, _ => { break; + } } } Some(path) }' + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: table_path + mutator: match_guard.always_false + normalizedText: '!inner.is_empty()' + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: table_path + mutator: match_guard.always_true + normalizedText: '!inner.is_empty()' + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: table_path + mutator: match_guard.negate + normalizedText: '!inner.is_empty()' + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: table_path + mutator: option.some_to_none + normalizedText: Some(path) + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: table_path + mutator: stmt.delete_call + normalizedText: path.push(key.to_owned()); + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: table_values + mutator: fn_value.none + normalizedText: '{ let document = lines.join("\n").parse::().ok()?; let mut values = BTreeMap::new(); collect_values(document.as_table(), + &mut Vec::new(), &mut values).then_some(values) }' + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: table_values + mutator: literal.str_to_empty + normalizedText: '"\n"' + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: table_values + mutator: literal.str_to_xyzzy + normalizedText: '"\n"' + occurrence: 0 + testSet: 171 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_table_header + mutator: fn_value.none + normalizedText: '{ let header = strip_trailing_comment(line); (header.starts_with(''['') && header.ends_with('']'') + && header.parse::().is_ok()).then_some(header) }' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_table_header + mutator: logical.and_to_or + normalizedText: header.starts_with('[') && header.ends_with(']') + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_table_header + mutator: logical.and_to_or + normalizedText: header.starts_with('[') && header.ends_with(']') && header.parse::().is_ok() + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_table_header + mutator: string.ends_with_to_starts_with + normalizedText: header.ends_with(']') + occurrence: 0 + testSet: 196 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_table_header + mutator: string.starts_with_to_ends_with + normalizedText: header.starts_with('[') + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: assign_value.default + normalizedText: 'false' + occurrence: 0 + testSet: 197 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 197 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: cond.always_false + normalizedText: '!in_managed && !trimmed.starts_with(prefix)' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: cond.always_false + normalizedText: trimmed.starts_with(&close) + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: cond.always_false + normalizedText: trimmed.starts_with(&open) + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: cond.always_true + normalizedText: '!in_managed && !trimmed.starts_with(prefix)' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: cond.always_true + normalizedText: trimmed.starts_with(&close) + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: cond.always_true + normalizedText: trimmed.starts_with(&open) + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: cond.negate + normalizedText: '!in_managed && !trimmed.starts_with(prefix)' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: cond.negate + normalizedText: trimmed.starts_with(&close) + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: cond.negate + normalizedText: trimmed.starts_with(&open) + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: expr.decrement + normalizedText: line.end + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: expr.decrement + normalizedText: line.start + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: expr.increment + normalizedText: line.end + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: expr.increment + normalizedText: line.start + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: fn_value.empty_collection + normalizedText: '{ let prefix = syntax.prefix(); let open = prefix.to_owned() + " >>> anvil-managed:"; let close = prefix.to_owned() + + " <<< anvil-managed:"; let mut tables: Vec<(&str, Vec<&str>)> = Vec::new(); let mut in_managed = false; for line + in iterate_lines(text) { let trimmed = text[line.start..line.end].trim(); if trimmed.starts_with(&open) { in_managed + = true; } else if trimmed.starts_with(&close) { in_managed = false; } else if !in_managed && !trimmed.starts_with(prefix) + { if let Some(header) = toml_table_header(trimmed) { tables.push((header, Vec::new())); } else if let Some((_, lines)) + = tables.last_mut() { lines.push(strip_trailing_comment(trimmed)); } } } tables }' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: fn_value.one_element + normalizedText: '{ let prefix = syntax.prefix(); let open = prefix.to_owned() + " >>> anvil-managed:"; let close = prefix.to_owned() + + " <<< anvil-managed:"; let mut tables: Vec<(&str, Vec<&str>)> = Vec::new(); let mut in_managed = false; for line + in iterate_lines(text) { let trimmed = text[line.start..line.end].trim(); if trimmed.starts_with(&open) { in_managed + = true; } else if trimmed.starts_with(&close) { in_managed = false; } else if !in_managed && !trimmed.starts_with(prefix) + { if let Some(header) = toml_table_header(trimmed) { tables.push((header, Vec::new())); } else if let Some((_, lines)) + = tables.last_mut() { lines.push(strip_trailing_comment(trimmed)); } } } tables }' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 197 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 197 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: literal.str_to_empty + normalizedText: '" <<< anvil-managed:"' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: literal.str_to_empty + normalizedText: '" >>> anvil-managed:"' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: literal.str_to_xyzzy + normalizedText: '" <<< anvil-managed:"' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: literal.str_to_xyzzy + normalizedText: '" >>> anvil-managed:"' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: logical.and_to_or + normalizedText: '!in_managed && !trimmed.starts_with(prefix)' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: range.exclusive_to_inclusive + normalizedText: line.start..line.end + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: stmt.delete_assign + normalizedText: in_managed = false; + occurrence: 0 + testSet: 197 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: stmt.delete_assign + normalizedText: in_managed = true; + occurrence: 0 + testSet: 197 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: stmt.delete_call + normalizedText: lines.push(strip_trailing_comment(trimmed)); + occurrence: 0 + testSet: 196 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: stmt.delete_call + normalizedText: tables.push((header, Vec::new())); + occurrence: 0 + testSet: 196 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: string.starts_with_to_ends_with + normalizedText: trimmed.starts_with(&close) + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: string.starts_with_to_ends_with + normalizedText: trimmed.starts_with(&open) + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: string.starts_with_to_ends_with + normalizedText: trimmed.starts_with(prefix) + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: unary.remove_not + normalizedText: '!in_managed' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: toml_tables + mutator: unary.remove_not + normalizedText: '!trimmed.starts_with(prefix)' + occurrence: 0 + testSet: 195 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region + mutator: fn_value.ok + normalizedText: '{ upsert_region_with_placement(text, id, new_body, syntax, RegionPlacement::End) }' + occurrence: 0 + testSet: 198 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: arith.add_to_mul + normalizedText: offset + index + occurrence: 0 + testSet: 199 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: arith.add_to_mul + normalizedText: offset + index + 1 + occurrence: 0 + testSet: 199 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: arith.add_to_sub + normalizedText: offset + index + occurrence: 0 + testSet: 199 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: arith.add_to_sub + normalizedText: offset + index + 1 + occurrence: 0 + testSet: 199 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: arith.sub_to_add + normalizedText: offset - 1 + occurrence: 0 + testSet: 200 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: arith.sub_to_div + normalizedText: offset - 1 + occurrence: 0 + testSet: 200 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_false + normalizedText: '!after.is_empty() && !after.starts_with(''\n'')' + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_false + normalizedText: '!before.is_empty() && !before.ends_with("\n\n")' + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_false + normalizedText: '!text.ends_with("\n\n") && !text.is_empty()' + occurrence: 0 + testSet: 202 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_false + normalizedText: '!text.ends_with(''\n'')' + occurrence: 0 + testSet: 202 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_false + normalizedText: '!text.is_empty()' + occurrence: 0 + testSet: 203 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_false + normalizedText: on_line_boundary + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_false + normalizedText: placement == RegionPlacement::Start + occurrence: 0 + testSet: 204 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_false + normalizedText: placement == RegionPlacement::Start + occurrence: 1 + testSet: 205 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_true + normalizedText: '!after.is_empty() && !after.starts_with(''\n'')' + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_true + normalizedText: '!before.is_empty() && !before.ends_with("\n\n")' + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_true + normalizedText: '!text.ends_with("\n\n") && !text.is_empty()' + occurrence: 0 + testSet: 202 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_true + normalizedText: '!text.ends_with(''\n'')' + occurrence: 0 + testSet: 202 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_true + normalizedText: '!text.is_empty()' + occurrence: 0 + testSet: 203 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_true + normalizedText: on_line_boundary + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_true + normalizedText: placement == RegionPlacement::Start + occurrence: 0 + testSet: 204 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.always_true + normalizedText: placement == RegionPlacement::Start + occurrence: 1 + testSet: 205 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.negate + normalizedText: '!after.is_empty() && !after.starts_with(''\n'')' + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.negate + normalizedText: '!before.is_empty() && !before.ends_with("\n\n")' + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.negate + normalizedText: '!text.ends_with("\n\n") && !text.is_empty()' + occurrence: 0 + testSet: 202 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.negate + normalizedText: '!text.ends_with(''\n'')' + occurrence: 0 + testSet: 202 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.negate + normalizedText: '!text.is_empty()' + occurrence: 0 + testSet: 203 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.negate + normalizedText: on_line_boundary + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.negate + normalizedText: placement == RegionPlacement::Start + occurrence: 0 + testSet: 204 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: cond.negate + normalizedText: placement == RegionPlacement::Start + occurrence: 1 + testSet: 205 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.decrement + normalizedText: offset + occurrence: 0 + testSet: 206 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.decrement + normalizedText: offset + occurrence: 1 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.decrement + normalizedText: offset - 1 + occurrence: 0 + testSet: 200 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.decrement + normalizedText: region.end_line.end + occurrence: 0 + testSet: 207 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.decrement + normalizedText: region.start_line.start + occurrence: 0 + testSet: 207 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.decrement + normalizedText: text.len() + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.decrement + normalizedText: text.len() + occurrence: 1 + testSet: 206 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.increment + normalizedText: offset + occurrence: 0 + testSet: 206 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.increment + normalizedText: offset + occurrence: 1 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.increment + normalizedText: offset - 1 + occurrence: 0 + testSet: 200 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.increment + normalizedText: region.end_line.end + occurrence: 0 + testSet: 207 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.increment + normalizedText: region.start_line.start + occurrence: 0 + testSet: 207 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.increment + normalizedText: text.len() + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: expr.increment + normalizedText: text.len() + occurrence: 1 + testSet: 206 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: fn_value.ok + normalizedText: '{ let rendered = render_region(id, new_body, syntax); if let Some(region) = find_region(text, id, syntax)? + { if placement == RegionPlacement::Start { let without_region = remove_region(text, id, syntax)?; return Ok(prepend_region(&without_region, + &rendered)); } let mut out = String::new(); out.push_str(&text[..region.start_line.start]); out.push_str(&rendered); + out.push_str(&text[region.end_line.end..]); return Ok(out); } if placement == RegionPlacement::Start { return Ok(prepend_region(text, + &rendered)); } if let RegionPlacement::At(offset) = placement { let offset = offset.min(text.len()); let bytes = text.as_bytes(); + let on_line_boundary = offset == 0 || bytes[offset - 1] == b''\n''; let offset = if on_line_boundary { offset } else + { bytes[offset..] .iter() .position(|byte| *byte == b''\n'') .map_or(text.len(), |index| offset + index + 1) }; let + (before, after) = text.split_at(offset); let mut out = String::new(); out.push_str(before); if !before.is_empty() + && !before.ends_with("\n\n") { out.push(''\n''); } out.push_str(&rendered); if !after.is_empty() && !after.starts_with(''\n'') + { out.push(''\n''); } out.push_str(after); return Ok(out); } let mut out = String::new(); out.push_str(text); if !text.is_empty() + { if !text.ends_with(''\n'') { out.push(''\n''); } if !text.ends_with("\n\n") && !text.is_empty() { out.push(''\n''); + } } out.push_str(&rendered); Ok(out) }' + occurrence: 0 + testSet: 208 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: iter.min_to_max + normalizedText: offset.min(text.len()) + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 200 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 199 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 200 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 199 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: literal.str_to_empty + normalizedText: '"\n\n"' + occurrence: 0 + testSet: 200 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: literal.str_to_empty + normalizedText: '"\n\n"' + occurrence: 1 + testSet: 202 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: literal.str_to_xyzzy + normalizedText: '"\n\n"' + occurrence: 0 + testSet: 200 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: literal.str_to_xyzzy + normalizedText: '"\n\n"' + occurrence: 1 + testSet: 202 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: logical.and_to_or + normalizedText: '!after.is_empty() && !after.starts_with(''\n'')' + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: logical.and_to_or + normalizedText: '!before.is_empty() && !before.ends_with("\n\n")' + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: logical.and_to_or + normalizedText: '!text.ends_with("\n\n") && !text.is_empty()' + occurrence: 0 + testSet: 202 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: logical.or_to_and + normalizedText: offset == 0 || bytes[offset - 1] == b'\n' + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: range.exclusive_to_inclusive + normalizedText: ..region.start_line.start + occurrence: 0 + testSet: 207 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: relational.eq_to_ne + normalizedText: '*byte == b''\n''' + occurrence: 0 + testSet: 206 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: relational.eq_to_ne + normalizedText: bytes[offset - 1] == b'\n' + occurrence: 0 + testSet: 200 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: relational.eq_to_ne + normalizedText: offset == 0 + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: relational.eq_to_ne + normalizedText: placement == RegionPlacement::Start + occurrence: 0 + testSet: 204 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: relational.eq_to_ne + normalizedText: placement == RegionPlacement::Start + occurrence: 1 + testSet: 205 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 0 + testSet: 200 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 1 + testSet: 209 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 2 + testSet: 210 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 3 + testSet: 211 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: stmt.delete_call + normalizedText: out.push_str(&rendered); + occurrence: 0 + testSet: 207 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: stmt.delete_call + normalizedText: out.push_str(&rendered); + occurrence: 1 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: stmt.delete_call + normalizedText: out.push_str(&rendered); + occurrence: 2 + testSet: 203 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: stmt.delete_call + normalizedText: out.push_str(&text[..region.start_line.start]); + occurrence: 0 + testSet: 207 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: stmt.delete_call + normalizedText: out.push_str(&text[region.end_line.end..]); + occurrence: 0 + testSet: 207 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: stmt.delete_call + normalizedText: out.push_str(after); + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: stmt.delete_call + normalizedText: out.push_str(before); + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: stmt.delete_call + normalizedText: out.push_str(text); + occurrence: 0 + testSet: 203 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: string.ends_with_to_starts_with + normalizedText: before.ends_with("\n\n") + occurrence: 0 + testSet: 200 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: string.ends_with_to_starts_with + normalizedText: text.ends_with("\n\n") + occurrence: 0 + testSet: 202 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: string.ends_with_to_starts_with + normalizedText: text.ends_with('\n') + occurrence: 0 + testSet: 202 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: string.starts_with_to_ends_with + normalizedText: after.starts_with('\n') + occurrence: 0 + testSet: 212 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: unary.remove_not + normalizedText: '!after.is_empty()' + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: unary.remove_not + normalizedText: '!after.starts_with(''\n'')' + occurrence: 0 + testSet: 212 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: unary.remove_not + normalizedText: '!before.ends_with("\n\n")' + occurrence: 0 + testSet: 200 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: unary.remove_not + normalizedText: '!before.is_empty()' + occurrence: 0 + testSet: 201 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: unary.remove_not + normalizedText: '!text.ends_with("\n\n")' + occurrence: 0 + testSet: 202 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: unary.remove_not + normalizedText: '!text.ends_with(''\n'')' + occurrence: 0 + testSet: 202 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: unary.remove_not + normalizedText: '!text.is_empty()' + occurrence: 0 + testSet: 203 + - site: + file: crates/cargo-anvil/src/region.rs + item: upsert_region_with_placement + mutator: unary.remove_not + normalizedText: '!text.is_empty()' + occurrence: 1 + testSet: 211 + - site: + file: crates/cargo-anvil/src/run.rs + item: HostTextCache::get_or_read + mutator: fn_value.ok + normalizedText: '{ if let Some(text) = self.texts.get(host) { return Ok(text.clone()); } let text = read_file_if_present(&repo_root.join(host))?; + self.texts.insert(host.to_owned(), text.clone()); Ok(text) }' + occurrence: 0 + testSet: 213 + - site: + file: crates/cargo-anvil/src/run.rs + item: HostTextCache::get_or_read + mutator: stmt.delete_call + normalizedText: self.texts.insert(host.to_owned(), text.clone()); + occurrence: 0 + testSet: 214 + - site: + file: crates/cargo-anvil/src/run.rs + item: HostTextCache::set + mutator: fn_value.unit + normalizedText: '{ self.texts.insert(host.to_owned(), Some(text)); }' + occurrence: 0 + testSet: 215 + - site: + file: crates/cargo-anvil/src/run.rs + item: HostTextCache::set + mutator: option.some_to_none + normalizedText: Some(text) + occurrence: 0 + testSet: 215 + - site: + file: crates/cargo-anvil/src/run.rs + item: HostTextCache::set + mutator: stmt.delete_call + normalizedText: self.texts.insert(host.to_owned(), Some(text)); + occurrence: 0 + testSet: 215 + - site: + file: crates/cargo-anvil/src/run.rs + item: build_plan + mutator: cond.always_false + normalizedText: selected + occurrence: 0 + testSet: 216 + - site: + file: crates/cargo-anvil/src/run.rs + item: build_plan + mutator: cond.always_true + normalizedText: selected + occurrence: 0 + testSet: 216 + - site: + file: crates/cargo-anvil/src/run.rs + item: build_plan + mutator: cond.negate + normalizedText: selected + occurrence: 0 + testSet: 216 + - site: + file: crates/cargo-anvil/src/run.rs + item: build_plan + mutator: fn_value.ok + normalizedText: '{ let mut plan = Plan::default(); let mut hosts = HostTextCache::default(); let mut composed = ComposedHosts::default(); + for artifact in catalog.artifacts() { match artifact { Artifact::OwnedFile(spec) => { let selected = spec.gate.is_none_or(|gate| + backends.contains(&gate)); if selected { let path = resolve_existing_case_insensitive(repo_root, spec.path); plan.push(plan_owned_file(repo_root, + manifest, &path, &spec.body)?); } } Artifact::Region(spec) => { push_region(repo_root, workspace, manifest, &mut plan, + &mut hosts, &mut composed, spec)?; } } } plan_removals(repo_root, manifest, &mut plan, &mut hosts, &composed)?; recompose_region_proposals(repo_root, + &mut plan, &mut hosts)?; Ok(plan) }' + occurrence: 0 + testSet: 217 + - site: + file: crates/cargo-anvil/src/run.rs + item: build_plan + mutator: stmt.delete_call + normalizedText: plan.push(plan_owned_file(repo_root, manifest, &path, &spec.body)?); + occurrence: 0 + testSet: 216 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_spec + mutator: fn_value.none + normalizedText: '{ artifacts::composed_hosts() .into_iter() .find(|host| host_relpath.eq_ignore_ascii_case(host.path)) + }' + occurrence: 0 + testSet: 217 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: cond.always_false + normalizedText: present.is_empty() + occurrence: 0 + testSet: 218 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: cond.always_true + normalizedText: present.is_empty() + occurrence: 0 + testSet: 218 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: cond.negate + normalizedText: present.is_empty() + occurrence: 0 + testSet: 218 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: iter.remove_sort + normalizedText: by_position.sort_by_key(|&(_, start)| start); + occurrence: 0 + testSet: 219 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: literal.str_to_empty + normalizedText: "\"anvil composes it from managed regions and the lock still records them, but none \\\n \ + \ of them is in the file: they were dropped by a merge, a revert or an edit. \\\n Restore the\ + \ file from version control to recover the regions and your own content \\\n around them together\"" + occurrence: 0 + testSet: 220 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: literal.str_to_empty + normalizedText: "\"it exists but anvil has never owned it, so there is nowhere to splice the managed \\\n \ + \ regions that would not put your content above `FROM`. Delete it and re-run to have \\\n a\ + \ composed file written, then move your instructions into the gaps\"" + occurrence: 0 + testSet: 221 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: literal.str_to_empty + normalizedText: "\"it was edited after anvil last wrote it, and anvil composes the file from managed \\\n \ + \ regions rather than owning it whole. Move the edits you want to keep into the \\\n gaps of\ + \ a freshly generated file, or delete it and re-run to have one written\"" + occurrence: 0 + testSet: 222 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: literal.str_to_xyzzy + normalizedText: "\"anvil composes it from managed regions and the lock still records them, but none \\\n \ + \ of them is in the file: they were dropped by a merge, a revert or an edit. \\\n Restore the\ + \ file from version control to recover the regions and your own content \\\n around them together\"" + occurrence: 0 + testSet: 220 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: literal.str_to_xyzzy + normalizedText: "\"it exists but anvil has never owned it, so there is nowhere to splice the managed \\\n \ + \ regions that would not put your content above `FROM`. Delete it and re-run to have \\\n a\ + \ composed file written, then move your instructions into the gaps\"" + occurrence: 0 + testSet: 221 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: literal.str_to_xyzzy + normalizedText: "\"it was edited after anvil last wrote it, and anvil composes the file from managed \\\n \ + \ regions rather than owning it whole. Move the edits you want to keep into the \\\n gaps of\ + \ a freshly generated file, or delete it and re-run to have one written\"" + occurrence: 0 + testSet: 222 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: match_guard.always_false + normalizedText: manifest.has_region_host(host_relpath) + occurrence: 0 + testSet: 223 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: match_guard.always_false + normalizedText: recorded == checksum_str(text) + occurrence: 0 + testSet: 224 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: match_guard.always_true + normalizedText: manifest.has_region_host(host_relpath) + occurrence: 0 + testSet: 223 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: match_guard.always_true + normalizedText: recorded == checksum_str(text) + occurrence: 0 + testSet: 224 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: match_guard.negate + normalizedText: manifest.has_region_host(host_relpath) + occurrence: 0 + testSet: 223 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: match_guard.negate + normalizedText: recorded == checksum_str(text) + occurrence: 0 + testSet: 224 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 218 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 225 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: option.none_to_some + normalizedText: None + occurrence: 2 + testSet: 226 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: option.some_to_none + normalizedText: Some((*id, region.start_line.start)) + occurrence: 0 + testSet: 227 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: relational.ne_to_eq + normalizedText: expected.0 != found.0 + occurrence: 0 + testSet: 219 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_host_state + mutator: stmt.delete_call + normalizedText: 'malformed.get_or_insert_with(|| format!("its ''{id}'' region cannot be read: {err}"));' + occurrence: 0 + testSet: 226 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: cond.always_false + normalizedText: carries_directive + occurrence: 0 + testSet: 228 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: cond.always_false + normalizedText: matches!(find_region(text, id, CommentSyntax::Hash), Ok(Some(_))) + occurrence: 0 + testSet: 229 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: cond.always_true + normalizedText: carries_directive + occurrence: 0 + testSet: 228 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: cond.always_true + normalizedText: matches!(find_region(text, id, CommentSyntax::Hash), Ok(Some(_))) + occurrence: 0 + testSet: 229 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: cond.negate + normalizedText: carries_directive + occurrence: 0 + testSet: 228 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: cond.negate + normalizedText: matches!(find_region(text, id, CommentSyntax::Hash), Ok(Some(_))) + occurrence: 0 + testSet: 229 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: expr.decrement + normalizedText: text.len() + occurrence: 0 + testSet: 228 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: expr.increment + normalizedText: text.len() + occurrence: 0 + testSet: 228 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 230 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: logical.and_to_or + normalizedText: '!opening.is_empty() && (first_line == opening || key.is_some_and(|key| opening.starts_with(key) && + first_line.starts_with(key)))' + occurrence: 0 + testSet: 228 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: logical.and_to_or + normalizedText: opening.starts_with(key) && first_line.starts_with(key) + occurrence: 0 + testSet: 231 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: logical.or_to_and + normalizedText: first_line == opening || key.is_some_and(|key| opening.starts_with(key) && first_line.starts_with(key)) + occurrence: 0 + testSet: 228 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: range.exclusive_to_inclusive + normalizedText: ..first_line_end + occurrence: 0 + testSet: 228 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: relational.eq_to_ne + normalizedText: '*candidate == id' + occurrence: 0 + testSet: 232 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: relational.eq_to_ne + normalizedText: first_line == opening + occurrence: 0 + testSet: 228 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: string.starts_with_to_ends_with + normalizedText: first_line.starts_with(key) + occurrence: 0 + testSet: 231 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: string.starts_with_to_ends_with + normalizedText: opening.starts_with(key) + occurrence: 0 + testSet: 231 + - site: + file: crates/cargo-anvil/src/run.rs + item: composed_placement + mutator: unary.remove_not + normalizedText: '!opening.is_empty()' + occurrence: 0 + testSet: 228 + - site: + file: crates/cargo-anvil/src/run.rs + item: delta_region_body + mutator: cond.always_false + normalizedText: document.as_table().contains_key("trip_wire_patterns") + occurrence: 0 + testSet: 233 + - site: + file: crates/cargo-anvil/src/run.rs + item: delta_region_body + mutator: cond.always_false + normalizedText: spec.id.as_str() != DELTA_REGION_ID + occurrence: 0 + testSet: 217 + - site: + file: crates/cargo-anvil/src/run.rs + item: delta_region_body + mutator: cond.always_true + normalizedText: document.as_table().contains_key("trip_wire_patterns") + occurrence: 0 + testSet: 233 + - site: + file: crates/cargo-anvil/src/run.rs + item: delta_region_body + mutator: cond.always_true + normalizedText: spec.id.as_str() != DELTA_REGION_ID + occurrence: 0 + testSet: 217 + - site: + file: crates/cargo-anvil/src/run.rs + item: delta_region_body + mutator: cond.negate + normalizedText: document.as_table().contains_key("trip_wire_patterns") + occurrence: 0 + testSet: 233 + - site: + file: crates/cargo-anvil/src/run.rs + item: delta_region_body + mutator: cond.negate + normalizedText: spec.id.as_str() != DELTA_REGION_ID + occurrence: 0 + testSet: 217 + - site: + file: crates/cargo-anvil/src/run.rs + item: delta_region_body + mutator: literal.str_to_empty + normalizedText: '"trip_wire_patterns"' + occurrence: 0 + testSet: 233 + - site: + file: crates/cargo-anvil/src/run.rs + item: delta_region_body + mutator: literal.str_to_xyzzy + normalizedText: '"trip_wire_patterns"' + occurrence: 0 + testSet: 233 + - site: + file: crates/cargo-anvil/src/run.rs + item: delta_region_body + mutator: relational.ne_to_eq + normalizedText: spec.id.as_str() != DELTA_REGION_ID + occurrence: 0 + testSet: 217 + - site: + file: crates/cargo-anvil/src/run.rs + item: enforce_single_tool_guard + mutator: fn_value.ok + normalizedText: "{ let current = &catalog.cli().subcommand; if let Some(owner) = &manifest.tool && owner != current\ + \ && !args.force { bail!( \"this repository is managed by '{owner}' (per .anvil.lock); refusing to run '{current}'.\ + \ \\\n A repository must be managed by a single anvil-family tool. Run '{owner}' instead, \\\n \ + \ or re-run with --force to switch this repository to '{current}'.\" ); } Ok(()) }" + occurrence: 0 + testSet: 234 + - site: + file: crates/cargo-anvil/src/run.rs + item: enforce_single_tool_guard + mutator: relational.ne_to_eq + normalizedText: owner != current + occurrence: 0 + testSet: 235 + - site: + file: crates/cargo-anvil/src/run.rs + item: enforce_single_tool_guard + mutator: unary.remove_not + normalizedText: '!args.force' + occurrence: 0 + testSet: 236 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.always_false + normalizedText: '!matches!(composed.states.get(&resolved), Some(ComposedHostState::Unsafe(_)))' + occurrence: 0 + testSet: 237 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.always_false + normalizedText: live_files.contains(&resolved) + occurrence: 0 + testSet: 238 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.always_false + normalizedText: live_region_hosts.contains(&resolved) + occurrence: 0 + testSet: 239 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.always_false + normalizedText: live_regions.contains(&(key.host.clone(), key.id.clone())) + occurrence: 0 + testSet: 240 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.always_false + normalizedText: live_regions.contains(&(resolved_host.clone(), key.id.clone())) + occurrence: 0 + testSet: 241 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.always_false + normalizedText: matches!(composed.states.get(&resolved_host), Some(ComposedHostState::Unsafe(_))) + occurrence: 0 + testSet: 242 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.always_true + normalizedText: '!matches!(composed.states.get(&resolved), Some(ComposedHostState::Unsafe(_)))' + occurrence: 0 + testSet: 237 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.always_true + normalizedText: live_files.contains(&resolved) + occurrence: 0 + testSet: 238 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.always_true + normalizedText: live_region_hosts.contains(&resolved) + occurrence: 0 + testSet: 239 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.always_true + normalizedText: live_regions.contains(&(key.host.clone(), key.id.clone())) + occurrence: 0 + testSet: 240 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.always_true + normalizedText: live_regions.contains(&(resolved_host.clone(), key.id.clone())) + occurrence: 0 + testSet: 241 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.always_true + normalizedText: matches!(composed.states.get(&resolved_host), Some(ComposedHostState::Unsafe(_))) + occurrence: 0 + testSet: 242 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.negate + normalizedText: '!matches!(composed.states.get(&resolved), Some(ComposedHostState::Unsafe(_)))' + occurrence: 0 + testSet: 237 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.negate + normalizedText: live_files.contains(&resolved) + occurrence: 0 + testSet: 238 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.negate + normalizedText: live_region_hosts.contains(&resolved) + occurrence: 0 + testSet: 239 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.negate + normalizedText: live_regions.contains(&(key.host.clone(), key.id.clone())) + occurrence: 0 + testSet: 240 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.negate + normalizedText: live_regions.contains(&(resolved_host.clone(), key.id.clone())) + occurrence: 0 + testSet: 241 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: cond.negate + normalizedText: matches!(composed.states.get(&resolved_host), Some(ComposedHostState::Unsafe(_))) + occurrence: 0 + testSet: 242 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 238 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 237 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 2 + testSet: 243 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 3 + testSet: 244 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 4 + testSet: 245 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 238 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 237 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 2 + testSet: 243 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 3 + testSet: 244 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 4 + testSet: 245 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: stmt.delete_call + normalizedText: hosts.set(&resolved_host, spliced.clone()); + occurrence: 0 + testSet: 246 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: stmt.delete_call + normalizedText: live_files.insert(path.clone()); + occurrence: 0 + testSet: 247 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: stmt.delete_call + normalizedText: live_regions.insert((host.clone(), id.clone())); + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: stmt.delete_call + normalizedText: 'plan.push(PlanItem::orphaned_kept(Target::File { path: path.clone() }));' + occurrence: 0 + testSet: 249 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: stmt.delete_call + normalizedText: 'plan.push(PlanItem::orphaned_kept(Target::File { path: path.clone() }));' + occurrence: 1 + testSet: 250 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: stmt.delete_call + normalizedText: 'plan.push(PlanItem::orphaned_kept(Target::Region { host: key.host.clone(), id: key.id.clone(), }));' + occurrence: 0 + testSet: 245 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: stmt.delete_call + normalizedText: 'plan.push(PlanItem::orphaned_kept(Target::Region { host: key.host.clone(), id: key.id.clone(), }));' + occurrence: 2 + testSet: 251 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: stmt.delete_call + normalizedText: plan.push(PlanItem::remove_region(key.host.clone(), key.id.clone(), spliced)); + occurrence: 0 + testSet: 246 + - site: + file: crates/cargo-anvil/src/run.rs + item: plan_removals + mutator: unary.remove_not + normalizedText: '!matches!(composed.states.get(&resolved), Some(ComposedHostState::Unsafe(_)))' + occurrence: 0 + testSet: 237 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region + mutator: cond.always_false + normalizedText: '!workspace.has_workspace_table' + occurrence: 0 + testSet: 216 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region + mutator: cond.always_false + normalizedText: workspace.has_workspace_table + occurrence: 0 + testSet: 216 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region + mutator: cond.always_true + normalizedText: '!workspace.has_workspace_table' + occurrence: 0 + testSet: 216 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region + mutator: cond.always_true + normalizedText: workspace.has_workspace_table + occurrence: 0 + testSet: 216 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region + mutator: cond.negate + normalizedText: '!workspace.has_workspace_table' + occurrence: 0 + testSet: 216 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region + mutator: cond.negate + normalizedText: workspace.has_workspace_table + occurrence: 0 + testSet: 216 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region + mutator: fn_value.ok + normalizedText: '{ match &spec.host { HostSelector::Path(path) => { push_region_at(repo_root, manifest, plan, hosts, + composed, path, spec)?; } HostSelector::WorkspaceCargoToml => { if workspace.has_workspace_table { push_region_at(repo_root, + manifest, plan, hosts, composed, "Cargo.toml", spec)?; } } HostSelector::SingleCrateCargoToml => { if !workspace.has_workspace_table + { push_region_at(repo_root, manifest, plan, hosts, composed, "Cargo.toml", spec)?; } } HostSelector::EachMemberManifest + => { for member in &workspace.members { push_region_at(repo_root, manifest, plan, hosts, composed, &member.manifest_relpath, + spec)?; } } } Ok(()) }' + occurrence: 0 + testSet: 217 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 216 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 1 + testSet: 252 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 216 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 1 + testSet: 252 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region + mutator: unary.remove_not + normalizedText: '!workspace.has_workspace_table' + occurrence: 0 + testSet: 216 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: cond.always_false + normalizedText: host == declared.path || matches!(state, ComposedHostState::Unsafe(_)) + occurrence: 0 + testSet: 253 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: cond.always_false + normalizedText: matches!(state, ComposedHostState::SeedFromScaffold) + occurrence: 0 + testSet: 253 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: cond.always_true + normalizedText: host == declared.path || matches!(state, ComposedHostState::Unsafe(_)) + occurrence: 0 + testSet: 253 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: cond.always_true + normalizedText: matches!(state, ComposedHostState::SeedFromScaffold) + occurrence: 0 + testSet: 253 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: cond.negate + normalizedText: host == declared.path || matches!(state, ComposedHostState::Unsafe(_)) + occurrence: 0 + testSet: 253 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: cond.negate + normalizedText: matches!(state, ComposedHostState::SeedFromScaffold) + occurrence: 0 + testSet: 253 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: fn_value.ok + normalizedText: "{ let host = resolve_existing_case_insensitive(repo_root, host); let composed_host = composed_host_spec(&host);\ + \ if let Some(declared) = composed_host && !composed.states.contains_key(&host) { let state = match hosts.get_or_read(repo_root,\ + \ &host)? { Some(text) => composed_host_state(declared.order, &host, &text, manifest), None => ComposedHostState::SeedFromScaffold,\ + \ }; let state = if host == declared.path || matches!(state, ComposedHostState::Unsafe(_)) { state } else { ComposedHostState::Unsafe(format!(\ + \ \"it must be named exactly `{}`, and the recipes that consume it refuse any other \\\n spelling,\ + \ so anvil would be maintaining a file nothing can use. Rename it\", declared.path )) }; if matches!(state, ComposedHostState::SeedFromScaffold)\ + \ { hosts.set(&host, declared.scaffold.to_owned()); } composed.states.insert(host.clone(), state); } if let Some(ComposedHostState::Unsafe(reason))\ + \ = composed.states.get(&host) { if composed.reported.insert(host.clone()) { plan.refusal(format!( \"Refused to manage\ + \ {host}: {reason}. Nothing was written to it, and other \\\n artifacts were still planned.\" ));\ + \ } plan.push(PlanItem::noop( Target::Region { host, id: spec.id.as_str().to_owned(), }, Decision::LeaveAlone, ));\ + \ return Ok(()); } let current = hosts.get_or_read(repo_root, &host)?; if let Some(declared) = composed_host && !declared.order.contains(&spec.id.as_str())\ + \ { bail!( \"region '{}' targets the composed host '{host}', whose region order is semantic, \\\n but\ + \ is not declared in that order. Add it to the host's `ComposedHost::order` \\\n at the position it must\ + \ occupy.\", spec.id.as_str() ); } let placement = composed_host.map_or_else( || region_placement(spec.id.as_str()),\ + \ |declared| composed_placement(declared.order, declared.scaffold, spec.id.as_str(), current.as_deref()), ); let body\ + \ = match delta_region_body(current.as_deref(), spec) { DeltaRegionBody::Managed => spec.body.as_str(), DeltaRegionBody::PreserveRepositoryKey\ + \ => { plan.note( \"The repository's .delta.toml already defines top-level `trip_wire_patterns`; \\\n \ + \ the managed anvil-delta region was left empty. Remove the repository key to \\\n adopt the managed\ + \ trip-wire list.\", ); \"\" } DeltaRegionBody::Malformed(reason) => { plan.refusal(format!( \"Refused to manage .delta.toml\ + \ [anvil-delta] because the existing host could not \\\n be safely inspected: {reason}. Other artifacts\ + \ were still planned.\" )); plan.push(PlanItem::noop( Target::Region { host, id: spec.id.as_str().to_owned(), }, Decision::LeaveAlone,\ + \ )); return Ok(()); } }; let item = plan_managed_region( manifest, current.as_deref(), ManagedRegionRequest { host_relpath:\ + \ &host, region_id: spec.id.as_str(), rendered_body: body, syntax: spec.syntax, placement, }, )?; if item.decision\ + \ == Decision::Write && let Some(spliced) = &item.spliced_host { hosts.set(&host, spliced.clone()); } plan.push(item);\ + \ Ok(()) }" + occurrence: 0 + testSet: 217 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: literal.str_to_empty + normalizedText: "\"The repository's .delta.toml already defines top-level `trip_wire_patterns`; \\\n \ + \ the managed anvil-delta region was left empty. Remove the repository key to \\\n adopt the managed\ + \ trip-wire list.\"" + occurrence: 0 + testSet: 254 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 254 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: literal.str_to_xyzzy + normalizedText: "\"The repository's .delta.toml already defines top-level `trip_wire_patterns`; \\\n \ + \ the managed anvil-delta region was left empty. Remove the repository key to \\\n adopt the managed\ + \ trip-wire list.\"" + occurrence: 0 + testSet: 254 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: logical.or_to_and + normalizedText: host == declared.path || matches!(state, ComposedHostState::Unsafe(_)) + occurrence: 0 + testSet: 253 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: relational.eq_to_ne + normalizedText: host == declared.path + occurrence: 0 + testSet: 253 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: relational.eq_to_ne + normalizedText: item.decision == Decision::Write + occurrence: 0 + testSet: 217 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: stmt.delete_call + normalizedText: composed.states.insert(host.clone(), state); + occurrence: 0 + testSet: 253 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: stmt.delete_call + normalizedText: hosts.set(&host, declared.scaffold.to_owned()); + occurrence: 0 + testSet: 253 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: stmt.delete_call + normalizedText: hosts.set(&host, spliced.clone()); + occurrence: 0 + testSet: 217 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: stmt.delete_call + normalizedText: "plan.note( \"The repository's .delta.toml already defines top-level `trip_wire_patterns`; \\\n \ + \ the managed anvil-delta region was left empty. Remove the repository key to \\\n adopt\ + \ the managed trip-wire list.\", );" + occurrence: 0 + testSet: 254 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: stmt.delete_call + normalizedText: 'plan.push(PlanItem::noop( Target::Region { host, id: spec.id.as_str().to_owned(), }, Decision::LeaveAlone, + ));' + occurrence: 1 + testSet: 255 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: stmt.delete_call + normalizedText: plan.push(item); + occurrence: 0 + testSet: 217 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: stmt.delete_call + normalizedText: "plan.refusal(format!( \"Refused to manage .delta.toml [anvil-delta] because the existing host could\ + \ not \\\n be safely inspected: {reason}. Other artifacts were still planned.\" ));" + occurrence: 0 + testSet: 255 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: unary.remove_not + normalizedText: '!composed.states.contains_key(&host)' + occurrence: 0 + testSet: 253 + - site: + file: crates/cargo-anvil/src/run.rs + item: push_region_at + mutator: unary.remove_not + normalizedText: '!declared.order.contains(&spec.id.as_str())' + occurrence: 0 + testSet: 253 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: assign_value.default + normalizedText: Some(composed.clone()) + occurrence: 0 + testSet: 123 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: assign_value.default + normalizedText: upsert_region_with_placement(&composed, id, body, CommentSyntax::Hash, placement)? + occurrence: 0 + testSet: 123 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: cond.always_false + normalizedText: '!grouped.contains_key(host)' + occurrence: 0 + testSet: 256 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: cond.always_false + normalizedText: item.decision != Decision::Propose + occurrence: 0 + testSet: 257 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: cond.always_true + normalizedText: '!grouped.contains_key(host)' + occurrence: 0 + testSet: 256 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: cond.always_true + normalizedText: item.decision != Decision::Propose + occurrence: 0 + testSet: 257 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: cond.negate + normalizedText: '!grouped.contains_key(host)' + occurrence: 0 + testSet: 256 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: cond.negate + normalizedText: item.decision != Decision::Propose + occurrence: 0 + testSet: 257 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 258 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 258 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: option.some_to_none + normalizedText: Some(composed.clone()) + occurrence: 0 + testSet: 123 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: relational.ne_to_eq + normalizedText: item.decision != Decision::Propose + occurrence: 0 + testSet: 257 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: stmt.delete_assign + normalizedText: composed = upsert_region_with_placement(&composed, id, body, CommentSyntax::Hash, placement)?; + occurrence: 0 + testSet: 123 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: stmt.delete_assign + normalizedText: plan.items_mut()[*idx].spliced_host = Some(composed.clone()); + occurrence: 0 + testSet: 123 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: stmt.delete_call + normalizedText: grouped.entry(host.clone()).or_default().push((idx, id.clone(), body)); + occurrence: 0 + testSet: 256 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: stmt.delete_call + normalizedText: hosts_in_order.push(host.clone()); + occurrence: 0 + testSet: 256 + - site: + file: crates/cargo-anvil/src/run.rs + item: recompose_region_proposals + mutator: unary.remove_not + normalizedText: '!grouped.contains_key(host)' + occurrence: 0 + testSet: 256 + - site: + file: crates/cargo-anvil/src/run.rs + item: region_placement + mutator: cond.always_false + normalizedText: region_id == DELTA_REGION_ID + occurrence: 0 + testSet: 215 + - site: + file: crates/cargo-anvil/src/run.rs + item: region_placement + mutator: cond.always_true + normalizedText: region_id == DELTA_REGION_ID + occurrence: 0 + testSet: 215 + - site: + file: crates/cargo-anvil/src/run.rs + item: region_placement + mutator: cond.negate + normalizedText: region_id == DELTA_REGION_ID + occurrence: 0 + testSet: 215 + - site: + file: crates/cargo-anvil/src/run.rs + item: region_placement + mutator: relational.eq_to_ne + normalizedText: region_id == DELTA_REGION_ID + occurrence: 0 + testSet: 215 + - site: + file: crates/cargo-anvil/src/run.rs + item: run + mutator: fn_value.ok + normalizedText: '{ let outcome = run_update(catalog, cli, &std::env::current_dir()?)?; print!("{}", outcome.plan.summary(Some(&outcome.previous_manifest))); + if cli.dry_run { let exit_code = outcome.plan.dry_run_exit_code(); std::process::exit(exit_code); } Ok(()) }' + occurrence: 0 + testSet: 86 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: assign_value.default + normalizedText: Some(catalog.checksum()) + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: assign_value.default + normalizedText: Some(catalog.cli().subcommand.clone()) + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: assign_value.default + normalizedText: Some(catalog.cli().version.clone()) + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: cond.always_false + normalizedText: applied + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: cond.always_true + normalizedText: applied + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: cond.negate + normalizedText: applied + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: option.some_to_none + normalizedText: Some(catalog.checksum()) + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: option.some_to_none + normalizedText: Some(catalog.cli().subcommand.clone()) + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: option.some_to_none + normalizedText: Some(catalog.cli().version.clone()) + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: relational.eq_to_ne + normalizedText: normalize_line_endings(current.as_bytes()) == normalize_line_endings(expected_manifest.as_bytes()) + occurrence: 0 + testSet: 259 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: stmt.delete_assign + normalizedText: next.catalog_checksum = Some(catalog.checksum()); + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: stmt.delete_assign + normalizedText: next.tool = Some(catalog.cli().subcommand.clone()); + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: stmt.delete_assign + normalizedText: next.tool_version = Some(catalog.cli().version.clone()); + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: stmt.delete_call + normalizedText: plan.set_manifest_update_required(!manifest_is_current); + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: unary.remove_not + normalizedText: '!args.dry_run' + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/run.rs + item: run_update + mutator: unary.remove_not + normalizedText: '!manifest_is_current' + occurrence: 0 + testSet: 248 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: cond.always_false + normalizedText: '!manifest.is_file()' + occurrence: 0 + testSet: 260 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: cond.always_false + normalizedText: '!parent_path.is_dir()' + occurrence: 0 + testSet: 261 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: cond.always_false + normalizedText: pattern.contains('*') + occurrence: 0 + testSet: 262 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: cond.always_false + normalizedText: pattern.is_empty() + occurrence: 0 + testSet: 263 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: cond.always_true + normalizedText: '!manifest.is_file()' + occurrence: 0 + testSet: 260 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: cond.always_true + normalizedText: '!parent_path.is_dir()' + occurrence: 0 + testSet: 261 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: cond.always_true + normalizedText: pattern.contains('*') + occurrence: 0 + testSet: 262 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: cond.always_true + normalizedText: pattern.is_empty() + occurrence: 0 + testSet: 263 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: cond.negate + normalizedText: '!manifest.is_file()' + occurrence: 0 + testSet: 260 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: cond.negate + normalizedText: '!parent_path.is_dir()' + occurrence: 0 + testSet: 261 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: cond.negate + normalizedText: pattern.contains('*') + occurrence: 0 + testSet: 262 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: cond.negate + normalizedText: pattern.is_empty() + occurrence: 0 + testSet: 263 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: fn_value.ok + normalizedText: '{ let pattern = pattern.trim_end_matches(''/''); if pattern.is_empty() { bail!("workspace member pattern + is empty"); } if let Some(parent) = pattern.strip_suffix("/*") { let parent_path = root.join(parent); if !parent_path.is_dir() + { return Ok(()); } let entries = std::fs::read_dir(&parent_path) .into_app_err_with(|| format!("failed to read directory + {}", parent_path.display()))? .filter_map(Result::ok) .filter(|e| e.path().is_dir()) .filter(|e| e.path().join("Cargo.toml").is_file()) + .collect::>(); let mut relpaths = Vec::with_capacity(entries.len()); for entry in entries { let name = entry.file_name(); + let name_str = name .to_str() .ok_or_else(|| app_err!("non-UTF-8 directory name in {}", parent_path.display()))?; + let relpath = format!("{parent}/{name_str}/Cargo.toml"); relpaths.push(normalize_relpath(&relpath)); } sort_relpaths(&mut + relpaths); out.extend(relpaths.into_iter().map(|manifest_relpath| WorkspaceMember { manifest_relpath })); return Ok(()); + } if pattern.contains(''*'') { bail!("unsupported glob pattern in workspace members: ''{pattern}'' (only a trailing + ''/*'' is supported)"); } let manifest = root.join(pattern).join("Cargo.toml"); if !manifest.is_file() { bail!("workspace + member ''{pattern}'' has no Cargo.toml at {}", manifest.display()); } out.push(WorkspaceMember { manifest_relpath: + normalize_relpath(&format!("{pattern}/Cargo.toml")), }); Ok(()) }' + occurrence: 0 + testSet: 263 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: literal.str_to_empty + normalizedText: '"/*"' + occurrence: 0 + testSet: 264 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 265 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 1 + testSet: 260 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: literal.str_to_xyzzy + normalizedText: '"/*"' + occurrence: 0 + testSet: 264 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 265 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 1 + testSet: 260 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: stmt.delete_call + normalizedText: out.extend(relpaths.into_iter().map(|manifest_relpath| WorkspaceMember { manifest_relpath })); + occurrence: 0 + testSet: 266 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: stmt.delete_call + normalizedText: 'out.push(WorkspaceMember { manifest_relpath: normalize_relpath(&format!("{pattern}/Cargo.toml")), });' + occurrence: 0 + testSet: 267 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: stmt.delete_call + normalizedText: relpaths.push(normalize_relpath(&relpath)); + occurrence: 0 + testSet: 265 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: stmt.delete_call + normalizedText: sort_relpaths(&mut relpaths); + occurrence: 0 + testSet: 266 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: unary.remove_not + normalizedText: '!manifest.is_file()' + occurrence: 0 + testSet: 260 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: expand_member_pattern + mutator: unary.remove_not + normalizedText: '!parent_path.is_dir()' + occurrence: 0 + testSet: 261 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: assign_value.default + normalizedText: Some(ancestor.to_path_buf()) + occurrence: 0 + testSet: 268 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: cond.always_false + normalizedText: '!manifest.is_file()' + occurrence: 0 + testSet: 269 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: cond.always_false + normalizedText: doc.get("workspace").is_some() + occurrence: 0 + testSet: 270 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: cond.always_false + normalizedText: nearest.is_none() + occurrence: 0 + testSet: 268 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: cond.always_true + normalizedText: '!manifest.is_file()' + occurrence: 0 + testSet: 269 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: cond.always_true + normalizedText: doc.get("workspace").is_some() + occurrence: 0 + testSet: 270 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: cond.always_true + normalizedText: nearest.is_none() + occurrence: 0 + testSet: 268 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: cond.negate + normalizedText: '!manifest.is_file()' + occurrence: 0 + testSet: 269 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: cond.negate + normalizedText: doc.get("workspace").is_some() + occurrence: 0 + testSet: 270 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: cond.negate + normalizedText: nearest.is_none() + occurrence: 0 + testSet: 268 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: fn_value.ok + normalizedText: '{ let start = start .canonicalize() .into_app_err_with(|| format!("cannot canonicalize start path ''{}''", + start.display()))?; let mut nearest: Option = None; for ancestor in start.ancestors() { let manifest = ancestor.join("Cargo.toml"); + if !manifest.is_file() { continue; } let text = std::fs::read_to_string(&manifest).into_app_err_with(|| format!("failed + to read {}", manifest.display()))?; let doc: DocumentMut = text .parse::() .into_app_err_with(|| format!("failed + to parse {} as TOML", manifest.display()))?; if doc.get("workspace").is_some() { return Ok(ancestor.to_path_buf()); + } if nearest.is_none() { nearest = Some(ancestor.to_path_buf()); } } nearest.ok_or_else(|| { app_err!( "no Cargo.toml + found at or above ''{}''; cargo-anvil must be run inside a Cargo workspace", start.display() ) }) }' + occurrence: 0 + testSet: 269 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 269 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 270 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 269 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 270 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 271 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 271 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 269 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: option.some_to_none + normalizedText: Some(ancestor.to_path_buf()) + occurrence: 0 + testSet: 268 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: stmt.delete_assign + normalizedText: nearest = Some(ancestor.to_path_buf()); + occurrence: 0 + testSet: 268 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: find_workspace_root + mutator: unary.remove_not + normalizedText: '!manifest.is_file()' + occurrence: 0 + testSet: 269 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: cond.always_false + normalizedText: doc.get("package").is_some() + occurrence: 0 + testSet: 272 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: cond.always_false + normalizedText: has_workspace_table + occurrence: 0 + testSet: 273 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: cond.always_false + normalizedText: resolved.is_empty() + occurrence: 0 + testSet: 274 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: cond.always_true + normalizedText: doc.get("package").is_some() + occurrence: 0 + testSet: 272 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: cond.always_true + normalizedText: has_workspace_table + occurrence: 0 + testSet: 273 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: cond.always_true + normalizedText: resolved.is_empty() + occurrence: 0 + testSet: 274 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: cond.negate + normalizedText: doc.get("package").is_some() + occurrence: 0 + testSet: 272 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: cond.negate + normalizedText: has_workspace_table + occurrence: 0 + testSet: 273 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: cond.negate + normalizedText: resolved.is_empty() + occurrence: 0 + testSet: 274 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 273 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: literal.str_to_empty + normalizedText: '"package"' + occurrence: 0 + testSet: 272 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 273 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 273 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: literal.str_to_xyzzy + normalizedText: '"package"' + occurrence: 0 + testSet: 272 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: load_workspace + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 273 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: normalize_relpath + mutator: fn_value.empty_string + normalizedText: '{ let mut parts: Vec<&str> = Vec::new(); for component in Path::new(relpath).components() { if let + Component::Normal(s) = component && let Some(s) = s.to_str() { parts.push(s); } } parts.join("/") }' + occurrence: 0 + testSet: 275 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: normalize_relpath + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut parts: Vec<&str> = Vec::new(); for component in Path::new(relpath).components() { if let + Component::Normal(s) = component && let Some(s) = s.to_str() { parts.push(s); } } parts.join("/") }' + occurrence: 0 + testSet: 275 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: normalize_relpath + mutator: literal.str_to_empty + normalizedText: '"/"' + occurrence: 0 + testSet: 275 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: normalize_relpath + mutator: literal.str_to_xyzzy + normalizedText: '"/"' + occurrence: 0 + testSet: 275 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: normalize_relpath + mutator: stmt.delete_call + normalizedText: parts.push(s); + occurrence: 0 + testSet: 275 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: resolve_workspace_members + mutator: fn_value.ok + normalizedText: '{ let members_item = doc .get("workspace") .and_then(|w| w.get("members")) .ok_or_else(|| app_err!("[workspace] + is missing the `members` array"))?; let array = members_item .as_array() .ok_or_else(|| app_err!("[workspace] `members` + must be an array"))?; let mut out = Vec::new(); for entry in array { let pattern = entry.as_str().ok_or_else(|| app_err!("`members` + entries must be strings"))?; expand_member_pattern(root, pattern, &mut out)?; } let mut seen = std::collections::BTreeSet::new(); + out.retain(|m| seen.insert(m.manifest_relpath.clone())); Ok(out) }' + occurrence: 0 + testSet: 263 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: resolve_workspace_members + mutator: literal.str_to_empty + normalizedText: '"members"' + occurrence: 0 + testSet: 263 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: resolve_workspace_members + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 263 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: resolve_workspace_members + mutator: literal.str_to_xyzzy + normalizedText: '"members"' + occurrence: 0 + testSet: 263 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: resolve_workspace_members + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 263 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: resolve_workspace_members + mutator: stmt.delete_call + normalizedText: out.retain(|m| seen.insert(m.manifest_relpath.clone())); + occurrence: 0 + testSet: 274 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: sort_relpaths + mutator: fn_value.unit + normalizedText: '{ relpaths.sort(); }' + occurrence: 0 + testSet: 276 + - site: + file: crates/cargo-anvil/src/workspace.rs + item: sort_relpaths + mutator: iter.remove_sort + normalizedText: relpaths.sort(); + occurrence: 0 + testSet: 276 + - site: + file: crates/cargo-aprz-lib/src/commands/cache_dir.rs + item: lookup + mutator: fn_value.none + normalizedText: '{ read(name).filter(|value| !value.is_empty()) }' + occurrence: 0 + testSet: 277 + - site: + file: crates/cargo-aprz-lib/src/commands/cache_dir.rs + item: lookup + mutator: unary.remove_not + normalizedText: '!value.is_empty()' + occurrence: 0 + testSet: 278 + - site: + file: crates/cargo-aprz-lib/src/commands/cache_dir.rs + item: platform_cache_dir + mutator: fn_value.none + normalizedText: '{ resolve(|name| std::env::var_os(name)) }' + occurrence: 0 + testSet: 279 + - site: + file: crates/cargo-aprz-lib/src/commands/cache_dir.rs + item: resolve + mutator: fn_value.none + normalizedText: '{ lookup(&read, "LOCALAPPDATA").map(PathBuf::from) }' + occurrence: 0 + testSet: 277 + - site: + file: crates/cargo-aprz-lib/src/commands/cache_dir.rs + item: resolve + mutator: literal.str_to_empty + normalizedText: '"LOCALAPPDATA"' + occurrence: 0 + testSet: 277 + - site: + file: crates/cargo-aprz-lib/src/commands/cache_dir.rs + item: resolve + mutator: literal.str_to_xyzzy + normalizedText: '"LOCALAPPDATA"' + occurrence: 0 + testSet: 277 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::init_logging + mutator: fn_value.unit + normalizedText: '{ let Some(mut builder) = logger_builder(log_level) else { return; }; builder.init(); }' + occurrence: 0 + testSet: 280 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::new + mutator: literal.str_to_empty + normalizedText: '"retrieving workspace metadata"' + occurrence: 0 + testSet: 280 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::new + mutator: literal.str_to_xyzzy + normalizedText: '"retrieving workspace metadata"' + occurrence: 0 + testSet: 280 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::new + mutator: stmt.delete_call + normalizedText: Self::init_logging(args.log_level); + occurrence: 0 + testSet: 280 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::resolve_cache_dir + mutator: fn_value.ok + normalizedText: '{ Self::resolve_cache_dir_from(cache_dir, platform_cache_dir()) }' + occurrence: 0 + testSet: 281 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::resolve_cache_dir_from + mutator: fn_value.ok + normalizedText: '{ if let Some(cache_path) = cache_dir { Ok(cache_path.as_std_path().to_path_buf()) } else { Ok(platform_dir.into_app_err("could + not determine cache directory")?.join("cargo-aprz")) } }' + occurrence: 0 + testSet: 282 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::resolve_cache_dir_from + mutator: literal.str_to_empty + normalizedText: '"cargo-aprz"' + occurrence: 0 + testSet: 281 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::resolve_cache_dir_from + mutator: literal.str_to_empty + normalizedText: '"could not determine cache directory"' + occurrence: 0 + testSet: 282 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::resolve_cache_dir_from + mutator: literal.str_to_xyzzy + normalizedText: '"cargo-aprz"' + occurrence: 0 + testSet: 281 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: Common<'a,H>::resolve_cache_dir_from + mutator: literal.str_to_xyzzy + normalizedText: '"could not determine cache directory"' + occurrence: 0 + testSet: 282 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + mutator: assign_value.default + normalizedText: endpoints.with_advisory_url(url) + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + mutator: assign_value.default + normalizedText: endpoints.with_codeberg_url(url) + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + mutator: assign_value.default + normalizedText: endpoints.with_coverage_url(url) + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + mutator: assign_value.default + normalizedText: endpoints.with_docs_url(url) + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + mutator: assign_value.default + normalizedText: endpoints.with_dump_url(url) + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + mutator: assign_value.default + normalizedText: endpoints.with_github_url(url) + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + mutator: fn_value.default + normalizedText: '{ let mut endpoints = Endpoints::default(); if let Some(url) = &self.dump_url { endpoints = endpoints.with_dump_url(url); + } if let Some(url) = &self.docs_url { endpoints = endpoints.with_docs_url(url); } if let Some(url) = &self.coverage_url + { endpoints = endpoints.with_coverage_url(url); } if let Some(url) = &self.github_url { endpoints = endpoints.with_github_url(url); + } if let Some(url) = &self.codeberg_url { endpoints = endpoints.with_codeberg_url(url); } if let Some(url) = &self.advisory_url + { endpoints = endpoints.with_advisory_url(url); } endpoints }' + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + mutator: stmt.delete_assign + normalizedText: endpoints = endpoints.with_advisory_url(url); + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + mutator: stmt.delete_assign + normalizedText: endpoints = endpoints.with_codeberg_url(url); + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + mutator: stmt.delete_assign + normalizedText: endpoints = endpoints.with_coverage_url(url); + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + mutator: stmt.delete_assign + normalizedText: endpoints = endpoints.with_docs_url(url); + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + mutator: stmt.delete_assign + normalizedText: endpoints = endpoints.with_dump_url(url); + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: CommonArgs::endpoints + mutator: stmt.delete_assign + normalizedText: endpoints = endpoints.with_github_url(url); + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: cond.always_false + normalizedText: include_details + occurrence: 0 + testSet: 285 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: cond.always_false + normalizedText: include_details + occurrence: 1 + testSet: 286 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: cond.always_false + normalizedText: omitted == 1 + occurrence: 0 + testSet: 287 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: cond.always_false + normalizedText: omitted > 0 + occurrence: 0 + testSet: 288 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: cond.always_true + normalizedText: include_details + occurrence: 0 + testSet: 285 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: cond.always_true + normalizedText: include_details + occurrence: 1 + testSet: 286 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: cond.always_true + normalizedText: omitted == 1 + occurrence: 0 + testSet: 287 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: cond.always_true + normalizedText: omitted > 0 + occurrence: 0 + testSet: 288 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: cond.negate + normalizedText: include_details + occurrence: 0 + testSet: 285 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: cond.negate + normalizedText: include_details + occurrence: 1 + testSet: 286 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: cond.negate + normalizedText: omitted == 1 + occurrence: 0 + testSet: 287 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: cond.negate + normalizedText: omitted > 0 + occurrence: 0 + testSet: 288 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: expr.decrement + normalizedText: limit + occurrence: 0 + testSet: 288 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: expr.decrement + normalizedText: limit + occurrence: 1 + testSet: 288 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: expr.increment + normalizedText: limit + occurrence: 0 + testSet: 288 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: expr.increment + normalizedText: limit + occurrence: 1 + testSet: 288 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: fn_value.bool_false + normalizedText: '{ let relevant_outcomes: Vec<(&ExpressionOutcome, Option<&str>)> = outcomes .iter() .filter_map(|outcome| + match &outcome.disposition { ExpressionDisposition::True => None, ExpressionDisposition::False => Some((outcome, None)), + ExpressionDisposition::Failed(reason) => Some((outcome, Some(reason.as_str()))), }) .collect(); for (outcome, failure_reason) + in relevant_outcomes.iter().take(limit) { if let Some(reason) = failure_reason { let _ = write!(message, "\n - + INCONCLUSIVE: {}", outcome.name); if include_details { let _ = write!( message, "; could not evaluate requirement: + {} (error: {reason})", outcome.description ); } } else { let _ = write!(message, "\n - FAILED: {}", outcome.name); + if include_details { let _ = write!(message, "; expected: {}", outcome.description); } } } let omitted = relevant_outcomes.len().saturating_sub(limit); + if omitted > 0 { let tail_noun = if omitted == 1 { singular_tail_noun } else { plural_tail_noun }; let _ = write!(message, + "\n - ... and {omitted} more {tail_noun}"); true } else { false } }' + occurrence: 0 + testSet: 288 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: fn_value.bool_true + normalizedText: '{ let relevant_outcomes: Vec<(&ExpressionOutcome, Option<&str>)> = outcomes .iter() .filter_map(|outcome| + match &outcome.disposition { ExpressionDisposition::True => None, ExpressionDisposition::False => Some((outcome, None)), + ExpressionDisposition::Failed(reason) => Some((outcome, Some(reason.as_str()))), }) .collect(); for (outcome, failure_reason) + in relevant_outcomes.iter().take(limit) { if let Some(reason) = failure_reason { let _ = write!(message, "\n - + INCONCLUSIVE: {}", outcome.name); if include_details { let _ = write!( message, "; could not evaluate requirement: + {} (error: {reason})", outcome.description ); } } else { let _ = write!(message, "\n - FAILED: {}", outcome.name); + if include_details { let _ = write!(message, "; expected: {}", outcome.description); } } } let omitted = relevant_outcomes.len().saturating_sub(limit); + if omitted > 0 { let tail_noun = if omitted == 1 { singular_tail_noun } else { plural_tail_noun }; let _ = write!(message, + "\n - ... and {omitted} more {tail_noun}"); true } else { false } }' + occurrence: 0 + testSet: 288 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 289 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 287 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 287 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 288 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 287 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 286 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: option.some_to_none + normalizedText: Some((outcome, None)) + occurrence: 0 + testSet: 286 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: option.some_to_none + normalizedText: Some((outcome, Some(reason.as_str()))) + occurrence: 0 + testSet: 285 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: option.some_to_none + normalizedText: Some(reason.as_str()) + occurrence: 0 + testSet: 285 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: relational.eq_to_ne + normalizedText: omitted == 1 + occurrence: 0 + testSet: 287 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: relational.gt_to_ge + normalizedText: omitted > 0 + occurrence: 0 + testSet: 288 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: append_non_passing_outcomes + mutator: relational.gt_to_lt + normalizedText: omitted > 0 + occurrence: 0 + testSet: 288 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: arith.sub_to_add + normalizedText: rejected.len() - MAX_REJECTED_CRATES + occurrence: 0 + testSet: 290 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: arith.sub_to_div + normalizedText: rejected.len() - MAX_REJECTED_CRATES + occurrence: 0 + testSet: 290 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: assign.or_to_and + normalizedText: details_were_capped |= append_non_passing_outcomes( &mut message, &appraisal.expression_outcomes, MAX_OUTCOMES_PER_CRATE, + include_check_details, "required check", "required checks", ) + occurrence: 0 + testSet: 291 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: assign.or_to_and + normalizedText: details_were_capped |= append_non_passing_outcomes( &mut message, &appraisal.expression_outcomes, MAX_OUTCOMES_PER_CRATE, + true, "non-passing outcome", "non-passing outcomes", ) + occurrence: 0 + testSet: 292 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: assign.or_to_and + normalizedText: details_were_capped |= append_non_passing_outcomes( &mut message, &appraisal.expression_outcomes, MAX_OUTCOMES_PER_CRATE, + true, "weighted check", "weighted checks", ) + occurrence: 0 + testSet: 293 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_false + normalizedText: appraisal.is_required_check_failure() + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_false + normalizedText: error_if_high_risk + occurrence: 0 + testSet: 295 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_false + normalizedText: error_if_medium_risk + occurrence: 0 + testSet: 296 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_false + normalizedText: error_if_medium_risk + occurrence: 1 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_false + normalizedText: include_check_details + occurrence: 0 + testSet: 297 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_false + normalizedText: include_check_details + occurrence: 1 + testSet: 298 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_false + normalizedText: include_check_details && details_were_capped + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_false + normalizedText: rejected.is_empty() + occurrence: 0 + testSet: 299 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_false + normalizedText: rejected.len() > MAX_REJECTED_CRATES + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_true + normalizedText: appraisal.is_required_check_failure() + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_true + normalizedText: error_if_high_risk + occurrence: 0 + testSet: 295 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_true + normalizedText: error_if_medium_risk + occurrence: 0 + testSet: 296 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_true + normalizedText: error_if_medium_risk + occurrence: 1 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_true + normalizedText: include_check_details + occurrence: 0 + testSet: 297 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_true + normalizedText: include_check_details + occurrence: 1 + testSet: 298 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_true + normalizedText: include_check_details && details_were_capped + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_true + normalizedText: rejected.is_empty() + occurrence: 0 + testSet: 299 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.always_true + normalizedText: rejected.len() > MAX_REJECTED_CRATES + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.negate + normalizedText: appraisal.is_required_check_failure() + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.negate + normalizedText: error_if_high_risk + occurrence: 0 + testSet: 295 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.negate + normalizedText: error_if_medium_risk + occurrence: 0 + testSet: 296 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.negate + normalizedText: error_if_medium_risk + occurrence: 1 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.negate + normalizedText: include_check_details + occurrence: 0 + testSet: 297 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.negate + normalizedText: include_check_details + occurrence: 1 + testSet: 298 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.negate + normalizedText: include_check_details && details_were_capped + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.negate + normalizedText: rejected.is_empty() + occurrence: 0 + testSet: 299 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: cond.negate + normalizedText: rejected.len() > MAX_REJECTED_CRATES + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: expr.decrement + normalizedText: MAX_OUTCOMES_PER_CRATE + occurrence: 0 + testSet: 291 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: expr.decrement + normalizedText: MAX_OUTCOMES_PER_CRATE + occurrence: 1 + testSet: 292 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: expr.decrement + normalizedText: MAX_OUTCOMES_PER_CRATE + occurrence: 2 + testSet: 293 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: expr.decrement + normalizedText: MAX_REJECTED_CRATES + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: expr.increment + normalizedText: MAX_OUTCOMES_PER_CRATE + occurrence: 0 + testSet: 291 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: expr.increment + normalizedText: MAX_OUTCOMES_PER_CRATE + occurrence: 1 + testSet: 292 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: expr.increment + normalizedText: MAX_OUTCOMES_PER_CRATE + occurrence: 2 + testSet: 293 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: expr.increment + normalizedText: MAX_REJECTED_CRATES + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: fn_value.ok + normalizedText: "{ const MAX_REJECTED_CRATES: usize = 20; const MAX_OUTCOMES_PER_CRATE: usize = 10; let rejected_risks:\ + \ fn(Risk) -> bool = if error_if_medium_risk { |risk| matches!(risk, Risk::Medium | Risk::High) } else if error_if_high_risk\ + \ { |risk| risk == Risk::High } else { return Ok(()); }; let rejected: Vec<_> = reportable_crates .iter() .filter(|crate_info|\ + \ { crate_info .appraisal .as_ref() .is_some_and(|appraisal| rejected_risks(appraisal.risk())) && !config.is_allowed(&crate_info.name,\ + \ &crate_info.version) }) .collect(); if rejected.is_empty() { return Ok(()); } let threshold = if error_if_medium_risk\ + \ { \"medium or high risk\" } else { \"high risk\" }; let mut message = format!( \"{} {} {} appraised as {threshold}\ + \ and caused rejection:\", rejected.len(), if rejected.len() == 1 { \"crate\" } else { \"crates\" }, if rejected.len()\ + \ == 1 { \"was\" } else { \"were\" } ); let mut details_were_capped = rejected.len() > MAX_REJECTED_CRATES; for crate_info\ + \ in rejected.iter().take(MAX_REJECTED_CRATES) { let appraisal = crate_info.appraisal.as_ref().expect(\"rejected crates\ + \ have an appraisal\"); let _ = write!(message, \"\\n- {} v{}\", crate_info.name, crate_info.version); if appraisal.is_required_check_failure()\ + \ { let _ = write!(message, \": {} (weighted score not calculated)\", appraisal.risk()); details_were_capped |= append_non_passing_outcomes(\ + \ &mut message, &appraisal.expression_outcomes, MAX_OUTCOMES_PER_CRATE, include_check_details, \"required check\"\ + , \"required checks\", ); } else if let Some(score) = appraisal.weighted_score() { let _ = write!(message, \": {}\ + \ (score {score:.0})\", appraisal.risk()); if include_check_details { details_were_capped |= append_non_passing_outcomes(\ + \ &mut message, &appraisal.expression_outcomes, MAX_OUTCOMES_PER_CRATE, true, \"non-passing outcome\", \"non-passing\ + \ outcomes\", ); } } else { let _ = write!(message, \": {} (weighted score not calculated)\", appraisal.risk()); if\ + \ include_check_details { details_were_capped |= append_non_passing_outcomes( &mut message, &appraisal.expression_outcomes,\ + \ MAX_OUTCOMES_PER_CRATE, true, \"weighted check\", \"weighted checks\", ); } } } if rejected.len() > MAX_REJECTED_CRATES\ + \ { let omitted = rejected.len() - MAX_REJECTED_CRATES; let _ = write!( message, \"\\n- ... and {omitted} more rejected\ + \ {}\", if omitted == 1 { \"crate\" } else { \"crates\" } ); } if include_check_details && details_were_capped { message.push_str(\"\ + \\nRun with --console appraisal,reasons or write --json for complete appraisal details.\"); } message.push_str(\ + \ \"\\nReview the non-passing checks and remediate, upgrade, or replace the affected dependencies. \\\n To\ + \ acknowledge a temporary exception, add the exact crate name and version to [[allow_list]] in aprz.toml.\", ); Err(ohno::AppError::new(message))\ + \ }" + occurrence: 0 + testSet: 296 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 292 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 293 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_empty + normalizedText: "\"\\nReview the non-passing checks and remediate, upgrade, or replace the affected dependencies. \\\ + \n To acknowledge a temporary exception, add the exact crate name and version to [[allow_list]] in aprz.toml.\"" + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_empty + normalizedText: '"\nRun with --console appraisal,reasons or write --json for complete appraisal details."' + occurrence: 0 + testSet: 300 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_empty + normalizedText: '"high risk"' + occurrence: 0 + testSet: 301 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_empty + normalizedText: '"medium or high risk"' + occurrence: 0 + testSet: 302 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_empty + normalizedText: '"non-passing outcome"' + occurrence: 0 + testSet: 292 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_empty + normalizedText: '"non-passing outcomes"' + occurrence: 0 + testSet: 292 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_empty + normalizedText: '"required check"' + occurrence: 0 + testSet: 291 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_empty + normalizedText: '"required checks"' + occurrence: 0 + testSet: 291 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_empty + normalizedText: '"weighted check"' + occurrence: 0 + testSet: 293 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_empty + normalizedText: '"weighted checks"' + occurrence: 0 + testSet: 293 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_xyzzy + normalizedText: "\"\\nReview the non-passing checks and remediate, upgrade, or replace the affected dependencies. \\\ + \n To acknowledge a temporary exception, add the exact crate name and version to [[allow_list]] in aprz.toml.\"" + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_xyzzy + normalizedText: '"\nRun with --console appraisal,reasons or write --json for complete appraisal details."' + occurrence: 0 + testSet: 300 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_xyzzy + normalizedText: '"high risk"' + occurrence: 0 + testSet: 301 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_xyzzy + normalizedText: '"medium or high risk"' + occurrence: 0 + testSet: 302 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_xyzzy + normalizedText: '"non-passing outcome"' + occurrence: 0 + testSet: 292 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_xyzzy + normalizedText: '"non-passing outcomes"' + occurrence: 0 + testSet: 292 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_xyzzy + normalizedText: '"required check"' + occurrence: 0 + testSet: 291 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_xyzzy + normalizedText: '"required checks"' + occurrence: 0 + testSet: 291 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_xyzzy + normalizedText: '"weighted check"' + occurrence: 0 + testSet: 293 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: literal.str_to_xyzzy + normalizedText: '"weighted checks"' + occurrence: 0 + testSet: 293 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: logical.and_to_or + normalizedText: crate_info .appraisal .as_ref() .is_some_and(|appraisal| rejected_risks(appraisal.risk())) && !config.is_allowed(&crate_info.name, + &crate_info.version) + occurrence: 0 + testSet: 299 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: logical.and_to_or + normalizedText: include_check_details && details_were_capped + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: relational.eq_to_ne + normalizedText: risk == Risk::High + occurrence: 0 + testSet: 303 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: relational.gt_to_ge + normalizedText: rejected.len() > MAX_REJECTED_CRATES + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: relational.gt_to_ge + normalizedText: rejected.len() > MAX_REJECTED_CRATES + occurrence: 1 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: relational.gt_to_lt + normalizedText: rejected.len() > MAX_REJECTED_CRATES + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: relational.gt_to_lt + normalizedText: rejected.len() > MAX_REJECTED_CRATES + occurrence: 1 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: result.err_to_ok + normalizedText: Err(ohno::AppError::new(message)) + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: stmt.delete_assign + normalizedText: details_were_capped |= append_non_passing_outcomes( &mut message, &appraisal.expression_outcomes, MAX_OUTCOMES_PER_CRATE, + include_check_details, "required check", "required checks", ); + occurrence: 0 + testSet: 291 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: stmt.delete_assign + normalizedText: details_were_capped |= append_non_passing_outcomes( &mut message, &appraisal.expression_outcomes, MAX_OUTCOMES_PER_CRATE, + true, "non-passing outcome", "non-passing outcomes", ); + occurrence: 0 + testSet: 292 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: stmt.delete_assign + normalizedText: details_were_capped |= append_non_passing_outcomes( &mut message, &appraisal.expression_outcomes, MAX_OUTCOMES_PER_CRATE, + true, "weighted check", "weighted checks", ); + occurrence: 0 + testSet: 293 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: stmt.delete_call + normalizedText: "message.push_str( \"\\nReview the non-passing checks and remediate, upgrade, or replace the affected\ + \ dependencies. \\\n To acknowledge a temporary exception, add the exact crate name and version to [[allow_list]]\ + \ in aprz.toml.\", );" + occurrence: 0 + testSet: 294 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: stmt.delete_call + normalizedText: message.push_str("\nRun with --console appraisal,reasons or write --json for complete appraisal + details."); + occurrence: 0 + testSet: 300 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: check_risk_errors + mutator: unary.remove_not + normalizedText: '!config.is_allowed(&crate_info.name, &crate_info.version)' + occurrence: 0 + testSet: 304 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: logger_builder + mutator: fn_value.none + normalizedText: '{ let level = log_filter(log_level)?; let env = env_logger::Env::default().filter_or("RUST_LOG", level); + let mut builder = env_logger::Builder::from_env(env); builder .format_timestamp(None) .format_module_path(false) .format_target(matches!(log_level, + LogLevel::Debug | LogLevel::Trace)); Some(builder) }' + occurrence: 0 + testSet: 305 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: logger_builder + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 306 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: logger_builder + mutator: literal.str_to_empty + normalizedText: '"RUST_LOG"' + occurrence: 0 + testSet: 306 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: logger_builder + mutator: literal.str_to_xyzzy + normalizedText: '"RUST_LOG"' + occurrence: 0 + testSet: 306 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: logger_builder + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 306 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: logger_builder + mutator: option.some_to_none + normalizedText: Some(builder) + occurrence: 0 + testSet: 306 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: logger_builder + mutator: stmt.delete_call + normalizedText: builder .format_timestamp(None) .format_module_path(false) .format_target(matches!(log_level, LogLevel::Debug + | LogLevel::Trace)); + occurrence: 0 + testSet: 306 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: cond.always_false + normalizedText: '!failed_crates.is_empty()' + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: cond.always_false + normalizedText: should_eval + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: cond.always_true + normalizedText: '!failed_crates.is_empty()' + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: cond.always_true + normalizedText: should_eval + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: cond.negate + normalizedText: '!failed_crates.is_empty()' + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: cond.negate + normalizedText: should_eval + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: fn_value.ok + normalizedText: '{ let (analyzable_crates, failed_crates): (Vec<_>, Vec<_>) = processed_crates.into_iter().partition(|facts| + facts.crates_data.is_found()); if !failed_crates.is_empty() { let mut error_output = host.error(); report_unanalyzable_crates(&mut + error_output, &failed_crates); } let has_expressions = !config.high_risk.is_empty() || !config.eval.is_empty(); let + should_eval = has_expressions || options.error_if_high_risk || options.error_if_medium_risk; let now = Local::now(); + let mut reportable_crates: Vec = if should_eval { analyzable_crates .into_iter() .map(|facts| { let + metrics: Vec<_> = flatten(&facts).collect(); let evaluation = evaluate( &config.high_risk, &config.eval, &metrics, + now, config.medium_risk_threshold, config.low_risk_threshold, ); ReportableCrate::new( Arc::clone(facts.crate_spec.name_arc()), + Arc::clone(facts.crate_spec.version_arc()), metrics, Some(evaluation), ) }) .collect() } else { analyzable_crates + .into_iter() .map(|facts| { let metrics: Vec<_> = flatten(&facts).collect(); ReportableCrate::new( Arc::clone(facts.crate_spec.name_arc()), + Arc::clone(facts.crate_spec.version_arc()), metrics, None, ) }) .collect() }; reportable_crates.sort_by(|a, b| a.name.as_ref().cmp(b.name.as_ref()).then_with(|| + a.version.cmp(&b.version))); let generating_reports = options.html.is_some() || options.excel.is_some() || options.csv.is_some() + || options.json.is_some(); let error_if = options.error_if_high_risk || options.error_if_medium_risk; let default_mode + = ConsoleOutputMode::full(); let console_mode = match options.console { Some(mode) => Some(mode), None if !generating_reports + && !error_if => Some(&default_mode), None => None, }; if let Some(mode) = console_mode && !reportable_crates.is_empty() + { let mut console_output = String::new(); use std::io::{IsTerminal, stdout}; let use_colors = use_colors(options.color, + stdout().is_terminal()); _ = generate_console(&reportable_crates, use_colors, mode, &mut console_output); let _ = + write!(host.output(), "{console_output}"); } if let Some(filename) = options.html { let mut html = String::new(); + generate_html(&reportable_crates, Local::now(), &mut html)?; fs::write(filename, html)?; } if let Some(filename) = + options.excel { let mut file = fs::File::create(filename)?; generate_xlsx(&reportable_crates, &mut file)?; } if let + Some(filename) = options.csv { let mut csv_output = String::new(); generate_csv(&reportable_crates, &mut csv_output)?; + fs::write(filename, csv_output)?; } if let Some(filename) = options.json { let mut json_output = String::new(); generate_json(&reportable_crates, + &mut json_output)?; fs::write(filename, json_output)?; } check_risk_errors( &reportable_crates, config, options.error_if_medium_risk, + options.error_if_high_risk, should_include_rejection_details(console_mode), )?; Ok(()) }' + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: iter.remove_sort + normalizedText: reportable_crates.sort_by(|a, b| a.name.as_ref().cmp(b.name.as_ref()).then_with(|| a.version.cmp(&b.version))); + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: logical.or_to_and + normalizedText: '!config.high_risk.is_empty() || !config.eval.is_empty()' + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: logical.or_to_and + normalizedText: has_expressions || options.error_if_high_risk + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: logical.or_to_and + normalizedText: has_expressions || options.error_if_high_risk || options.error_if_medium_risk + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: logical.or_to_and + normalizedText: options.error_if_high_risk || options.error_if_medium_risk + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: logical.or_to_and + normalizedText: options.html.is_some() || options.excel.is_some() + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: logical.or_to_and + normalizedText: options.html.is_some() || options.excel.is_some() || options.csv.is_some() + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: logical.or_to_and + normalizedText: options.html.is_some() || options.excel.is_some() || options.csv.is_some() || options.json.is_some() + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: match_guard.always_false + normalizedText: '!generating_reports && !error_if' + occurrence: 0 + testSet: 308 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: match_guard.always_true + normalizedText: '!generating_reports && !error_if' + occurrence: 0 + testSet: 308 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: match_guard.negate + normalizedText: '!generating_reports && !error_if' + occurrence: 0 + testSet: 308 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: option.some_to_none + normalizedText: Some(&default_mode) + occurrence: 0 + testSet: 309 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: option.some_to_none + normalizedText: Some(evaluation) + occurrence: 0 + testSet: 310 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: option.some_to_none + normalizedText: Some(mode) + occurrence: 0 + testSet: 311 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: stmt.delete_assign + normalizedText: _ = generate_console(&reportable_crates, use_colors, mode, &mut console_output); + occurrence: 0 + testSet: 312 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: stmt.delete_call + normalizedText: report_unanalyzable_crates(&mut error_output, &failed_crates); + occurrence: 0 + testSet: 313 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: unary.remove_not + normalizedText: '!config.eval.is_empty()' + occurrence: 0 + testSet: 314 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: unary.remove_not + normalizedText: '!config.high_risk.is_empty()' + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: unary.remove_not + normalizedText: '!failed_crates.is_empty()' + occurrence: 0 + testSet: 307 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_processed_crates + mutator: unary.remove_not + normalizedText: '!reportable_crates.is_empty()' + occurrence: 0 + testSet: 315 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_unanalyzable_crates + mutator: fn_value.unit + normalizedText: '{ let _ = writeln!(writer, "\nUnable to analyze {} crate(s)", failed_crates.len()); for facts in failed_crates + { match &facts.crates_data { ProviderResult::CrateNotFound(suggestions) => { let name = facts.crate_spec.name(); let + message = match suggestions.as_ref() { [] => format!(" Could not find information on crate ''{name}''"), [single] + => format!(" Could not find information on crate ''{name}''. Did you mean ''{single}''?"), [first, second] => { format!(" Could + not find information on crate ''{name}''. Did you mean ''{first}'' or ''{second}''?") } [all_but_last @ .., last] + => { let quoted_suggestions = all_but_last.iter().map(|s| format!("''{s}''")).collect::>().join(", "); format!(" Could + not find information on crate ''{name}''. Did you mean {quoted_suggestions}, or ''{last}''?") } }; let _ = writeln!(writer, + "{message}"); } ProviderResult::VersionNotFound => { let _ = writeln!( writer, " Could not find information on version + {} of crate `{}`", facts.crate_spec.version(), facts.crate_spec.name() ); } ProviderResult::Error(err) => { let _ + = writeln!(writer, " Could not gather information for crate ''{}'': {err:#}", facts.crate_spec); } ProviderResult::Found(_) + | ProviderResult::Unavailable(_) => {} } } }' + occurrence: 0 + testSet: 316 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_unanalyzable_crates + mutator: literal.str_to_empty + normalizedText: '", "' + occurrence: 0 + testSet: 317 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: report_unanalyzable_crates + mutator: literal.str_to_xyzzy + normalizedText: '", "' + occurrence: 0 + testSet: 317 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: should_include_rejection_details + mutator: fn_value.bool_false + normalizedText: '{ console_mode.is_none_or(|mode| !(mode.appraisal && mode.reasons)) }' + occurrence: 0 + testSet: 318 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: should_include_rejection_details + mutator: fn_value.bool_true + normalizedText: '{ console_mode.is_none_or(|mode| !(mode.appraisal && mode.reasons)) }' + occurrence: 0 + testSet: 318 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: should_include_rejection_details + mutator: logical.and_to_or + normalizedText: mode.appraisal && mode.reasons + occurrence: 0 + testSet: 319 + - site: + file: crates/cargo-aprz-lib/src/commands/common.rs + item: should_include_rejection_details + mutator: unary.remove_not + normalizedText: '!(mode.appraisal && mode.reasons)' + occurrence: 0 + testSet: 319 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: AllowListEntry::matches + mutator: fn_value.bool_false + normalizedText: '{ self.name == name && self.version.matches(version) }' + occurrence: 0 + testSet: 320 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: AllowListEntry::matches + mutator: fn_value.bool_true + normalizedText: '{ self.name == name && self.version.matches(version) }' + occurrence: 0 + testSet: 320 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: AllowListEntry::matches + mutator: logical.and_to_or + normalizedText: self.name == name && self.version.matches(version) + occurrence: 0 + testSet: 320 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: AllowListEntry::matches + mutator: relational.eq_to_ne + normalizedText: self.name == name + occurrence: 0 + testSet: 320 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::bug_label_matcher + mutator: fn_value.ok + normalizedText: '{ BugLabelMatcher::new(&self.bug_labels) }' + occurrence: 0 + testSet: 321 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::is_allowed + mutator: fn_value.bool_false + normalizedText: '{ self.allow_list.iter().any(|entry| entry.matches(name, version)) }' + occurrence: 0 + testSet: 322 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::is_allowed + mutator: fn_value.bool_true + normalizedText: '{ self.allow_list.iter().any(|entry| entry.matches(name, version)) }' + occurrence: 0 + testSet: 322 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::is_allowed + mutator: iter.any_to_all + normalizedText: self.allow_list.iter().any(|entry| entry.matches(name, version)) + occurrence: 0 + testSet: 322 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::load + mutator: fn_value.ok + normalizedText: '{ let (final_path, text) = if let Some(path) = config_path { let text = fs::read_to_string(path).into_app_err_with(|| + format!("reading cargo-aprz configuration file ''{path}''"))?; (path.clone(), text) } else { let path = workspace_root.join("aprz.toml"); + match fs::read_to_string(&path) { Ok(text) => (path, text), Err(e) if e.kind() == io::ErrorKind::NotFound => { return + Ok(Self::default()); } Err(e) => return Err(e).into_app_err_with(|| format!("reading cargo-aprz configuration file + ''{path}''")), } }; let config: Self = toml::from_str(&text).into_app_err_with(|| format!("parsing configuration file + ''{final_path}''"))?; config.validate()?; Ok(config) }' + occurrence: 0 + testSet: 323 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::load + mutator: literal.str_to_empty + normalizedText: '"aprz.toml"' + occurrence: 0 + testSet: 324 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::load + mutator: literal.str_to_xyzzy + normalizedText: '"aprz.toml"' + occurrence: 0 + testSet: 324 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::load + mutator: match_guard.always_false + normalizedText: e.kind() == io::ErrorKind::NotFound + occurrence: 0 + testSet: 324 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::load + mutator: match_guard.always_true + normalizedText: e.kind() == io::ErrorKind::NotFound + occurrence: 0 + testSet: 324 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::load + mutator: match_guard.negate + normalizedText: e.kind() == io::ErrorKind::NotFound + occurrence: 0 + testSet: 324 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::load + mutator: result.err_to_ok + normalizedText: Err(e) + occurrence: 0 + testSet: 325 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::save_default + mutator: fn_value.ok + normalizedText: '{ fs::write(output_path, DEFAULT_CONFIG_TOML).into_app_err_with(|| format!("writing default configuration + to {output_path}"))?; Ok(()) }' + occurrence: 0 + testSet: 326 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: cond.always_false + normalizedText: '!(0.0..=100.0).contains(&self.low_risk_threshold)' + occurrence: 0 + testSet: 327 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: cond.always_false + normalizedText: '!(0.0..=100.0).contains(&self.medium_risk_threshold)' + occurrence: 0 + testSet: 328 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: cond.always_false + normalizedText: self.medium_risk_threshold >= self.low_risk_threshold + occurrence: 0 + testSet: 329 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: cond.always_true + normalizedText: '!(0.0..=100.0).contains(&self.low_risk_threshold)' + occurrence: 0 + testSet: 327 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: cond.always_true + normalizedText: '!(0.0..=100.0).contains(&self.medium_risk_threshold)' + occurrence: 0 + testSet: 328 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: cond.always_true + normalizedText: self.medium_risk_threshold >= self.low_risk_threshold + occurrence: 0 + testSet: 329 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: cond.negate + normalizedText: '!(0.0..=100.0).contains(&self.low_risk_threshold)' + occurrence: 0 + testSet: 327 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: cond.negate + normalizedText: '!(0.0..=100.0).contains(&self.medium_risk_threshold)' + occurrence: 0 + testSet: 328 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: cond.negate + normalizedText: self.medium_risk_threshold >= self.low_risk_threshold + occurrence: 0 + testSet: 329 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: fn_value.ok + normalizedText: '{ let _ = self.bug_label_matcher()?; if !(0.0..=100.0).contains(&self.medium_risk_threshold) { return + Err(app_err!( "medium_risk_threshold must be between 0 and 100, got {}", self.medium_risk_threshold )); } if !(0.0..=100.0).contains(&self.low_risk_threshold) + { return Err(app_err!( "low_risk_threshold must be between 0 and 100, got {}", self.low_risk_threshold )); } if self.medium_risk_threshold + >= self.low_risk_threshold { return Err(app_err!( "medium_risk_threshold ({}) must be less than low_risk_threshold + ({})", self.medium_risk_threshold, self.low_risk_threshold )); } Ok(()) }' + occurrence: 0 + testSet: 330 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: relational.ge_to_gt + normalizedText: self.medium_risk_threshold >= self.low_risk_threshold + occurrence: 0 + testSet: 329 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: relational.ge_to_le + normalizedText: self.medium_risk_threshold >= self.low_risk_threshold + occurrence: 0 + testSet: 329 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: result.err_to_ok + normalizedText: Err(app_err!( "low_risk_threshold must be between 0 and 100, got {}", self.low_risk_threshold )) + occurrence: 0 + testSet: 331 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: result.err_to_ok + normalizedText: Err(app_err!( "medium_risk_threshold ({}) must be less than low_risk_threshold ({})", self.medium_risk_threshold, + self.low_risk_threshold )) + occurrence: 0 + testSet: 332 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: result.err_to_ok + normalizedText: Err(app_err!( "medium_risk_threshold must be between 0 and 100, got {}", self.medium_risk_threshold + )) + occurrence: 0 + testSet: 333 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: unary.remove_not + normalizedText: '!(0.0..=100.0).contains(&self.low_risk_threshold)' + occurrence: 0 + testSet: 327 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: Config::validate + mutator: unary.remove_not + normalizedText: '!(0.0..=100.0).contains(&self.medium_risk_threshold)' + occurrence: 0 + testSet: 328 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: default_bug_labels + mutator: collection.omit_element + normalizedText: vec![ "bug".to_string(), "crash".to_string(), "defect".to_string(), "regression".to_string(), ] + occurrence: 0 + testSet: 334 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: default_bug_labels + mutator: fn_value.empty_collection + normalizedText: '{ vec![ "bug".to_string(), "crash".to_string(), "defect".to_string(), "regression".to_string(), ] }' + occurrence: 0 + testSet: 334 + - site: + file: crates/cargo-aprz-lib/src/commands/config.rs + item: default_bug_labels + mutator: fn_value.one_element + normalizedText: '{ vec![ "bug".to_string(), "crash".to_string(), "defect".to_string(), "regression".to_string(), ] }' + occurrence: 0 + testSet: 334 + - site: + file: crates/cargo-aprz-lib/src/commands/crates.rs + item: process_crates + mutator: fn_value.ok + normalizedText: '{ let mut common = Common::new(host, &args.common).await?; let crate_facts = common.process_crates(&args.crates, + suggestions_enabled()).await?; common.report(crate_facts) }' + occurrence: 0 + testSet: 335 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: assign_value.default + normalizedText: result.insert((CrateRef::new(&pkg.name, Some(pkg.version.clone())), dependency_type)) + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.always_false + normalizedText: dep_decl.optional && !is_optional_dep_active(&expanded, pkg, &node_dep.name) + occurrence: 0 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.always_false + normalizedText: dep_decl.optional && !is_optional_dep_active(&expanded_root, target_pkg, &node_dep.name) + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.always_false + normalizedText: node_dep.dep_kinds.iter().any(|dk| dk.kind == DependencyKind::Normal) + occurrence: 0 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.always_false + normalizedText: node_dep.dep_kinds.iter().any(|dk| dk.kind == initial_kind) + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.always_false + normalizedText: was_seen && entry.len() == prev_len + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.always_true + normalizedText: dep_decl.optional && !is_optional_dep_active(&expanded, pkg, &node_dep.name) + occurrence: 0 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.always_true + normalizedText: dep_decl.optional && !is_optional_dep_active(&expanded_root, target_pkg, &node_dep.name) + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.always_true + normalizedText: node_dep.dep_kinds.iter().any(|dk| dk.kind == DependencyKind::Normal) + occurrence: 0 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.always_true + normalizedText: node_dep.dep_kinds.iter().any(|dk| dk.kind == initial_kind) + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.always_true + normalizedText: was_seen && entry.len() == prev_len + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.negate + normalizedText: dep_decl.optional && !is_optional_dep_active(&expanded, pkg, &node_dep.name) + occurrence: 0 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.negate + normalizedText: dep_decl.optional && !is_optional_dep_active(&expanded_root, target_pkg, &node_dep.name) + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.negate + normalizedText: node_dep.dep_kinds.iter().any(|dk| dk.kind == DependencyKind::Normal) + occurrence: 0 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.negate + normalizedText: node_dep.dep_kinds.iter().any(|dk| dk.kind == initial_kind) + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: cond.negate + normalizedText: was_seen && entry.len() == prev_len + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: iter.any_to_all + normalizedText: node_dep.dep_kinds.iter().any(|dk| dk.kind == DependencyKind::Normal) + occurrence: 0 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: iter.any_to_all + normalizedText: node_dep.dep_kinds.iter().any(|dk| dk.kind == initial_kind) + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: logical.and_to_or + normalizedText: dep_decl.optional && !is_optional_dep_active(&expanded, pkg, &node_dep.name) + occurrence: 0 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: logical.and_to_or + normalizedText: dep_decl.optional && !is_optional_dep_active(&expanded_root, target_pkg, &node_dep.name) + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: logical.and_to_or + normalizedText: was_seen && entry.len() == prev_len + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 338 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 338 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 2 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 338 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 338 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 2 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: option.some_to_none + normalizedText: Some(pkg.version.clone()) + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: relational.eq_to_ne + normalizedText: dk.kind == DependencyKind::Normal + occurrence: 0 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: relational.eq_to_ne + normalizedText: dk.kind == initial_kind + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: relational.eq_to_ne + normalizedText: entry.len() == prev_len + occurrence: 0 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: stmt.delete_assign + normalizedText: _ = result.insert((CrateRef::new(&pkg.name, Some(pkg.version.clone())), dependency_type)); + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: stmt.delete_call + normalizedText: entry.extend(activated_features); + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: stmt.delete_call + normalizedText: queue.push((&node_dep.pkg, HashSet::default())); + occurrence: 0 + testSet: 338 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: stmt.delete_call + normalizedText: queue.push((&node_dep.pkg, HashSet::default())); + occurrence: 1 + testSet: 338 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: stmt.delete_call + normalizedText: queue.push((&node_dep.pkg, dep_features)); + occurrence: 0 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: stmt.delete_call + normalizedText: queue.push((&node_dep.pkg, features)); + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: unary.remove_not + normalizedText: '!is_optional_dep_active(&expanded, pkg, &node_dep.name)' + occurrence: 0 + testSet: 337 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: build_transitive_deps + mutator: unary.remove_not + normalizedText: '!is_optional_dep_active(&expanded_root, target_pkg, &node_dep.name)' + occurrence: 0 + testSet: 338 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: assign_value.default + normalizedText: features.insert("default".to_string()) + occurrence: 0 + testSet: 339 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: assign_value.default + normalizedText: features.insert(dep_feature.to_string()) + occurrence: 0 + testSet: 340 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: assign_value.default + normalizedText: features.insert(dep_feature.to_string()) + occurrence: 1 + testSet: 340 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: assign_value.default + normalizedText: features.insert(f.clone()) + occurrence: 0 + testSet: 341 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: cond.always_false + normalizedText: dep_decl.uses_default_features + occurrence: 0 + testSet: 342 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: cond.always_true + normalizedText: dep_decl.uses_default_features + occurrence: 0 + testSet: 342 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: cond.negate + normalizedText: dep_decl.uses_default_features + occurrence: 0 + testSet: 342 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: fn_value.one_element + normalizedText: '{ let mut features = HashSet::default(); if dep_decl.uses_default_features { _ = features.insert("default".to_string()); + } for f in &dep_decl.features { _ = features.insert(f.clone()); } let dep_lib_name = dep_decl.rename.as_deref().unwrap_or(&dep_decl.name); + let prefix = format!("{dep_lib_name}/"); let weak_prefix = format!("{dep_lib_name}?/"); for feature_name in parent_expanded_features + { if let Some(activations) = parent_pkg.features.get(feature_name) { for activation in activations { if let Some(dep_feature) + = activation.strip_prefix(prefix.as_str()) { _ = features.insert(dep_feature.to_string()); } else if let Some(dep_feature) + = activation.strip_prefix(weak_prefix.as_str()) { _ = features.insert(dep_feature.to_string()); } } } } features }' + occurrence: 0 + testSet: 342 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: literal.str_to_empty + normalizedText: '"default"' + occurrence: 0 + testSet: 339 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: literal.str_to_xyzzy + normalizedText: '"default"' + occurrence: 0 + testSet: 339 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: stmt.delete_assign + normalizedText: _ = features.insert("default".to_string()); + occurrence: 0 + testSet: 339 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: stmt.delete_assign + normalizedText: _ = features.insert(dep_feature.to_string()); + occurrence: 0 + testSet: 340 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: stmt.delete_assign + normalizedText: _ = features.insert(dep_feature.to_string()); + occurrence: 1 + testSet: 340 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: compute_dep_features + mutator: stmt.delete_assign + normalizedText: _ = features.insert(f.clone()); + occurrence: 0 + testSet: 341 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: configure_metadata_features + mutator: cond.always_false + normalizedText: args.all_features + occurrence: 0 + testSet: 343 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: configure_metadata_features + mutator: cond.always_false + normalizedText: args.no_default_features + occurrence: 0 + testSet: 343 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: configure_metadata_features + mutator: cond.always_true + normalizedText: args.all_features + occurrence: 0 + testSet: 343 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: configure_metadata_features + mutator: cond.always_true + normalizedText: args.no_default_features + occurrence: 0 + testSet: 343 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: configure_metadata_features + mutator: cond.negate + normalizedText: args.all_features + occurrence: 0 + testSet: 343 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: configure_metadata_features + mutator: cond.negate + normalizedText: args.no_default_features + occurrence: 0 + testSet: 343 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: configure_metadata_features + mutator: fn_value.unit + normalizedText: '{ if args.all_features { _ = metadata_cmd.features(CargoOpt::AllFeatures); } else { if args.no_default_features + { _ = metadata_cmd.features(CargoOpt::NoDefaultFeatures); } if let Some(features) = selected_features(&args.features) + { _ = metadata_cmd.features(CargoOpt::SomeFeatures(features)); } } }' + occurrence: 0 + testSet: 343 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: configure_metadata_features + mutator: stmt.delete_assign + normalizedText: _ = metadata_cmd.features(CargoOpt::AllFeatures); + occurrence: 0 + testSet: 344 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: configure_metadata_features + mutator: stmt.delete_assign + normalizedText: _ = metadata_cmd.features(CargoOpt::NoDefaultFeatures); + occurrence: 0 + testSet: 345 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: configure_metadata_features + mutator: stmt.delete_assign + normalizedText: _ = metadata_cmd.features(CargoOpt::SomeFeatures(features)); + occurrence: 0 + testSet: 346 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: execute_metadata + mutator: literal.str_to_empty + normalizedText: '"retrieving workspace metadata"' + occurrence: 0 + testSet: 347 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: execute_metadata + mutator: literal.str_to_xyzzy + normalizedText: '"retrieving workspace metadata"' + occurrence: 0 + testSet: 347 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: expand_features + mutator: cond.always_false + normalizedText: activation.contains(':') || activation.contains('/') + occurrence: 0 + testSet: 348 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: expand_features + mutator: cond.always_false + normalizedText: expanded.insert(activation.clone()) + occurrence: 0 + testSet: 349 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: expand_features + mutator: cond.always_true + normalizedText: activation.contains(':') || activation.contains('/') + occurrence: 0 + testSet: 348 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: expand_features + mutator: cond.always_true + normalizedText: expanded.insert(activation.clone()) + occurrence: 0 + testSet: 349 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: expand_features + mutator: cond.negate + normalizedText: activation.contains(':') || activation.contains('/') + occurrence: 0 + testSet: 348 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: expand_features + mutator: cond.negate + normalizedText: expanded.insert(activation.clone()) + occurrence: 0 + testSet: 349 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: expand_features + mutator: fn_value.one_element + normalizedText: '{ let mut expanded = initial_features.clone(); let mut queue: Vec = initial_features.iter().cloned().collect(); + while let Some(feature) = queue.pop() { if let Some(activations) = pkg.features.get(&feature) { for activation in + activations { if activation.contains('':'') || activation.contains(''/'') { continue; } if expanded.insert(activation.clone()) + { queue.push(activation.clone()); } } } } expanded }' + occurrence: 0 + testSet: 350 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: expand_features + mutator: logical.or_to_and + normalizedText: activation.contains(':') || activation.contains('/') + occurrence: 0 + testSet: 348 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: expand_features + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 351 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: expand_features + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 351 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: expand_features + mutator: stmt.delete_call + normalizedText: queue.push(activation.clone()); + occurrence: 0 + testSet: 349 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: find_dep_declaration + mutator: fn_value.none + normalizedText: '{ pkg.dependencies .iter() .find(|d| d.rename.as_deref().unwrap_or(&d.name) == dep_lib_name && d.kind + == kind) .or_else(|| { pkg.dependencies .iter() .find(|d| d.rename.as_deref().unwrap_or(&d.name) == dep_lib_name) + }) }' + occurrence: 0 + testSet: 352 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: find_dep_declaration + mutator: logical.and_to_or + normalizedText: d.rename.as_deref().unwrap_or(&d.name) == dep_lib_name && d.kind == kind + occurrence: 0 + testSet: 352 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: find_dep_declaration + mutator: relational.eq_to_ne + normalizedText: d.kind == kind + occurrence: 0 + testSet: 352 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: find_dep_declaration + mutator: relational.eq_to_ne + normalizedText: d.rename.as_deref().unwrap_or(&d.name) == dep_lib_name + occurrence: 0 + testSet: 352 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: find_dep_declaration + mutator: relational.eq_to_ne + normalizedText: d.rename.as_deref().unwrap_or(&d.name) == dep_lib_name + occurrence: 1 + testSet: 353 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: cond.always_false + normalizedText: activation == dep_lib_name && !activation.contains(':') && !activation.contains('/') + occurrence: 0 + testSet: 354 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: cond.always_false + normalizedText: activation.starts_with(slash_prefix.as_str()) + occurrence: 0 + testSet: 354 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: cond.always_false + normalizedText: activation.strip_prefix("dep:") == Some(dep_lib_name) + occurrence: 0 + testSet: 355 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: cond.always_false + normalizedText: expanded_features.contains(dep_lib_name) + occurrence: 0 + testSet: 356 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: cond.always_true + normalizedText: activation == dep_lib_name && !activation.contains(':') && !activation.contains('/') + occurrence: 0 + testSet: 354 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: cond.always_true + normalizedText: activation.starts_with(slash_prefix.as_str()) + occurrence: 0 + testSet: 354 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: cond.always_true + normalizedText: activation.strip_prefix("dep:") == Some(dep_lib_name) + occurrence: 0 + testSet: 355 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: cond.always_true + normalizedText: expanded_features.contains(dep_lib_name) + occurrence: 0 + testSet: 356 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: cond.negate + normalizedText: activation == dep_lib_name && !activation.contains(':') && !activation.contains('/') + occurrence: 0 + testSet: 354 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: cond.negate + normalizedText: activation.starts_with(slash_prefix.as_str()) + occurrence: 0 + testSet: 354 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: cond.negate + normalizedText: activation.strip_prefix("dep:") == Some(dep_lib_name) + occurrence: 0 + testSet: 355 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: cond.negate + normalizedText: expanded_features.contains(dep_lib_name) + occurrence: 0 + testSet: 356 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: fn_value.bool_false + normalizedText: '{ if expanded_features.contains(dep_lib_name) { return true; } let slash_prefix = format!("{dep_lib_name}/"); + for feature_name in expanded_features { if let Some(activations) = pkg.features.get(feature_name) { for activation + in activations { if activation.strip_prefix("dep:") == Some(dep_lib_name) { return true; } if activation.starts_with(slash_prefix.as_str()) + { return true; } if activation == dep_lib_name && !activation.contains('':'') && !activation.contains(''/'') { return + true; } } } } false }' + occurrence: 0 + testSet: 356 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: fn_value.bool_true + normalizedText: '{ if expanded_features.contains(dep_lib_name) { return true; } let slash_prefix = format!("{dep_lib_name}/"); + for feature_name in expanded_features { if let Some(activations) = pkg.features.get(feature_name) { for activation + in activations { if activation.strip_prefix("dep:") == Some(dep_lib_name) { return true; } if activation.starts_with(slash_prefix.as_str()) + { return true; } if activation == dep_lib_name && !activation.contains('':'') && !activation.contains(''/'') { return + true; } } } } false }' + occurrence: 0 + testSet: 356 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 357 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 358 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 359 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 2 + testSet: 360 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 3 + testSet: 361 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: literal.str_to_empty + normalizedText: '"dep:"' + occurrence: 0 + testSet: 355 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: literal.str_to_xyzzy + normalizedText: '"dep:"' + occurrence: 0 + testSet: 355 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: logical.and_to_or + normalizedText: activation == dep_lib_name && !activation.contains(':') + occurrence: 0 + testSet: 354 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: logical.and_to_or + normalizedText: activation == dep_lib_name && !activation.contains(':') && !activation.contains('/') + occurrence: 0 + testSet: 354 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: option.some_to_none + normalizedText: Some(dep_lib_name) + occurrence: 0 + testSet: 355 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: relational.eq_to_ne + normalizedText: activation == dep_lib_name + occurrence: 0 + testSet: 354 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: relational.eq_to_ne + normalizedText: activation.strip_prefix("dep:") == Some(dep_lib_name) + occurrence: 0 + testSet: 355 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: string.starts_with_to_ends_with + normalizedText: activation.starts_with(slash_prefix.as_str()) + occurrence: 0 + testSet: 354 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: unary.remove_not + normalizedText: '!activation.contains(''/'')' + occurrence: 0 + testSet: 361 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: is_optional_dep_active + mutator: unary.remove_not + normalizedText: '!activation.contains('':'')' + occurrence: 0 + testSet: 361 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: package_name_is_present + mutator: fn_value.bool_false + normalizedText: '{ package_names.any(|name| name == requested) }' + occurrence: 0 + testSet: 362 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: package_name_is_present + mutator: fn_value.bool_true + normalizedText: '{ package_names.any(|name| name == requested) }' + occurrence: 0 + testSet: 362 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: package_name_is_present + mutator: iter.any_to_all + normalizedText: package_names.any(|name| name == requested) + occurrence: 0 + testSet: 362 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: package_name_is_present + mutator: relational.eq_to_ne + normalizedText: name == requested + occurrence: 0 + testSet: 362 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: process_dependencies + mutator: fn_value.ok + normalizedText: '{ let mut common = Common::new(host, &args.common).await?; configure_metadata_features(&mut common.metadata_cmd, + args); let metadata = execute_metadata(&mut common.metadata_cmd)?; let all_packages: HashMap<_, _> = metadata.packages.iter().map(|p| + (&p.id, p)).collect(); let resolve_index: HashMap<&PackageId, &Node> = metadata .resolve .as_ref() .map_or_else(HashMap::default, + |r| r.nodes.iter().map(|n| (&n.id, n)).collect()); let requested_packages = requested_package_names(&args.package); + if let Some(package_names) = requested_packages { for pkg_name in package_names { let workspace_package_names = metadata + .workspace_members .iter() .filter_map(|id| all_packages.get(id).map(|p| p.name.as_str())); validate_package_name(workspace_package_names, + pkg_name)?; } } if let Some(package_names) = requested_packages { process_packages( args, &mut common, &all_packages, + &resolve_index, metadata .workspace_members .iter() .filter_map(|id| all_packages.get(id).copied()) .filter(|p| package_names.contains(&p.name)), + ) .await } else if args.workspace { process_packages( args, &mut common, &all_packages, &resolve_index, metadata.workspace_members.iter().filter_map(|id| + all_packages.get(id).copied()), ) .await } else if let Some(root) = metadata.root_package() { process_packages(args, + &mut common, &all_packages, &resolve_index, core::iter::once(root)).await } else { process_packages( args, &mut common, + &all_packages, &resolve_index, metadata.workspace_members.iter().filter_map(|id| all_packages.get(id).copied()), ) + .await } }' + occurrence: 0 + testSet: 363 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: requested_package_names + mutator: cond.always_false + normalizedText: '!package_names.is_empty()' + occurrence: 0 + testSet: 364 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: requested_package_names + mutator: cond.always_true + normalizedText: '!package_names.is_empty()' + occurrence: 0 + testSet: 364 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: requested_package_names + mutator: cond.negate + normalizedText: '!package_names.is_empty()' + occurrence: 0 + testSet: 364 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: requested_package_names + mutator: fn_value.none + normalizedText: '{ if !package_names.is_empty() { Some(package_names) } else { None } }' + occurrence: 0 + testSet: 364 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: requested_package_names + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 364 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: requested_package_names + mutator: option.some_to_none + normalizedText: Some(package_names) + occurrence: 0 + testSet: 362 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: requested_package_names + mutator: unary.remove_not + normalizedText: '!package_names.is_empty()' + occurrence: 0 + testSet: 364 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: selected_features + mutator: cond.always_false + normalizedText: '!features.is_empty()' + occurrence: 0 + testSet: 343 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: selected_features + mutator: cond.always_true + normalizedText: '!features.is_empty()' + occurrence: 0 + testSet: 343 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: selected_features + mutator: cond.negate + normalizedText: '!features.is_empty()' + occurrence: 0 + testSet: 343 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: selected_features + mutator: fn_value.none + normalizedText: '{ if !features.is_empty() { Some(features.to_vec()) } else { None } }' + occurrence: 0 + testSet: 343 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: selected_features + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 365 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: selected_features + mutator: option.some_to_none + normalizedText: Some(features.to_vec()) + occurrence: 0 + testSet: 366 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: selected_features + mutator: unary.remove_not + normalizedText: '!features.is_empty()' + occurrence: 0 + testSet: 343 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: validate_package_name + mutator: cond.always_false + normalizedText: '!found' + occurrence: 0 + testSet: 362 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: validate_package_name + mutator: cond.always_true + normalizedText: '!found' + occurrence: 0 + testSet: 362 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: validate_package_name + mutator: cond.negate + normalizedText: '!found' + occurrence: 0 + testSet: 362 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: validate_package_name + mutator: fn_value.ok + normalizedText: '{ let found = package_name_is_present(package_names, requested); if !found { bail!("package ''{requested}'' + not found in workspace"); } Ok(()) }' + occurrence: 0 + testSet: 362 + - site: + file: crates/cargo-aprz-lib/src/commands/deps.rs + item: validate_package_name + mutator: unary.remove_not + normalizedText: '!found' + occurrence: 0 + testSet: 362 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: >::expecting + mutator: fn_value.ok + normalizedText: '{ formatter.write_str("a duration such as \"1 week\", \"12h\" or \"250ms\"") }' + occurrence: 0 + testSet: 367 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: >::expecting + mutator: literal.str_to_empty + normalizedText: '"a duration such as \"1 week\", \"12h\" or \"250ms\""' + occurrence: 0 + testSet: 367 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: >::expecting + mutator: literal.str_to_xyzzy + normalizedText: '"a duration such as \"1 week\", \"12h\" or \"250ms\""' + occurrence: 0 + testSet: 367 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: >::visit_str + mutator: fn_value.ok + normalizedText: '{ parse(v).map_err(|error| E::custom(format!("invalid duration \"{v}\": {error}"))) }' + occurrence: 0 + testSet: 368 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: ::fmt + mutator: fn_value.ok + normalizedText: '{ match self { Self::Empty => f.write_str("expected a duration such as \"1 week\", \"12h\" or \"250ms\", + found nothing"), Self::ExpectedAmount => f.write_str("expected a number before the unit"), Self::MissingUnit => f.write_str("expected + a unit after the number, such as \"s\", \"h\" or \"days\""), Self::UnknownUnit(unit) => write!(f, "unknown time unit + \"{unit}\""), Self::Overflow => f.write_str("duration is too large to represent"), } }' + occurrence: 0 + testSet: 369 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: ::fmt + mutator: literal.str_to_empty + normalizedText: '"duration is too large to represent"' + occurrence: 0 + testSet: 370 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: ::fmt + mutator: literal.str_to_empty + normalizedText: '"expected a duration such as \"1 week\", \"12h\" or \"250ms\", found nothing"' + occurrence: 0 + testSet: 370 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: ::fmt + mutator: literal.str_to_empty + normalizedText: '"expected a number before the unit"' + occurrence: 0 + testSet: 371 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: ::fmt + mutator: literal.str_to_empty + normalizedText: '"expected a unit after the number, such as \"s\", \"h\" or \"days\""' + occurrence: 0 + testSet: 370 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: ::fmt + mutator: literal.str_to_xyzzy + normalizedText: '"duration is too large to represent"' + occurrence: 0 + testSet: 370 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: ::fmt + mutator: literal.str_to_xyzzy + normalizedText: '"expected a duration such as \"1 week\", \"12h\" or \"250ms\", found nothing"' + occurrence: 0 + testSet: 370 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: ::fmt + mutator: literal.str_to_xyzzy + normalizedText: '"expected a number before the unit"' + occurrence: 0 + testSet: 371 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: ::fmt + mutator: literal.str_to_xyzzy + normalizedText: '"expected a unit after the number, such as \"s\", \"h\" or \"days\""' + occurrence: 0 + testSet: 370 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: deserialize + mutator: fn_value.ok + normalizedText: '{ deserializer.deserialize_str(DurationVisitor) }' + occurrence: 0 + testSet: 368 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: arith.div_to_mul + normalizedText: nanos / divisor + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: arith.div_to_mul + normalizedText: secs / unit_secs + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: arith.div_to_rem + normalizedText: nanos / divisor + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: arith.div_to_rem + normalizedText: secs / unit_secs + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: arith.rem_to_div + normalizedText: (nanos / divisor) % 1_000 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: arith.rem_to_mul + normalizedText: (nanos / divisor) % 1_000 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: assign.rem_to_div + normalizedText: secs %= unit_secs + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: cond.always_false + normalizedText: amount > 0 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: cond.always_false + normalizedText: amount > 0 + occurrence: 1 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: cond.always_false + normalizedText: secs == 0 && nanos == 0 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: cond.always_true + normalizedText: amount > 0 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: cond.always_true + normalizedText: amount > 0 + occurrence: 1 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: cond.always_true + normalizedText: secs == 0 && nanos == 0 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: cond.negate + normalizedText: amount > 0 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: cond.negate + normalizedText: amount > 0 + occurrence: 1 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: cond.negate + normalizedText: secs == 0 && nanos == 0 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: expr.decrement + normalizedText: amount + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: expr.decrement + normalizedText: amount + occurrence: 1 + testSet: 373 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: expr.decrement + normalizedText: u64::from(amount) + occurrence: 0 + testSet: 373 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: expr.increment + normalizedText: amount + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: expr.increment + normalizedText: amount + occurrence: 1 + testSet: 373 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: expr.increment + normalizedText: u64::from(amount) + occurrence: 0 + testSet: 373 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: fn_value.empty_string + normalizedText: '{ let mut secs = value.as_secs(); let nanos = value.subsec_nanos(); if secs == 0 && nanos == 0 { return + "0s".to_owned(); } let mut out = String::new(); for (unit_secs, unit, plural) in [ (SECS_PER_YEAR, "year", true), + (SECS_PER_MONTH, "month", true), (SECS_PER_DAY, "day", true), (3_600, "h", false), (60, "m", false), (1, "s", false), + ] { let amount = secs / unit_secs; if amount > 0 { secs %= unit_secs; write_pair(&mut out, amount, unit, plural); + } } for (divisor, unit) in [(1_000_000, "ms"), (1_000, "us"), (1, "ns")] { let amount = (nanos / divisor) % 1_000; + if amount > 0 { write_pair(&mut out, u64::from(amount), unit, false); } } out }' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut secs = value.as_secs(); let nanos = value.subsec_nanos(); if secs == 0 && nanos == 0 { return + "0s".to_owned(); } let mut out = String::new(); for (unit_secs, unit, plural) in [ (SECS_PER_YEAR, "year", true), + (SECS_PER_MONTH, "month", true), (SECS_PER_DAY, "day", true), (3_600, "h", false), (60, "m", false), (1, "s", false), + ] { let amount = secs / unit_secs; if amount > 0 { secs %= unit_secs; write_pair(&mut out, amount, unit, plural); + } } for (divisor, unit) in [(1_000_000, "ms"), (1_000, "us"), (1, "ns")] { let amount = (nanos / divisor) % 1_000; + if amount > 0 { write_pair(&mut out, u64::from(amount), unit, false); } } out }' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 3 + testSet: 373 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 2 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_decrement + normalizedText: '1_000' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_decrement + normalizedText: '1_000' + occurrence: 1 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_decrement + normalizedText: '1_000_000' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_decrement + normalizedText: '3_600' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_decrement + normalizedText: '60' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 373 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_increment + normalizedText: '1_000' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_increment + normalizedText: '1_000' + occurrence: 1 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_increment + normalizedText: '1_000_000' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_increment + normalizedText: '3_600' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_increment + normalizedText: '60' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_to_one + normalizedText: '1_000' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_to_one + normalizedText: '1_000' + occurrence: 1 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_to_one + normalizedText: '1_000_000' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_to_one + normalizedText: '3_600' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_to_one + normalizedText: '60' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_to_zero + normalizedText: '1_000' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_to_zero + normalizedText: '1_000' + occurrence: 1 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_to_zero + normalizedText: '1_000_000' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_to_zero + normalizedText: '3_600' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.int_to_zero + normalizedText: '60' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_empty + normalizedText: '"0s"' + occurrence: 0 + testSet: 373 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_empty + normalizedText: '"day"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_empty + normalizedText: '"h"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_empty + normalizedText: '"m"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_empty + normalizedText: '"month"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_empty + normalizedText: '"ms"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_empty + normalizedText: '"ns"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_empty + normalizedText: '"s"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_empty + normalizedText: '"us"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_empty + normalizedText: '"year"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_xyzzy + normalizedText: '"0s"' + occurrence: 0 + testSet: 373 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_xyzzy + normalizedText: '"day"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_xyzzy + normalizedText: '"h"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_xyzzy + normalizedText: '"m"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_xyzzy + normalizedText: '"month"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_xyzzy + normalizedText: '"ms"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_xyzzy + normalizedText: '"ns"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_xyzzy + normalizedText: '"s"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_xyzzy + normalizedText: '"us"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: literal.str_to_xyzzy + normalizedText: '"year"' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: logical.and_to_or + normalizedText: secs == 0 && nanos == 0 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: relational.eq_to_ne + normalizedText: nanos == 0 + occurrence: 0 + testSet: 373 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: relational.eq_to_ne + normalizedText: secs == 0 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: relational.gt_to_ge + normalizedText: amount > 0 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: relational.gt_to_ge + normalizedText: amount > 0 + occurrence: 1 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: relational.gt_to_lt + normalizedText: amount > 0 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: relational.gt_to_lt + normalizedText: amount > 0 + occurrence: 1 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: stmt.delete_assign + normalizedText: secs %= unit_secs; + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: stmt.delete_call + normalizedText: write_pair(&mut out, amount, unit, plural); + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: format + mutator: stmt.delete_call + normalizedText: write_pair(&mut out, u64::from(amount), unit, false); + occurrence: 0 + testSet: 373 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: arith.div_to_mul + normalizedText: total / NANOS_PER_SEC + occurrence: 0 + testSet: 374 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: arith.div_to_rem + normalizedText: total / NANOS_PER_SEC + occurrence: 0 + testSet: 374 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: arith.rem_to_div + normalizedText: total % NANOS_PER_SEC + occurrence: 0 + testSet: 375 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: arith.rem_to_mul + normalizedText: total % NANOS_PER_SEC + occurrence: 0 + testSet: 375 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: assign_value.default + normalizedText: amount .checked_mul(nanos) .and_then(|scaled| total.checked_add(scaled)) .ok_or(ParseError::Overflow)? + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: assign_value.default + normalizedText: remainder + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: assign_value.default + normalizedText: rest.trim_start() + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: cond.always_false + normalizedText: '!saw_pair' + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: cond.always_false + normalizedText: amount.is_empty() + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: cond.always_false + normalizedText: rest.is_empty() + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: cond.always_false + normalizedText: unit.is_empty() + occurrence: 0 + testSet: 378 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: cond.always_true + normalizedText: '!saw_pair' + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: cond.always_true + normalizedText: amount.is_empty() + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: cond.always_true + normalizedText: rest.is_empty() + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: cond.always_true + normalizedText: unit.is_empty() + occurrence: 0 + testSet: 378 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: cond.negate + normalizedText: '!saw_pair' + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: cond.negate + normalizedText: amount.is_empty() + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: cond.negate + normalizedText: rest.is_empty() + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: cond.negate + normalizedText: unit.is_empty() + occurrence: 0 + testSet: 378 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.decrement + normalizedText: nanos + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.decrement + normalizedText: nanos + occurrence: 1 + testSet: 375 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.decrement + normalizedText: rest.len() + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.decrement + normalizedText: secs + occurrence: 0 + testSet: 375 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.decrement + normalizedText: tail.len() + occurrence: 0 + testSet: 378 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.decrement + normalizedText: total % NANOS_PER_SEC + occurrence: 0 + testSet: 375 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.decrement + normalizedText: total / NANOS_PER_SEC + occurrence: 0 + testSet: 374 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.increment + normalizedText: nanos + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.increment + normalizedText: nanos + occurrence: 1 + testSet: 375 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.increment + normalizedText: rest.len() + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.increment + normalizedText: secs + occurrence: 0 + testSet: 375 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.increment + normalizedText: tail.len() + occurrence: 0 + testSet: 378 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.increment + normalizedText: total % NANOS_PER_SEC + occurrence: 0 + testSet: 375 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: expr.increment + normalizedText: total / NANOS_PER_SEC + occurrence: 0 + testSet: 374 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: fn_value.ok + normalizedText: '{ let mut rest = text; let mut total: u128 = 0; let mut saw_pair = false; loop { rest = rest.trim_start(); + if rest.is_empty() { break; } let amount_len = rest.find(|character: char| !character.is_ascii_digit()).unwrap_or(rest.len()); + let (amount, tail) = rest.split_at(amount_len); if amount.is_empty() { return Err(ParseError::ExpectedAmount); } let + amount: u128 = amount.parse().ok().ok_or(ParseError::Overflow)?; let tail = tail.trim_start(); let unit_len = tail + .find(|character: char| character.is_ascii_digit() || character.is_whitespace()) .unwrap_or(tail.len()); let (unit, + remainder) = tail.split_at(unit_len); if unit.is_empty() { return Err(ParseError::MissingUnit); } let nanos = unit_nanos(unit).ok_or_else(|| + ParseError::UnknownUnit(unit.to_owned()))?; total = amount .checked_mul(nanos) .and_then(|scaled| total.checked_add(scaled)) + .ok_or(ParseError::Overflow)?; saw_pair = true; rest = remainder; } if !saw_pair { return Err(ParseError::Empty); + } let secs = u64::try_from(total / NANOS_PER_SEC).ok().ok_or(ParseError::Overflow)?; let nanos = u32::try_from(total + % NANOS_PER_SEC).expect("a remainder modulo one billion always fits in a u32"); Ok(Duration::new(secs, nanos)) }' + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: logical.or_to_and + normalizedText: character.is_ascii_digit() || character.is_whitespace() + occurrence: 0 + testSet: 378 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: result.err_to_ok + normalizedText: Err(ParseError::Empty) + occurrence: 0 + testSet: 379 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: result.err_to_ok + normalizedText: Err(ParseError::ExpectedAmount) + occurrence: 0 + testSet: 380 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: result.err_to_ok + normalizedText: Err(ParseError::MissingUnit) + occurrence: 0 + testSet: 379 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: stmt.delete_assign + normalizedText: rest = remainder; + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: stmt.delete_assign + normalizedText: rest = rest.trim_start(); + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: stmt.delete_assign + normalizedText: saw_pair = true; + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: stmt.delete_assign + normalizedText: total = amount .checked_mul(nanos) .and_then(|scaled| total.checked_add(scaled)) .ok_or(ParseError::Overflow)?; + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: string.trim_start_to_trim_end + normalizedText: rest.trim_start() + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: string.trim_start_to_trim_end + normalizedText: tail.trim_start() + occurrence: 0 + testSet: 378 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: unary.remove_not + normalizedText: '!character.is_ascii_digit()' + occurrence: 0 + testSet: 377 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: parse + mutator: unary.remove_not + normalizedText: '!saw_pair' + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_add + normalizedText: 3_600 * NANOS_PER_SEC + occurrence: 0 + testSet: 381 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_add + normalizedText: 60 * NANOS_PER_SEC + occurrence: 0 + testSet: 382 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_add + normalizedText: 7 * u128::from(SECS_PER_DAY) + occurrence: 0 + testSet: 383 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_add + normalizedText: 7 * u128::from(SECS_PER_DAY) * NANOS_PER_SEC + occurrence: 0 + testSet: 383 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_add + normalizedText: u128::from(SECS_PER_DAY) * NANOS_PER_SEC + occurrence: 0 + testSet: 384 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_add + normalizedText: u128::from(SECS_PER_MONTH) * NANOS_PER_SEC + occurrence: 0 + testSet: 385 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_add + normalizedText: u128::from(SECS_PER_YEAR) * NANOS_PER_SEC + occurrence: 0 + testSet: 386 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_div + normalizedText: 3_600 * NANOS_PER_SEC + occurrence: 0 + testSet: 381 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_div + normalizedText: 60 * NANOS_PER_SEC + occurrence: 0 + testSet: 382 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_div + normalizedText: 7 * u128::from(SECS_PER_DAY) + occurrence: 0 + testSet: 383 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_div + normalizedText: 7 * u128::from(SECS_PER_DAY) * NANOS_PER_SEC + occurrence: 0 + testSet: 383 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_div + normalizedText: u128::from(SECS_PER_DAY) * NANOS_PER_SEC + occurrence: 0 + testSet: 384 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_div + normalizedText: u128::from(SECS_PER_MONTH) * NANOS_PER_SEC + occurrence: 0 + testSet: 385 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: arith.mul_to_div + normalizedText: u128::from(SECS_PER_YEAR) * NANOS_PER_SEC + occurrence: 0 + testSet: 386 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: expr.decrement + normalizedText: SECS_PER_DAY + occurrence: 0 + testSet: 384 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: expr.decrement + normalizedText: SECS_PER_DAY + occurrence: 1 + testSet: 383 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: expr.decrement + normalizedText: SECS_PER_MONTH + occurrence: 0 + testSet: 385 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: expr.decrement + normalizedText: SECS_PER_YEAR + occurrence: 0 + testSet: 386 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: expr.decrement + normalizedText: nanos + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: expr.increment + normalizedText: SECS_PER_DAY + occurrence: 0 + testSet: 384 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: expr.increment + normalizedText: SECS_PER_DAY + occurrence: 1 + testSet: 383 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: expr.increment + normalizedText: SECS_PER_MONTH + occurrence: 0 + testSet: 385 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: expr.increment + normalizedText: SECS_PER_YEAR + occurrence: 0 + testSet: 386 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: expr.increment + normalizedText: nanos + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: fn_value.none + normalizedText: '{ let nanos = match unit { "ns" | "nsec" | "nsecs" | "nanos" | "nanosecond" | "nanoseconds" => 1, "us" + | "\u{b5}s" | "usec" | "usecs" | "micros" | "microsecond" | "microseconds" => 1_000, "ms" | "msec" | "msecs" | "millis" + | "millisecond" | "milliseconds" => 1_000_000, "s" | "sec" | "secs" | "second" | "seconds" => NANOS_PER_SEC, "m" | + "min" | "mins" | "minute" | "minutes" => 60 * NANOS_PER_SEC, "h" | "hr" | "hrs" | "hour" | "hours" => 3_600 * NANOS_PER_SEC, + "d" | "day" | "days" => u128::from(SECS_PER_DAY) * NANOS_PER_SEC, "w" | "week" | "weeks" => 7 * u128::from(SECS_PER_DAY) + * NANOS_PER_SEC, "M" | "month" | "months" => u128::from(SECS_PER_MONTH) * NANOS_PER_SEC, "y" | "year" | "years" => + u128::from(SECS_PER_YEAR) * NANOS_PER_SEC, _ => return None, }; Some(nanos) }' + occurrence: 0 + testSet: 378 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 387 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_decrement + normalizedText: '1_000' + occurrence: 0 + testSet: 387 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_decrement + normalizedText: '1_000_000' + occurrence: 0 + testSet: 388 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_decrement + normalizedText: '3_600' + occurrence: 0 + testSet: 381 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_decrement + normalizedText: '60' + occurrence: 0 + testSet: 382 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_decrement + normalizedText: '7' + occurrence: 0 + testSet: 383 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 387 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_increment + normalizedText: '1_000' + occurrence: 0 + testSet: 387 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_increment + normalizedText: '1_000_000' + occurrence: 0 + testSet: 388 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_increment + normalizedText: '3_600' + occurrence: 0 + testSet: 381 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_increment + normalizedText: '60' + occurrence: 0 + testSet: 382 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_increment + normalizedText: '7' + occurrence: 0 + testSet: 383 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_to_one + normalizedText: '1_000' + occurrence: 0 + testSet: 387 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_to_one + normalizedText: '1_000_000' + occurrence: 0 + testSet: 388 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_to_one + normalizedText: '3_600' + occurrence: 0 + testSet: 381 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_to_one + normalizedText: '60' + occurrence: 0 + testSet: 382 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_to_one + normalizedText: '7' + occurrence: 0 + testSet: 383 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_to_zero + normalizedText: '1_000' + occurrence: 0 + testSet: 387 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_to_zero + normalizedText: '1_000_000' + occurrence: 0 + testSet: 388 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_to_zero + normalizedText: '3_600' + occurrence: 0 + testSet: 381 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_to_zero + normalizedText: '60' + occurrence: 0 + testSet: 382 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: literal.int_to_zero + normalizedText: '7' + occurrence: 0 + testSet: 383 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: match_arm.never_matches + normalizedText: '"M" | "month" | "months"' + occurrence: 0 + testSet: 385 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: match_arm.never_matches + normalizedText: '"d" | "day" | "days"' + occurrence: 0 + testSet: 384 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: match_arm.never_matches + normalizedText: '"h" | "hr" | "hrs" | "hour" | "hours"' + occurrence: 0 + testSet: 381 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: match_arm.never_matches + normalizedText: '"m" | "min" | "mins" | "minute" | "minutes"' + occurrence: 0 + testSet: 382 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: match_arm.never_matches + normalizedText: '"ms" | "msec" | "msecs" | "millis" | "millisecond" | "milliseconds"' + occurrence: 0 + testSet: 388 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: match_arm.never_matches + normalizedText: '"ns" | "nsec" | "nsecs" | "nanos" | "nanosecond" | "nanoseconds"' + occurrence: 0 + testSet: 387 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: match_arm.never_matches + normalizedText: '"s" | "sec" | "secs" | "second" | "seconds"' + occurrence: 0 + testSet: 389 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: match_arm.never_matches + normalizedText: '"us" | "\u{b5}s" | "usec" | "usecs" | "micros" | "microsecond" | "microseconds"' + occurrence: 0 + testSet: 387 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: match_arm.never_matches + normalizedText: '"w" | "week" | "weeks"' + occurrence: 0 + testSet: 383 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: match_arm.never_matches + normalizedText: '"y" | "year" | "years"' + occurrence: 0 + testSet: 386 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 390 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: unit_nanos + mutator: option.some_to_none + normalizedText: Some(nanos) + occurrence: 0 + testSet: 376 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: cond.always_false + normalizedText: '!out.is_empty()' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: cond.always_false + normalizedText: plural && amount > 1 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: cond.always_true + normalizedText: '!out.is_empty()' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: cond.always_true + normalizedText: plural && amount > 1 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: cond.negate + normalizedText: '!out.is_empty()' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: cond.negate + normalizedText: plural && amount > 1 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: fn_value.unit + normalizedText: '{ if !out.is_empty() { out.push('' ''); } let _ = write!(out, "{amount}{unit}"); if plural && amount + > 1 { out.push(''s''); } }' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: logical.and_to_or + normalizedText: plural && amount > 1 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: relational.gt_to_ge + normalizedText: amount > 1 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: relational.gt_to_lt + normalizedText: amount > 1 + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: stmt.delete_call + normalizedText: out.push(' '); + occurrence: 0 + testSet: 373 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: stmt.delete_call + normalizedText: out.push('s'); + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/duration.rs + item: write_pair + mutator: unary.remove_not + normalizedText: '!out.is_empty()' + occurrence: 0 + testSet: 372 + - site: + file: crates/cargo-aprz-lib/src/commands/init.rs + item: init_config + mutator: fn_value.ok + normalizedText: '{ let output = if let Some(path) = &args.output { path.clone() } else { let mut metadata_cmd = MetadataCommand::new(); + let _ = metadata_cmd.manifest_path(&args.manifest_path); let metadata = metadata_cmd.exec().into_app_err("retrieving + workspace metadata")?; metadata.workspace_root.join("aprz.toml") }; Config::save_default(&output)?; let _ = writeln!(host.output(), + "Generated default configuration file: {output}"); Ok(()) }' + occurrence: 0 + testSet: 391 + - site: + file: crates/cargo-aprz-lib/src/commands/init.rs + item: init_config + mutator: literal.str_to_empty + normalizedText: '"aprz.toml"' + occurrence: 0 + testSet: 392 + - site: + file: crates/cargo-aprz-lib/src/commands/init.rs + item: init_config + mutator: literal.str_to_empty + normalizedText: '"retrieving workspace metadata"' + occurrence: 0 + testSet: 392 + - site: + file: crates/cargo-aprz-lib/src/commands/init.rs + item: init_config + mutator: literal.str_to_xyzzy + normalizedText: '"aprz.toml"' + occurrence: 0 + testSet: 392 + - site: + file: crates/cargo-aprz-lib/src/commands/init.rs + item: init_config + mutator: literal.str_to_xyzzy + normalizedText: '"retrieving workspace metadata"' + occurrence: 0 + testSet: 392 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::done + mutator: cond.always_false + normalizedText: self.state.visible.load(Ordering::Relaxed) + occurrence: 0 + testSet: 393 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::done + mutator: cond.always_true + normalizedText: self.state.visible.load(Ordering::Relaxed) + occurrence: 0 + testSet: 393 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::done + mutator: cond.negate + normalizedText: self.state.visible.load(Ordering::Relaxed) + occurrence: 0 + testSet: 393 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::done + mutator: fn_value.unit + normalizedText: '{ self.refresh_task.abort(); if self.state.visible.load(Ordering::Relaxed) { self.bar.finish_and_clear(); + } }' + occurrence: 0 + testSet: 393 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::done + mutator: stmt.delete_call + normalizedText: self.bar.finish_and_clear(); + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::done + mutator: stmt.delete_call + normalizedText: self.refresh_task.abort(); + occurrence: 0 + testSet: 393 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::println + mutator: fn_value.unit + normalizedText: '{ let line_sink = Arc::clone(&self.line_sink); self.bar.suspend(|| line_sink(msg)); }' + occurrence: 0 + testSet: 395 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::println + mutator: stmt.delete_call + normalizedText: self.bar.suspend(|| line_sink(msg)); + occurrence: 0 + testSet: 395 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: cond.always_false + normalizedText: self.use_colors + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: cond.always_true + normalizedText: self.use_colors + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: cond.negate + normalizedText: self.use_colors + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: fn_value.unit + normalizedText: '{ *self.message_callback.lock().expect("lock poisoned") = callback; self.state.is_indeterminate.store(false, + Ordering::Relaxed); self.bar.disable_steady_tick(); self.bar.set_length(0); self.bar.set_position(0); let template + = if self.use_colors { DETERMINATE_TEMPLATE } else { DETERMINATE_TEMPLATE_NO_COLOR }; self.bar.set_style( ProgressStyle::default_bar() + .template(template) .expect("could not create progress bar style") .progress_chars("=> "), ); }' + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: literal.str_to_empty + normalizedText: '"=> "' + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: literal.str_to_xyzzy + normalizedText: '"=> "' + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: stmt.delete_assign + normalizedText: '*self.message_callback.lock().expect("lock poisoned") = callback;' + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: stmt.delete_call + normalizedText: self.bar.disable_steady_tick(); + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: stmt.delete_call + normalizedText: self.bar.set_length(0); + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: stmt.delete_call + normalizedText: self.bar.set_position(0); + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: stmt.delete_call + normalizedText: self.bar.set_style( ProgressStyle::default_bar() .template(template) .expect("could not create progress + bar style") .progress_chars("=> "), ); + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_determinate + mutator: stmt.delete_call + normalizedText: self.state.is_indeterminate.store(false, Ordering::Relaxed); + occurrence: 0 + testSet: 396 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: cond.always_false + normalizedText: self.use_colors + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: cond.always_true + normalizedText: self.use_colors + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: cond.negate + normalizedText: self.use_colors + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: expr.decrement + normalizedText: REFRESH_INTERVAL_MS + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: expr.increment + normalizedText: REFRESH_INTERVAL_MS + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: fn_value.unit + normalizedText: '{ *self.message_callback.lock().expect("lock poisoned") = Box::new(move || { let message = callback(); + (0, 0, message) }); *self.state.phase_start_time.lock().expect("lock poisoned") = Instant::now(); self.state.is_indeterminate.store(true, + Ordering::Relaxed); self.bar.enable_steady_tick(Duration::from_millis(REFRESH_INTERVAL_MS)); let template = if self.use_colors + { INDETERMINATE_TEMPLATE } else { INDETERMINATE_TEMPLATE_NO_COLOR }; self.bar.set_style( ProgressStyle::default_spinner() + .template(template) .expect("could not create progress bar style") .tick_strings(&[ "> ", "=> ", + "==> ", "===> ", " ===> ", " ===> ", + " ===> ", " ===> ", " ===> ", " ===> ", + " ===> ", " ===> ", " ===> ", " ===> ", + " ===> ", " ===> ", " ===> ", " ===> ", + " ===> ", " ===> ", " ===> ", " ===> ", + " ===> ", " ===> ", " ===>", " ===", + " ==", " =", " ", " <", + " <=", " <==", " <===", " <=== ", + " <=== ", " <=== ", " <=== ", " <=== ", + " <=== ", " <=== ", " <=== ", " <=== ", + " <=== ", " <=== ", " <=== ", " <=== ", + " <=== ", " <=== ", " <=== ", " <=== ", + " <=== ", " <=== ", " <=== ", "<=== ", + "=== ", "== ", "= ", " ", + ]), ); }' + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: stmt.delete_assign + normalizedText: '*self.message_callback.lock().expect("lock poisoned") = Box::new(move || { let message = callback(); + (0, 0, message) });' + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: stmt.delete_assign + normalizedText: '*self.state.phase_start_time.lock().expect("lock poisoned") = Instant::now();' + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: stmt.delete_call + normalizedText: self.bar.enable_steady_tick(Duration::from_millis(REFRESH_INTERVAL_MS)); + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: stmt.delete_call + normalizedText: self.bar.set_style( ProgressStyle::default_spinner() .template(template) .expect("could not create progress + bar style") .tick_strings(&[ "> ", "=> ", "==> ", + "===> ", " ===> ", " ===> ", " ===> ", + " ===> ", " ===> ", " ===> ", " ===> ", + " ===> ", " ===> ", " ===> ", " ===> ", + " ===> ", " ===> ", " ===> ", " ===> ", + " ===> ", " ===> ", " ===> ", " ===> ", + " ===> ", " ===>", " ===", " ==", + " =", " ", " <", " <=", + " <==", " <===", " <=== ", " <=== ", + " <=== ", " <=== ", " <=== ", " <=== ", + " <=== ", " <=== ", " <=== ", " <=== ", + " <=== ", " <=== ", " <=== ", " <=== ", + " <=== ", " <=== ", " <=== ", " <=== ", + " <=== ", " <=== ", "<=== ", "=== ", + "== ", "= ", " ", ]), ); + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_indeterminate + mutator: stmt.delete_call + normalizedText: self.state.is_indeterminate.store(true, Ordering::Relaxed); + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_phase + mutator: fn_value.unit + normalizedText: '{ self.bar.set_prefix(phase.to_string()); *self.state.phase_start_time.lock().expect("lock poisoned") + = Instant::now(); }' + occurrence: 0 + testSet: 398 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_phase + mutator: stmt.delete_assign + normalizedText: '*self.state.phase_start_time.lock().expect("lock poisoned") = Instant::now();' + occurrence: 0 + testSet: 398 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::set_phase + mutator: stmt.delete_call + normalizedText: self.bar.set_prefix(phase.to_string()); + occurrence: 0 + testSet: 398 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::use_colors + mutator: fn_value.bool_false + normalizedText: '{ self.use_colors }' + occurrence: 0 + testSet: 399 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ::use_colors + mutator: fn_value.bool_true + normalizedText: '{ self.use_colors }' + occurrence: 0 + testSet: 399 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ProgressReporter::with_draw_target_and_line_sink + mutator: arith.add_to_sub + normalizedText: Instant::now() + delay + occurrence: 0 + testSet: 393 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ProgressReporter::with_draw_target_and_line_sink + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 393 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ProgressReporter::with_draw_target_and_line_sink + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 393 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: ProgressReporter::with_draw_target_and_line_sink + mutator: stmt.delete_call + normalizedText: bar.set_draw_target(ProgressDrawTarget::hidden()); + occurrence: 0 + testSet: 393 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: assign_value.default + normalizedText: 'format!("{elapsed_secs}s: {message}")' + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: cond.always_false + normalizedText: '!state.visible.load(Ordering::Relaxed) && Instant::now() >= state.visible_after' + occurrence: 0 + testSet: 400 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: cond.always_false + normalizedText: length > 0 + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: cond.always_false + normalizedText: state.is_indeterminate.load(Ordering::Relaxed) + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: cond.always_false + normalizedText: state.visible.load(Ordering::Relaxed) + occurrence: 0 + testSet: 400 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: cond.always_true + normalizedText: '!state.visible.load(Ordering::Relaxed) && Instant::now() >= state.visible_after' + occurrence: 0 + testSet: 400 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: cond.always_true + normalizedText: length > 0 + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: cond.always_true + normalizedText: state.is_indeterminate.load(Ordering::Relaxed) + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: cond.always_true + normalizedText: state.visible.load(Ordering::Relaxed) + occurrence: 0 + testSet: 400 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: cond.negate + normalizedText: '!state.visible.load(Ordering::Relaxed) && Instant::now() >= state.visible_after' + occurrence: 0 + testSet: 400 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: cond.negate + normalizedText: length > 0 + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: cond.negate + normalizedText: state.is_indeterminate.load(Ordering::Relaxed) + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: cond.negate + normalizedText: state.visible.load(Ordering::Relaxed) + occurrence: 0 + testSet: 400 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: expr.decrement + normalizedText: REFRESH_INTERVAL_MS + occurrence: 0 + testSet: 400 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: expr.decrement + normalizedText: length + occurrence: 0 + testSet: 401 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: expr.increment + normalizedText: REFRESH_INTERVAL_MS + occurrence: 0 + testSet: 400 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: expr.increment + normalizedText: length + occurrence: 0 + testSet: 401 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: fn_value.unit + normalizedText: '{ let mut interval = tokio::time::interval(Duration::from_millis(REFRESH_INTERVAL_MS)); #[expect(clippy::infinite_loop, + reason = "task runs until aborted")] loop { let _ = interval.tick().await; if !state.visible.load(Ordering::Relaxed) + && Instant::now() >= state.visible_after { state.visible.store(true, Ordering::Relaxed); bar.set_draw_target(make_draw_target()); + } if state.visible.load(Ordering::Relaxed) { let (length, position, mut message) = { let callback_guard = callback.lock().expect("lock + poisoned"); callback_guard() }; if state.is_indeterminate.load(Ordering::Relaxed) { let elapsed_secs = { let start_time + = state.phase_start_time.lock().expect("lock poisoned"); start_time.elapsed().as_secs() }; message = format!("{elapsed_secs}s: + {message}"); } if length > 0 { bar.set_length(length); bar.set_position(position); } bar.set_message(message); } } + }' + occurrence: 0 + testSet: 400 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: logical.and_to_or + normalizedText: '!state.visible.load(Ordering::Relaxed) && Instant::now() >= state.visible_after' + occurrence: 0 + testSet: 400 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: relational.ge_to_gt + normalizedText: Instant::now() >= state.visible_after + occurrence: 0 + testSet: 400 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: relational.ge_to_le + normalizedText: Instant::now() >= state.visible_after + occurrence: 0 + testSet: 400 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: relational.gt_to_ge + normalizedText: length > 0 + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: relational.gt_to_lt + normalizedText: length > 0 + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: stmt.delete_assign + normalizedText: 'message = format!("{elapsed_secs}s: {message}");' + occurrence: 0 + testSet: 397 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: stmt.delete_call + normalizedText: bar.set_draw_target(make_draw_target()); + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: stmt.delete_call + normalizedText: bar.set_length(length); + occurrence: 0 + testSet: 401 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: stmt.delete_call + normalizedText: bar.set_message(message); + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: stmt.delete_call + normalizedText: bar.set_position(position); + occurrence: 0 + testSet: 401 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: stmt.delete_call + normalizedText: state.visible.store(true, Ordering::Relaxed); + occurrence: 0 + testSet: 394 + - site: + file: crates/cargo-aprz-lib/src/commands/progress_reporter.rs + item: refresh_task + mutator: unary.remove_not + normalizedText: '!state.visible.load(Ordering::Relaxed)' + occurrence: 0 + testSet: 400 + - site: + file: crates/cargo-aprz-lib/src/commands/run.rs + item: run + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 402 + - site: + file: crates/cargo-aprz-lib/src/commands/run.rs + item: run + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 402 + - site: + file: crates/cargo-aprz-lib/src/commands/run.rs + item: run + mutator: stmt.delete_call + normalizedText: host.exit(1); + occurrence: 0 + testSet: 402 + - site: + file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config + mutator: cond.always_false + normalizedText: '!config_path.as_std_path().exists()' + occurrence: 0 + testSet: 403 + - site: + file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config + mutator: cond.always_true + normalizedText: '!config_path.as_std_path().exists()' + occurrence: 0 + testSet: 403 + - site: + file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config + mutator: cond.negate + normalizedText: '!config_path.as_std_path().exists()' + occurrence: 0 + testSet: 403 + - site: + file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config + mutator: fn_value.ok + normalizedText: '{ let config_path = if let Some(path) = &args.config { path.clone() } else { let mut metadata_cmd = + MetadataCommand::new(); let _ = metadata_cmd.manifest_path(&args.manifest_path); let metadata = metadata_cmd.exec().into_app_err("retrieving + workspace metadata")?; metadata.workspace_root.join("aprz.toml") }; if !config_path.as_std_path().exists() { return + Err(app_err!("could not find configuration file ''{config_path}''")); } validate_config_inner(&config_path)?; let + _ = writeln!(host.output(), "Configuration file at ''{config_path}'' is valid"); Ok(()) }' + occurrence: 0 + testSet: 403 + - site: + file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config + mutator: unary.remove_not + normalizedText: '!config_path.as_std_path().exists()' + occurrence: 0 + testSet: 403 + - site: + file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config_inner + mutator: cond.always_false + normalizedText: '!config.high_risk.is_empty() || !config.eval.is_empty()' + occurrence: 0 + testSet: 404 + - site: + file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config_inner + mutator: cond.always_true + normalizedText: '!config.high_risk.is_empty() || !config.eval.is_empty()' + occurrence: 0 + testSet: 404 + - site: + file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config_inner + mutator: cond.negate + normalizedText: '!config.high_risk.is_empty() || !config.eval.is_empty()' + occurrence: 0 + testSet: 404 + - site: + file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config_inner + mutator: fn_value.ok + normalizedText: '{ let config = Config::load( config_path.parent().unwrap_or_else(|| Utf8Path::new(".")), Some(&config_path.to_path_buf()), + )?; if !config.high_risk.is_empty() || !config.eval.is_empty() { let appraisal = evaluate( &config.high_risk, &config.eval, + default_metrics(), Local::now(), config.medium_risk_threshold, config.low_risk_threshold, ); for outcome in &appraisal.expression_outcomes + { if let ExpressionDisposition::Failed(msg) = &outcome.disposition { return Err(app_err!("expression ''{}'' failed: + {msg}", outcome.name)); } } } Ok(()) }' + occurrence: 0 + testSet: 403 + - site: + file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config_inner + mutator: logical.or_to_and + normalizedText: '!config.high_risk.is_empty() || !config.eval.is_empty()' + occurrence: 0 + testSet: 404 + - site: + file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config_inner + mutator: result.err_to_ok + normalizedText: 'Err(app_err!("expression ''{}'' failed: {msg}", outcome.name))' + occurrence: 0 + testSet: 405 + - site: + file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config_inner + mutator: unary.remove_not + normalizedText: '!config.eval.is_empty()' + occurrence: 0 + testSet: 406 + - site: + file: crates/cargo-aprz-lib/src/commands/validate.rs + item: validate_config_inner + mutator: unary.remove_not + normalizedText: '!config.high_risk.is_empty()' + occurrence: 0 + testSet: 404 + - site: + file: crates/cargo-aprz-lib/src/expr/appraisal.rs + item: Appraisal::required_check_failure + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 407 + - site: + file: crates/cargo-aprz-lib/src/expr/appraisal.rs + item: Appraisal::required_check_failure + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 407 + - site: + file: crates/cargo-aprz-lib/src/expr/appraisal.rs + item: Appraisal::weighted_evaluation_failure + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 408 + - site: + file: crates/cargo-aprz-lib/src/expr/appraisal.rs + item: Appraisal::weighted_evaluation_failure + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 408 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: fn_value.default + normalizedText: '{ use core::borrow::Borrow; let mut context = Context::default(); let mut root_map: crate::HashMap<&str, + std::collections::HashMap, Value>> = crate::hash_map_with_capacity(16); let mut flat_vars: Vec<(&str, + Value)> = Vec::with_capacity(16); for metric in metrics { let metric: &Metric = metric.borrow(); let cel_value = metric.value.as_ref().map_or(Value::Null, + convert_metric_value); let name = metric.name(); if let Some((prefix, suffix)) = name.split_once(''.'') { let _ = + root_map.entry(prefix).or_default().insert(metric_key(name, suffix), cel_value); } else { flat_vars.push((name, cel_value)); + } } for (prefix, fields) in root_map { let cel_map = Map::from(fields); context.add_variable_from_value(prefix, Value::Map(cel_map)); + } for (name, value) in flat_vars { context.add_variable_from_value(name, value); } context.add_variable_from_value("now", + Value::Timestamp(now.fixed_offset())); context }' + occurrence: 0 + testSet: 409 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: literal.int_decrement + normalizedText: '16' + occurrence: 0 + testSet: 409 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: literal.int_decrement + normalizedText: '16' + occurrence: 1 + testSet: 409 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: literal.int_increment + normalizedText: '16' + occurrence: 0 + testSet: 409 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: literal.int_increment + normalizedText: '16' + occurrence: 1 + testSet: 409 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: literal.int_to_one + normalizedText: '16' + occurrence: 0 + testSet: 409 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: literal.int_to_one + normalizedText: '16' + occurrence: 1 + testSet: 409 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: literal.int_to_zero + normalizedText: '16' + occurrence: 0 + testSet: 409 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: literal.int_to_zero + normalizedText: '16' + occurrence: 1 + testSet: 409 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: literal.str_to_empty + normalizedText: '"now"' + occurrence: 0 + testSet: 409 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: literal.str_to_xyzzy + normalizedText: '"now"' + occurrence: 0 + testSet: 409 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: stmt.delete_call + normalizedText: context.add_variable_from_value("now", Value::Timestamp(now.fixed_offset())); + occurrence: 0 + testSet: 409 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: stmt.delete_call + normalizedText: context.add_variable_from_value(name, value); + occurrence: 0 + testSet: 410 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: stmt.delete_call + normalizedText: context.add_variable_from_value(prefix, Value::Map(cel_map)); + occurrence: 0 + testSet: 411 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: build_cel_context + mutator: stmt.delete_call + normalizedText: flat_vars.push((name, cel_value)); + occurrence: 0 + testSet: 410 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: arith.div_to_mul + normalizedText: f64::from(awarded_points) / f64::from(available_points) + occurrence: 0 + testSet: 412 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: arith.div_to_rem + normalizedText: f64::from(awarded_points) / f64::from(available_points) + occurrence: 0 + testSet: 412 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: arith.mul_to_add + normalizedText: f64::from(awarded_points) / f64::from(available_points) * 100.0 + occurrence: 0 + testSet: 412 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: arith.mul_to_div + normalizedText: f64::from(awarded_points) / f64::from(available_points) * 100.0 + occurrence: 0 + testSet: 412 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: assign.add_to_sub + normalizedText: available_points += points + occurrence: 0 + testSet: 413 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: assign.add_to_sub + normalizedText: awarded_points += points + occurrence: 0 + testSet: 414 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: assign.or_to_and + normalizedText: evaluated_positive_weight |= points > 0 + occurrence: 0 + testSet: 414 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: assign.or_to_and + normalizedText: evaluated_positive_weight |= points > 0 + occurrence: 1 + testSet: 415 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 416 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: assign_value.default + normalizedText: 'true' + occurrence: 1 + testSet: 417 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.always_false + normalizedText: available_points > 0 + occurrence: 0 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.always_false + normalizedText: has_weighted_points && !evaluated_positive_weight && outcomes .iter() .any(|outcome| matches!(outcome.disposition, + ExpressionDisposition::Failed(_))) + occurrence: 0 + testSet: 419 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.always_false + normalizedText: high_risk_triggered + occurrence: 0 + testSet: 420 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.always_false + normalizedText: score >= low_risk_threshold + occurrence: 0 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.always_false + normalizedText: score >= medium_risk_threshold + occurrence: 0 + testSet: 421 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.always_true + normalizedText: available_points > 0 + occurrence: 0 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.always_true + normalizedText: has_weighted_points && !evaluated_positive_weight && outcomes .iter() .any(|outcome| matches!(outcome.disposition, + ExpressionDisposition::Failed(_))) + occurrence: 0 + testSet: 419 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.always_true + normalizedText: high_risk_triggered + occurrence: 0 + testSet: 420 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.always_true + normalizedText: score >= low_risk_threshold + occurrence: 0 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.always_true + normalizedText: score >= medium_risk_threshold + occurrence: 0 + testSet: 421 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.negate + normalizedText: available_points > 0 + occurrence: 0 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.negate + normalizedText: has_weighted_points && !evaluated_positive_weight && outcomes .iter() .any(|outcome| matches!(outcome.disposition, + ExpressionDisposition::Failed(_))) + occurrence: 0 + testSet: 419 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.negate + normalizedText: high_risk_triggered + occurrence: 0 + testSet: 420 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.negate + normalizedText: score >= low_risk_threshold + occurrence: 0 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: cond.negate + normalizedText: score >= medium_risk_threshold + occurrence: 0 + testSet: 421 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: expr.decrement + normalizedText: available_points + occurrence: 0 + testSet: 412 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: expr.decrement + normalizedText: available_points + occurrence: 1 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: expr.decrement + normalizedText: awarded_points + occurrence: 0 + testSet: 412 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: expr.decrement + normalizedText: awarded_points + occurrence: 1 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: expr.increment + normalizedText: available_points + occurrence: 0 + testSet: 412 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: expr.increment + normalizedText: available_points + occurrence: 1 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: expr.increment + normalizedText: awarded_points + occurrence: 0 + testSet: 412 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: expr.increment + normalizedText: awarded_points + occurrence: 1 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: iter.any_to_all + normalizedText: eval.iter().any(|expr| expr.points().unwrap_or(1) > 0) + occurrence: 0 + testSet: 419 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: iter.any_to_all + normalizedText: outcomes .iter() .any(|outcome| matches!(outcome.disposition, ExpressionDisposition::Failed(_))) + occurrence: 0 + testSet: 422 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 420 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 419 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 416 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 417 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 413 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 413 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 419 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 419 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 413 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 414 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 4 + testSet: 415 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 5 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 413 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 413 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: logical.and_to_or + normalizedText: has_weighted_points && !evaluated_positive_weight + occurrence: 0 + testSet: 419 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: logical.and_to_or + normalizedText: has_weighted_points && !evaluated_positive_weight && outcomes .iter() .any(|outcome| matches!(outcome.disposition, + ExpressionDisposition::Failed(_))) + occurrence: 0 + testSet: 419 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: relational.ge_to_gt + normalizedText: score >= low_risk_threshold + occurrence: 0 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: relational.ge_to_gt + normalizedText: score >= medium_risk_threshold + occurrence: 0 + testSet: 421 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: relational.ge_to_le + normalizedText: score >= low_risk_threshold + occurrence: 0 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: relational.ge_to_le + normalizedText: score >= medium_risk_threshold + occurrence: 0 + testSet: 421 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: relational.gt_to_ge + normalizedText: available_points > 0 + occurrence: 0 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: relational.gt_to_ge + normalizedText: expr.points().unwrap_or(1) > 0 + occurrence: 0 + testSet: 413 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: relational.gt_to_ge + normalizedText: points > 0 + occurrence: 0 + testSet: 414 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: relational.gt_to_ge + normalizedText: points > 0 + occurrence: 1 + testSet: 415 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: relational.gt_to_lt + normalizedText: available_points > 0 + occurrence: 0 + testSet: 418 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: relational.gt_to_lt + normalizedText: expr.points().unwrap_or(1) > 0 + occurrence: 0 + testSet: 413 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: relational.gt_to_lt + normalizedText: points > 0 + occurrence: 0 + testSet: 414 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: relational.gt_to_lt + normalizedText: points > 0 + occurrence: 1 + testSet: 415 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: stmt.delete_assign + normalizedText: available_points += points; + occurrence: 0 + testSet: 413 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: stmt.delete_assign + normalizedText: awarded_points += points; + occurrence: 0 + testSet: 414 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: stmt.delete_assign + normalizedText: evaluated_positive_weight |= points > 0; + occurrence: 0 + testSet: 414 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: stmt.delete_assign + normalizedText: evaluated_positive_weight |= points > 0; + occurrence: 1 + testSet: 415 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: stmt.delete_assign + normalizedText: high_risk_triggered = true; + occurrence: 0 + testSet: 416 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: stmt.delete_assign + normalizedText: high_risk_triggered = true; + occurrence: 1 + testSet: 417 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: stmt.delete_call + normalizedText: high_risk_outcomes.push(ExpressionOutcome::new( expr.name_arc(), expr.description_or_expression_arc(), + disposition, )); + occurrence: 0 + testSet: 423 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: stmt.delete_call + normalizedText: outcomes.push(ExpressionOutcome::new( expr.name_arc(), expr.description_or_expression_arc(), disposition, + )); + occurrence: 0 + testSet: 413 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: stmt.delete_call + normalizedText: outcomes.reserve(eval.len()); + occurrence: 0 + testSet: 419 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate + mutator: unary.remove_not + normalizedText: '!evaluated_positive_weight' + occurrence: 0 + testSet: 424 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate_expression + mutator: fn_value.err_default + normalizedText: '{ match program.execute(context).map_err(|e| e.to_string())? { Value::Bool(b) => Ok(b), other => Err(format!("expression + ''{name}'' did not return a boolean, got ''{other:?}'' instead")), } }' + occurrence: 0 + testSet: 425 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate_expression + mutator: fn_value.ok + normalizedText: '{ match program.execute(context).map_err(|e| e.to_string())? { Value::Bool(b) => Ok(b), other => Err(format!("expression + ''{name}'' did not return a boolean, got ''{other:?}'' instead")), } }' + occurrence: 0 + testSet: 425 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate_expression + mutator: match_arm.never_matches + normalizedText: Value::Bool(b) + occurrence: 0 + testSet: 426 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate_expression + mutator: result.err_to_ok + normalizedText: Err(format!("expression '{name}' did not return a boolean, got '{other:?}' instead")) + occurrence: 0 + testSet: 427 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: evaluate_expression + mutator: result.ok_to_err + normalizedText: Ok(b) + occurrence: 0 + testSet: 426 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: metric_key + mutator: fn_value.empty_string + normalizedText: '{ METRIC_KEYS.get(name).map_or_else(|| Arc::new(suffix.to_string()), Arc::clone) }' + occurrence: 0 + testSet: 411 + - site: + file: crates/cargo-aprz-lib/src/expr/evaluator.rs + item: metric_key + mutator: fn_value.xyzzy_string + normalizedText: '{ METRIC_KEYS.get(name).map_or_else(|| Arc::new(suffix.to_string()), Arc::clone) }' + occurrence: 0 + testSet: 411 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 428 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 428 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 428 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 428 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.str_to_empty + normalizedText: '"Expression"' + occurrence: 0 + testSet: 428 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.str_to_empty + normalizedText: '"description"' + occurrence: 0 + testSet: 429 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.str_to_empty + normalizedText: '"expression"' + occurrence: 0 + testSet: 428 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.str_to_empty + normalizedText: '"name"' + occurrence: 0 + testSet: 428 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.str_to_empty + normalizedText: '"points"' + occurrence: 0 + testSet: 430 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.str_to_xyzzy + normalizedText: '"Expression"' + occurrence: 0 + testSet: 428 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.str_to_xyzzy + normalizedText: '"description"' + occurrence: 0 + testSet: 429 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.str_to_xyzzy + normalizedText: '"expression"' + occurrence: 0 + testSet: 428 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.str_to_xyzzy + normalizedText: '"name"' + occurrence: 0 + testSet: 428 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: ::serialize + mutator: literal.str_to_xyzzy + normalizedText: '"points"' + occurrence: 0 + testSet: 430 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: Expression::description + mutator: fn_value.none + normalizedText: '{ self.description.as_deref() }' + occurrence: 0 + testSet: 431 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: Expression::expression + mutator: fn_value.empty_string + normalizedText: '{ &self.expression_string }' + occurrence: 0 + testSet: 432 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: Expression::expression + mutator: fn_value.xyzzy_string + normalizedText: '{ &self.expression_string }' + occurrence: 0 + testSet: 432 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: Expression::name + mutator: fn_value.empty_string + normalizedText: '{ &self.name }' + occurrence: 0 + testSet: 433 + - site: + file: crates/cargo-aprz-lib/src/expr/expression.rs + item: Expression::name + mutator: fn_value.xyzzy_string + normalizedText: '{ &self.name }' + occurrence: 0 + testSet: 433 + - site: + file: crates/cargo-aprz-lib/src/expr/risk.rs + item: ::fmt + mutator: fn_value.ok + normalizedText: '{ match self { Self::Low => write!(f, "LOW RISK"), Self::Medium => write!(f, "MEDIUM RISK"), Self::High + => write!(f, "HIGH RISK"), } }' + occurrence: 0 + testSet: 434 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: assign.add_to_sub + normalizedText: self.critical_vulnerability_count += 1 + occurrence: 0 + testSet: 435 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: assign.add_to_sub + normalizedText: self.high_vulnerability_count += 1 + occurrence: 0 + testSet: 436 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: assign.add_to_sub + normalizedText: self.low_vulnerability_count += 1 + occurrence: 0 + testSet: 437 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: assign.add_to_sub + normalizedText: self.medium_vulnerability_count += 1 + occurrence: 0 + testSet: 437 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: assign.add_to_sub + normalizedText: self.notice_warning_count += 1 + occurrence: 0 + testSet: 438 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: assign.add_to_sub + normalizedText: self.unmaintained_warning_count += 1 + occurrence: 0 + testSet: 439 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: assign.add_to_sub + normalizedText: self.unsound_warning_count += 1 + occurrence: 0 + testSet: 440 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 438 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 439 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 440 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 437 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 437 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 5 + testSet: 436 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 6 + testSet: 435 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 438 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 439 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 440 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 437 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 437 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_increment + normalizedText: '1' + occurrence: 5 + testSet: 436 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: literal.int_increment + normalizedText: '1' + occurrence: 6 + testSet: 435 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: match_arm.never_matches + normalizedText: Informational::Notice + occurrence: 0 + testSet: 438 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: match_arm.never_matches + normalizedText: Informational::Unmaintained + occurrence: 0 + testSet: 439 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryCounts::count_advisory + mutator: match_arm.never_matches + normalizedText: Informational::Unsound + occurrence: 0 + testSet: 440 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryData::count_advisory_for_version + mutator: fn_value.unit + normalizedText: '{ self.per_version.count_advisory(advisory); }' + occurrence: 0 + testSet: 441 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/advisory_data.rs + item: AdvisoryData::count_advisory_for_version + mutator: stmt.delete_call + normalizedText: self.per_version.count_advisory(advisory); + occurrence: 0 + testSet: 441 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: ::fetch + mutator: fn_value.ok + normalizedText: '{ Repository::fetch(database_url, repo_path, true, DATABASE_FETCH_TIMEOUT) .map(|_| ()) .map_err(Into::into) + }' + occurrence: 0 + testSet: 442 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: ::fetch + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 442 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: Provider::with_fetcher + mutator: literal.str_to_empty + normalizedText: '"downloading the advisory database"' + occurrence: 0 + testSet: 442 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: Provider::with_fetcher + mutator: literal.str_to_xyzzy + normalizedText: '"downloading the advisory database"' + occurrence: 0 + testSet: 442 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: download_db + mutator: fn_value.ok + normalizedText: '{ let cache_path = cache_dir.as_ref().to_path_buf(); let database_url = database_url.to_owned(); run_blocking_with_progress(progress, + "Downloading the advisory database", "downloading", move || { fetcher.fetch(&cache_path, &database_url) }) .await + }' + occurrence: 0 + testSet: 442 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: download_db + mutator: literal.str_to_empty + normalizedText: '"Downloading the advisory database"' + occurrence: 0 + testSet: 442 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: download_db + mutator: literal.str_to_empty + normalizedText: '"downloading"' + occurrence: 0 + testSet: 442 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: download_db + mutator: literal.str_to_xyzzy + normalizedText: '"Downloading the advisory database"' + occurrence: 0 + testSet: 442 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: download_db + mutator: literal.str_to_xyzzy + normalizedText: '"downloading"' + occurrence: 0 + testSet: 442 + - site: + file: crates/cargo-aprz-lib/src/facts/advisories/provider.rs + item: scan_advisories + mutator: stmt.delete_call + normalizedText: data.count_advisory_for_version(advisory); + occurrence: 0 + testSet: 441 + - site: + file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::load + mutator: cond.always_false + normalizedText: age < chrono::Duration::zero() + occurrence: 0 + testSet: 443 + - site: + file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::load + mutator: cond.always_false + normalizedText: age_duration >= self.ttl + occurrence: 0 + testSet: 443 + - site: + file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::load + mutator: cond.always_true + normalizedText: age < chrono::Duration::zero() + occurrence: 0 + testSet: 443 + - site: + file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::load + mutator: cond.always_true + normalizedText: age_duration >= self.ttl + occurrence: 0 + testSet: 443 + - site: + file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::load + mutator: cond.negate + normalizedText: age < chrono::Duration::zero() + occurrence: 0 + testSet: 443 + - site: + file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::load + mutator: cond.negate + normalizedText: age_duration >= self.ttl + occurrence: 0 + testSet: 443 + - site: + file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::load + mutator: relational.ge_to_gt + normalizedText: age_duration >= self.ttl + occurrence: 0 + testSet: 443 + - site: + file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::load + mutator: relational.ge_to_le + normalizedText: age_duration >= self.ttl + occurrence: 0 + testSet: 443 + - site: + file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::load + mutator: relational.lt_to_gt + normalizedText: age < chrono::Duration::zero() + occurrence: 0 + testSet: 443 + - site: + file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::load + mutator: relational.lt_to_le + normalizedText: age < chrono::Duration::zero() + occurrence: 0 + testSet: 443 + - site: + file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::save + mutator: fn_value.ok + normalizedText: '{ let envelope = Envelope { timestamp: Utc::now(), payload: EnvelopePayload::Data(data), }; self.write_envelope(filename, + &envelope) }' + occurrence: 0 + testSet: 444 + - site: + file: crates/cargo-aprz-lib/src/facts/cache.rs + item: Cache::save_no_data + mutator: fn_value.ok + normalizedText: '{ let envelope = Envelope::<()> { timestamp: Utc::now(), payload: EnvelopePayload::NoData(reason.to_string()), + }; self.write_envelope(filename, &envelope) }' + occurrence: 0 + testSet: 445 + - site: + file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::get_code_coverage + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 446 + - site: + file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::get_code_coverage + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 447 + - site: + file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::get_code_coverage + mutator: option.some_to_none + normalizedText: Some(coverage) + occurrence: 0 + testSet: 448 + - site: + file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::try_branch_coverage + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 448 + - site: + file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::try_branch_coverage + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 448 + - site: + file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::try_branch_coverage + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 449 + - site: + file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::try_branch_coverage + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 450 + - site: + file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::try_branch_coverage + mutator: option.none_to_some + normalizedText: None + occurrence: 2 + testSet: 451 + - site: + file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::try_branch_coverage + mutator: option.some_to_none + normalizedText: Some(coverage) + occurrence: 0 + testSet: 448 + - site: + file: crates/cargo-aprz-lib/src/facts/coverage/provider.rs + item: Provider::try_branch_coverage + mutator: result.err_to_ok + normalizedText: Err(ohno::app_err!("unexpected HTTP status {status} from {codecov_url}")) + occurrence: 0 + testSet: 452 + - site: + file: crates/cargo-aprz-lib/src/facts/crate_ref.rs + item: CrateRef::name + mutator: fn_value.empty_string + normalizedText: '{ &self.name }' + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/facts/crate_ref.rs + item: CrateRef::name + mutator: fn_value.xyzzy_string + normalizedText: '{ &self.name }' + occurrence: 0 + testSet: 336 + - site: + file: crates/cargo-aprz-lib/src/facts/crate_ref.rs + item: CrateRef::to_spec + mutator: fn_value.none + normalizedText: '{ Some(CrateSpec::from_arcs(Arc::clone(&self.name), Arc::clone(self.version.as_ref()?))) }' + occurrence: 0 + testSet: 453 + - site: + file: crates/cargo-aprz-lib/src/facts/crate_ref.rs + item: CrateRef::to_spec + mutator: option.some_to_none + normalizedText: Some(CrateSpec::from_arcs(Arc::clone(&self.name), Arc::clone(self.version.as_ref()?))) + occurrence: 0 + testSet: 453 + - site: + file: crates/cargo-aprz-lib/src/facts/crate_spec.rs + item: ::fmt + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 454 + - site: + file: crates/cargo-aprz-lib/src/facts/crate_spec.rs + item: CrateSpec::name + mutator: fn_value.empty_string + normalizedText: '{ &self.name }' + occurrence: 0 + testSet: 455 + - site: + file: crates/cargo-aprz-lib/src/facts/crate_spec.rs + item: CrateSpec::name + mutator: fn_value.xyzzy_string + normalizedText: '{ &self.name }' + occurrence: 0 + testSet: 455 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::assemble_query_result + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 456 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::assemble_query_result + mutator: literal.int_increment + normalizedText: '0' + occurrence: 4 + testSet: 456 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::assemble_query_result + mutator: literal.int_increment + normalizedText: '0' + occurrence: 5 + testSet: 456 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::assemble_result + mutator: option.none_to_some + normalizedText: None + occurrence: 2 + testSet: 457 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::assemble_result + mutator: option.none_to_some + normalizedText: None + occurrence: 3 + testSet: 457 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::assemble_result + mutator: option.some_to_none + normalizedText: 'Some(Owner { login: row.login.into(), kind: PublicOwnerKind::Team, name, })' + occurrence: 0 + testSet: 458 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::assemble_result + mutator: option.some_to_none + normalizedText: Some(row.slug.into()) + occurrence: 0 + testSet: 458 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::assemble_result + mutator: unary.remove_not + normalizedText: '!row.name.is_empty()' + occurrence: 1 + testSet: 458 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::collect_crate_categories + mutator: stmt.delete_call + normalizedText: collected.entry(crate_id).or_insert_with(Vec::new).push(row.category_id); + occurrence: 0 + testSet: 459 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: assign_value.default + normalizedText: '*s' + occurrence: 0 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: assign_value.default + normalizedText: Some((CompactString::new(row.name), score)) + occurrence: 0 + testSet: 461 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: assign_value.default + normalizedText: Some((CompactString::new(row.name), score)) + occurrence: 1 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: assign_value.default + normalizedText: idx + occurrence: 0 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: cond.always_false + normalizedText: min_score != f64::INFINITY && score > min_score + occurrence: 0 + testSet: 461 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: cond.always_false + normalizedText: score >= MIN_SUGGESTION_SCORE + occurrence: 0 + testSet: 462 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: cond.always_false + normalizedText: suggestions + occurrence: 3 + testSet: 463 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: cond.always_true + normalizedText: min_score != f64::INFINITY && score > min_score + occurrence: 0 + testSet: 461 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: cond.always_true + normalizedText: score >= MIN_SUGGESTION_SCORE + occurrence: 0 + testSet: 462 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: cond.always_true + normalizedText: suggestions + occurrence: 3 + testSet: 463 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: cond.negate + normalizedText: min_score != f64::INFINITY && score > min_score + occurrence: 0 + testSet: 461 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: cond.negate + normalizedText: score >= MIN_SUGGESTION_SCORE + occurrence: 0 + testSet: 462 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: cond.negate + normalizedText: suggestions + occurrence: 3 + testSet: 463 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: expr.decrement + normalizedText: min_idx + occurrence: 0 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: expr.increment + normalizedText: min_idx + occurrence: 0 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: iter.remove_sort + normalizedText: suggestions.sort_by(|a, b| b.1.partial_cmp(&a.1).unwrap_or(core::cmp::Ordering::Equal)); + occurrence: 0 + testSet: 464 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: literal.int_increment + normalizedText: '0' + occurrence: 7 + testSet: 461 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: logical.and_to_or + normalizedText: min_score != f64::INFINITY && score > min_score + occurrence: 0 + testSet: 461 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: loop.break_to_continue + normalizedText: break + occurrence: 1 + testSet: 461 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: loop.delete_break + normalizedText: break; + occurrence: 1 + testSet: 461 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: match_arm.never_matches + normalizedText: None + occurrence: 0 + testSet: 461 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: match_guard.always_false + normalizedText: '*s < min_score' + occurrence: 0 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: match_guard.always_true + normalizedText: '*s < min_score' + occurrence: 0 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: match_guard.negate + normalizedText: '*s < min_score' + occurrence: 0 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: option.some_to_none + normalizedText: Some((CompactString::new(row.name), score)) + occurrence: 0 + testSet: 461 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: option.some_to_none + normalizedText: Some((CompactString::new(row.name), score)) + occurrence: 1 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: relational.ge_to_gt + normalizedText: score >= MIN_SUGGESTION_SCORE + occurrence: 0 + testSet: 462 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: relational.ge_to_le + normalizedText: score >= MIN_SUGGESTION_SCORE + occurrence: 0 + testSet: 462 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: relational.gt_to_ge + normalizedText: score > min_score + occurrence: 0 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: relational.gt_to_lt + normalizedText: score > min_score + occurrence: 0 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: relational.ne_to_eq + normalizedText: min_score != f64::INFINITY + occurrence: 0 + testSet: 461 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: stmt.delete_assign + normalizedText: '*slot = Some((CompactString::new(row.name), score));' + occurrence: 0 + testSet: 461 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: stmt.delete_assign + normalizedText: best[min_idx] = Some((CompactString::new(row.name), score)); + occurrence: 0 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: stmt.delete_assign + normalizedText: min_idx = idx; + occurrence: 0 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: stmt.delete_assign + normalizedText: min_score = *s; + occurrence: 0 + testSet: 460 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase1_build_crate_maps + mutator: stmt.delete_call + normalizedText: normalize_name_into(row.name, &mut normalized_buffer); + occurrence: 0 + testSet: 463 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: assign.sub_to_add + normalizedText: remaining_versions -= 1 + occurrence: 0 + testSet: 465 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: cond.always_false + normalizedText: (preferred, &row.num) > (*current_preferred, current_best_version) + occurrence: 0 + testSet: 466 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: cond.always_true + normalizedText: (preferred, &row.num) > (*current_preferred, current_best_version) + occurrence: 0 + testSet: 466 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: cond.negate + normalizedText: (preferred, &row.num) > (*current_preferred, current_best_version) + occurrence: 0 + testSet: 466 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 465 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 465 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: logical.and_to_or + normalizedText: '!row.yanked && row.num.pre.is_empty()' + occurrence: 0 + testSet: 467 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 468 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 468 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: relational.gt_to_ge + normalizedText: (preferred, &row.num) > (*current_preferred, current_best_version) + occurrence: 0 + testSet: 466 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: relational.gt_to_lt + normalizedText: (preferred, &row.num) > (*current_preferred, current_best_version) + occurrence: 0 + testSet: 466 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: stmt.delete_assign + normalizedText: '*e.get_mut() = (index, row.num.clone(), preferred);' + occurrence: 0 + testSet: 469 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: stmt.delete_assign + normalizedText: remaining_versions -= 1; + occurrence: 0 + testSet: 465 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase4_scan_versions_table + mutator: unary.remove_not + normalizedText: '!row.yanked' + occurrence: 0 + testSet: 467 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase6_populate_join_table_data + mutator: assign_value.default + normalizedText: values + occurrence: 1 + testSet: 459 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: Provider::phase6_populate_join_table_data + mutator: stmt.delete_assign + normalizedText: data.categories = values; + occurrence: 0 + testSet: 459 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: normalize_name + mutator: fn_value.default + normalizedText: '{ let mut result = CompactString::with_capacity(name.len()); normalize_name_into(name, &mut result); + result }' + occurrence: 0 + testSet: 470 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: normalize_name + mutator: stmt.delete_call + normalizedText: normalize_name_into(name, &mut result); + occurrence: 0 + testSet: 470 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: normalize_name_into + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 462 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/provider.rs + item: normalize_name_into + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 462 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/crate_owners_table.rs + item: CrateOwnerRow::owner + mutator: match_arm.never_matches + normalizedText: '1' + occurrence: 0 + testSet: 459 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/crates_table.rs + item: CrateRow<'_>::repository + mutator: option.some_to_none + normalizedText: Some(Url::parse(self.repository).expect("invalid URL in repository field")) + occurrence: 0 + testSet: 471 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table.rs + item: Table::open + mutator: expr.decrement + normalizedText: file_size + occurrence: 0 + testSet: 472 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table.rs + item: Table::open + mutator: expr.increment + normalizedText: file_size + occurrence: 0 + testSet: 472 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table.rs + item: Table::open + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 472 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table.rs + item: Table::open + mutator: literal.str_to_empty + normalizedText: '"getting file metadata"' + occurrence: 0 + testSet: 472 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table.rs + item: Table::open + mutator: literal.str_to_empty + normalizedText: '"memory-mapping table file"' + occurrence: 0 + testSet: 472 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table.rs + item: Table::open + mutator: literal.str_to_xyzzy + normalizedText: '"getting file metadata"' + occurrence: 0 + testSet: 472 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table.rs + item: Table::open + mutator: literal.str_to_xyzzy + normalizedText: '"memory-mapping table file"' + occurrence: 0 + testSet: 472 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: ::fill_buf + mutator: result.err_to_ok + normalizedText: Err(IoError::other(e.to_string())) + occurrence: 0 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: TableMgr::new + mutator: literal.str_to_empty + normalizedText: '"could not prepare crates.io tables"' + occurrence: 0 + testSet: 474 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: TableMgr::new + mutator: literal.str_to_xyzzy + normalizedText: '"could not prepare crates.io tables"' + occurrence: 0 + testSet: 474 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: arith.div_to_mul + normalizedText: downloaded_bytes / (1024 * 1024) + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: arith.div_to_mul + normalizedText: total / (1024 * 1024) + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: arith.div_to_rem + normalizedText: downloaded_bytes / (1024 * 1024) + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: arith.div_to_rem + normalizedText: total / (1024 * 1024) + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: arith.mul_to_add + normalizedText: 1024 * 1024 + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: arith.mul_to_add + normalizedText: 1024 * 1024 + occurrence: 1 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: arith.mul_to_div + normalizedText: 1024 * 1024 + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: arith.mul_to_div + normalizedText: 1024 * 1024 + occurrence: 1 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: fn_value.tuple + normalizedText: '{ let downloaded_mb = downloaded_bytes / (1024 * 1024); let total_mb = total / (1024 * 1024); let message + = format!("{downloaded_mb}/{total_mb} MB: Downloading crates database"); (total, downloaded_bytes, message) }' + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 1 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 2 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 3 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 1 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 2 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 3 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 1 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 2 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 3 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 1 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 2 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: determinate_download_progress + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 3 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: arith.div_to_mul + normalizedText: downloaded_bytes / (1024 * 1024) + occurrence: 0 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: arith.div_to_rem + normalizedText: downloaded_bytes / (1024 * 1024) + occurrence: 0 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: arith.mul_to_add + normalizedText: 1024 * 1024 + occurrence: 0 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: arith.mul_to_div + normalizedText: 1024 * 1024 + occurrence: 0 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: fn_value.empty_string + normalizedText: '{ let downloaded_mb = downloaded_bytes / (1024 * 1024); format!("{downloaded_mb} MB: Downloading crates + database") }' + occurrence: 0 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: fn_value.xyzzy_string + normalizedText: '{ let downloaded_mb = downloaded_bytes / (1024 * 1024); format!("{downloaded_mb} MB: Downloading crates + database") }' + occurrence: 0 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 0 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 1 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 0 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 1 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 0 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 1 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 0 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: indeterminate_download_progress + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 1 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: prep_tables_core + mutator: expr.decrement + normalizedText: downloaded_bytes + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: prep_tables_core + mutator: expr.decrement + normalizedText: downloaded_bytes + occurrence: 1 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: prep_tables_core + mutator: expr.decrement + normalizedText: total + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: prep_tables_core + mutator: expr.increment + normalizedText: downloaded_bytes + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: prep_tables_core + mutator: expr.increment + normalizedText: downloaded_bytes + occurrence: 1 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: prep_tables_core + mutator: expr.increment + normalizedText: total + occurrence: 0 + testSet: 475 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: prep_tables_core + mutator: stmt.delete_call + normalizedText: progress.set_indeterminate(Box::new(move || { let downloaded_bytes = downloaded_bytes_clone.load(Ordering::Relaxed); + indeterminate_download_progress(downloaded_bytes) })); + occurrence: 0 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: removal_left_file_locked + mutator: fn_value.ok + normalizedText: '{ match result { Ok(()) => Ok(false), Err(e) if e.raw_os_error() == Some(SHARING_VIOLATION) => Ok(true), + Err(e) => Err(e).into_app_err_with(|| format!("removing {}", table_path.display())), } }' + occurrence: 0 + testSet: 476 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: removal_left_file_locked + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 477 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: removal_left_file_locked + mutator: match_guard.always_false + normalizedText: e.raw_os_error() == Some(SHARING_VIOLATION) + occurrence: 0 + testSet: 478 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: removal_left_file_locked + mutator: match_guard.always_true + normalizedText: e.raw_os_error() == Some(SHARING_VIOLATION) + occurrence: 0 + testSet: 478 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: removal_left_file_locked + mutator: match_guard.negate + normalizedText: e.raw_os_error() == Some(SHARING_VIOLATION) + occurrence: 0 + testSet: 478 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: removal_left_file_locked + mutator: result.err_to_ok + normalizedText: Err(e) + occurrence: 0 + testSet: 478 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: stream_download + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 457 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: stream_download + mutator: loop.break_to_continue + normalizedText: break + occurrence: 1 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: stream_download + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 457 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: stream_download + mutator: loop.delete_break + normalizedText: break; + occurrence: 1 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/table_mgr.rs + item: stream_download + mutator: result.err_to_ok + normalizedText: Err(error.into()) + occurrence: 0 + testSet: 473 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/versions_table.rs + item: VersionRow<'_>::documentation + mutator: option.some_to_none + normalizedText: Some(Url::parse(self.documentation).expect("invalid URL in documentation field")) + occurrence: 0 + testSet: 458 + - site: + file: crates/cargo-aprz-lib/src/facts/crates/tables/versions_table.rs + item: VersionRow<'_>::homepage + mutator: option.some_to_none + normalizedText: Some(Url::parse(self.homepage).expect("invalid URL in homepage field")) + occurrence: 0 + testSet: 458 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: calculate_docs_metrics + mutator: match_arm.never_matches + normalizedText: '56' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: arith.add_to_mul + normalizedText: broken_count + skipped_inline + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: arith.add_to_mul + normalizedText: broken_count + skipped_inline + skipped_external + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: arith.add_to_mul + normalizedText: broken_count + skipped_inline + skipped_external + skipped_short + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: arith.add_to_mul + normalizedText: broken_count + skipped_inline + skipped_external + skipped_short + skipped_resolved + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: arith.add_to_sub + normalizedText: broken_count + skipped_inline + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: arith.add_to_sub + normalizedText: broken_count + skipped_inline + skipped_external + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: arith.add_to_sub + normalizedText: broken_count + skipped_inline + skipped_external + skipped_short + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: arith.add_to_sub + normalizedText: broken_count + skipped_inline + skipped_external + skipped_short + skipped_resolved + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: assign.add_to_sub + normalizedText: skipped_resolved += 1 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: cond.always_false + normalizedText: docs_to_check.get(match_end..).is_some_and(|s| s.starts_with('(')) + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: cond.always_false + normalizedText: is_resolved + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: cond.always_false + normalizedText: text.contains("://") + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: cond.always_false + normalizedText: text_len <= 2 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: cond.always_true + normalizedText: docs_to_check.get(match_end..).is_some_and(|s| s.starts_with('(')) + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: cond.always_true + normalizedText: is_resolved + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: cond.always_true + normalizedText: text.contains("://") + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: cond.always_true + normalizedText: text_len <= 2 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: cond.negate + normalizedText: docs_to_check.get(match_end..).is_some_and(|s| s.starts_with('(')) + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: cond.negate + normalizedText: is_resolved + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: cond.negate + normalizedText: text.contains("://") + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: cond.negate + normalizedText: text_len <= 2 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: expr.decrement + normalizedText: broken_count + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: expr.increment + normalizedText: broken_count + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: fn_value.one + normalizedText: '{ let mut broken_count = 0; let mut skipped_inline = 0; let mut skipped_external = 0; let mut skipped_short + = 0; let mut skipped_resolved = 0; log::trace!(target: LOG_TARGET, "Checking for broken links. Docs length: {} chars, + resolved_links count: {}", docs.len(), resolved_links.len()); let docs_without_code_blocks = CODE_BLOCK_REGEX.replace_all(docs, + ""); let docs_to_check = docs_without_code_blocks.as_ref(); let mut link_references = HashMap::default(); for cap + in LINK_REFERENCE_REGEX.captures_iter(docs_to_check) { let link_text = cap .get(1) .expect("LINK_REFERENCE_REGEX declares + group 1 unconditionally, so any match captures it") .as_str(); let target = cap .get(2) .expect("LINK_REFERENCE_REGEX + declares group 2 unconditionally, so any match captures it") .as_str(); let _ = link_references.insert(link_text, + target); log::trace!(target: LOG_TARGET, "Found link reference: [`{link_text}`] -> {target}"); } for cap in INTRA_DOC_LINK_REGEX.captures_iter(docs_to_check) + { let text = cap .get(1) .expect("INTRA_DOC_LINK_REGEX declares group 1 unconditionally, so any match captures it") + .as_str(); let match_end = cap.get(0).expect("match exists").end(); if docs_to_check.get(match_end..).is_some_and(|s| + s.starts_with(''('')) { skipped_inline += 1; log::trace!(target: LOG_TARGET, "Skipping inline link: [`{text}`](...)"); + continue; } let inline_target = (|| { let remainder = docs_to_check.get(match_end..)?.strip_prefix(''['')?; let end_pos + = remainder.find('']'')?; remainder.get(..end_pos) })(); if text.contains("://") { skipped_external += 1; log::trace!(target: + LOG_TARGET, "Skipping external link: [`{text}`]"); continue; } let text_len = text.len(); if text_len <= 2 { skipped_short + += 1; log::trace!(target: LOG_TARGET, "Skipping short link (len={text_len}): [`{text}`]"); continue; } let text_without_parens + = text.strip_suffix("()").unwrap_or(text); let is_resolved = resolved_links.contains_key(text) || resolved_links.contains_key(text_without_parens) + || resolved_links.contains_key(&format!("`{text}`")) || resolved_links.contains_key(&format!("`{text_without_parens}`")) + || inline_target.is_some_and(|target| resolved_links.contains_key(target)) || link_references.get(text).is_some_and(|target| + resolved_links.contains_key(*target)) || link_references .get(text_without_parens) .is_some_and(|target| resolved_links.contains_key(*target)) + || (text_without_parens.contains("::") && { let last_component = text_without_parens.rsplit("::").next().unwrap_or(""); + resolved_links.contains_key(last_component) || link_references .get(last_component) .is_some_and(|target| resolved_links.contains_key(*target)) + }); if is_resolved { skipped_resolved += 1; log::trace!(target: LOG_TARGET, "Resolved link: [`{text}`]"); continue; + } broken_count += 1; log::trace!(target: LOG_TARGET, "Broken link: [`{text}`]"); } let total_matches = broken_count + + skipped_inline + skipped_external + skipped_short + skipped_resolved; log::trace!(target: LOG_TARGET, "Link analysis: + total_matches={total_matches}, broken={broken_count}, skipped(inline={skipped_inline}, external={skipped_external}, + short={skipped_short}, resolved={skipped_resolved})"); broken_count }' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: fn_value.zero + normalizedText: '{ let mut broken_count = 0; let mut skipped_inline = 0; let mut skipped_external = 0; let mut skipped_short + = 0; let mut skipped_resolved = 0; log::trace!(target: LOG_TARGET, "Checking for broken links. Docs length: {} chars, + resolved_links count: {}", docs.len(), resolved_links.len()); let docs_without_code_blocks = CODE_BLOCK_REGEX.replace_all(docs, + ""); let docs_to_check = docs_without_code_blocks.as_ref(); let mut link_references = HashMap::default(); for cap + in LINK_REFERENCE_REGEX.captures_iter(docs_to_check) { let link_text = cap .get(1) .expect("LINK_REFERENCE_REGEX declares + group 1 unconditionally, so any match captures it") .as_str(); let target = cap .get(2) .expect("LINK_REFERENCE_REGEX + declares group 2 unconditionally, so any match captures it") .as_str(); let _ = link_references.insert(link_text, + target); log::trace!(target: LOG_TARGET, "Found link reference: [`{link_text}`] -> {target}"); } for cap in INTRA_DOC_LINK_REGEX.captures_iter(docs_to_check) + { let text = cap .get(1) .expect("INTRA_DOC_LINK_REGEX declares group 1 unconditionally, so any match captures it") + .as_str(); let match_end = cap.get(0).expect("match exists").end(); if docs_to_check.get(match_end..).is_some_and(|s| + s.starts_with(''('')) { skipped_inline += 1; log::trace!(target: LOG_TARGET, "Skipping inline link: [`{text}`](...)"); + continue; } let inline_target = (|| { let remainder = docs_to_check.get(match_end..)?.strip_prefix(''['')?; let end_pos + = remainder.find('']'')?; remainder.get(..end_pos) })(); if text.contains("://") { skipped_external += 1; log::trace!(target: + LOG_TARGET, "Skipping external link: [`{text}`]"); continue; } let text_len = text.len(); if text_len <= 2 { skipped_short + += 1; log::trace!(target: LOG_TARGET, "Skipping short link (len={text_len}): [`{text}`]"); continue; } let text_without_parens + = text.strip_suffix("()").unwrap_or(text); let is_resolved = resolved_links.contains_key(text) || resolved_links.contains_key(text_without_parens) + || resolved_links.contains_key(&format!("`{text}`")) || resolved_links.contains_key(&format!("`{text_without_parens}`")) + || inline_target.is_some_and(|target| resolved_links.contains_key(target)) || link_references.get(text).is_some_and(|target| + resolved_links.contains_key(*target)) || link_references .get(text_without_parens) .is_some_and(|target| resolved_links.contains_key(*target)) + || (text_without_parens.contains("::") && { let last_component = text_without_parens.rsplit("::").next().unwrap_or(""); + resolved_links.contains_key(last_component) || link_references .get(last_component) .is_some_and(|target| resolved_links.contains_key(*target)) + }); if is_resolved { skipped_resolved += 1; log::trace!(target: LOG_TARGET, "Resolved link: [`{text}`]"); continue; + } broken_count += 1; log::trace!(target: LOG_TARGET, "Broken link: [`{text}`]"); } let total_matches = broken_count + + skipped_inline + skipped_external + skipped_short + skipped_resolved; log::trace!(target: LOG_TARGET, "Link analysis: + total_matches={total_matches}, broken={broken_count}, skipped(inline={skipped_inline}, external={skipped_external}, + short={skipped_short}, resolved={skipped_resolved})"); broken_count }' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 5 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 1 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_increment + normalizedText: '0' + occurrence: 4 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_increment + normalizedText: '0' + occurrence: 5 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_increment + normalizedText: '1' + occurrence: 5 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_increment + normalizedText: '2' + occurrence: 1 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 1 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.str_to_empty + normalizedText: '"()"' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.str_to_empty + normalizedText: '"://"' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.str_to_xyzzy + normalizedText: '"()"' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: literal.str_to_xyzzy + normalizedText: '"://"' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: logical.or_to_and + normalizedText: resolved_links.contains_key(text) || resolved_links.contains_key(text_without_parens) + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: logical.or_to_and + normalizedText: resolved_links.contains_key(text) || resolved_links.contains_key(text_without_parens) || resolved_links.contains_key(&format!("`{text}`")) + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: logical.or_to_and + normalizedText: resolved_links.contains_key(text) || resolved_links.contains_key(text_without_parens) || resolved_links.contains_key(&format!("`{text}`")) + || resolved_links.contains_key(&format!("`{text_without_parens}`")) + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: logical.or_to_and + normalizedText: resolved_links.contains_key(text) || resolved_links.contains_key(text_without_parens) || resolved_links.contains_key(&format!("`{text}`")) + || resolved_links.contains_key(&format!("`{text_without_parens}`")) || inline_target.is_some_and(|target| resolved_links.contains_key(target)) + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: logical.or_to_and + normalizedText: resolved_links.contains_key(text) || resolved_links.contains_key(text_without_parens) || resolved_links.contains_key(&format!("`{text}`")) + || resolved_links.contains_key(&format!("`{text_without_parens}`")) || inline_target.is_some_and(|target| resolved_links.contains_key(target)) + || link_references.get(text).is_some_and(|target| resolved_links.contains_key(*target)) + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: logical.or_to_and + normalizedText: resolved_links.contains_key(text) || resolved_links.contains_key(text_without_parens) || resolved_links.contains_key(&format!("`{text}`")) + || resolved_links.contains_key(&format!("`{text_without_parens}`")) || inline_target.is_some_and(|target| resolved_links.contains_key(target)) + || link_references.get(text).is_some_and(|target| resolved_links.contains_key(*target)) || link_references .get(text_without_parens) + .is_some_and(|target| resolved_links.contains_key(*target)) + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: logical.or_to_and + normalizedText: resolved_links.contains_key(text) || resolved_links.contains_key(text_without_parens) || resolved_links.contains_key(&format!("`{text}`")) + || resolved_links.contains_key(&format!("`{text_without_parens}`")) || inline_target.is_some_and(|target| resolved_links.contains_key(target)) + || link_references.get(text).is_some_and(|target| resolved_links.contains_key(*target)) || link_references .get(text_without_parens) + .is_some_and(|target| resolved_links.contains_key(*target)) || (text_without_parens.contains("::") && { let last_component + = text_without_parens.rsplit("::").next().unwrap_or(""); resolved_links.contains_key(last_component) || link_references + .get(last_component) .is_some_and(|target| resolved_links.contains_key(*target)) }) + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 3 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 3 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: range.exclusive_to_inclusive + normalizedText: ..end_pos + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: relational.le_to_ge + normalizedText: text_len <= 2 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: relational.le_to_lt + normalizedText: text_len <= 2 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: stmt.delete_assign + normalizedText: skipped_resolved += 1; + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: count_broken_links + mutator: string.starts_with_to_ends_with + normalizedText: s.starts_with('(') + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: arith.div_to_mul + normalizedText: documented_count as f64 / number_of_public_api_elements as f64 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: arith.div_to_mul + normalizedText: fences / 2 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: arith.div_to_rem + normalizedText: documented_count as f64 / number_of_public_api_elements as f64 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: arith.div_to_rem + normalizedText: fences / 2 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: arith.mul_to_add + normalizedText: documented_count as f64 / number_of_public_api_elements as f64 * 100.0 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: arith.mul_to_div + normalizedText: documented_count as f64 / number_of_public_api_elements as f64 * 100.0 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: arith.sub_to_add + normalizedText: number_of_public_api_elements - documented_count + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: arith.sub_to_div + normalizedText: number_of_public_api_elements - documented_count + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: assign.add_to_sub + normalizedText: broken_doc_links += broken + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: assign.add_to_sub + normalizedText: documented_count += 1 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: assign.add_to_sub + normalizedText: number_of_examples_in_docs += examples + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: assign.add_to_sub + normalizedText: number_of_public_api_elements += 1 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: assign.add_to_sub + normalizedText: private_items += 1 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: assign.add_to_sub + normalizedText: use_items += 1 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: cond.always_false + normalizedText: '!is_public(item)' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: cond.always_false + normalizedText: is_use_item(item) + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: cond.always_false + normalizedText: number_of_public_api_elements > 0 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: cond.always_true + normalizedText: '!is_public(item)' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: cond.always_true + normalizedText: is_use_item(item) + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: cond.always_true + normalizedText: number_of_public_api_elements > 0 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: cond.negate + normalizedText: '!is_public(item)' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: cond.negate + normalizedText: is_use_item(item) + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: cond.negate + normalizedText: number_of_public_api_elements > 0 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_decrement + normalizedText: '0' + occurrence: 4 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_decrement + normalizedText: '0' + occurrence: 5 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_increment + normalizedText: '0' + occurrence: 4 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_increment + normalizedText: '0' + occurrence: 5 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_increment + normalizedText: '0' + occurrence: 6 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.str_to_empty + normalizedText: '"_"' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.str_to_empty + normalizedText: '"```"' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.str_to_xyzzy + normalizedText: '"_"' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: literal.str_to_xyzzy + normalizedText: '"```"' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: relational.eq_to_ne + normalizedText: id == root_id + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: relational.eq_to_ne + normalizedText: name == normalized_crate_name + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: relational.gt_to_ge + normalizedText: number_of_public_api_elements > 0 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: relational.gt_to_lt + normalizedText: number_of_public_api_elements > 0 + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: stmt.delete_assign + normalizedText: broken_doc_links += broken; + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: stmt.delete_assign + normalizedText: documented_count += 1; + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: stmt.delete_assign + normalizedText: has_crate_level_docs = true; + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: stmt.delete_assign + normalizedText: number_of_examples_in_docs += examples; + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: stmt.delete_assign + normalizedText: number_of_public_api_elements += 1; + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: stmt.delete_assign + normalizedText: private_items += 1; + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: stmt.delete_assign + normalizedText: use_items += 1; + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: string.starts_with_to_ends_with + normalizedText: line.trim_start().starts_with("```") + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: string.trim_start_to_trim_end + normalizedText: line.trim_start() + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: unary.remove_not + normalizedText: '!docs.trim().is_empty()' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/calc_metrics.rs + item: process_crate_items + mutator: unary.remove_not + normalizedText: '!is_public(item)' + occurrence: 0 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: Provider::download_zst_core + mutator: cond.always_false + normalizedText: status == reqwest::StatusCode::NOT_FOUND + occurrence: 0 + testSet: 480 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: Provider::download_zst_core + mutator: cond.always_true + normalizedText: status == reqwest::StatusCode::NOT_FOUND + occurrence: 0 + testSet: 480 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: Provider::download_zst_core + mutator: cond.negate + normalizedText: status == reqwest::StatusCode::NOT_FOUND + occurrence: 0 + testSet: 480 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: Provider::download_zst_core + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 481 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: Provider::download_zst_core + mutator: relational.eq_to_ne + normalizedText: status == reqwest::StatusCode::NOT_FOUND + occurrence: 0 + testSet: 480 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: Provider::download_zst_core + mutator: result.err_to_ok + normalizedText: 'Err(app_err!("could not download docs for {crate_spec}: HTTP {status}"))' + occurrence: 0 + testSet: 482 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: Provider::fetch_docs_for_crate_core + mutator: stmt.delete_call + normalizedText: 'tokio::fs::remove_file(&temp_file) .await .unwrap_or_else(|e| log::debug!(target: LOG_TARGET, "Could + not remove temp file ''{}'': {e:#}", temp_file.display()));' + occurrence: 0 + testSet: 483 + - site: + file: crates/cargo-aprz-lib/src/facts/docs/provider.rs + item: Provider::fetch_docs_for_crate_core + mutator: stmt.delete_call + normalizedText: 'tokio::fs::remove_file(&temp_file) .await .unwrap_or_else(|e| log::debug!(target: LOG_TARGET, "Could + not remove temp file ''{}'': {e:#}", temp_file.display()));' + occurrence: 1 + testSet: 479 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::advisory_url + mutator: fn_value.empty_string + normalizedText: '{ &self.advisory_url }' + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::advisory_url + mutator: fn_value.xyzzy_string + normalizedText: '{ &self.advisory_url }' + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::coverage_url + mutator: fn_value.empty_string + normalizedText: '{ &self.coverage_url }' + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::coverage_url + mutator: fn_value.xyzzy_string + normalizedText: '{ &self.coverage_url }' + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::docs_url + mutator: fn_value.empty_string + normalizedText: '{ &self.docs_url }' + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::docs_url + mutator: fn_value.xyzzy_string + normalizedText: '{ &self.docs_url }' + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::dump_url + mutator: fn_value.empty_string + normalizedText: '{ &self.dump_url }' + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::dump_url + mutator: fn_value.xyzzy_string + normalizedText: '{ &self.dump_url }' + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::host_url + mutator: fn_value.none + normalizedText: '{ match host_domain { "github.com" => Some(&self.github_url), "codeberg.org" => Some(&self.codeberg_url), + _ => None, } }' + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::host_url + mutator: match_arm.never_matches + normalizedText: '"codeberg.org"' + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::host_url + mutator: match_arm.never_matches + normalizedText: '"github.com"' + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::host_url + mutator: option.some_to_none + normalizedText: Some(&self.codeberg_url) + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::host_url + mutator: option.some_to_none + normalizedText: Some(&self.github_url) + occurrence: 0 + testSet: 284 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_advisory_url + mutator: assign_value.default + normalizedText: url.into() + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_advisory_url + mutator: fn_value.default + normalizedText: '{ self.advisory_url = url.into(); self }' + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_advisory_url + mutator: stmt.delete_assign + normalizedText: self.advisory_url = url.into(); + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_codeberg_url + mutator: assign_value.default + normalizedText: url.into() + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_codeberg_url + mutator: stmt.delete_assign + normalizedText: self.codeberg_url = url.into(); + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_coverage_url + mutator: assign_value.default + normalizedText: url.into() + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_coverage_url + mutator: fn_value.default + normalizedText: '{ self.coverage_url = url.into(); self }' + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_coverage_url + mutator: stmt.delete_assign + normalizedText: self.coverage_url = url.into(); + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_docs_url + mutator: assign_value.default + normalizedText: url.into() + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_docs_url + mutator: fn_value.default + normalizedText: '{ self.docs_url = url.into(); self }' + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_docs_url + mutator: stmt.delete_assign + normalizedText: self.docs_url = url.into(); + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_dump_url + mutator: assign_value.default + normalizedText: url.into() + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_dump_url + mutator: fn_value.default + normalizedText: '{ self.dump_url = url.into(); self }' + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_dump_url + mutator: stmt.delete_assign + normalizedText: self.dump_url = url.into(); + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_github_url + mutator: assign_value.default + normalizedText: url.into() + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/endpoints.rs + item: Endpoints::with_github_url + mutator: stmt.delete_assign + normalizedText: self.github_url = url.into(); + occurrence: 0 + testSet: 283 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/bug_labels.rs + item: BugLabelMatcher::is_match + mutator: fn_value.bool_false + normalizedText: '{ self.patterns.is_match(label) }' + occurrence: 0 + testSet: 484 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/bug_labels.rs + item: BugLabelMatcher::is_match + mutator: fn_value.bool_true + normalizedText: '{ self.patterns.is_match(label) }' + occurrence: 0 + testSet: 484 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/bug_labels.rs + item: BugLabelMatcher::new + mutator: fn_value.ok + normalizedText: '{ for pattern in patterns { let _ = RegexBuilder::new(pattern) .case_insensitive(true) .build() .into_app_err_with(|| + format!("compiling bug label pattern ''{pattern}''"))?; } let patterns = RegexSetBuilder::new(patterns) .case_insensitive(true) + .build() .into_app_err("compiling bug label patterns")?; Ok(Self { patterns }) }' + occurrence: 0 + testSet: 321 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/bug_labels.rs + item: BugLabelMatcher::new + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 485 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/bug_labels.rs + item: BugLabelMatcher::new + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 486 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: cond.always_false + normalizedText: is_primary_rate_limit + occurrence: 0 + testSet: 487 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: cond.always_false + normalizedText: matches!(status_code, 403 | 429) + occurrence: 0 + testSet: 488 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: cond.always_false + normalizedText: status_code == 404 + occurrence: 0 + testSet: 489 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: cond.always_false + normalizedText: status_code == 429 + occurrence: 0 + testSet: 490 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: cond.always_true + normalizedText: is_primary_rate_limit + occurrence: 0 + testSet: 487 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: cond.always_true + normalizedText: matches!(status_code, 403 | 429) + occurrence: 0 + testSet: 488 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: cond.always_true + normalizedText: status_code == 404 + occurrence: 0 + testSet: 489 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: cond.always_true + normalizedText: status_code == 429 + occurrence: 0 + testSet: 490 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: cond.negate + normalizedText: is_primary_rate_limit + occurrence: 0 + testSet: 487 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: cond.negate + normalizedText: matches!(status_code, 403 | 429) + occurrence: 0 + testSet: 488 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: cond.negate + normalizedText: status_code == 404 + occurrence: 0 + testSet: 489 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: cond.negate + normalizedText: status_code == 429 + occurrence: 0 + testSet: 490 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: literal.int_decrement + normalizedText: '404' + occurrence: 0 + testSet: 489 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: literal.int_decrement + normalizedText: '429' + occurrence: 0 + testSet: 490 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 487 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: literal.int_increment + normalizedText: '404' + occurrence: 0 + testSet: 489 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: literal.int_increment + normalizedText: '429' + occurrence: 0 + testSet: 490 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: literal.int_to_one + normalizedText: '404' + occurrence: 0 + testSet: 489 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: literal.int_to_one + normalizedText: '429' + occurrence: 0 + testSet: 490 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: literal.int_to_zero + normalizedText: '404' + occurrence: 0 + testSet: 489 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: literal.int_to_zero + normalizedText: '429' + occurrence: 0 + testSet: 490 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: relational.eq_to_ne + normalizedText: rl.remaining == 0 + occurrence: 0 + testSet: 487 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: relational.eq_to_ne + normalizedText: status_code == 404 + occurrence: 0 + testSet: 489 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: classify_response + mutator: relational.eq_to_ne + normalizedText: status_code == 429 + occurrence: 0 + testSet: 490 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: extract_rate_limit_from_headers + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 487 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: extract_rate_limit_from_headers + mutator: literal.str_to_empty + normalizedText: '"x-ratelimit-reset"' + occurrence: 0 + testSet: 487 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: extract_rate_limit_from_headers + mutator: literal.str_to_xyzzy + normalizedText: '"x-ratelimit-reset"' + occurrence: 0 + testSet: 487 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/client.rs + item: extract_rate_limit_from_headers + mutator: option.some_to_none + normalizedText: Some(RateLimitInfo { remaining, reset_at }) + occurrence: 0 + testSet: 487 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: cond.always_false + normalizedText: '!age_seconds.is_finite() || age_seconds < 0.0' + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: cond.always_false + normalizedText: event_at >= cutoffs.days_180 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: cond.always_false + normalizedText: event_at >= cutoffs.days_365 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: cond.always_false + normalizedText: event_at >= cutoffs.days_90 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: cond.always_true + normalizedText: '!age_seconds.is_finite() || age_seconds < 0.0' + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: cond.always_true + normalizedText: event_at >= cutoffs.days_180 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: cond.always_true + normalizedText: event_at >= cutoffs.days_365 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: cond.always_true + normalizedText: event_at >= cutoffs.days_90 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: cond.negate + normalizedText: '!age_seconds.is_finite() || age_seconds < 0.0' + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: cond.negate + normalizedText: event_at >= cutoffs.days_180 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: cond.negate + normalizedText: event_at >= cutoffs.days_365 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: cond.negate + normalizedText: event_at >= cutoffs.days_90 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: fn_value.unit + normalizedText: '{ if !age_seconds.is_finite() || age_seconds < 0.0 { return; } self.all.push(age_seconds); if event_at + >= cutoffs.days_365 { self.days_365.push(age_seconds); if event_at >= cutoffs.days_180 { self.days_180.push(age_seconds); + if event_at >= cutoffs.days_90 { self.days_90.push(age_seconds); } } } }' + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: logical.or_to_and + normalizedText: '!age_seconds.is_finite() || age_seconds < 0.0' + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: relational.ge_to_gt + normalizedText: event_at >= cutoffs.days_180 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: relational.ge_to_gt + normalizedText: event_at >= cutoffs.days_365 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: relational.ge_to_gt + normalizedText: event_at >= cutoffs.days_90 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: relational.ge_to_le + normalizedText: event_at >= cutoffs.days_180 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: relational.ge_to_le + normalizedText: event_at >= cutoffs.days_365 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: relational.ge_to_le + normalizedText: event_at >= cutoffs.days_90 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: relational.lt_to_gt + normalizedText: age_seconds < 0.0 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: relational.lt_to_le + normalizedText: age_seconds < 0.0 + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: stmt.delete_call + normalizedText: self.all.push(age_seconds); + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: stmt.delete_call + normalizedText: self.days_180.push(age_seconds); + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: stmt.delete_call + normalizedText: self.days_365.push(age_seconds); + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: stmt.delete_call + normalizedText: self.days_90.push(age_seconds); + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: AgeBuckets::push + mutator: unary.remove_not + normalizedText: '!age_seconds.is_finite()' + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: cond.always_false + normalizedText: self.throttler.pause_for(wait_duration) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: cond.always_false + normalizedText: should_print_to_tracker(log::log_enabled!(log::Level::Warn)) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: cond.always_true + normalizedText: self.throttler.pause_for(wait_duration) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: cond.always_true + normalizedText: should_print_to_tracker(log::log_enabled!(log::Level::Warn)) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: cond.negate + normalizedText: self.throttler.pause_for(wait_duration) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: cond.negate + normalizedText: should_print_to_tracker(log::log_enabled!(log::Level::Warn)) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: fn_value.unit + normalizedText: '{ let wait_duration = (wait_until - now).to_std().unwrap_or(Duration::ZERO); if self.throttler.pause_for(wait_duration) + { tracker.set_topic_status(TrackedTopic::Repos, TopicStatus::Blocked); let formatted_time = wait_until.with_timezone(&chrono::Local).format("%T").to_string(); + log::warn!(target: LOG_TARGET, "Hit {} rate limit for repository ''{repo_spec}''", host.display_name); if should_print_to_tracker(log::log_enabled!(log::Level::Warn)) + { tracker.println(&format!( "{} rate limit exceeded: Waiting until {formatted_time}...", host.display_name )); } drop(tokio::spawn(Self::report_rate_limit_progress( + Arc::clone(&self.throttler), tracker.clone(), host.display_name, wait_until, formatted_time, Duration::from_mins(1), + ))); } }' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: literal.str_to_empty + normalizedText: '"%T"' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: literal.str_to_xyzzy + normalizedText: '"%T"' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: stmt.delete_call + normalizedText: drop(tokio::spawn(Self::report_rate_limit_progress( Arc::clone(&self.throttler), tracker.clone(), host.display_name, + wait_until, formatted_time, Duration::from_mins(1), ))); + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: stmt.delete_call + normalizedText: 'tracker.println(&format!( "{} rate limit exceeded: Waiting until {formatted_time}...", host.display_name + ));' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::begin_rate_limit_pause + mutator: stmt.delete_call + normalizedText: tracker.set_topic_status(TrackedTopic::Repos, TopicStatus::Blocked); + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::fetch_with_retry + mutator: cond.always_false + normalizedText: should_start_rate_limit_pause(now, wait_until) + occurrence: 0 + testSet: 493 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::fetch_with_retry + mutator: cond.always_true + normalizedText: should_start_rate_limit_pause(now, wait_until) + occurrence: 0 + testSet: 493 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::fetch_with_retry + mutator: cond.negate + normalizedText: should_start_rate_limit_pause(now, wait_until) + occurrence: 0 + testSet: 493 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::fetch_with_retry + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 493 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::fetch_with_retry + mutator: stmt.delete_call + normalizedText: self.begin_rate_limit_pause(host, &repo_spec, tracker, now, wait_until); + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_hosting_data + mutator: match_arm.never_matches + normalizedText: CacheResult::Miss + occurrence: 0 + testSet: 494 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_hosting_data + mutator: stmt.delete_call + normalizedText: unknown_host_crates.push((crate_spec, reason.clone())); + occurrence: 0 + testSet: 494 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: assign.add_to_sub + normalizedText: page_num += 1 + occurrence: 0 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: cond.always_false + normalizedText: page_num > MAX_ISSUE_PAGES + occurrence: 0 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: cond.always_false + normalizedText: self.throttler.is_paused() + occurrence: 0 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: cond.always_true + normalizedText: page_num > MAX_ISSUE_PAGES + occurrence: 0 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: cond.always_true + normalizedText: self.throttler.is_paused() + occurrence: 0 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: cond.negate + normalizedText: page_num > MAX_ISSUE_PAGES + occurrence: 0 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: cond.negate + normalizedText: self.throttler.is_paused() + occurrence: 0 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: literal.str_to_empty + normalizedText: r#"rel="next""# + occurrence: 0 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: literal.str_to_xyzzy + normalizedText: r#"rel="next""# + occurrence: 0 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 496 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: loop.break_to_continue + normalizedText: break + occurrence: 2 + testSet: 497 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 496 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: loop.delete_break + normalizedText: break; + occurrence: 2 + testSet: 497 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: relational.gt_to_ge + normalizedText: page_num > MAX_ISSUE_PAGES + occurrence: 0 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: relational.gt_to_lt + normalizedText: page_num > MAX_ISSUE_PAGES + occurrence: 0 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::get_issues_and_pulls + mutator: stmt.delete_assign + normalizedText: page_num += 1; + occurrence: 0 + testSet: 495 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::rate_limited_result + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 498 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: Provider::report_rate_limit_progress + mutator: fn_value.unit + normalizedText: '{ loop { tokio::time::sleep(progress_interval).await; if !throttler.is_paused() { tracker.set_topic_status(TrackedTopic::Repos, + TopicStatus::Active); log::info!(target: LOG_TARGET, "{display_name} rate limit lifted, resuming requests"); if should_print_to_tracker(log::log_enabled!(log::Level::Info)) + { tracker.println(&format!("{display_name} rate limit lifted, resuming requests")); } break; } let remaining = wait_until + - Utc::now(); let remaining_mins = remaining.num_minutes(); if should_report_remaining_minutes(remaining_mins) { log::info!( + target: LOG_TARGET, "{display_name} rate limit: ~{remaining_mins} minute(s) remaining until {formatted_time}" ); if + should_print_to_tracker(log::log_enabled!(log::Level::Info)) { tracker.println(&format!( "{display_name} rate limit: + ~{remaining_mins} minute(s) remaining until {formatted_time}" )); } } } }' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_issue_family_stats + mutator: cond.always_false + normalizedText: '!issue.is_open' + occurrence: 0 + testSet: 499 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_issue_family_stats + mutator: cond.always_true + normalizedText: '!issue.is_open' + occurrence: 0 + testSet: 499 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_issue_family_stats + mutator: cond.negate + normalizedText: '!issue.is_open' + occurrence: 0 + testSet: 499 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_issue_family_stats + mutator: stmt.delete_call + normalizedText: closed_ages.push((closed_at - issue.created_at).num_seconds() as f64, closed_at, cutoffs); + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_issue_family_stats + mutator: stmt.delete_call + normalizedText: increment_window(&mut closed, closed_at, cutoffs); + occurrence: 0 + testSet: 499 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_issue_family_stats + mutator: unary.remove_not + normalizedText: '!issue.is_open' + occurrence: 0 + testSet: 499 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_labeled_issue_ratio + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 500 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_pull_request_stats + mutator: cond.always_false + normalizedText: pull.is_open + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_pull_request_stats + mutator: cond.always_true + normalizedText: pull.is_open + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_pull_request_stats + mutator: cond.negate + normalizedText: pull.is_open + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_pull_request_stats + mutator: stmt.delete_call + normalizedText: increment_window(&mut closed, closed_at, cutoffs); + occurrence: 0 + testSet: 501 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_pull_request_stats + mutator: stmt.delete_call + normalizedText: increment_window(&mut merged, merged_at, cutoffs); + occurrence: 0 + testSet: 501 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_pull_request_stats + mutator: stmt.delete_call + normalizedText: increment_window(&mut opened, pull.created_at, cutoffs); + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_pull_request_stats + mutator: stmt.delete_call + normalizedText: merged_ages.push((merged_at - pull.created_at).num_seconds() as f64, merged_at, cutoffs); + occurrence: 0 + testSet: 501 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: compute_pull_request_stats + mutator: stmt.delete_call + normalizedText: open_ages.push((now - pull.created_at).num_seconds() as f64); + occurrence: 0 + testSet: 491 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: rate_limit_wait_until + mutator: arith.add_to_sub + normalizedText: now + chrono::Duration::seconds(MAX_RATE_LIMIT_WAIT_SECS.cast_signed()) + occurrence: 0 + testSet: 493 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: rate_limit_wait_until + mutator: fn_value.default + normalizedText: '{ reset_time.min(now + chrono::Duration::seconds(MAX_RATE_LIMIT_WAIT_SECS.cast_signed())) }' + occurrence: 0 + testSet: 493 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: rate_limit_wait_until + mutator: iter.min_to_max + normalizedText: reset_time.min(now + chrono::Duration::seconds(MAX_RATE_LIMIT_WAIT_SECS.cast_signed())) + occurrence: 0 + testSet: 493 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: should_start_rate_limit_pause + mutator: fn_value.bool_false + normalizedText: '{ wait_until > now }' + occurrence: 0 + testSet: 493 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: should_start_rate_limit_pause + mutator: fn_value.bool_true + normalizedText: '{ wait_until > now }' + occurrence: 0 + testSet: 493 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: should_start_rate_limit_pause + mutator: relational.gt_to_ge + normalizedText: wait_until > now + occurrence: 0 + testSet: 493 + - site: + file: crates/cargo-aprz-lib/src/facts/hosting/provider.rs + item: should_start_rate_limit_pause + mutator: relational.gt_to_lt + normalizedText: wait_until > now + occurrence: 0 + testSet: 493 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: ::fmt + mutator: fn_value.ok + normalizedText: '{ write!(f, "{}", self.url) }' + occurrence: 0 + testSet: 502 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: cond.always_false + normalizedText: path_segments.len() < 2 + occurrence: 0 + testSet: 471 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: cond.always_false + normalizedText: path_segments[0].is_empty() || path_segments[1].is_empty() + occurrence: 0 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: cond.always_true + normalizedText: path_segments.len() < 2 + occurrence: 0 + testSet: 471 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: cond.always_true + normalizedText: path_segments[0].is_empty() || path_segments[1].is_empty() + occurrence: 0 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: cond.negate + normalizedText: path_segments.len() < 2 + occurrence: 0 + testSet: 471 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: cond.negate + normalizedText: path_segments[0].is_empty() || path_segments[1].is_empty() + occurrence: 0 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 471 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 471 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 471 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: literal.str_to_empty + normalizedText: '".git"' + occurrence: 0 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: literal.str_to_empty + normalizedText: '"reconstructing repository URL"' + occurrence: 0 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: literal.str_to_xyzzy + normalizedText: '".git"' + occurrence: 0 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: literal.str_to_xyzzy + normalizedText: '"reconstructing repository URL"' + occurrence: 0 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: logical.or_to_and + normalizedText: path_segments[0].is_empty() || path_segments[1].is_empty() + occurrence: 0 + testSet: 503 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: relational.lt_to_gt + normalizedText: path_segments.len() < 2 + occurrence: 0 + testSet: 471 + - site: + file: crates/cargo-aprz-lib/src/facts/repo_spec.rs + item: RepoSpec::parse + mutator: relational.lt_to_le + normalizedText: path_segments.len() < 2 + occurrence: 0 + testSet: 471 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::println + mutator: fn_value.unit + normalizedText: '{ self.progress.println(msg); }' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::println + mutator: stmt.delete_call + normalizedText: self.progress.println(msg); + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: assign.add_to_sub + normalizedText: total_completed += completed + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: assign.add_to_sub + normalizedText: total_issued += issued + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.always_false + normalizedText: '!message.is_empty()' + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.always_false + normalizedText: issued > 0 + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.always_false + normalizedText: message.is_empty() + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.always_false + normalizedText: status == TopicStatus::Blocked as u8 && blink_on + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.always_false + normalizedText: use_colors && status == TopicStatus::Done as u8 + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.always_true + normalizedText: '!message.is_empty()' + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.always_true + normalizedText: issued > 0 + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.always_true + normalizedText: message.is_empty() + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.always_true + normalizedText: status == TopicStatus::Blocked as u8 && blink_on + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.always_true + normalizedText: use_colors && status == TopicStatus::Done as u8 + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.negate + normalizedText: '!message.is_empty()' + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.negate + normalizedText: issued > 0 + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.negate + normalizedText: message.is_empty() + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.negate + normalizedText: status == TopicStatus::Blocked as u8 && blink_on + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: cond.negate + normalizedText: use_colors && status == TopicStatus::Done as u8 + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: fn_value.tuple + normalizedText: '{ let blink_on = use_colors && { let ms = std::time::SystemTime::now() .duration_since(std::time::UNIX_EPOCH) + .unwrap_or_default() .as_millis(); blink_is_on(ms) }; let mut total_issued = 0u64; let mut total_completed = 0u64; + let mut message = String::with_capacity(64); for topic in TrackedTopic::all() { let counter = &counters[topic.index()]; + let issued = counter.issued.load(Ordering::Acquire); let completed = counter.completed.load(Ordering::Acquire); if + issued > 0 { total_issued += issued; total_completed += completed; if !message.is_empty() { message.push_str(", "); + } let status = counter.status.load(Ordering::Acquire); if use_colors && status == TopicStatus::Done as u8 { let text + = format!("{completed}/{issued} {}", topic.name()); let _ = write!(message, "{}", text.green()); } else if status + == TopicStatus::Blocked as u8 && blink_on { let text = format!("{completed}/{issued} {}", topic.name()); let _ = write!(message, + "{}", text.yellow()); } else { let _ = write!(message, "{completed}/{issued} {}", topic.name()); } } } if message.is_empty() + { message.push_str("No requests"); } (total_issued, total_completed, message) }' + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: literal.int_decrement + normalizedText: '64' + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: literal.int_increment + normalizedText: 0u64 + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: literal.int_increment + normalizedText: 0u64 + occurrence: 1 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: literal.int_increment + normalizedText: '64' + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: literal.int_to_one + normalizedText: '64' + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: literal.int_to_zero + normalizedText: '64' + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: logical.and_to_or + normalizedText: status == TopicStatus::Blocked as u8 && blink_on + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: logical.and_to_or + normalizedText: use_colors && status == TopicStatus::Done as u8 + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: logical.and_to_or + normalizedText: use_colors && { let ms = std::time::SystemTime::now() .duration_since(std::time::UNIX_EPOCH) .unwrap_or_default() + .as_millis(); blink_is_on(ms) } + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: relational.eq_to_ne + normalizedText: status == TopicStatus::Blocked as u8 + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: relational.gt_to_ge + normalizedText: issued > 0 + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: relational.gt_to_lt + normalizedText: issued > 0 + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: stmt.delete_assign + normalizedText: total_completed += completed; + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: stmt.delete_assign + normalizedText: total_issued += issued; + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::progress_reporter_callback + mutator: unary.remove_not + normalizedText: '!message.is_empty()' + occurrence: 0 + testSet: 504 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::set_topic_status + mutator: expr.decrement + normalizedText: status as u8 + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::set_topic_status + mutator: expr.increment + normalizedText: status as u8 + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::set_topic_status + mutator: fn_value.unit + normalizedText: '{ self.counters[topic.index()].status.store(status as u8, Ordering::Release); }' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/request_tracker.rs + item: RequestTracker::set_topic_status + mutator: stmt.delete_call + normalizedText: self.counters[topic.index()].status.store(status as u8, Ordering::Release); + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/resilient_http.rs + item: parse_retry_after + mutator: fn_value.none + normalizedText: '{ let s = headers.get(reqwest::header::RETRY_AFTER).and_then(|h| h.to_str().ok())?; parse_retry_after_value(s, + chrono::Utc::now()) }' + occurrence: 0 + testSet: 487 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::acquire + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: arith.add_to_sub + normalizedText: Instant::now() + duration + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: assign_value.default + normalizedText: Some(new_resume_at) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: cond.always_false + normalizedText: guard.is_some_and(|existing| existing + Self::MIN_PAUSE_EXTENSION >= new_resume_at) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: cond.always_false + normalizedText: should_resume + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: cond.always_true + normalizedText: guard.is_some_and(|existing| existing + Self::MIN_PAUSE_EXTENSION >= new_resume_at) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: cond.always_true + normalizedText: should_resume + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: cond.negate + normalizedText: guard.is_some_and(|existing| existing + Self::MIN_PAUSE_EXTENSION >= new_resume_at) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: cond.negate + normalizedText: should_resume + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: fn_value.bool_false + normalizedText: '{ let new_resume_at = Instant::now() + duration; { let mut guard = self.resume_at.lock().expect("lock + not poisoned"); if guard.is_some_and(|existing| existing + Self::MIN_PAUSE_EXTENSION >= new_resume_at) { return false; + } *guard = Some(new_resume_at); self.paused.store(true, Ordering::Release); } let this = Arc::clone(self); drop(tokio::spawn(async + move { tokio::time::sleep(duration).await; let should_resume = Self::try_resume(&this); if should_resume { this.resume.notify_waiters(); + } })); true }' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: fn_value.bool_true + normalizedText: '{ let new_resume_at = Instant::now() + duration; { let mut guard = self.resume_at.lock().expect("lock + not poisoned"); if guard.is_some_and(|existing| existing + Self::MIN_PAUSE_EXTENSION >= new_resume_at) { return false; + } *guard = Some(new_resume_at); self.paused.store(true, Ordering::Release); } let this = Arc::clone(self); drop(tokio::spawn(async + move { tokio::time::sleep(duration).await; let should_resume = Self::try_resume(&this); if should_resume { this.resume.notify_waiters(); + } })); true }' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: option.some_to_none + normalizedText: Some(new_resume_at) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: stmt.delete_assign + normalizedText: '*guard = Some(new_resume_at);' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: stmt.delete_call + normalizedText: drop(tokio::spawn(async move { tokio::time::sleep(duration).await; let should_resume = Self::try_resume(&this); + if should_resume { this.resume.notify_waiters(); } })); + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: stmt.delete_call + normalizedText: self.paused.store(true, Ordering::Release); + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::pause_for + mutator: stmt.delete_call + normalizedText: this.resume.notify_waiters(); + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::try_resume + mutator: assign_value.default + normalizedText: None + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::try_resume + mutator: cond.always_false + normalizedText: guard.is_some_and(|t| Instant::now() >= t) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::try_resume + mutator: cond.always_true + normalizedText: guard.is_some_and(|t| Instant::now() >= t) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::try_resume + mutator: cond.negate + normalizedText: guard.is_some_and(|t| Instant::now() >= t) + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::try_resume + mutator: fn_value.bool_false + normalizedText: '{ let mut guard = this.resume_at.lock().expect("lock not poisoned"); if guard.is_some_and(|t| Instant::now() + >= t) { *guard = None; this.paused.store(false, Ordering::Release); true } else { false } }' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::try_resume + mutator: fn_value.bool_true + normalizedText: '{ let mut guard = this.resume_at.lock().expect("lock not poisoned"); if guard.is_some_and(|t| Instant::now() + >= t) { *guard = None; this.paused.store(false, Ordering::Release); true } else { false } }' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::try_resume + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::try_resume + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::try_resume + mutator: relational.ge_to_gt + normalizedText: Instant::now() >= t + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::try_resume + mutator: relational.ge_to_le + normalizedText: Instant::now() >= t + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::try_resume + mutator: stmt.delete_assign + normalizedText: '*guard = None;' + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/facts/throttler.rs + item: Throttler::try_resume + mutator: stmt.delete_call + normalizedText: this.paused.store(false, Ordering::Release); + occurrence: 0 + testSet: 492 + - site: + file: crates/cargo-aprz-lib/src/lib.rs + item: hash_map_with_capacity + mutator: expr.decrement + normalizedText: capacity + occurrence: 0 + testSet: 505 + - site: + file: crates/cargo-aprz-lib/src/lib.rs + item: hash_set_with_capacity + mutator: expr.decrement + normalizedText: capacity + occurrence: 0 + testSet: 506 + - site: + file: crates/cargo-aprz-lib/src/metrics/metric.rs + item: default_metrics + mutator: fn_value.empty_collection + normalizedText: '{ METRIC_DEFINITIONS .iter() .map(|def| (def.default_value)().map_or_else(|| Metric::new(def), |value| + Metric::with_value(def, value))) }' + occurrence: 0 + testSet: 507 + - site: + file: crates/cargo-aprz-lib/src/metrics/metric.rs + item: flatten + mutator: fn_value.empty_collection + normalizedText: '{ METRIC_DEFINITIONS .iter() .map(|def| (def.extractor)(facts).map_or_else(|| Metric::new(def), |value| + Metric::with_value(def, value))) }' + occurrence: 0 + testSet: 508 + - site: + file: crates/cargo-aprz-lib/src/metrics/metric_def.rs + item: calculate_recent_downloads + mutator: fn_value.one + normalizedText: '{ monthly_downloads.iter().map(|(_, count)| count).sum() }' + occurrence: 0 + testSet: 509 + - site: + file: crates/cargo-aprz-lib/src/metrics/metric_def.rs + item: calculate_recent_downloads + mutator: fn_value.zero + normalizedText: '{ monthly_downloads.iter().map(|(_, count)| count).sum() }' + occurrence: 0 + testSet: 509 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: as fmt::Display>::fmt + mutator: fn_value.ok + normalizedText: '{ write!(f, "{} {}", outcome_icon(self.0), self.0.name)?; match &self.0.disposition { ExpressionDisposition::True + => {} ExpressionDisposition::False => write!(f, ": {}", self.0.description)?, ExpressionDisposition::Failed(reason) + => { write!(f, ": {} (failure to evaluate: {reason})", self.0.description)?; } } Ok(()) }' + occurrence: 0 + testSet: 510 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: as fmt::Display>::fmt + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 510 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: build_metric_lookup_maps + mutator: fn_value.empty_collection + normalizedText: '{ crates.iter().map(|c| c.metrics.iter().map(|m| (m.name(), m)).collect()).collect() }' + occurrence: 0 + testSet: 506 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details + mutator: fn_value.empty_string + normalizedText: '{ format_appraisal_details_with_separator(appraisal, "; ") }' + occurrence: 0 + testSet: 511 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details + mutator: fn_value.xyzzy_string + normalizedText: '{ format_appraisal_details_with_separator(appraisal, "; ") }' + occurrence: 0 + testSet: 511 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details + mutator: literal.str_to_empty + normalizedText: '"; "' + occurrence: 0 + testSet: 511 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details + mutator: literal.str_to_xyzzy + normalizedText: '"; "' + occurrence: 0 + testSet: 511 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: cond.always_false + normalizedText: appraisal.is_required_check_failure() + occurrence: 0 + testSet: 512 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: cond.always_false + normalizedText: appraisal.is_weighted_evaluation_failure() + occurrence: 0 + testSet: 513 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: cond.always_false + normalizedText: inconclusive == 1 + occurrence: 0 + testSet: 514 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: cond.always_true + normalizedText: appraisal.is_required_check_failure() + occurrence: 0 + testSet: 512 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: cond.always_true + normalizedText: appraisal.is_weighted_evaluation_failure() + occurrence: 0 + testSet: 513 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: cond.always_true + normalizedText: inconclusive == 1 + occurrence: 0 + testSet: 514 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: cond.negate + normalizedText: appraisal.is_required_check_failure() + occurrence: 0 + testSet: 512 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: cond.negate + normalizedText: appraisal.is_weighted_evaluation_failure() + occurrence: 0 + testSet: 513 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: cond.negate + normalizedText: inconclusive == 1 + occurrence: 0 + testSet: 514 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: expr.decrement + normalizedText: failed + occurrence: 0 + testSet: 515 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: expr.decrement + normalizedText: inconclusive + occurrence: 0 + testSet: 515 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: expr.increment + normalizedText: failed + occurrence: 0 + testSet: 515 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: expr.increment + normalizedText: inconclusive + occurrence: 0 + testSet: 515 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: fn_value.empty_string + normalizedText: '{ if appraisal.is_required_check_failure() { let (failed, inconclusive) = required_check_counts(appraisal); + let summary = required_check_summary(failed, inconclusive); return format!("{summary}{separator}weighted score not + calculated"); } if appraisal.is_weighted_evaluation_failure() { let inconclusive = appraisal .expression_outcomes + .iter() .filter(|outcome| matches!(outcome.disposition, ExpressionDisposition::Failed(_))) .count(); let summary = + if inconclusive == 1 { "1 weighted check inconclusive".to_string() } else { format!("{inconclusive} weighted checks + inconclusive") }; return format!("{summary}{separator}weighted score not calculated"); } let (awarded_points, available_points) + = appraisal.point_totals().expect("scored appraisals have point totals"); format!( "score = {:.0}, awarded points + = {}, available points = {}", appraisal.weighted_score().expect("scored appraisals have a weighted score"), awarded_points, + available_points, ) }' + occurrence: 0 + testSet: 512 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: fn_value.xyzzy_string + normalizedText: '{ if appraisal.is_required_check_failure() { let (failed, inconclusive) = required_check_counts(appraisal); + let summary = required_check_summary(failed, inconclusive); return format!("{summary}{separator}weighted score not + calculated"); } if appraisal.is_weighted_evaluation_failure() { let inconclusive = appraisal .expression_outcomes + .iter() .filter(|outcome| matches!(outcome.disposition, ExpressionDisposition::Failed(_))) .count(); let summary = + if inconclusive == 1 { "1 weighted check inconclusive".to_string() } else { format!("{inconclusive} weighted checks + inconclusive") }; return format!("{summary}{separator}weighted score not calculated"); } let (awarded_points, available_points) + = appraisal.point_totals().expect("scored appraisals have point totals"); format!( "score = {:.0}, awarded points + = {}, available points = {}", appraisal.weighted_score().expect("scored appraisals have a weighted score"), awarded_points, + available_points, ) }' + occurrence: 0 + testSet: 512 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 514 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 514 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: literal.str_to_empty + normalizedText: '"1 weighted check inconclusive"' + occurrence: 0 + testSet: 516 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: literal.str_to_xyzzy + normalizedText: '"1 weighted check inconclusive"' + occurrence: 0 + testSet: 516 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_details_with_separator + mutator: relational.eq_to_ne + normalizedText: inconclusive == 1 + occurrence: 0 + testSet: 514 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_status + mutator: fn_value.empty_string + normalizedText: '{ format!("{} ({})", format_risk_status(appraisal.risk()), format_appraisal_details(appraisal)) }' + occurrence: 0 + testSet: 517 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_appraisal_status + mutator: fn_value.xyzzy_string + normalizedText: '{ format!("{} ({})", format_risk_status(appraisal.risk()), format_appraisal_details(appraisal)) }' + occurrence: 0 + testSet: 517 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: cond.always_false + normalizedText: i > 0 + occurrence: 0 + testSet: 518 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: cond.always_false + normalizedText: value.is_empty() + occurrence: 0 + testSet: 519 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: cond.always_true + normalizedText: i > 0 + occurrence: 0 + testSet: 518 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: cond.always_true + normalizedText: value.is_empty() + occurrence: 0 + testSet: 519 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: cond.negate + normalizedText: i > 0 + occurrence: 0 + testSet: 518 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: cond.negate + normalizedText: value.is_empty() + occurrence: 0 + testSet: 519 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: fn_value.empty_string + normalizedText: '{ if value.is_empty() { return String::new(); } let mut result = String::new(); for (i, item) in value.split('','').enumerate() + { if i > 0 { result.push_str(", "); } result.push(''#''); result.push_str(item.trim()); } result }' + occurrence: 0 + testSet: 519 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: fn_value.xyzzy_string + normalizedText: '{ if value.is_empty() { return String::new(); } let mut result = String::new(); for (i, item) in value.split('','').enumerate() + { if i > 0 { result.push_str(", "); } result.push(''#''); result.push_str(item.trim()); } result }' + occurrence: 0 + testSet: 519 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 518 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: literal.str_to_empty + normalizedText: '", "' + occurrence: 0 + testSet: 518 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: literal.str_to_xyzzy + normalizedText: '", "' + occurrence: 0 + testSet: 518 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: relational.gt_to_ge + normalizedText: i > 0 + occurrence: 0 + testSet: 518 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: relational.gt_to_lt + normalizedText: i > 0 + occurrence: 0 + testSet: 518 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: stmt.delete_call + normalizedText: result.push('#'); + occurrence: 0 + testSet: 518 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: stmt.delete_call + normalizedText: result.push_str(", "); + occurrence: 0 + testSet: 518 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_keywords_or_categories_with_prefix + mutator: stmt.delete_call + normalizedText: result.push_str(item.trim()); + occurrence: 0 + testSet: 518 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_metric_value + mutator: fn_value.empty_string + normalizedText: '{ let mut buf = String::new(); write_metric_value(&mut buf, value); buf }' + occurrence: 0 + testSet: 520 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_metric_value + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut buf = String::new(); write_metric_value(&mut buf, value); buf }' + occurrence: 0 + testSet: 520 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: format_metric_value + mutator: stmt.delete_call + normalizedText: write_metric_value(&mut buf, value); + occurrence: 0 + testSet: 520 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_all_metrics_by_category + mutator: cond.always_false + normalizedText: seen.insert(metric.name()) + occurrence: 0 + testSet: 521 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_all_metrics_by_category + mutator: cond.always_true + normalizedText: seen.insert(metric.name()) + occurrence: 0 + testSet: 521 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_all_metrics_by_category + mutator: cond.negate + normalizedText: seen.insert(metric.name()) + occurrence: 0 + testSet: 521 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_all_metrics_by_category + mutator: literal.int_decrement + normalizedText: '128' + occurrence: 0 + testSet: 506 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_all_metrics_by_category + mutator: literal.int_decrement + normalizedText: '16' + occurrence: 0 + testSet: 506 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_all_metrics_by_category + mutator: literal.int_increment + normalizedText: '128' + occurrence: 0 + testSet: 506 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_all_metrics_by_category + mutator: literal.int_increment + normalizedText: '16' + occurrence: 0 + testSet: 506 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_all_metrics_by_category + mutator: literal.int_to_one + normalizedText: '128' + occurrence: 0 + testSet: 506 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_all_metrics_by_category + mutator: literal.int_to_one + normalizedText: '16' + occurrence: 0 + testSet: 506 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_all_metrics_by_category + mutator: literal.int_to_zero + normalizedText: '128' + occurrence: 0 + testSet: 506 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_all_metrics_by_category + mutator: literal.int_to_zero + normalizedText: '16' + occurrence: 0 + testSet: 506 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_all_metrics_by_category + mutator: stmt.delete_call + normalizedText: metrics_by_category.entry(metric.category()).or_default().push(metric.name()); + occurrence: 0 + testSet: 521 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_metrics_by_category + mutator: expr.decrement + normalizedText: metrics.len().min(16) + occurrence: 0 + testSet: 522 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_metrics_by_category + mutator: expr.increment + normalizedText: metrics.len().min(16) + occurrence: 0 + testSet: 522 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_metrics_by_category + mutator: iter.min_to_max + normalizedText: metrics.len().min(16) + occurrence: 0 + testSet: 522 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_metrics_by_category + mutator: literal.int_decrement + normalizedText: '16' + occurrence: 0 + testSet: 522 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_metrics_by_category + mutator: literal.int_increment + normalizedText: '16' + occurrence: 0 + testSet: 522 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_metrics_by_category + mutator: literal.int_to_one + normalizedText: '16' + occurrence: 0 + testSet: 522 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_metrics_by_category + mutator: literal.int_to_zero + normalizedText: '16' + occurrence: 0 + testSet: 522 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: group_metrics_by_category + mutator: stmt.delete_call + normalizedText: metrics_by_category.entry(metric.category()).or_default().push(metric.name()); + occurrence: 0 + testSet: 523 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_categories_metric + mutator: fn_value.bool_false + normalizedText: '{ metric_name.to_lowercase().contains("categor") }' + occurrence: 0 + testSet: 524 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_categories_metric + mutator: fn_value.bool_true + normalizedText: '{ metric_name.to_lowercase().contains("categor") }' + occurrence: 0 + testSet: 524 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_categories_metric + mutator: literal.str_to_empty + normalizedText: '"categor"' + occurrence: 0 + testSet: 524 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_categories_metric + mutator: literal.str_to_xyzzy + normalizedText: '"categor"' + occurrence: 0 + testSet: 524 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_categories_metric + mutator: string.lower_to_upper + normalizedText: metric_name.to_lowercase() + occurrence: 0 + testSet: 524 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_crate_name_metric + mutator: fn_value.bool_false + normalizedText: '{ metric_name == "crate.name" }' + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_crate_name_metric + mutator: fn_value.bool_true + normalizedText: '{ metric_name == "crate.name" }' + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_crate_name_metric + mutator: literal.str_to_empty + normalizedText: '"crate.name"' + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_crate_name_metric + mutator: literal.str_to_xyzzy + normalizedText: '"crate.name"' + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_crate_name_metric + mutator: relational.eq_to_ne + normalizedText: metric_name == "crate.name" + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_keywords_metric + mutator: fn_value.bool_false + normalizedText: '{ metric_name.to_lowercase().contains("keyword") }' + occurrence: 0 + testSet: 526 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_keywords_metric + mutator: fn_value.bool_true + normalizedText: '{ metric_name.to_lowercase().contains("keyword") }' + occurrence: 0 + testSet: 526 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_keywords_metric + mutator: literal.str_to_empty + normalizedText: '"keyword"' + occurrence: 0 + testSet: 526 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_keywords_metric + mutator: literal.str_to_xyzzy + normalizedText: '"keyword"' + occurrence: 0 + testSet: 526 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_keywords_metric + mutator: string.lower_to_upper + normalizedText: metric_name.to_lowercase() + occurrence: 0 + testSet: 526 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_url + mutator: fn_value.bool_false + normalizedText: '{ s.starts_with("http://") || s.starts_with("https://") }' + occurrence: 0 + testSet: 527 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_url + mutator: fn_value.bool_true + normalizedText: '{ s.starts_with("http://") || s.starts_with("https://") }' + occurrence: 0 + testSet: 527 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_url + mutator: literal.str_to_empty + normalizedText: '"http://"' + occurrence: 0 + testSet: 527 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_url + mutator: literal.str_to_empty + normalizedText: '"https://"' + occurrence: 0 + testSet: 527 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_url + mutator: literal.str_to_xyzzy + normalizedText: '"http://"' + occurrence: 0 + testSet: 527 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_url + mutator: literal.str_to_xyzzy + normalizedText: '"https://"' + occurrence: 0 + testSet: 527 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_url + mutator: logical.or_to_and + normalizedText: s.starts_with("http://") || s.starts_with("https://") + occurrence: 0 + testSet: 527 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_url + mutator: string.starts_with_to_ends_with + normalizedText: s.starts_with("http://") + occurrence: 0 + testSet: 527 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: is_url + mutator: string.starts_with_to_ends_with + normalizedText: s.starts_with("https://") + occurrence: 0 + testSet: 527 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: join_with + mutator: cond.always_false + normalizedText: i > 0 + occurrence: 0 + testSet: 528 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: join_with + mutator: cond.always_true + normalizedText: i > 0 + occurrence: 0 + testSet: 528 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: join_with + mutator: cond.negate + normalizedText: i > 0 + occurrence: 0 + testSet: 528 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: join_with + mutator: fn_value.empty_string + normalizedText: '{ use core::fmt::Write; let mut result = String::new(); for (i, item) in iter.into_iter().enumerate() + { if i > 0 { result.push_str(sep); } let _ = write!(result, "{item}"); } result }' + occurrence: 0 + testSet: 528 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: join_with + mutator: fn_value.xyzzy_string + normalizedText: '{ use core::fmt::Write; let mut result = String::new(); for (i, item) in iter.into_iter().enumerate() + { if i > 0 { result.push_str(sep); } let _ = write!(result, "{item}"); } result }' + occurrence: 0 + testSet: 528 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: join_with + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 528 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: join_with + mutator: relational.gt_to_ge + normalizedText: i > 0 + occurrence: 0 + testSet: 528 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: join_with + mutator: relational.gt_to_lt + normalizedText: i > 0 + occurrence: 0 + testSet: 528 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: join_with + mutator: stmt.delete_call + normalizedText: result.push_str(sep); + occurrence: 0 + testSet: 529 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: arith.add_to_mul + normalizedText: failed + 1 + occurrence: 0 + testSet: 530 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: arith.add_to_mul + normalizedText: inconclusive + 1 + occurrence: 0 + testSet: 531 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: arith.add_to_sub + normalizedText: failed + 1 + occurrence: 0 + testSet: 530 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: arith.add_to_sub + normalizedText: inconclusive + 1 + occurrence: 0 + testSet: 531 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: cond.always_false + normalizedText: '!appraisal.is_required_check_failure()' + occurrence: 0 + testSet: 532 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: cond.always_true + normalizedText: '!appraisal.is_required_check_failure()' + occurrence: 0 + testSet: 532 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: cond.negate + normalizedText: '!appraisal.is_required_check_failure()' + occurrence: 0 + testSet: 532 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: fn_value.tuple + normalizedText: '{ if !appraisal.is_required_check_failure() { return (0, 0); } appraisal .expression_outcomes .iter() + .fold((0, 0), |(failed, inconclusive), outcome| match &outcome.disposition { ExpressionDisposition::False => (failed + + 1, inconclusive), ExpressionDisposition::Failed(_) => (failed, inconclusive + 1), ExpressionDisposition::True => + (failed, inconclusive), }) }' + occurrence: 0 + testSet: 532 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 530 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 531 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 533 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 533 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 515 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 515 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 530 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 531 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_counts + mutator: unary.remove_not + normalizedText: '!appraisal.is_required_check_failure()' + occurrence: 0 + testSet: 532 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_summary + mutator: fn_value.empty_string + normalizedText: '{ match (failed, inconclusive) { (0, 0) => "required check failed (details unavailable)".to_string(), + (0, 1) => "1 required check inconclusive".to_string(), (0, count) => format!("{count} required checks inconclusive"), + (1, 0) => "1 required check failed".to_string(), (count, 0) => format!("{count} required checks failed"), (1, inconclusive) + => format!("1 required check failed, {inconclusive} inconclusive"), (failed, inconclusive) => format!("{failed} required + checks failed, {inconclusive} inconclusive"), } }' + occurrence: 0 + testSet: 534 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_summary + mutator: fn_value.xyzzy_string + normalizedText: '{ match (failed, inconclusive) { (0, 0) => "required check failed (details unavailable)".to_string(), + (0, 1) => "1 required check inconclusive".to_string(), (0, count) => format!("{count} required checks inconclusive"), + (1, 0) => "1 required check failed".to_string(), (count, 0) => format!("{count} required checks failed"), (1, inconclusive) + => format!("1 required check failed, {inconclusive} inconclusive"), (failed, inconclusive) => format!("{failed} required + checks failed, {inconclusive} inconclusive"), } }' + occurrence: 0 + testSet: 534 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_summary + mutator: literal.str_to_empty + normalizedText: '"1 required check failed"' + occurrence: 0 + testSet: 535 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_summary + mutator: literal.str_to_empty + normalizedText: '"1 required check inconclusive"' + occurrence: 0 + testSet: 536 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_summary + mutator: literal.str_to_empty + normalizedText: '"required check failed (details unavailable)"' + occurrence: 0 + testSet: 537 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_summary + mutator: literal.str_to_xyzzy + normalizedText: '"1 required check failed"' + occurrence: 0 + testSet: 535 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_summary + mutator: literal.str_to_xyzzy + normalizedText: '"1 required check inconclusive"' + occurrence: 0 + testSet: 536 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: required_check_summary + mutator: literal.str_to_xyzzy + normalizedText: '"required check failed (details unavailable)"' + occurrence: 0 + testSet: 537 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: write_metric_value + mutator: cond.always_false + normalizedText: i > 0 + occurrence: 0 + testSet: 538 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: write_metric_value + mutator: cond.always_true + normalizedText: i > 0 + occurrence: 0 + testSet: 538 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: write_metric_value + mutator: cond.negate + normalizedText: i > 0 + occurrence: 0 + testSet: 538 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: write_metric_value + mutator: fn_value.unit + normalizedText: '{ use core::fmt::Write; match value { MetricValue::UInt(u) => { let _ = write!(buf, "{u}"); } MetricValue::Float(f) + => { let _ = write!(buf, "{f:.2}"); } MetricValue::Boolean(b) => { let _ = write!(buf, "{b}"); } MetricValue::String(s) + => buf.push_str(s), MetricValue::DateTime(dt) => { let _ = write!(buf, "{}", dt.format("%Y-%m-%d")); } MetricValue::List(values) + => { for (i, value) in values.iter().enumerate() { if i > 0 { buf.push_str(", "); } write_metric_value(buf, value); + } } } }' + occurrence: 0 + testSet: 539 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: write_metric_value + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 538 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: write_metric_value + mutator: literal.str_to_empty + normalizedText: '", "' + occurrence: 0 + testSet: 538 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: write_metric_value + mutator: literal.str_to_xyzzy + normalizedText: '", "' + occurrence: 0 + testSet: 538 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: write_metric_value + mutator: relational.gt_to_ge + normalizedText: i > 0 + occurrence: 0 + testSet: 538 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: write_metric_value + mutator: relational.gt_to_lt + normalizedText: i > 0 + occurrence: 0 + testSet: 538 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: write_metric_value + mutator: stmt.delete_call + normalizedText: buf.push_str(", "); + occurrence: 0 + testSet: 538 + - site: + file: crates/cargo-aprz-lib/src/reports/common.rs + item: write_metric_value + mutator: stmt.delete_call + normalizedText: write_metric_value(buf, value); + occurrence: 0 + testSet: 538 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: arith.add_to_mul + normalizedText: 2 + max_name_len + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: arith.add_to_mul + normalizedText: 2 + max_name_len + 3 + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: arith.add_to_sub + normalizedText: 2 + max_name_len + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: arith.add_to_sub + normalizedText: 2 + max_name_len + 3 + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.always_false + normalizedText: '!mode.metrics' + occurrence: 0 + testSet: 541 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.always_false + normalizedText: index > 0 && (mode.metrics || mode.reasons) + occurrence: 0 + testSet: 541 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.always_false + normalizedText: mode.appraisal + occurrence: 0 + testSet: 541 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.always_false + normalizedText: mode.reasons + occurrence: 0 + testSet: 542 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.always_false + normalizedText: use_colors + occurrence: 0 + testSet: 542 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.always_false + normalizedText: use_colors + occurrence: 1 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.always_true + normalizedText: '!mode.metrics' + occurrence: 0 + testSet: 541 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.always_true + normalizedText: index > 0 && (mode.metrics || mode.reasons) + occurrence: 0 + testSet: 541 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.always_true + normalizedText: mode.appraisal + occurrence: 0 + testSet: 541 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.always_true + normalizedText: mode.reasons + occurrence: 0 + testSet: 542 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.always_true + normalizedText: use_colors + occurrence: 0 + testSet: 542 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.always_true + normalizedText: use_colors + occurrence: 1 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.negate + normalizedText: '!mode.metrics' + occurrence: 0 + testSet: 541 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.negate + normalizedText: index > 0 && (mode.metrics || mode.reasons) + occurrence: 0 + testSet: 541 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.negate + normalizedText: mode.appraisal + occurrence: 0 + testSet: 541 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.negate + normalizedText: mode.reasons + occurrence: 0 + testSet: 542 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.negate + normalizedText: use_colors + occurrence: 0 + testSet: 542 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: cond.negate + normalizedText: use_colors + occurrence: 1 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: expr.decrement + normalizedText: value_indent + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: expr.increment + normalizedText: value_indent + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: fn_value.ok + normalizedText: '{ for (index, crate_info) in crates.iter().enumerate() { if index > 0 && (mode.metrics || mode.reasons) + { writeln!(writer)?; writeln!(writer, "═══════════════════════════════════════")?; writeln!(writer)?; } if mode.appraisal + { if let Some(eval) = &crate_info.appraisal { let status_str = common::format_appraisal_status(eval); let colored_status: + Cow<''_, str> = if use_colors { match eval.risk() { Risk::Low => status_str.green().bold().to_string().into(), Risk::Medium + => status_str.yellow().bold().to_string().into(), Risk::High => status_str.red().bold().to_string().into(), } } else + { Cow::Owned(status_str) }; writeln!( writer, "{} v{} is appraised as {colored_status}", crate_info.name, crate_info.version + )?; if mode.reasons { for outcome in &eval.expression_outcomes { writeln!(writer, " {}", common::outcome_icon_name(outcome))?; + } } } else { writeln!(writer, "{} v{} was not appraised", crate_info.name, crate_info.version)?; } } if !mode.metrics + { continue; } let metric_map: HashMap<&str, &Metric> = crate_info.metrics.iter().map(|m| (m.name(), m)).collect(); + let metrics_by_category = common::group_metrics_by_category(&crate_info.metrics); for category in MetricCategory::iter() + { if let Some(metric_names) = metrics_by_category.get(&category) { writeln!(writer)?; if use_colors { let category_str + = category.to_string(); writeln!(writer, "{}", category_str.bold())?; } else { writeln!(writer, "{category}")?; } + let max_name_len = metric_names.iter().map(|name| name.len()).max().unwrap_or(0); let term_width = get_terminal_width(); + let value_indent = 2 + max_name_len + 3; for &metric_name in metric_names { let &metric = metric_map .get(metric_name) + .expect("metric_names was grouped from the very metrics that metric_map indexes, so every name resolves"); let formatted_value: + Cow<''_, str> = metric .value .as_ref() .map_or(Cow::Borrowed("n/a"), |v| Cow::Owned(common::format_metric_value(v))); + let wrapped_lines = wrap_text(&formatted_value, term_width, value_indent); let first_line = wrapped_lines .first() + .expect("wrap_text always emits at least one line, even for empty input"); writeln!(writer, " {: 0 && (mode.metrics || mode.reasons) + occurrence: 0 + testSet: 541 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: logical.or_to_and + normalizedText: mode.metrics || mode.reasons + occurrence: 0 + testSet: 544 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 545 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 545 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: relational.gt_to_ge + normalizedText: index > 0 + occurrence: 0 + testSet: 541 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: relational.gt_to_lt + normalizedText: index > 0 + occurrence: 0 + testSet: 541 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: generate + mutator: unary.remove_not + normalizedText: '!mode.metrics' + occurrence: 0 + testSet: 541 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: get_terminal_width + mutator: expr.decrement + normalizedText: terminal_size().map_or(80, |(Width(w), _)| w as usize) + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: get_terminal_width + mutator: expr.increment + normalizedText: terminal_size().map_or(80, |(Width(w), _)| w as usize) + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: get_terminal_width + mutator: fn_value.one + normalizedText: '{ terminal_size().map_or(80, |(Width(w), _)| w as usize) }' + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: get_terminal_width + mutator: fn_value.zero + normalizedText: '{ terminal_size().map_or(80, |(Width(w), _)| w as usize) }' + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: get_terminal_width + mutator: literal.int_decrement + normalizedText: '80' + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: get_terminal_width + mutator: literal.int_increment + normalizedText: '80' + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: get_terminal_width + mutator: literal.int_to_one + normalizedText: '80' + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: get_terminal_width + mutator: literal.int_to_zero + normalizedText: '80' + occurrence: 0 + testSet: 540 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: arith.add_to_mul + normalizedText: indent + current_line.len() + occurrence: 0 + testSet: 546 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: arith.add_to_mul + normalizedText: line_width + separator_len + occurrence: 0 + testSet: 547 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: arith.add_to_mul + normalizedText: line_width + separator_len + word_len + occurrence: 0 + testSet: 547 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: arith.add_to_sub + normalizedText: indent + current_line.len() + occurrence: 0 + testSet: 546 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: arith.add_to_sub + normalizedText: line_width + separator_len + occurrence: 0 + testSet: 547 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: arith.add_to_sub + normalizedText: line_width + separator_len + word_len + occurrence: 0 + testSet: 547 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: assign_value.default + normalizedText: 'false' + occurrence: 0 + testSet: 546 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: assign_value.default + normalizedText: word.to_string() + occurrence: 0 + testSet: 546 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_false + normalizedText: '!current_line.is_empty()' + occurrence: 0 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_false + normalizedText: '!current_line.is_empty() && line_width + separator_len + word_len > width' + occurrence: 0 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_false + normalizedText: is_first_line + occurrence: 0 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_false + normalizedText: is_first_line + occurrence: 1 + testSet: 546 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_false + normalizedText: is_first_line + occurrence: 2 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_false + normalizedText: lines.is_empty() + occurrence: 0 + testSet: 549 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_false + normalizedText: width <= indent + occurrence: 0 + testSet: 550 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_true + normalizedText: '!current_line.is_empty()' + occurrence: 0 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_true + normalizedText: '!current_line.is_empty() && line_width + separator_len + word_len > width' + occurrence: 0 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_true + normalizedText: is_first_line + occurrence: 0 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_true + normalizedText: is_first_line + occurrence: 1 + testSet: 546 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_true + normalizedText: is_first_line + occurrence: 2 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_true + normalizedText: lines.is_empty() + occurrence: 0 + testSet: 549 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.always_true + normalizedText: width <= indent + occurrence: 0 + testSet: 550 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.negate + normalizedText: '!current_line.is_empty()' + occurrence: 0 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.negate + normalizedText: '!current_line.is_empty() && line_width + separator_len + word_len > width' + occurrence: 0 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.negate + normalizedText: is_first_line + occurrence: 0 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.negate + normalizedText: is_first_line + occurrence: 1 + testSet: 546 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.negate + normalizedText: is_first_line + occurrence: 2 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.negate + normalizedText: lines.is_empty() + occurrence: 0 + testSet: 549 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: cond.negate + normalizedText: width <= indent + occurrence: 0 + testSet: 550 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 546 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 549 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: logical.and_to_or + normalizedText: '!current_line.is_empty() && line_width + separator_len + word_len > width' + occurrence: 0 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: relational.gt_to_ge + normalizedText: line_width + separator_len + word_len > width + occurrence: 0 + testSet: 547 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: relational.gt_to_lt + normalizedText: line_width + separator_len + word_len > width + occurrence: 0 + testSet: 547 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: relational.le_to_ge + normalizedText: width <= indent + occurrence: 0 + testSet: 550 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: relational.le_to_lt + normalizedText: width <= indent + occurrence: 0 + testSet: 550 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: stmt.delete_call + normalizedText: lines.push(String::new()); + occurrence: 0 + testSet: 551 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: stmt.delete_call + normalizedText: lines.push(current_line); + occurrence: 1 + testSet: 552 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: stmt.delete_call + normalizedText: lines.push(format!("{:indent$}{}", "", current_line, indent = indent)); + occurrence: 1 + testSet: 546 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: unary.remove_not + normalizedText: '!current_line.is_empty()' + occurrence: 0 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: unary.remove_not + normalizedText: '!current_line.is_empty()' + occurrence: 1 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/console.rs + item: wrap_text + mutator: unary.remove_not + normalizedText: '!current_line.is_empty()' + occurrence: 2 + testSet: 548 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 553 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: assign_value.default + normalizedText: 'true' + occurrence: 1 + testSet: 553 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: assign_value.default + normalizedText: 'true' + occurrence: 2 + testSet: 554 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: cond.always_false + normalizedText: b == b'"' + occurrence: 0 + testSet: 555 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: cond.always_false + normalizedText: has_quote + occurrence: 0 + testSet: 556 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: cond.always_false + normalizedText: matches!(b, b',' | b'\n' | b'\r') + occurrence: 0 + testSet: 555 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: cond.always_false + normalizedText: needs_quoting + occurrence: 0 + testSet: 557 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: cond.always_true + normalizedText: b == b'"' + occurrence: 0 + testSet: 555 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: cond.always_true + normalizedText: has_quote + occurrence: 0 + testSet: 556 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: cond.always_true + normalizedText: matches!(b, b',' | b'\n' | b'\r') + occurrence: 0 + testSet: 555 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: cond.always_true + normalizedText: needs_quoting + occurrence: 0 + testSet: 557 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: cond.negate + normalizedText: b == b'"' + occurrence: 0 + testSet: 555 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: cond.negate + normalizedText: has_quote + occurrence: 0 + testSet: 556 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: cond.negate + normalizedText: matches!(b, b',' | b'\n' | b'\r') + occurrence: 0 + testSet: 555 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: cond.negate + normalizedText: needs_quoting + occurrence: 0 + testSet: 557 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: fn_value.default + normalizedText: '{ let mut needs_quoting = false; let mut has_quote = false; for &b in s.as_bytes() { if b == b''"'' + { has_quote = true; needs_quoting = true; } else if matches!(b, b'','' | b''\n'' | b''\r'') { needs_quoting = true; + } } if has_quote { Cow::Owned(format!("\"{}\"", s.replace(''"'', "\"\""))) } else if needs_quoting { Cow::Owned(format!("\"{s}\"")) + } else { Cow::Borrowed(s) } }' + occurrence: 0 + testSet: 556 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 556 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 556 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 553 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 553 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 2 + testSet: 554 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: relational.eq_to_ne + normalizedText: b == b'"' + occurrence: 0 + testSet: 555 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: stmt.delete_assign + normalizedText: has_quote = true; + occurrence: 0 + testSet: 553 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: stmt.delete_assign + normalizedText: needs_quoting = true; + occurrence: 0 + testSet: 553 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv + mutator: stmt.delete_assign + normalizedText: needs_quoting = true; + occurrence: 1 + testSet: 554 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv_untrusted + mutator: arith.add_to_mul + normalizedText: s.len() + 1 + occurrence: 0 + testSet: 558 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv_untrusted + mutator: arith.add_to_sub + normalizedText: s.len() + 1 + occurrence: 0 + testSet: 558 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv_untrusted + mutator: cond.always_false + normalizedText: s.trim_start().starts_with(['=', '+', '-', '@']) + occurrence: 0 + testSet: 559 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv_untrusted + mutator: cond.always_true + normalizedText: s.trim_start().starts_with(['=', '+', '-', '@']) + occurrence: 0 + testSet: 559 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv_untrusted + mutator: cond.negate + normalizedText: s.trim_start().starts_with(['=', '+', '-', '@']) + occurrence: 0 + testSet: 559 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv_untrusted + mutator: fn_value.default + normalizedText: '{ if s.trim_start().starts_with([''='', ''+'', ''-'', ''@'']) { let mut neutralized = String::with_capacity(s.len() + + 1); neutralized.push(''\''''); neutralized.push_str(s); Cow::Owned(escape_csv(&neutralized).into_owned()) } else + { escape_csv(s) } }' + occurrence: 0 + testSet: 559 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv_untrusted + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 558 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv_untrusted + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 558 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv_untrusted + mutator: stmt.delete_call + normalizedText: neutralized.push('\''); + occurrence: 0 + testSet: 558 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv_untrusted + mutator: stmt.delete_call + normalizedText: neutralized.push_str(s); + occurrence: 0 + testSet: 558 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv_untrusted + mutator: string.starts_with_to_ends_with + normalizedText: s.trim_start().starts_with(['=', '+', '-', '@']) + occurrence: 0 + testSet: 559 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: escape_csv_untrusted + mutator: string.trim_start_to_trim_end + normalizedText: s.trim_start() + occurrence: 0 + testSet: 559 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate + mutator: fn_value.ok + normalizedText: '{ let ctx = ReportContext::new(crates); generate_with_context(crates, &ctx, writer) }' + occurrence: 0 + testSet: 560 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate_with_context + mutator: cond.always_false + normalizedText: has_appraisals + occurrence: 0 + testSet: 560 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate_with_context + mutator: cond.always_false + normalizedText: is_textual_metric_value(value) + occurrence: 0 + testSet: 561 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate_with_context + mutator: cond.always_true + normalizedText: has_appraisals + occurrence: 0 + testSet: 560 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate_with_context + mutator: cond.always_true + normalizedText: is_textual_metric_value(value) + occurrence: 0 + testSet: 561 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate_with_context + mutator: cond.negate + normalizedText: has_appraisals + occurrence: 0 + testSet: 560 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate_with_context + mutator: cond.negate + normalizedText: is_textual_metric_value(value) + occurrence: 0 + testSet: 561 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate_with_context + mutator: fn_value.ok + normalizedText: '{ write!(writer, "Metric")?; for crate_info in crates { write!( writer, ",{}", escape_csv_untrusted(&format!("{} + v{}", crate_info.name, crate_info.version)) )?; } writeln!(writer)?; let has_appraisals = crates.iter().any(|c| c.appraisal.is_some()); + if has_appraisals { write!(writer, "Appraisals")?; for crate_info in crates { if let Some(eval) = &crate_info.appraisal + { let status_str = common::format_appraisal_status(eval); write!(writer, ",{}", escape_csv(&status_str))?; } else + { write!(writer, ",")?; } } writeln!(writer)?; write!(writer, "Reasons")?; for crate_info in crates { if let Some(appraisal) + = &crate_info.appraisal { let reasons = common::join_with(appraisal.expression_outcomes.iter().map(common::outcome_icon_name), + "; "); write!(writer, ",{}", escape_csv(&reasons))?; } else { write!(writer, ",")?; } } writeln!(writer)?; } let mut + metric_buf = String::new(); for category in MetricCategory::iter() { if let Some(category_metrics) = ctx.metrics_by_category.get(&category) + { for metric_name in category_metrics { write!(writer, "{}", escape_csv_untrusted(metric_name))?; for metric_map in + &ctx.crate_metric_maps { if let Some(metric) = metric_map.get(metric_name) && let Some(ref value) = metric.value { + metric_buf.clear(); common::write_metric_value(&mut metric_buf, value); let escaped = if is_textual_metric_value(value) + { escape_csv_untrusted(&metric_buf) } else { escape_csv(&metric_buf) }; write!(writer, ",{escaped}")?; } else { write!(writer, + ",")?; } } writeln!(writer)?; } } } Ok(()) }' + occurrence: 0 + testSet: 560 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate_with_context + mutator: iter.any_to_all + normalizedText: crates.iter().any(|c| c.appraisal.is_some()) + occurrence: 0 + testSet: 560 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate_with_context + mutator: literal.str_to_empty + normalizedText: '"; "' + occurrence: 0 + testSet: 562 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate_with_context + mutator: literal.str_to_xyzzy + normalizedText: '"; "' + occurrence: 0 + testSet: 562 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate_with_context + mutator: stmt.delete_call + normalizedText: common::write_metric_value(&mut metric_buf, value); + occurrence: 0 + testSet: 561 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: generate_with_context + mutator: stmt.delete_call + normalizedText: metric_buf.clear(); + occurrence: 0 + testSet: 561 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: is_textual_metric_value + mutator: fn_value.bool_false + normalizedText: '{ match value { MetricValue::String(_) => true, MetricValue::List(values) => values.iter().any(is_textual_metric_value), + MetricValue::UInt(_) | MetricValue::Float(_) | MetricValue::Boolean(_) | MetricValue::DateTime(_) => false, } }' + occurrence: 0 + testSet: 563 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: is_textual_metric_value + mutator: fn_value.bool_true + normalizedText: '{ match value { MetricValue::String(_) => true, MetricValue::List(values) => values.iter().any(is_textual_metric_value), + MetricValue::UInt(_) | MetricValue::Float(_) | MetricValue::Boolean(_) | MetricValue::DateTime(_) => false, } }' + occurrence: 0 + testSet: 563 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: is_textual_metric_value + mutator: iter.any_to_all + normalizedText: values.iter().any(is_textual_metric_value) + occurrence: 0 + testSet: 564 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: is_textual_metric_value + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 565 + - site: + file: crates/cargo-aprz-lib/src/reports/csv.rs + item: is_textual_metric_value + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 566 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: appraisal_cell_values + mutator: fn_value.tuple + normalizedText: '{ ( common::format_appraisal_status(appraisal), common::join_with(appraisal.expression_outcomes.iter().map(common::outcome_icon_name), + "; "), ) }' + occurrence: 0 + testSet: 567 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: appraisal_cell_values + mutator: literal.str_to_empty + normalizedText: '"; "' + occurrence: 0 + testSet: 567 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: appraisal_cell_values + mutator: literal.str_to_xyzzy + normalizedText: '"; "' + occurrence: 0 + testSet: 567 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate + mutator: fn_value.ok + normalizedText: '{ let ctx = ReportContext::new(crates); generate_with_context(crates, &ctx, writer) }' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: arith.add_to_mul + normalizedText: col_idx + 1 + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: arith.add_to_mul + normalizedText: col_idx + 1 + occurrence: 1 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: arith.add_to_mul + normalizedText: col_idx + 1 + occurrence: 2 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: arith.add_to_sub + normalizedText: col_idx + 1 + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: arith.add_to_sub + normalizedText: col_idx + 1 + occurrence: 1 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: arith.add_to_sub + normalizedText: col_idx + 1 + occurrence: 2 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: assign.add_to_sub + normalizedText: row += 1 + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: assign.add_to_sub + normalizedText: row += 1 + occurrence: 1 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: assign.add_to_sub + normalizedText: row += 1 + occurrence: 2 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: assign.add_to_sub + normalizedText: row += 1 + occurrence: 3 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: assign.add_to_sub + normalizedText: row += 1 + occurrence: 4 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: assign.add_to_sub + normalizedText: row += 1 + occurrence: 5 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: cond.always_false + normalizedText: has_appraisals + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: cond.always_true + normalizedText: has_appraisals + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: cond.negate + normalizedText: has_appraisals + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.decrement + normalizedText: (col_idx + 1) as u16 + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.decrement + normalizedText: (col_idx + 1) as u16 + occurrence: 1 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.decrement + normalizedText: (col_idx + 1) as u16 + occurrence: 2 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.decrement + normalizedText: c + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.decrement + normalizedText: crates.len() as u16 + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.decrement + normalizedText: row + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.decrement + normalizedText: row + occurrence: 1 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.decrement + normalizedText: row + occurrence: 2 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.decrement + normalizedText: row + occurrence: 3 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.decrement + normalizedText: row + occurrence: 4 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.decrement + normalizedText: row + occurrence: 5 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.decrement + normalizedText: row + occurrence: 6 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.decrement + normalizedText: row + occurrence: 7 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.increment + normalizedText: (col_idx + 1) as u16 + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.increment + normalizedText: (col_idx + 1) as u16 + occurrence: 1 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.increment + normalizedText: (col_idx + 1) as u16 + occurrence: 2 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.increment + normalizedText: c + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.increment + normalizedText: crates.len() as u16 + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.increment + normalizedText: row + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.increment + normalizedText: row + occurrence: 1 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.increment + normalizedText: row + occurrence: 2 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.increment + normalizedText: row + occurrence: 3 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.increment + normalizedText: row + occurrence: 4 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.increment + normalizedText: row + occurrence: 5 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.increment + normalizedText: row + occurrence: 6 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: expr.increment + normalizedText: row + occurrence: 7 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: fn_value.ok + normalizedText: '{ let mut workbook = Workbook::new(); let properties = DocProperties::new().set_author("cargo-aprz"); + workbook.set_properties(&properties); let worksheet = workbook.add_worksheet().set_name("Crate Metrics")?; let bold_format + = Format::new().set_bold(); let category_format = Format::new() .set_bold() .set_background_color(Color::RGB(0x00FE_D7AA)) + .set_align(FormatAlign::Left); let left_align_format = Format::new().set_align(FormatAlign::Left); let low_risk_format + = Format::new() .set_background_color(Color::RGB(0x00C8_E6C9)) .set_font_color(Color::RGB(0x002E_7D32)) .set_bold(); + let medium_risk_format = Format::new() .set_background_color(Color::RGB(0x00FF_F9C4)) .set_font_color(Color::RGB(0x00F5_7F17)) + .set_bold(); let high_risk_format = Format::new() .set_background_color(Color::RGB(0x00FF_CDD2)) .set_font_color(Color::RGB(0x00C6_2828)) + .set_bold(); for (col_idx, crate_info) in crates.iter().enumerate() { let header = format!("{} v{}", crate_info.name, + crate_info.version); #[expect(clippy::cast_possible_truncation, reason = "Column index limited by Excel''s u16 column + limit")] worksheet.write_string_with_format(0, (col_idx + 1) as u16, &header, &bold_format)?; } worksheet.set_freeze_panes(1, + 1)?; let mut row = 1; let has_appraisals = crates.iter().any(|c| c.appraisal.is_some()); if has_appraisals { worksheet.write_string_with_format(row, + 0, "Appraisals", &bold_format)?; for (col_idx, crate_info) in crates.iter().enumerate() { if let Some(eval) = &crate_info.appraisal + { let (value, _) = appraisal_cell_values(eval); let format = match eval.risk() { Risk::Low => &low_risk_format, Risk::Medium + => &medium_risk_format, Risk::High => &high_risk_format, }; #[expect(clippy::cast_possible_truncation, reason = "Column + index limited by Excel''s u16 column limit")] worksheet.write_string_with_format(row, (col_idx + 1) as u16, value, + format)?; } } row += 1; worksheet.write_string_with_format(row, 0, "Reasons", &bold_format)?; write_eval_row(worksheet, + row, crates, |eval| appraisal_cell_values(eval).1)?; row += 1; row += 1; } for category in MetricCategory::iter() + { if let Some(category_metric_names) = ctx.metrics_by_category.get(&category) { worksheet.write_string_with_format(row, + 0, category.as_uppercase_str(), &category_format)?; #[expect(clippy::cast_possible_truncation, reason = "Column count + is limited by Excel''s u16 column limit")] for c in 1..=crates.len() as u16 { worksheet.write_blank(row, c, &category_format)?; + } row += 1; for &metric_name in category_metric_names { worksheet.write_string(row, 0, metric_name)?; for (col_idx, + metric_map) in ctx.crate_metric_maps.iter().enumerate() { if let Some(metric) = metric_map.get(metric_name) && let + Some(ref value) = metric.value { #[expect(clippy::cast_possible_truncation, reason = "Column index limited by Excel''s + u16 column limit")] write_metric_value(worksheet, row, (col_idx + 1) as u16, metric_name, value, &left_align_format)?; + } } row += 1; } row += 1; } } worksheet.autofit(); let data = workbook.save_to_buffer()?; writer.write_all(&data)?; + Ok(()) }' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: iter.any_to_all + normalizedText: crates.iter().any(|c| c.appraisal.is_some()) + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '0x002E_7D32' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '0x00C6_2828' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '0x00C8_E6C9' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '0x00F5_7F17' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '0x00FE_D7AA' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '0x00FF_CDD2' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '0x00FF_F9C4' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 5 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 6 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 7 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 8 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 9 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 10 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 11 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 12 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '0' + occurrence: 4 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '0x002E_7D32' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '0x00C6_2828' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '0x00C8_E6C9' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '0x00F5_7F17' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '0x00FE_D7AA' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '0x00FF_CDD2' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '0x00FF_F9C4' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '1' + occurrence: 5 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '1' + occurrence: 6 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '1' + occurrence: 7 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '1' + occurrence: 8 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '1' + occurrence: 9 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '1' + occurrence: 10 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '1' + occurrence: 11 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_increment + normalizedText: '1' + occurrence: 12 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_one + normalizedText: '0x002E_7D32' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_one + normalizedText: '0x00C6_2828' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_one + normalizedText: '0x00C8_E6C9' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_one + normalizedText: '0x00F5_7F17' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_one + normalizedText: '0x00FE_D7AA' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_one + normalizedText: '0x00FF_CDD2' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_one + normalizedText: '0x00FF_F9C4' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_zero + normalizedText: '0x002E_7D32' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_zero + normalizedText: '0x00C6_2828' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_zero + normalizedText: '0x00C8_E6C9' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_zero + normalizedText: '0x00F5_7F17' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_zero + normalizedText: '0x00FE_D7AA' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_zero + normalizedText: '0x00FF_CDD2' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.int_to_zero + normalizedText: '0x00FF_F9C4' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.str_to_empty + normalizedText: '"Appraisals"' + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.str_to_empty + normalizedText: '"Crate Metrics"' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.str_to_empty + normalizedText: '"Reasons"' + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.str_to_empty + normalizedText: '"cargo-aprz"' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.str_to_xyzzy + normalizedText: '"Appraisals"' + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.str_to_xyzzy + normalizedText: '"Crate Metrics"' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.str_to_xyzzy + normalizedText: '"Reasons"' + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: literal.str_to_xyzzy + normalizedText: '"cargo-aprz"' + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: range.inclusive_to_exclusive + normalizedText: 1..=crates.len() as u16 + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: stmt.delete_assign + normalizedText: row += 1; + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: stmt.delete_assign + normalizedText: row += 1; + occurrence: 1 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: stmt.delete_assign + normalizedText: row += 1; + occurrence: 2 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: stmt.delete_assign + normalizedText: row += 1; + occurrence: 3 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: stmt.delete_assign + normalizedText: row += 1; + occurrence: 4 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: stmt.delete_assign + normalizedText: row += 1; + occurrence: 5 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: stmt.delete_call + normalizedText: workbook.set_properties(&properties); + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: generate_with_context + mutator: stmt.delete_call + normalizedText: worksheet.autofit(); + occurrence: 0 + testSet: 568 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_eval_row + mutator: arith.add_to_mul + normalizedText: col_idx + 1 + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_eval_row + mutator: arith.add_to_sub + normalizedText: col_idx + 1 + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_eval_row + mutator: expr.decrement + normalizedText: (col_idx + 1) as u16 + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_eval_row + mutator: expr.decrement + normalizedText: row + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_eval_row + mutator: expr.increment + normalizedText: (col_idx + 1) as u16 + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_eval_row + mutator: expr.increment + normalizedText: row + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_eval_row + mutator: fn_value.ok + normalizedText: '{ for (col_idx, crate_info) in crates.iter().enumerate() { if let Some(eval) = &crate_info.appraisal + { let value = extract_value(eval); #[expect(clippy::cast_possible_truncation, reason = "Column index limited by Excel''s + u16 column limit")] worksheet.write_string(row, (col_idx + 1) as u16, &value)?; } } Ok(()) }' + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_eval_row + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_eval_row + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 570 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: cond.always_false + normalizedText: common::is_keywords_metric(metric_name) || common::is_categories_metric(metric_name) + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: cond.always_false + normalizedText: common::is_url(s.as_str()) + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: cond.always_true + normalizedText: common::is_keywords_metric(metric_name) || common::is_categories_metric(metric_name) + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: cond.always_true + normalizedText: common::is_url(s.as_str()) + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: cond.negate + normalizedText: common::is_keywords_metric(metric_name) || common::is_categories_metric(metric_name) + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: cond.negate + normalizedText: common::is_url(s.as_str()) + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: col + occurrence: 0 + testSet: 571 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: col + occurrence: 1 + testSet: 572 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: col + occurrence: 2 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: col + occurrence: 3 + testSet: 574 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: col + occurrence: 4 + testSet: 575 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: col + occurrence: 5 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: col + occurrence: 6 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: col + occurrence: 7 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: row + occurrence: 0 + testSet: 571 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: row + occurrence: 1 + testSet: 572 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: row + occurrence: 2 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: row + occurrence: 3 + testSet: 574 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: row + occurrence: 4 + testSet: 575 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: row + occurrence: 5 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: row + occurrence: 6 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.decrement + normalizedText: row + occurrence: 7 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: col + occurrence: 0 + testSet: 571 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: col + occurrence: 1 + testSet: 572 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: col + occurrence: 2 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: col + occurrence: 3 + testSet: 574 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: col + occurrence: 4 + testSet: 575 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: col + occurrence: 5 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: col + occurrence: 6 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: col + occurrence: 7 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: row + occurrence: 0 + testSet: 571 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: row + occurrence: 1 + testSet: 572 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: row + occurrence: 2 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: row + occurrence: 3 + testSet: 574 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: row + occurrence: 4 + testSet: 575 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: row + occurrence: 5 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: row + occurrence: 6 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: expr.increment + normalizedText: row + occurrence: 7 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: fn_value.ok + normalizedText: '{ match value { MetricValue::UInt(u) => { worksheet.write_number_with_format(row, col, *u as f64, format)?; + } MetricValue::Float(f) => { worksheet.write_number_with_format(row, col, *f, format)?; } MetricValue::Boolean(b) + => { worksheet.write_boolean_with_format(row, col, *b, format)?; } MetricValue::String(s) => { if common::is_url(s.as_str()) + { worksheet.write_url(row, col, s.as_str())?; } else if common::is_keywords_metric(metric_name) || common::is_categories_metric(metric_name) + { let formatted = common::format_keywords_or_categories_with_prefix(s.as_str()); worksheet.write_string_with_format(row, + col, formatted, format)?; } else { worksheet.write_string_with_format(row, col, s.as_str(), format)?; } } MetricValue::DateTime(dt) + => { worksheet.write_string_with_format(row, col, dt.format("%Y-%m-%d").to_string(), format)?; } MetricValue::List(_) + => { let formatted = common::format_metric_value(value); worksheet.write_string_with_format(row, col, formatted, format)?; + } } Ok(()) }' + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: literal.str_to_empty + normalizedText: '"%Y-%m-%d"' + occurrence: 0 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: literal.str_to_xyzzy + normalizedText: '"%Y-%m-%d"' + occurrence: 0 + testSet: 573 + - site: + file: crates/cargo-aprz-lib/src/reports/excel.rs + item: write_metric_value + mutator: logical.or_to_and + normalizedText: common::is_keywords_metric(metric_name) || common::is_categories_metric(metric_name) + occurrence: 0 + testSet: 569 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: arith.add_to_mul + normalizedText: name.len() + version.len() + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: arith.add_to_mul + normalizedText: name.len() + version.len() + 7 + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: arith.add_to_sub + normalizedText: name.len() + version.len() + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: arith.add_to_sub + normalizedText: name.len() + version.len() + 7 + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: cond.always_false + normalizedText: c.is_ascii_alphanumeric() || c == '-' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: cond.always_false + normalizedText: c.is_ascii_alphanumeric() || c == '.' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: cond.always_true + normalizedText: c.is_ascii_alphanumeric() || c == '-' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: cond.always_true + normalizedText: c.is_ascii_alphanumeric() || c == '.' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: cond.negate + normalizedText: c.is_ascii_alphanumeric() || c == '-' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: cond.negate + normalizedText: c.is_ascii_alphanumeric() || c == '.' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: fn_value.empty_string + normalizedText: '{ let mut id = String::with_capacity(name.len() + version.len() + 7); id.push_str("crate-"); for c + in name.chars() { if c.is_ascii_alphanumeric() || c == ''-'' { id.push(c); } else { id.push(''-''); } } id.push(''-''); + for c in version.chars() { if c.is_ascii_alphanumeric() || c == ''.'' { id.push(c); } else { id.push(''-''); } } id + }' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut id = String::with_capacity(name.len() + version.len() + 7); id.push_str("crate-"); for c + in name.chars() { if c.is_ascii_alphanumeric() || c == ''-'' { id.push(c); } else { id.push(''-''); } } id.push(''-''); + for c in version.chars() { if c.is_ascii_alphanumeric() || c == ''.'' { id.push(c); } else { id.push(''-''); } } id + }' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: literal.int_decrement + normalizedText: '7' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: literal.int_increment + normalizedText: '7' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: literal.int_to_one + normalizedText: '7' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: literal.int_to_zero + normalizedText: '7' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: literal.str_to_empty + normalizedText: '"crate-"' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: literal.str_to_xyzzy + normalizedText: '"crate-"' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: logical.or_to_and + normalizedText: c.is_ascii_alphanumeric() || c == '-' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: logical.or_to_and + normalizedText: c.is_ascii_alphanumeric() || c == '.' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: relational.eq_to_ne + normalizedText: c == '-' + occurrence: 0 + testSet: 577 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: relational.eq_to_ne + normalizedText: c == '.' + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: stmt.delete_call + normalizedText: id.push('-'); + occurrence: 0 + testSet: 578 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: stmt.delete_call + normalizedText: id.push('-'); + occurrence: 1 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: stmt.delete_call + normalizedText: id.push('-'); + occurrence: 2 + testSet: 579 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: stmt.delete_call + normalizedText: id.push(c); + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: stmt.delete_call + normalizedText: id.push(c); + occurrence: 1 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: crate_anchor_id + mutator: stmt.delete_call + normalizedText: id.push_str("crate-"); + occurrence: 0 + testSet: 576 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: format_keywords_or_categories + mutator: cond.always_false + normalizedText: i > 0 + occurrence: 0 + testSet: 580 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: format_keywords_or_categories + mutator: cond.always_false + normalizedText: items.is_empty() + occurrence: 0 + testSet: 581 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: format_keywords_or_categories + mutator: cond.always_true + normalizedText: i > 0 + occurrence: 0 + testSet: 580 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: format_keywords_or_categories + mutator: cond.always_true + normalizedText: items.is_empty() + occurrence: 0 + testSet: 581 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: format_keywords_or_categories + mutator: cond.negate + normalizedText: i > 0 + occurrence: 0 + testSet: 580 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: format_keywords_or_categories + mutator: cond.negate + normalizedText: items.is_empty() + occurrence: 0 + testSet: 581 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: format_keywords_or_categories + mutator: fn_value.ok + normalizedText: '{ let items: Vec<&str> = value.split('','').map(str::trim).filter(|s| !s.is_empty()).collect(); if + items.is_empty() { write!(writer, "{}", html_escape(value))?; return Ok(()); } let base_url = format!("https://crates.io/{url_type}/"); + for (i, item) in items.iter().enumerate() { if i > 0 { write!(writer, ", ")?; } let url_encoded_item = utf8_percent_encode(item, + NON_ALPHANUMERIC); let escaped_item = html_escape(item); write!( writer, "#{escaped_item}" )?; } Ok(()) }' + occurrence: 0 + testSet: 581 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: format_keywords_or_categories + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 580 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: format_keywords_or_categories + mutator: relational.gt_to_ge + normalizedText: i > 0 + occurrence: 0 + testSet: 580 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: format_keywords_or_categories + mutator: relational.gt_to_lt + normalizedText: i > 0 + occurrence: 0 + testSet: 580 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: format_keywords_or_categories + mutator: unary.remove_not + normalizedText: '!s.is_empty()' + occurrence: 0 + testSet: 581 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: assign.add_to_sub + normalizedText: tab_index += 1 + occurrence: 0 + testSet: 582 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: assign.add_to_sub + normalizedText: tab_index += 1 + occurrence: 1 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.always_false + normalizedText: ctx .metrics_by_category .get(&category) .is_some_and(|cm| cm.iter().any(|&name| metric_map.contains_key(name))) + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.always_false + normalizedText: has_appraisal_tab + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.always_false + normalizedText: has_appraisals && total > 1 + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.always_false + normalizedText: has_risk_lists && default_visible_anchor.as_deref() != Some(&anchor_id) + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.always_false + normalizedText: panel_index == 0 && !has_appraisal_tab + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.always_false + normalizedText: tab_index == 0 + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.always_true + normalizedText: ctx .metrics_by_category .get(&category) .is_some_and(|cm| cm.iter().any(|&name| metric_map.contains_key(name))) + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.always_true + normalizedText: has_appraisal_tab + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.always_true + normalizedText: has_appraisals && total > 1 + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.always_true + normalizedText: has_risk_lists && default_visible_anchor.as_deref() != Some(&anchor_id) + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.always_true + normalizedText: panel_index == 0 && !has_appraisal_tab + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.always_true + normalizedText: tab_index == 0 + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.negate + normalizedText: ctx .metrics_by_category .get(&category) .is_some_and(|cm| cm.iter().any(|&name| metric_map.contains_key(name))) + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.negate + normalizedText: has_appraisal_tab + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.negate + normalizedText: has_appraisals && total > 1 + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.negate + normalizedText: has_risk_lists && default_visible_anchor.as_deref() != Some(&anchor_id) + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.negate + normalizedText: panel_index == 0 && !has_appraisal_tab + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: cond.negate + normalizedText: tab_index == 0 + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: expr.decrement + normalizedText: crate_index + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: expr.decrement + normalizedText: total + occurrence: 0 + testSet: 584 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: expr.increment + normalizedText: crate_index + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: expr.increment + normalizedText: total + occurrence: 0 + testSet: 584 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: fn_value.ok + normalizedText: '{ let has_appraisals = crates.iter().any(|c| c.appraisal.is_some()); let total = crates.len(); let + crate_description = |c: &ReportableCrate| -> String { c.metrics .iter() .find(|m| m.name() == "crate.description") + .and_then(|m| m.value.as_ref()) .map(common::format_metric_value) .unwrap_or_default() }; let crates_by_risk = |risk: + Risk| -> Vec<(&str, String, String, f64)> { let mut v: Vec<_> = crates .iter() .filter(|c| c.appraisal.as_ref().is_some_and(|a| + a.risk() == risk)) .map(|c| { ( c.name.as_ref(), c.version.to_string(), crate_description(c), c.appraisal.as_ref().and_then(Appraisal::weighted_score).unwrap_or(0.0), + ) }) .collect(); v.sort_by(|a, b| a.3.partial_cmp(&b.3).unwrap_or(core::cmp::Ordering::Equal)); v }; let high_risk_crates + = crates_by_risk(Risk::High); let medium_risk_crates = crates_by_risk(Risk::Medium); let low_risk_crates = crates_by_risk(Risk::Low); + let not_evaluated_crates: Vec<(&str, String, String, f64)> = { let mut v: Vec<_> = crates .iter() .filter(|c| c.appraisal.is_none()) + .map(|c| (c.name.as_ref(), c.version.to_string(), crate_description(c), 0.0)) .collect(); v.sort_by(|a, b| a.0.cmp(b.0)); + v }; let has_risk_lists = has_appraisals && total > 1; writeln!(writer, "\n\n")?; writeln!(writer, + " ")?; writeln!( writer, " " + )?; writeln!(writer, " Crate Appraisal Report")?; writeln!(writer, " ")?; write_styles(writer)?; writeln!(writer, "")?; writeln!(writer, "")?; write_header(writer, + timestamp)?; let default_visible_anchor = if has_appraisals && total > 1 { write_summary( writer, total, &high_risk_crates, + &medium_risk_crates, &low_risk_crates, ¬_evaluated_crates, )?; high_risk_crates .first() .or_else(|| medium_risk_crates.first()) + .or_else(|| low_risk_crates.first()) .or_else(|| not_evaluated_crates.first()) .map(|(name, version, _, _)| crate_anchor_id(name, + version)) } else { None }; let ctx = ReportContext::new(crates); writeln!(writer, "
")?; for + (crate_index, crate_info) in crates.iter().enumerate() { let anchor_id = crate_anchor_id(&crate_info.name, &crate_info.version.to_string()); + let hidden = if has_risk_lists && default_visible_anchor.as_deref() != Some(&anchor_id) { " style=\"display:none\"" + } else { "" }; writeln!(writer, "
")?; write_crate_card_header(writer, + crate_info)?; let has_appraisal_tab = crate_info.appraisal.as_ref().is_some_and(|a| !a.expression_outcomes.is_empty()); + let metric_map = &ctx.crate_metric_maps[crate_index]; let mut crate_categories: Vec = Vec::new(); + for category in MetricCategory::iter() { if ctx .metrics_by_category .get(&category) .is_some_and(|cm| cm.iter().any(|&name| + metric_map.contains_key(name))) { crate_categories.push(category); } } let card_id = format!("card-{crate_index}"); + writeln!(writer, "
")?; writeln!(writer, "
")?; let mut tab_index + = 0u32; if has_appraisal_tab { writeln!( writer, " " )?; tab_index += 1; } for cat in &crate_categories { let active = + if tab_index == 0 { " active" } else { "" }; writeln!( writer, " " )?; tab_index += 1; } writeln!(writer, "
")?; writeln!(writer, + "
")?; if let Some(appraisal) = crate_info.appraisal.as_ref().filter(|a| !a.expression_outcomes.is_empty()) + { writeln!(writer, "
")?; write_appraisal_table(writer, + appraisal)?; writeln!(writer, "
")?; } for (panel_index, category) in crate_categories.iter().enumerate() + { let active = if panel_index == 0 && !has_appraisal_tab { " active" } else { "" }; writeln!(writer, "
")?; write_metrics_category(writer, *category, &ctx.metrics_by_category, + metric_map)?; writeln!(writer, "
")?; } writeln!(writer, "
")?; writeln!(writer, "
")?; + writeln!(writer, "
")?; } writeln!(writer, "
")?; write_scripts(writer, has_risk_lists)?; writeln!(writer, + "")?; writeln!(writer, "")?; Ok(()) }' + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: iter.any_to_all + normalizedText: cm.iter().any(|&name| metric_map.contains_key(name)) + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: iter.any_to_all + normalizedText: crates.iter().any(|c| c.appraisal.is_some()) + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: iter.first_to_last + normalizedText: high_risk_crates .first() + occurrence: 0 + testSet: 584 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: iter.first_to_last + normalizedText: low_risk_crates.first() + occurrence: 0 + testSet: 585 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: iter.first_to_last + normalizedText: medium_risk_crates.first() + occurrence: 0 + testSet: 585 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: iter.remove_sort + normalizedText: v.sort_by(|a, b| a.0.cmp(b.0)); + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: iter.remove_sort + normalizedText: v.sort_by(|a, b| a.3.partial_cmp(&b.3).unwrap_or(core::cmp::Ordering::Equal)); + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 586 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 586 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 582 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.int_increment + normalizedText: 0u32 + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 586 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 586 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 582 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '" active"' + occurrence: 0 + testSet: 587 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '" active"' + occurrence: 1 + testSet: 587 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '" style=\"display:none\""' + occurrence: 0 + testSet: 584 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"crate.description"' + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '" active"' + occurrence: 0 + testSet: 587 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '" active"' + occurrence: 1 + testSet: 587 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '" style=\"display:none\""' + occurrence: 0 + testSet: 584 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 1 + testSet: 588 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 2 + testSet: 588 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"crate.description"' + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: logical.and_to_or + normalizedText: has_appraisals && total > 1 + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: logical.and_to_or + normalizedText: has_appraisals && total > 1 + occurrence: 1 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: logical.and_to_or + normalizedText: has_risk_lists && default_visible_anchor.as_deref() != Some(&anchor_id) + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: logical.and_to_or + normalizedText: panel_index == 0 && !has_appraisal_tab + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 589 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: option.some_to_none + normalizedText: Some(&anchor_id) + occurrence: 0 + testSet: 584 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: relational.eq_to_ne + normalizedText: a.risk() == risk + occurrence: 0 + testSet: 586 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: relational.eq_to_ne + normalizedText: m.name() == "crate.description" + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: relational.eq_to_ne + normalizedText: panel_index == 0 + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: relational.eq_to_ne + normalizedText: tab_index == 0 + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: relational.gt_to_ge + normalizedText: total > 1 + occurrence: 0 + testSet: 586 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: relational.gt_to_ge + normalizedText: total > 1 + occurrence: 1 + testSet: 586 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: relational.gt_to_lt + normalizedText: total > 1 + occurrence: 0 + testSet: 586 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: relational.gt_to_lt + normalizedText: total > 1 + occurrence: 1 + testSet: 586 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: relational.ne_to_eq + normalizedText: default_visible_anchor.as_deref() != Some(&anchor_id) + occurrence: 0 + testSet: 584 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: stmt.delete_assign + normalizedText: tab_index += 1; + occurrence: 0 + testSet: 582 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: stmt.delete_assign + normalizedText: tab_index += 1; + occurrence: 1 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: stmt.delete_call + normalizedText: crate_categories.push(category); + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: unary.remove_not + normalizedText: '!a.expression_outcomes.is_empty()' + occurrence: 0 + testSet: 586 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: unary.remove_not + normalizedText: '!a.expression_outcomes.is_empty()' + occurrence: 1 + testSet: 586 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: generate + mutator: unary.remove_not + normalizedText: '!has_appraisal_tab' + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: cond.always_false + normalizedText: '!s.bytes().any(|b| matches!(b, b''&'' | b''<'' | b''>'' | b''"'' | b''\''''))' + occurrence: 0 + testSet: 590 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: cond.always_true + normalizedText: '!s.bytes().any(|b| matches!(b, b''&'' | b''<'' | b''>'' | b''"'' | b''\''''))' + occurrence: 0 + testSet: 590 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: cond.negate + normalizedText: '!s.bytes().any(|b| matches!(b, b''&'' | b''<'' | b''>'' | b''"'' | b''\''''))' + occurrence: 0 + testSet: 590 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: fn_value.default + normalizedText: '{ if !s.bytes().any(|b| matches!(b, b''&'' | b''<'' | b''>'' | b''"'' | b''\'''')) { return Cow::Borrowed(s); + } let mut result = String::with_capacity(s.len()); for c in s.chars() { match c { ''&'' => result.push_str("&"), + ''<'' => result.push_str("<"), ''>'' => result.push_str(">"), ''"'' => result.push_str("""), ''\'''' => + result.push_str("'"), _ => result.push(c), } } Cow::Owned(result) }' + occurrence: 0 + testSet: 590 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: iter.any_to_all + normalizedText: s.bytes().any(|b| matches!(b, b'&' | b'<' | b'>' | b'"' | b'\'')) + occurrence: 0 + testSet: 590 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: literal.str_to_empty + normalizedText: '"'"' + occurrence: 0 + testSet: 591 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: literal.str_to_empty + normalizedText: '"&"' + occurrence: 0 + testSet: 592 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: literal.str_to_empty + normalizedText: '">"' + occurrence: 0 + testSet: 593 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: literal.str_to_empty + normalizedText: '"<"' + occurrence: 0 + testSet: 594 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: literal.str_to_empty + normalizedText: '"""' + occurrence: 0 + testSet: 595 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: literal.str_to_xyzzy + normalizedText: '"'"' + occurrence: 0 + testSet: 591 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: literal.str_to_xyzzy + normalizedText: '"&"' + occurrence: 0 + testSet: 592 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: literal.str_to_xyzzy + normalizedText: '">"' + occurrence: 0 + testSet: 593 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: literal.str_to_xyzzy + normalizedText: '"<"' + occurrence: 0 + testSet: 594 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: literal.str_to_xyzzy + normalizedText: '"""' + occurrence: 0 + testSet: 595 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: match_arm.never_matches + normalizedText: '''"''' + occurrence: 0 + testSet: 595 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: match_arm.never_matches + normalizedText: '''&''' + occurrence: 0 + testSet: 592 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: match_arm.never_matches + normalizedText: '''<''' + occurrence: 0 + testSet: 594 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: match_arm.never_matches + normalizedText: '''>''' + occurrence: 0 + testSet: 593 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: match_arm.never_matches + normalizedText: '''\''''' + occurrence: 0 + testSet: 591 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: html_escape + mutator: unary.remove_not + normalizedText: '!s.bytes().any(|b| matches!(b, b''&'' | b''<'' | b''>'' | b''"'' | b''\''''))' + occurrence: 0 + testSet: 590 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: fn_value.ok + normalizedText: '{ writeln!(writer, " ")?; writeln!( writer, " " + )?; writeln!(writer, " ")?; for outcome in &appraisal.expression_outcomes { let (disp_class, disp_label) + = match &outcome.disposition { ExpressionDisposition::True => ("passed", "PASSED"), ExpressionDisposition::False => + ("failed", "FAILED"), ExpressionDisposition::Failed(_) => ("inconclusive", "INCONCLUSIVE"), }; let detail = match + &outcome.disposition { ExpressionDisposition::True => Cow::Borrowed(""), ExpressionDisposition::False => html_escape(&outcome.description), + ExpressionDisposition::Failed(reason) => Cow::Owned(format!( "{}
Evaluation error: {}", html_escape(&outcome.description), + html_escape(reason) )), }; writeln!(writer, " ")?; writeln!(writer, " ", html_escape(&outcome.name))?; + writeln!( writer, " " )?; writeln!(writer, + " ")?; writeln!(writer, " ")?; } writeln!(writer, " ")?; + writeln!(writer, "
ExpressionResultDetails
{}{disp_label}{detail}
")?; Ok(()) }' + occurrence: 0 + testSet: 582 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: literal.str_to_empty + normalizedText: '"FAILED"' + occurrence: 0 + testSet: 596 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: literal.str_to_empty + normalizedText: '"INCONCLUSIVE"' + occurrence: 0 + testSet: 597 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: literal.str_to_empty + normalizedText: '"PASSED"' + occurrence: 0 + testSet: 598 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: literal.str_to_empty + normalizedText: '"failed"' + occurrence: 0 + testSet: 596 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: literal.str_to_empty + normalizedText: '"inconclusive"' + occurrence: 0 + testSet: 597 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: literal.str_to_empty + normalizedText: '"passed"' + occurrence: 0 + testSet: 598 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 598 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: literal.str_to_xyzzy + normalizedText: '"FAILED"' + occurrence: 0 + testSet: 596 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: literal.str_to_xyzzy + normalizedText: '"INCONCLUSIVE"' + occurrence: 0 + testSet: 597 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: literal.str_to_xyzzy + normalizedText: '"PASSED"' + occurrence: 0 + testSet: 598 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: literal.str_to_xyzzy + normalizedText: '"failed"' + occurrence: 0 + testSet: 596 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: literal.str_to_xyzzy + normalizedText: '"inconclusive"' + occurrence: 0 + testSet: 597 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_appraisal_table + mutator: literal.str_to_xyzzy + normalizedText: '"passed"' + occurrence: 0 + testSet: 598 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: cond.always_false + normalizedText: appraisal.weighted_score().is_none() + occurrence: 0 + testSet: 599 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: cond.always_true + normalizedText: appraisal.weighted_score().is_none() + occurrence: 0 + testSet: 599 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: cond.negate + normalizedText: appraisal.weighted_score().is_none() + occurrence: 0 + testSet: 599 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: fn_value.ok + normalizedText: '{ let risk_class = crate_info.appraisal.as_ref().map_or("", |a| match a.risk() { Risk::Low => " risk-low", + Risk::Medium => " risk-medium", Risk::High => " risk-high", }); writeln!(writer, "
")?; + writeln!( writer, " {} v{}", html_escape(&crate_info.name), html_escape(&crate_info.version.to_string()) + )?; writeln!(writer, " ")?; if let Some(appraisal) = &crate_info.appraisal { + let (class, label) = match appraisal.risk() { Risk::Low => ("low", "LOW RISK"), Risk::Medium => ("medium", "MEDIUM + RISK"), Risk::High => ("high", "HIGH RISK"), }; writeln!(writer, " ")?; if appraisal.weighted_score().is_none() + { writeln!( writer, " {}", html_escape(&common::format_appraisal_details_with_separator(appraisal, + " · ")) )?; } else { let (awarded_points, available_points) = appraisal.point_totals().expect("scored appraisals have + point totals"); writeln!( writer, " score {:.0} · {}/{} points", appraisal.weighted_score().expect("scored + appraisals have a weighted score"), awarded_points, available_points )?; } writeln!(writer, " {label}")?; writeln!(writer, " ")?; } else { writeln!(writer, " Not Evaluated")?; } writeln!(writer, "
")?; Ok(()) }' + occurrence: 0 + testSet: 600 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_empty + normalizedText: '" risk-high"' + occurrence: 0 + testSet: 601 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_empty + normalizedText: '" risk-low"' + occurrence: 0 + testSet: 602 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_empty + normalizedText: '" risk-medium"' + occurrence: 0 + testSet: 603 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_empty + normalizedText: '"HIGH RISK"' + occurrence: 0 + testSet: 601 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_empty + normalizedText: '"LOW RISK"' + occurrence: 0 + testSet: 602 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_empty + normalizedText: '"MEDIUM RISK"' + occurrence: 0 + testSet: 603 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_empty + normalizedText: '"high"' + occurrence: 0 + testSet: 601 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_empty + normalizedText: '"low"' + occurrence: 0 + testSet: 602 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_empty + normalizedText: '"medium"' + occurrence: 0 + testSet: 603 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_xyzzy + normalizedText: '" risk-high"' + occurrence: 0 + testSet: 601 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_xyzzy + normalizedText: '" risk-low"' + occurrence: 0 + testSet: 602 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_xyzzy + normalizedText: '" risk-medium"' + occurrence: 0 + testSet: 603 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 600 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_xyzzy + normalizedText: '"HIGH RISK"' + occurrence: 0 + testSet: 601 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_xyzzy + normalizedText: '"LOW RISK"' + occurrence: 0 + testSet: 602 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_xyzzy + normalizedText: '"MEDIUM RISK"' + occurrence: 0 + testSet: 603 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_xyzzy + normalizedText: '"high"' + occurrence: 0 + testSet: 601 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_xyzzy + normalizedText: '"low"' + occurrence: 0 + testSet: 602 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_crate_card_header + mutator: literal.str_to_xyzzy + normalizedText: '"medium"' + occurrence: 0 + testSet: 603 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_header + mutator: fn_value.ok + normalizedText: '{ let date = timestamp.format("%Y-%m-%d").to_string(); writeln!(writer, "
")?; + writeln!( writer, " " )?; writeln!(writer, + " ")?; writeln!(writer, " ")?; writeln!( writer, " " )?; writeln!(writer, " ")?; + writeln!(writer, " ")?; writeln!( writer, " " + )?; writeln!(writer, " ")?; writeln!(writer, " ")?; + writeln!( writer, " " + )?; writeln!(writer, " ")?; writeln!(writer, " ")?; + writeln!( writer, " " )?; writeln!(writer, " ")?; + writeln!(writer, " ")?; writeln!( writer, " " )?; writeln!(writer, " ")?; + writeln!(writer, " ")?; writeln!( writer, " " )?; writeln!(writer, " ")?; writeln!(writer, + " ")?; writeln!( writer, " " )?; writeln!(writer, " ")?; writeln!(writer, + " ")?; writeln!( writer, " " )?; writeln!(writer, " ")?; writeln!(writer, " ")?; + writeln!( writer, " " + )?; writeln!(writer, " ")?; writeln!(writer, " ")?; + writeln!( writer, " " )?; writeln!(writer, " ")?; writeln!(writer, " ")?; + writeln!(writer, " ")?; writeln!(writer, "
")?; writeln!(writer, "

Crate + Appraisal Report

")?; writeln!( writer, "

Produced by cargo-aprz {} on {}

", env!("CARGO_PKG_VERSION"), + date )?; writeln!(writer, "
")?; writeln!( writer, " ")?; writeln!(writer, "
")?; + Ok(()) }' + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_header + mutator: literal.str_to_empty + normalizedText: '"%Y-%m-%d"' + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_header + mutator: literal.str_to_xyzzy + normalizedText: '"%Y-%m-%d"' + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: cond.always_false + normalizedText: common::is_categories_metric(metric_name) + occurrence: 0 + testSet: 604 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: cond.always_false + normalizedText: common::is_crate_name_metric(metric_name) + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: cond.always_false + normalizedText: common::is_keywords_metric(metric_name) + occurrence: 0 + testSet: 604 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: cond.always_false + normalizedText: common::is_url(&metric_buf) + occurrence: 0 + testSet: 604 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: cond.always_true + normalizedText: common::is_categories_metric(metric_name) + occurrence: 0 + testSet: 604 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: cond.always_true + normalizedText: common::is_crate_name_metric(metric_name) + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: cond.always_true + normalizedText: common::is_keywords_metric(metric_name) + occurrence: 0 + testSet: 604 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: cond.always_true + normalizedText: common::is_url(&metric_buf) + occurrence: 0 + testSet: 604 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: cond.negate + normalizedText: common::is_categories_metric(metric_name) + occurrence: 0 + testSet: 604 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: cond.negate + normalizedText: common::is_crate_name_metric(metric_name) + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: cond.negate + normalizedText: common::is_keywords_metric(metric_name) + occurrence: 0 + testSet: 604 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: cond.negate + normalizedText: common::is_url(&metric_buf) + occurrence: 0 + testSet: 604 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: fn_value.ok + normalizedText: '{ let mut metric_buf = String::new(); if let Some(category_metrics) = metrics_by_category.get(&category) + { writeln!(writer, " ")?; writeln!(writer, " ")?; for &metric_name in category_metrics + { let Some(m) = metric_map.get(metric_name) else { continue }; writeln!(writer, " ")?; writeln!( writer, + " ", html_escape(m.description()), html_escape(metric_name) )?; write!(writer, + " ")?; writeln!(writer, " ")?; + } writeln!(writer, " ")?; writeln!(writer, "
{}")?; if let Some(value) = &m.value { metric_buf.clear(); common::write_metric_value(&mut metric_buf, + value); if common::is_crate_name_metric(metric_name) { let version = metric_map .get("crate.version") .and_then(|v| + v.value.as_ref()) .map(common::format_metric_value); if let Some(ver) = version { write!( writer, "{}", utf8_percent_encode(&metric_buf, PATH_SEGMENT_ENCODE_SET), + utf8_percent_encode(&ver, PATH_SEGMENT_ENCODE_SET), html_escape(&metric_buf) )?; } else { write!(writer, "{}", html_escape(&metric_buf))?; + } } else if common::is_keywords_metric(metric_name) { format_keywords_or_categories(&metric_buf, "keywords", writer)?; + } else if common::is_categories_metric(metric_name) { format_keywords_or_categories(&metric_buf, "categories", writer)?; + } else if common::is_url(&metric_buf) { write!( writer, "{}", + html_escape(&metric_buf), html_escape(&metric_buf) )?; } else { write!(writer, "{}", html_escape(&metric_buf))?; } + } else { write!(writer, "n/a")?; } writeln!(writer, "
")?; } Ok(()) }' + occurrence: 0 + testSet: 605 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: literal.str_to_empty + normalizedText: '"categories"' + occurrence: 0 + testSet: 606 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: literal.str_to_empty + normalizedText: '"crate.version"' + occurrence: 0 + testSet: 607 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: literal.str_to_empty + normalizedText: '"keywords"' + occurrence: 0 + testSet: 608 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: literal.str_to_xyzzy + normalizedText: '"categories"' + occurrence: 0 + testSet: 606 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: literal.str_to_xyzzy + normalizedText: '"crate.version"' + occurrence: 0 + testSet: 607 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: literal.str_to_xyzzy + normalizedText: '"keywords"' + occurrence: 0 + testSet: 608 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 609 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: stmt.delete_call + normalizedText: common::write_metric_value(&mut metric_buf, value); + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_metrics_category + mutator: stmt.delete_call + normalizedText: metric_buf.clear(); + occurrence: 0 + testSet: 525 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.add_to_mul + normalizedText: angle + sweep + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.add_to_mul + normalizedText: low + medium + occurrence: 0 + testSet: 611 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.add_to_mul + normalizedText: low + medium + high + occurrence: 0 + testSet: 611 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.add_to_mul + normalizedText: low + medium + high + not_evaluated + occurrence: 0 + testSet: 611 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.add_to_sub + normalizedText: angle + sweep + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.add_to_sub + normalizedText: low + medium + occurrence: 0 + testSet: 611 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.add_to_sub + normalizedText: low + medium + high + occurrence: 0 + testSet: 611 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.add_to_sub + normalizedText: low + medium + high + not_evaluated + occurrence: 0 + testSet: 611 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.div_to_mul + normalizedText: -pi / 2.0 + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.div_to_mul + normalizedText: 2.0 * pi * (count as f64) / (total as f64) + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.div_to_rem + normalizedText: -pi / 2.0 + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.div_to_rem + normalizedText: 2.0 * pi * (count as f64) / (total as f64) + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.mul_to_add + normalizedText: 2.0 * pi + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.mul_to_add + normalizedText: 2.0 * pi * (count as f64) + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.mul_to_div + normalizedText: 2.0 * pi + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: arith.mul_to_div + normalizedText: 2.0 * pi * (count as f64) + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: assign_value.default + normalizedText: end_angle + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: cond.always_false + normalizedText: count == 0 + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: cond.always_false + normalizedText: non_zero.len() == 1 + occurrence: 0 + testSet: 612 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: cond.always_false + normalizedText: total == 0 + occurrence: 0 + testSet: 611 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: cond.always_true + normalizedText: count == 0 + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: cond.always_true + normalizedText: non_zero.len() == 1 + occurrence: 0 + testSet: 612 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: cond.always_true + normalizedText: total == 0 + occurrence: 0 + testSet: 611 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: cond.negate + normalizedText: count == 0 + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: cond.negate + normalizedText: non_zero.len() == 1 + occurrence: 0 + testSet: 612 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: cond.negate + normalizedText: total == 0 + occurrence: 0 + testSet: 611 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: fn_value.ok + normalizedText: '{ let total = low + medium + high + not_evaluated; if total == 0 { return Ok(()); } let slices: &[(usize, + &str)] = &[ (high, "var(--risk-high)"), (medium, "var(--risk-medium)"), (low, "var(--risk-low)"), (not_evaluated, + "var(--risk-not-eval)"), ]; let non_zero: Vec<_> = slices.iter().filter(|(c, _)| *c > 0).collect(); let cx = 80.0_f64; + let cy = 80.0_f64; let r = 72.0_f64; writeln!( writer, " " + )?; if non_zero.len() == 1 { let circle = format!(" ", + non_zero[0].1); writeln!(writer, "{circle}")?; } else { let pi = core::f64::consts::PI; let mut angle = -pi / 2.0; + #[expect(clippy::cast_precision_loss, reason = "Crate counts will never exceed 2^52")] for &(count, color) in slices + { if count == 0 { continue; } let sweep = 2.0 * pi * (count as f64) / (total as f64); let end_angle = angle + sweep; + let x1 = r.mul_add(angle.cos(), cx); let y1 = r.mul_add(angle.sin(), cy); let x2 = r.mul_add(end_angle.cos(), cx); + let y2 = r.mul_add(end_angle.sin(), cy); let large_arc = u8::from(sweep > pi); writeln!( writer, " " )?; angle = end_angle; } } writeln!( writer, " " )?; writeln!(writer, " ")?; Ok(()) }' + occurrence: 0 + testSet: 611 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 612 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 611 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 612 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 612 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 613 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 613 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: relational.eq_to_ne + normalizedText: count == 0 + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: relational.eq_to_ne + normalizedText: non_zero.len() == 1 + occurrence: 0 + testSet: 612 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: relational.eq_to_ne + normalizedText: total == 0 + occurrence: 0 + testSet: 611 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: relational.gt_to_ge + normalizedText: '*c > 0' + occurrence: 0 + testSet: 612 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: relational.gt_to_ge + normalizedText: sweep > pi + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: relational.gt_to_lt + normalizedText: '*c > 0' + occurrence: 0 + testSet: 612 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: relational.gt_to_lt + normalizedText: sweep > pi + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: stmt.delete_assign + normalizedText: angle = end_angle; + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_pie_chart + mutator: unary.remove_neg + normalizedText: -pi + occurrence: 0 + testSet: 610 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 614 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: cond.always_false + normalizedText: '*first_pill_emitted' + occurrence: 0 + testSet: 614 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: cond.always_false + normalizedText: description.is_empty() + occurrence: 0 + testSet: 614 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: cond.always_false + normalizedText: expanded + occurrence: 0 + testSet: 615 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: cond.always_true + normalizedText: '*first_pill_emitted' + occurrence: 0 + testSet: 614 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: cond.always_true + normalizedText: description.is_empty() + occurrence: 0 + testSet: 614 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: cond.always_true + normalizedText: expanded + occurrence: 0 + testSet: 615 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: cond.negate + normalizedText: '*first_pill_emitted' + occurrence: 0 + testSet: 614 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: cond.negate + normalizedText: description.is_empty() + occurrence: 0 + testSet: 614 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: cond.negate + normalizedText: expanded + occurrence: 0 + testSet: 615 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: fn_value.ok + normalizedText: '{ let open = if expanded { " open" } else { "" }; writeln!(writer, "
")?; writeln!( writer, " {title}" + )?; writeln!(writer, "
")?; for (name, version, description, score) in crate_entries + { let anchor = crate_anchor_id(name, version); let active = if *first_pill_emitted { "" } else { *first_pill_emitted + = true; " active" }; let tooltip = if description.is_empty() { format!("{} v{}", html_escape(name), html_escape(version)) + } else { format!("{} v{}\n{}", html_escape(name), html_escape(version), html_escape(description)) }; writeln!( writer, + " {}", html_escape(name), html_escape(name) )?; + } writeln!(writer, "
")?; writeln!(writer, "
")?; Ok(()) }' + occurrence: 0 + testSet: 615 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 614 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: literal.str_to_empty + normalizedText: '" active"' + occurrence: 0 + testSet: 614 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: literal.str_to_empty + normalizedText: '" open"' + occurrence: 0 + testSet: 614 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: literal.str_to_xyzzy + normalizedText: '" active"' + occurrence: 0 + testSet: 614 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: literal.str_to_xyzzy + normalizedText: '" open"' + occurrence: 0 + testSet: 614 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 616 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 1 + testSet: 617 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_crate_list + mutator: stmt.delete_assign + normalizedText: '*first_pill_emitted = true;' + occurrence: 0 + testSet: 614 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_risk_list_scripts + mutator: fn_value.ok + normalizedText: '{ writeln!(writer, " function selectCrate(id, pill, event) {{")?; writeln!(writer, " event.preventDefault();")?; + writeln!( writer, " document.querySelectorAll(''.risk-list .crate-name'').forEach(p => p.classList.remove(''active''));" + )?; writeln!( writer, " document.querySelectorAll(''.crate-card'').forEach(c => c.style.display = ''none'');" + )?; writeln!(writer, " const card = document.getElementById(id);")?; writeln!(writer, " if (card) {{ card.style.display + = ''''; }}")?; writeln!(writer, " const span = pill.querySelector(''.crate-name'') || pill;")?; writeln!(writer, + " span.classList.add(''active'');")?; writeln!(writer, " }}")?; writeln!(writer, " function sortCrates(btn, + mode, event) {{")?; writeln!(writer, " event.preventDefault();")?; writeln!(writer, " event.stopPropagation();")?; + writeln!(writer, " const list = btn.closest(''.risk-list'');")?; writeln!( writer, " list.querySelectorAll(''.sort-btn'').forEach(b + => b.classList.remove(''active''));" )?; writeln!(writer, " btn.classList.add(''active'');")?; writeln!(writer, + " const container = list.querySelector(''.crate-names'');")?; writeln!(writer, " const links = Array.from(container.querySelectorAll(''a''));")?; + writeln!(writer, " if (mode === ''alpha'') {{")?; writeln!( writer, " links.sort((a, b) => (a.dataset.name + || '''').localeCompare(b.dataset.name || ''''));" )?; writeln!(writer, " }} else if (mode === ''score'') {{")?; + writeln!( writer, " links.sort((a, b) => parseFloat(a.dataset.score || ''0'') - parseFloat(b.dataset.score + || ''0''));" )?; writeln!(writer, " }}")?; writeln!(writer, " links.forEach(l => container.appendChild(l));")?; + writeln!(writer, " }}")?; writeln!(writer, " function toggleRiskList(risk) {{")?; writeln!(writer, " const + lists = document.querySelectorAll(''.risk-list'');")?; writeln!(writer, " if (risk === ''all'') {{")?; writeln!(writer, + " const allOpen = Array.from(lists).every(l => l.open);")?; writeln!(writer, " lists.forEach(l => l.open + = !allOpen);")?; writeln!(writer, " }} else {{")?; writeln!(writer, " const target = document.getElementById(''risk-'' + + risk);")?; writeln!(writer, " if (!target) return;")?; writeln!(writer, " const wasOpen = target.open;")?; + writeln!(writer, " lists.forEach(l => l.open = false);")?; writeln!(writer, " target.open = !wasOpen;")?; + writeln!(writer, " }}")?; writeln!(writer, " }}")?; Ok(()) }' + occurrence: 0 + testSet: 584 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_scripts + mutator: cond.always_false + normalizedText: has_risk_lists + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_scripts + mutator: cond.always_true + normalizedText: has_risk_lists + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_scripts + mutator: cond.negate + normalizedText: has_risk_lists + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_scripts + mutator: fn_value.ok + normalizedText: '{ writeln!(writer, " ")?; Ok(()) }' + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_styles + mutator: fn_value.ok + normalizedText: '{ writeln!(writer, " ")?; Ok(()) }' + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: assign_value.default + normalizedText: 'false' + occurrence: 0 + testSet: 618 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: assign_value.default + normalizedText: 'false' + occurrence: 1 + testSet: 619 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: assign_value.default + normalizedText: 'false' + occurrence: 2 + testSet: 620 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.always_false + normalizedText: '!high_risk_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.always_false + normalizedText: '!low_risk_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.always_false + normalizedText: '!medium_risk_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.always_false + normalizedText: '!not_evaluated_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.always_false + normalizedText: count == 1 + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.always_false + normalizedText: not_evaluated > 0 + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.always_true + normalizedText: '!high_risk_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.always_true + normalizedText: '!low_risk_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.always_true + normalizedText: '!medium_risk_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.always_true + normalizedText: '!not_evaluated_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.always_true + normalizedText: count == 1 + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.always_true + normalizedText: not_evaluated > 0 + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.negate + normalizedText: '!high_risk_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.negate + normalizedText: '!low_risk_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.negate + normalizedText: '!medium_risk_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.negate + normalizedText: '!not_evaluated_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.negate + normalizedText: count == 1 + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: cond.negate + normalizedText: not_evaluated > 0 + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.decrement + normalizedText: high + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.decrement + normalizedText: high + occurrence: 1 + testSet: 618 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.decrement + normalizedText: low + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.decrement + normalizedText: low + occurrence: 1 + testSet: 620 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.decrement + normalizedText: medium + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.decrement + normalizedText: medium + occurrence: 1 + testSet: 619 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.decrement + normalizedText: not_evaluated + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.decrement + normalizedText: not_evaluated + occurrence: 1 + testSet: 622 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.increment + normalizedText: high + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.increment + normalizedText: high + occurrence: 1 + testSet: 618 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.increment + normalizedText: low + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.increment + normalizedText: low + occurrence: 1 + testSet: 620 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.increment + normalizedText: medium + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.increment + normalizedText: medium + occurrence: 1 + testSet: 619 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.increment + normalizedText: not_evaluated + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: expr.increment + normalizedText: not_evaluated + occurrence: 1 + testSet: 622 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: fn_value.ok + normalizedText: '{ let high = high_risk_crates.len(); let medium = medium_risk_crates.len(); let low = low_risk_crates.len(); + let not_evaluated = not_evaluated_crates.len(); writeln!(writer, "
")?; writeln!(writer, + "
")?; writeln!( writer, "
Total Crates
{total}
" )?; writeln!( writer, "
High Risk
{high}
" + )?; writeln!( writer, "
Medium Risk
{medium}
" )?; writeln!( writer, "
Low Risk
{low}
" + )?; if not_evaluated > 0 { writeln!( writer, "
Not Evaluated
{not_evaluated}
" )?; } writeln!(writer, "
")?; + write_pie_chart(writer, low, medium, high, not_evaluated)?; writeln!(writer, "
")?; let panel_title = |count: + usize, label: &str| -> String { let noun = if count == 1 { "Crate" } else { "Crates" }; format!("{count} {label} {noun}") + }; let mut first_pill_emitted = false; let mut first_panel = true; if !high_risk_crates.is_empty() { write_risk_crate_list( + writer, "high", &panel_title(high, "High Risk"), high_risk_crates, first_panel, &mut first_pill_emitted, )?; first_panel + = false; } if !medium_risk_crates.is_empty() { write_risk_crate_list( writer, "medium", &panel_title(medium, "Medium + Risk"), medium_risk_crates, first_panel, &mut first_pill_emitted, )?; first_panel = false; } if !low_risk_crates.is_empty() + { write_risk_crate_list( writer, "low", &panel_title(low, "Low Risk"), low_risk_crates, first_panel, &mut first_pill_emitted, + )?; first_panel = false; } if !not_evaluated_crates.is_empty() { write_risk_crate_list( writer, "not-eval", &panel_title(not_evaluated, + "Not Evaluated"), not_evaluated_crates, first_panel, &mut first_pill_emitted, )?; } let _ = first_panel; Ok(()) }' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 618 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 619 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 3 + testSet: 620 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_empty + normalizedText: '"Crate"' + occurrence: 0 + testSet: 623 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_empty + normalizedText: '"Crates"' + occurrence: 0 + testSet: 624 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_empty + normalizedText: '"High Risk"' + occurrence: 0 + testSet: 618 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_empty + normalizedText: '"Low Risk"' + occurrence: 0 + testSet: 620 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_empty + normalizedText: '"Medium Risk"' + occurrence: 0 + testSet: 619 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_empty + normalizedText: '"Not Evaluated"' + occurrence: 0 + testSet: 622 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_empty + normalizedText: '"high"' + occurrence: 0 + testSet: 618 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_empty + normalizedText: '"low"' + occurrence: 0 + testSet: 620 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_empty + normalizedText: '"medium"' + occurrence: 0 + testSet: 619 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_empty + normalizedText: '"not-eval"' + occurrence: 0 + testSet: 622 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_xyzzy + normalizedText: '"Crate"' + occurrence: 0 + testSet: 623 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_xyzzy + normalizedText: '"Crates"' + occurrence: 0 + testSet: 624 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_xyzzy + normalizedText: '"High Risk"' + occurrence: 0 + testSet: 618 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_xyzzy + normalizedText: '"Low Risk"' + occurrence: 0 + testSet: 620 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_xyzzy + normalizedText: '"Medium Risk"' + occurrence: 0 + testSet: 619 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_xyzzy + normalizedText: '"Not Evaluated"' + occurrence: 0 + testSet: 622 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_xyzzy + normalizedText: '"high"' + occurrence: 0 + testSet: 618 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_xyzzy + normalizedText: '"low"' + occurrence: 0 + testSet: 620 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_xyzzy + normalizedText: '"medium"' + occurrence: 0 + testSet: 619 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: literal.str_to_xyzzy + normalizedText: '"not-eval"' + occurrence: 0 + testSet: 622 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: relational.eq_to_ne + normalizedText: count == 1 + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: relational.gt_to_ge + normalizedText: not_evaluated > 0 + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: relational.gt_to_lt + normalizedText: not_evaluated > 0 + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: stmt.delete_assign + normalizedText: first_panel = false; + occurrence: 0 + testSet: 618 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: stmt.delete_assign + normalizedText: first_panel = false; + occurrence: 1 + testSet: 619 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: stmt.delete_assign + normalizedText: first_panel = false; + occurrence: 2 + testSet: 620 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: unary.remove_not + normalizedText: '!high_risk_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: unary.remove_not + normalizedText: '!low_risk_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: unary.remove_not + normalizedText: '!medium_risk_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_summary + mutator: unary.remove_not + normalizedText: '!not_evaluated_crates.is_empty()' + occurrence: 0 + testSet: 621 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_tab_scripts + mutator: fn_value.ok + normalizedText: '{ writeln!(writer, " function switchTab(btn) {{")?; writeln!(writer, " const tabs = btn.closest(''.tabs'');")?; + writeln!( writer, " tabs.querySelectorAll(''.tab-btn'').forEach(b => b.classList.remove(''active''));" )?; writeln!( + writer, " tabs.querySelectorAll(''.tab-panel'').forEach(p => p.classList.remove(''active''));" )?; writeln!(writer, + " btn.classList.add(''active'');")?; writeln!(writer, " document.getElementById(btn.dataset.tab).classList.add(''active'');")?; + writeln!(writer, " }}")?; Ok(()) }' + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/html.rs + item: write_theme_scripts + mutator: fn_value.ok + normalizedText: '{ writeln!(writer, " function getSystemTheme() {{")?; writeln!( writer, " return window.matchMedia(''(prefers-color-scheme: + dark)'').matches ? ''dark'' : ''light'';" )?; writeln!(writer, " }}")?; writeln!(writer, " function updateIcon(theme) + {{")?; writeln!(writer, " const icon = document.getElementById(''theme-icon'');")?; writeln!(writer, " if + (theme === ''dark'') {{")?; writeln!( writer, " icon.innerHTML = '''';" )?; writeln!(writer, " }} else {{")?; + writeln!( writer, " icon.innerHTML = '''';" )?; + writeln!(writer, " }}")?; writeln!(writer, " }}")?; writeln!(writer, " function applyTheme(theme) {{")?; + writeln!(writer, " document.body.classList.remove(''dark-theme'', ''light-theme'');")?; writeln!(writer, " document.body.classList.add(theme + + ''-theme'');")?; writeln!(writer, " updateIcon(theme);")?; writeln!(writer, " }}")?; writeln!(writer, " function + toggleTheme() {{")?; writeln!( writer, " const currentTheme = localStorage.getItem(''theme'') || getSystemTheme();" + )?; writeln!(writer, " const newTheme = currentTheme === ''dark'' ? ''light'' : ''dark'';")?; writeln!(writer, + " localStorage.setItem(''theme'', newTheme);")?; writeln!(writer, " applyTheme(newTheme);")?; writeln!(writer, + " }}")?; Ok(()) }' + occurrence: 0 + testSet: 583 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: fn_value.ok + normalizedText: '{ let mut crate_data = Vec::with_capacity(crates.len()); let mut buf = String::new(); for crate_info + in crates { let mut crate_obj = serde_json::Map::new(); crate_obj.insert("name".into(), json!(crate_info.name)); crate_obj.insert("version".into(), + json!(crate_info.version.to_string())); if let Some(appraisal) = &crate_info.appraisal { let mut eval_obj = serde_json::Map::new(); + eval_obj.insert("result".into(), json!(common::format_appraisal_status(appraisal))); eval_obj.insert( "risk".into(), + json!(match appraisal.risk() { Risk::Low => "low", Risk::Medium => "medium", Risk::High => "high", }), ); eval_obj.insert("required_check_failure".into(), + json!(appraisal.is_required_check_failure())); eval_obj.insert( "weighted_evaluation_failure".into(), json!(appraisal.is_weighted_evaluation_failure()), + ); let weighted_score = appraisal.weighted_score(); eval_obj.insert("score".into(), weighted_score.into()); let point_totals + = appraisal.point_totals(); eval_obj.insert("awarded_points".into(), point_totals.map(|points| points.0).into()); + eval_obj.insert("available_points".into(), point_totals.map(|points| points.1).into()); eval_obj.insert( "reasons".into(), + json!( appraisal .expression_outcomes .iter() .map(|outcome| match &outcome.disposition { ExpressionDisposition::Failed(reason) + => { format!("{} (failure to evaluate: {reason})", outcome.name) } ExpressionDisposition::True | ExpressionDisposition::False + => { outcome.name.to_string() } }) .collect::>() ), ); eval_obj.insert( "outcomes".into(), json!( appraisal + .expression_outcomes .iter() .map(|outcome| { let (disposition, evaluation_error) = match &outcome.disposition { ExpressionDisposition::True + => ("passed", None), ExpressionDisposition::False => ("failed", None), ExpressionDisposition::Failed(reason) => ("inconclusive", + Some(reason.as_str())), }; json!({ "name": outcome.name, "description": outcome.description, "disposition": disposition, + "evaluation_error": evaluation_error, }) }) .collect::>() ), ); crate_obj.insert("appraisal".into(), json!(eval_obj)); + } let mut metrics_obj = serde_json::Map::new(); for metric in &crate_info.metrics { if let Some(ref value) = metric.value + { let json_value = metric_value_to_json(value, &mut buf); metrics_obj.insert(metric.name().into(), json_value); } + } crate_obj.insert("metrics".into(), json!(metrics_obj)); crate_data.push(json!(crate_obj)); } let output = json!({ + "crates": crate_data }); write!(writer, "{}", serde_json::to_string_pretty(&output)?)?; Ok(()) }' + occurrence: 0 + testSet: 625 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"appraisal"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"available_points"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"awarded_points"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"metrics"' + occurrence: 0 + testSet: 627 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"name"' + occurrence: 0 + testSet: 627 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"outcomes"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"reasons"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"required_check_failure"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"result"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"risk"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"score"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"version"' + occurrence: 0 + testSet: 627 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_empty + normalizedText: '"weighted_evaluation_failure"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"appraisal"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"available_points"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"awarded_points"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"metrics"' + occurrence: 0 + testSet: 627 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"name"' + occurrence: 0 + testSet: 627 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"outcomes"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"reasons"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"required_check_failure"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"result"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"risk"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"score"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"version"' + occurrence: 0 + testSet: 627 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: literal.str_to_xyzzy + normalizedText: '"weighted_evaluation_failure"' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: crate_data.push(json!(crate_obj)); + occurrence: 0 + testSet: 627 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: crate_obj.insert("appraisal".into(), json!(eval_obj)); + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: crate_obj.insert("metrics".into(), json!(metrics_obj)); + occurrence: 0 + testSet: 627 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: crate_obj.insert("name".into(), json!(crate_info.name)); + occurrence: 0 + testSet: 627 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: crate_obj.insert("version".into(), json!(crate_info.version.to_string())); + occurrence: 0 + testSet: 627 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: 'eval_obj.insert( "outcomes".into(), json!( appraisal .expression_outcomes .iter() .map(|outcome| { + let (disposition, evaluation_error) = match &outcome.disposition { ExpressionDisposition::True => ("passed", None), + ExpressionDisposition::False => ("failed", None), ExpressionDisposition::Failed(reason) => ("inconclusive", Some(reason.as_str())), + }; json!({ "name": outcome.name, "description": outcome.description, "disposition": disposition, "evaluation_error": + evaluation_error, }) }) .collect::>() ), );' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: 'eval_obj.insert( "reasons".into(), json!( appraisal .expression_outcomes .iter() .map(|outcome| match + &outcome.disposition { ExpressionDisposition::Failed(reason) => { format!("{} (failure to evaluate: {reason})", outcome.name) + } ExpressionDisposition::True | ExpressionDisposition::False => { outcome.name.to_string() } }) .collect::>() + ), );' + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: eval_obj.insert( "risk".into(), json!(match appraisal.risk() { Risk::Low => "low", Risk::Medium => "medium", + Risk::High => "high", }), ); + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: eval_obj.insert( "weighted_evaluation_failure".into(), json!(appraisal.is_weighted_evaluation_failure()), + ); + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: eval_obj.insert("available_points".into(), point_totals.map(|points| points.1).into()); + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: eval_obj.insert("awarded_points".into(), point_totals.map(|points| points.0).into()); + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: eval_obj.insert("required_check_failure".into(), json!(appraisal.is_required_check_failure())); + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: eval_obj.insert("result".into(), json!(common::format_appraisal_status(appraisal))); + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: eval_obj.insert("score".into(), weighted_score.into()); + occurrence: 0 + testSet: 626 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: generate + mutator: stmt.delete_call + normalizedText: metrics_obj.insert(metric.name().into(), json_value); + occurrence: 0 + testSet: 627 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: metric_value_to_json + mutator: fn_value.default + normalizedText: '{ match value { MetricValue::UInt(u) => json!(u), MetricValue::Float(f) => json!(f), MetricValue::Boolean(b) + => json!(b), MetricValue::String(s) => json!(s.as_str()), MetricValue::DateTime(_) => { buf.clear(); common::write_metric_value(buf, + value); json!(buf.as_str()) } MetricValue::List(values) => { json!(values.iter().map(|v| metric_value_to_json(v, buf)).collect::>()) + } } }' + occurrence: 0 + testSet: 628 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: metric_value_to_json + mutator: stmt.delete_call + normalizedText: buf.clear(); + occurrence: 0 + testSet: 629 + - site: + file: crates/cargo-aprz-lib/src/reports/json.rs + item: metric_value_to_json + mutator: stmt.delete_call + normalizedText: common::write_metric_value(buf, value); + occurrence: 0 + testSet: 629 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: arith.div_to_mul + normalizedText: 100.0 * f64::from(self.covered) / f64::from(self.count) + occurrence: 0 + testSet: 630 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: arith.div_to_rem + normalizedText: 100.0 * f64::from(self.covered) / f64::from(self.count) + occurrence: 0 + testSet: 630 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: arith.mul_to_add + normalizedText: 100.0 * f64::from(self.covered) + occurrence: 0 + testSet: 630 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: arith.mul_to_div + normalizedText: 100.0 * f64::from(self.covered) + occurrence: 0 + testSet: 630 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: cond.always_false + normalizedText: self.count == 0 + occurrence: 0 + testSet: 631 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: cond.always_true + normalizedText: self.count == 0 + occurrence: 0 + testSet: 631 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: cond.negate + normalizedText: self.count == 0 + occurrence: 0 + testSet: 631 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: expr.decrement + normalizedText: self.count + occurrence: 0 + testSet: 630 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: expr.decrement + normalizedText: self.covered + occurrence: 0 + testSet: 630 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: expr.increment + normalizedText: self.count + occurrence: 0 + testSet: 630 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: expr.increment + normalizedText: self.covered + occurrence: 0 + testSet: 630 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: fn_value.none + normalizedText: '{ if self.count == 0 { None } else { let pct = 100.0 * f64::from(self.covered) / f64::from(self.count); + Some(pct) } }' + occurrence: 0 + testSet: 631 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 631 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 632 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: option.some_to_none + normalizedText: Some(pct) + occurrence: 0 + testSet: 630 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: LineTotals::percent + mutator: relational.eq_to_ne + normalizedText: self.count == 0 + occurrence: 0 + testSet: 631 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: aggregate + mutator: assign_value.default + normalizedText: totals.count.saturating_add(f.lines_total) + occurrence: 0 + testSet: 633 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: aggregate + mutator: assign_value.default + normalizedText: totals.covered.saturating_add(f.lines_covered) + occurrence: 0 + testSet: 633 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: aggregate + mutator: fn_value.default + normalizedText: '{ let mut totals = LineTotals::default(); for f in files { totals.count = totals.count.saturating_add(f.lines_total); + totals.covered = totals.covered.saturating_add(f.lines_covered); } totals }' + occurrence: 0 + testSet: 634 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: aggregate + mutator: stmt.delete_assign + normalizedText: totals.count = totals.count.saturating_add(f.lines_total); + occurrence: 0 + testSet: 633 + - site: + file: crates/cargo-coverage-gate/src/aggregate.rs + item: aggregate + mutator: stmt.delete_assign + normalizedText: totals.covered = totals.covered.saturating_add(f.lines_covered); + occurrence: 0 + testSet: 633 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: cond.always_false + normalizedText: f.filename.starts_with(&members[i].manifest_dir) + occurrence: 0 + testSet: 635 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: cond.always_true + normalizedText: f.filename.starts_with(&members[i].manifest_dir) + occurrence: 0 + testSet: 635 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: cond.negate + normalizedText: f.filename.starts_with(&members[i].manifest_dir) + occurrence: 0 + testSet: 635 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: expr.decrement + normalizedText: i + occurrence: 0 + testSet: 635 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: expr.decrement + normalizedText: i + occurrence: 1 + testSet: 635 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: expr.decrement + normalizedText: left + occurrence: 0 + testSet: 636 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: expr.decrement + normalizedText: members.len() + occurrence: 0 + testSet: 637 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: expr.decrement + normalizedText: right + occurrence: 0 + testSet: 636 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: expr.increment + normalizedText: i + occurrence: 0 + testSet: 635 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: expr.increment + normalizedText: i + occurrence: 1 + testSet: 635 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: expr.increment + normalizedText: left + occurrence: 0 + testSet: 636 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: expr.increment + normalizedText: members.len() + occurrence: 0 + testSet: 637 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: expr.increment + normalizedText: right + occurrence: 0 + testSet: 636 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: fn_value.default + normalizedText: '{ let mut order: Vec = (0..members.len()).collect(); order.sort_by(|&left, &right| members[right].manifest_dir.cmp(&members[left].manifest_dir)); + let mut out = AttributionOutcome::default(); ''files: for f in files { for &i in &order { if f.filename.starts_with(&members[i].manifest_dir) + { out.by_member.entry(members[i].name.clone()).or_default().push(f); continue ''files; } } out.unattributed.push(f); + } out }' + occurrence: 0 + testSet: 637 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: iter.remove_sort + normalizedText: order.sort_by(|&left, &right| members[right].manifest_dir.cmp(&members[left].manifest_dir)); + occurrence: 0 + testSet: 637 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 637 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: loop.continue_to_break + normalizedText: continue 'files + occurrence: 0 + testSet: 635 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: loop.delete_continue + normalizedText: continue 'files; + occurrence: 0 + testSet: 635 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: range.exclusive_to_inclusive + normalizedText: 0..members.len() + occurrence: 0 + testSet: 637 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: stmt.delete_call + normalizedText: out.by_member.entry(members[i].name.clone()).or_default().push(f); + occurrence: 0 + testSet: 635 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: stmt.delete_call + normalizedText: out.unattributed.push(f); + occurrence: 0 + testSet: 638 + - site: + file: crates/cargo-coverage-gate/src/attribute.rs + item: attribute + mutator: string.starts_with_to_ends_with + normalizedText: f.filename.starts_with(&members[i].manifest_dir) + occurrence: 0 + testSet: 635 + - site: + file: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/run.rs + item: summary_target_with_env + mutator: fn_value.none + normalizedText: '{ if let Some(p) = &args.summary_file { return Some(p.clone()); } for var in SUMMARY_ENV_VARS { if + let Some(v) = var_os(var) && !v.is_empty() { return Some(PathBuf::from(v)); } } None }' + occurrence: 0 + testSet: 639 + - site: + file: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/run.rs + item: summary_target_with_env + mutator: option.some_to_none + normalizedText: Some(PathBuf::from(v)) + occurrence: 0 + testSet: 640 + - site: + file: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/run.rs + item: summary_target_with_env + mutator: option.some_to_none + normalizedText: Some(p.clone()) + occurrence: 0 + testSet: 641 + - site: + file: crates/cargo-coverage-gate/src/bin/cargo-coverage-gate/run.rs + item: summary_target_with_env + mutator: unary.remove_not + normalizedText: '!v.is_empty()' + occurrence: 0 + testSet: 640 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: assign_value.default + normalizedText: covered.saturating_add(1) + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: assign_value.default + normalizedText: total.saturating_add(1) + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: cond.always_false + normalizedText: data.count > 0 + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: cond.always_true + normalizedText: data.count > 0 + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: cond.negate + normalizedText: data.count > 0 + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: relational.gt_to_ge + normalizedText: data.count > 0 + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: relational.gt_to_lt + normalizedText: data.count > 0 + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: stmt.delete_assign + normalizedText: covered = covered.saturating_add(1); + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: stmt.delete_assign + normalizedText: total = total.saturating_add(1); + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: stmt.delete_call + normalizedText: coverable_lines.push(key.line); + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: stmt.delete_call + normalizedText: 'files.push(FileReport { filename: key.source_file, lines_total: total, lines_covered: covered, coverable_lines, + uncovered_lines, });' + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_lcov_report + mutator: stmt.delete_call + normalizedText: uncovered_lines.push(key.line); + occurrence: 0 + testSet: 642 + - site: + file: crates/cargo-coverage-gate/src/lcov_cov.rs + item: CoverageReport::from_strs + mutator: stmt.delete_call + normalizedText: merged.merge_lossy(report); + occurrence: 0 + testSet: 643 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: EvaluatedReport::unattributed_count + mutator: expr.decrement + normalizedText: self.inner.unattributed + occurrence: 0 + testSet: 644 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: EvaluatedReport::unattributed_count + mutator: expr.increment + normalizedText: self.inner.unattributed + occurrence: 0 + testSet: 644 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: EvaluatedReport::unattributed_count + mutator: fn_value.one + normalizedText: '{ self.inner.unattributed }' + occurrence: 0 + testSet: 644 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: EvaluatedReport::unattributed_count + mutator: fn_value.zero + normalizedText: '{ self.inner.unattributed }' + occurrence: 0 + testSet: 644 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: Verdict::as_exit_code + mutator: expr.decrement + normalizedText: match self { Self::Pass => 0, Self::Fail => 1, Self::ConfigError => 2, } + occurrence: 0 + testSet: 645 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: Verdict::as_exit_code + mutator: expr.increment + normalizedText: match self { Self::Pass => 0, Self::Fail => 1, Self::ConfigError => 2, } + occurrence: 0 + testSet: 645 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: Verdict::as_exit_code + mutator: fn_value.minus_one + normalizedText: '{ match self { Self::Pass => 0, Self::Fail => 1, Self::ConfigError => 2, } }' + occurrence: 0 + testSet: 645 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: Verdict::as_exit_code + mutator: fn_value.one + normalizedText: '{ match self { Self::Pass => 0, Self::Fail => 1, Self::ConfigError => 2, } }' + occurrence: 0 + testSet: 645 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: Verdict::as_exit_code + mutator: fn_value.zero + normalizedText: '{ match self { Self::Pass => 0, Self::Fail => 1, Self::ConfigError => 2, } }' + occurrence: 0 + testSet: 645 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: Verdict::as_exit_code + mutator: literal.int_decrement + normalizedText: '0' + occurrence: 0 + testSet: 645 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: Verdict::as_exit_code + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 645 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: Verdict::as_exit_code + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 645 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: Verdict::as_exit_code + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 645 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: Verdict::as_exit_code + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 645 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: Verdict::as_exit_code + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 645 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: Verdict::as_exit_code + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 645 + - site: + file: crates/cargo-coverage-gate/src/lib.rs + item: implicit_target + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 646 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: diagnostic_line_count + mutator: fn_value.one + normalizedText: '{ outcome.diagnostics.iter().map(|diagnostic| diagnostic.lines.len()).sum() }' + occurrence: 0 + testSet: 647 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: diagnostic_line_count + mutator: fn_value.zero + normalizedText: '{ outcome.diagnostics.iter().map(|diagnostic| diagnostic.lines.len()).sum() }' + occurrence: 0 + testSet: 647 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: failure_detail + mutator: fn_value.none + normalizedText: '{ match outcome.status { Status::Fail => { let uncovered = outcome.totals.count.saturating_sub(outcome.totals.covered); + Some(format!( "{}/{} lines covered; {} uncovered.", outcome.totals.covered, outcome.totals.count, uncovered )) } Status::NoData + => Some("no coverage records were attributed to this package.".to_owned()), Status::UnexpectedCoverableLines => Some(format!( + "expected no coverable lines; found {}.", super::plural(outcome.totals.count as usize, "line", "lines") )), Status::Ok + | Status::NoCoverableLines => None, } }' + occurrence: 0 + testSet: 648 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: failure_detail + mutator: literal.str_to_empty + normalizedText: '"no coverage records were attributed to this package."' + occurrence: 0 + testSet: 649 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: failure_detail + mutator: literal.str_to_xyzzy + normalizedText: '"no coverage records were attributed to this package."' + occurrence: 0 + testSet: 649 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: failure_detail + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 650 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: failure_detail + mutator: option.some_to_none + normalizedText: Some("no coverage records were attributed to this package.".to_owned()) + occurrence: 0 + testSet: 649 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: failure_detail + mutator: option.some_to_none + normalizedText: Some(format!( "expected no coverable lines; found {}.", super::plural(outcome.totals.count as usize, + "line", "lines") )) + occurrence: 0 + testSet: 651 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: failure_detail + mutator: option.some_to_none + normalizedText: Some(format!( "{}/{} lines covered; {} uncovered.", outcome.totals.covered, outcome.totals.count, uncovered + )) + occurrence: 0 + testSet: 652 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: assign_value.default + normalizedText: line + occurrence: 0 + testSet: 653 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: assign_value.default + normalizedText: line + occurrence: 1 + testSet: 654 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: cond.always_false + normalizedText: line != end.saturating_add(1) + occurrence: 0 + testSet: 654 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: cond.always_true + normalizedText: line != end.saturating_add(1) + occurrence: 0 + testSet: 654 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: cond.negate + normalizedText: line != end.saturating_add(1) + occurrence: 0 + testSet: 654 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: expr.decrement + normalizedText: end + occurrence: 0 + testSet: 653 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: expr.decrement + normalizedText: end + occurrence: 1 + testSet: 655 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: expr.increment + normalizedText: end + occurrence: 0 + testSet: 653 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: expr.increment + normalizedText: end + occurrence: 1 + testSet: 655 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: fn_value.empty_string + normalizedText: '{ let mut ranges = Vec::new(); let Some((&first, rest)) = lines.split_first() else { return String::new(); + }; let mut start = first; let mut end = first; for &line in rest { if line != end.saturating_add(1) { push_line_range(&mut + ranges, start, end); start = line; } end = line; } push_line_range(&mut ranges, start, end); ranges.join(", ") }' + occurrence: 0 + testSet: 655 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut ranges = Vec::new(); let Some((&first, rest)) = lines.split_first() else { return String::new(); + }; let mut start = first; let mut end = first; for &line in rest { if line != end.saturating_add(1) { push_line_range(&mut + ranges, start, end); start = line; } end = line; } push_line_range(&mut ranges, start, end); ranges.join(", ") }' + occurrence: 0 + testSet: 655 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 654 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 654 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: literal.str_to_empty + normalizedText: '", "' + occurrence: 0 + testSet: 655 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: literal.str_to_xyzzy + normalizedText: '", "' + occurrence: 0 + testSet: 655 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: relational.ne_to_eq + normalizedText: line != end.saturating_add(1) + occurrence: 0 + testSet: 654 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: stmt.delete_assign + normalizedText: end = line; + occurrence: 0 + testSet: 654 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: stmt.delete_assign + normalizedText: start = line; + occurrence: 0 + testSet: 653 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: stmt.delete_call + normalizedText: push_line_range(&mut ranges, start, end); + occurrence: 0 + testSet: 653 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: format_line_ranges + mutator: stmt.delete_call + normalizedText: push_line_range(&mut ranges, start, end); + occurrence: 1 + testSet: 655 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: push_line_range + mutator: cond.always_false + normalizedText: start == end + occurrence: 0 + testSet: 655 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: push_line_range + mutator: cond.always_true + normalizedText: start == end + occurrence: 0 + testSet: 655 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: push_line_range + mutator: cond.negate + normalizedText: start == end + occurrence: 0 + testSet: 655 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: push_line_range + mutator: fn_value.unit + normalizedText: '{ if start == end { ranges.push(start.to_string()); } else { ranges.push(format!("{start}-{end}")); + } }' + occurrence: 0 + testSet: 655 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: push_line_range + mutator: relational.eq_to_ne + normalizedText: start == end + occurrence: 0 + testSet: 655 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: push_line_range + mutator: stmt.delete_call + normalizedText: ranges.push(format!("{start}-{end}")); + occurrence: 0 + testSet: 654 + - site: + file: crates/cargo-coverage-gate/src/render/diagnostics.rs + item: push_line_range + mutator: stmt.delete_call + normalizedText: ranges.push(start.to_string()); + occurrence: 0 + testSet: 656 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: render + mutator: cond.always_false + normalizedText: report.unattributed > 0 + occurrence: 0 + testSet: 657 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: render + mutator: cond.always_true + normalizedText: report.unattributed > 0 + occurrence: 0 + testSet: 657 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: render + mutator: cond.negate + normalizedText: report.unattributed > 0 + occurrence: 0 + testSet: 657 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: render + mutator: fn_value.ok + normalizedText: '{ writeln!(out, "### coverage-gate")?; writeln!(out)?; writeln!(out, "| Package | Lines | Threshold + | Δ vs threshold | Status | Source |")?; writeln!(out, "|-------|------:|----------:|---------------:|:------:|:-------|")?; + for o in &report.outcomes { writeln!( out, "| {name} | {lines} | {threshold} | {delta} | {status} | {source} |", name + = o.name, lines = format_lines(o), threshold = format_threshold(o), delta = format_delta(o), status = format_status_markdown(o.status), + source = format_source(o.threshold.source), )?; } writeln!(out)?; writeln!(out, "**Result:** {}", result_summary(&report.outcomes))?; + write_failure_details(out, report)?; if report.unattributed > 0 { writeln!( out, "_Note: {} had paths outside any + workspace member and were not attributed._", files(report.unattributed), )?; } Ok(()) }' + occurrence: 0 + testSet: 658 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: render + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 657 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: render + mutator: relational.gt_to_ge + normalizedText: report.unattributed > 0 + occurrence: 0 + testSet: 657 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: render + mutator: relational.gt_to_lt + normalizedText: report.unattributed > 0 + occurrence: 0 + testSet: 657 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: assign.sub_to_add + normalizedText: remaining -= displayed + occurrence: 0 + testSet: 659 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: cond.always_false + normalizedText: failures.is_empty() + occurrence: 0 + testSet: 660 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: cond.always_false + normalizedText: omitted > 0 + occurrence: 0 + testSet: 661 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: cond.always_false + normalizedText: remaining == 0 + occurrence: 0 + testSet: 662 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: cond.always_true + normalizedText: failures.is_empty() + occurrence: 0 + testSet: 660 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: cond.always_true + normalizedText: omitted > 0 + occurrence: 0 + testSet: 661 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: cond.always_true + normalizedText: remaining == 0 + occurrence: 0 + testSet: 662 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: cond.negate + normalizedText: failures.is_empty() + occurrence: 0 + testSet: 660 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: cond.negate + normalizedText: omitted > 0 + occurrence: 0 + testSet: 661 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: cond.negate + normalizedText: remaining == 0 + occurrence: 0 + testSet: 662 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: expr.decrement + normalizedText: MAX_DIAGNOSTIC_LINES + occurrence: 0 + testSet: 661 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: expr.decrement + normalizedText: remaining + occurrence: 0 + testSet: 662 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: expr.increment + normalizedText: MAX_DIAGNOSTIC_LINES + occurrence: 0 + testSet: 661 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: expr.increment + normalizedText: remaining + occurrence: 0 + testSet: 662 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: fn_value.ok + normalizedText: '{ let failures: Vec<_> = report .outcomes .iter() .filter_map(|outcome| failure_detail(outcome).map(|detail| + (outcome, detail))) .collect(); if failures.is_empty() { return Ok(()); } writeln!(out)?; writeln!(out, "#### Failure + details")?; for (outcome, detail) in failures { writeln!(out, "- **{}:** {}", outcome.name, detail)?; let mut remaining + = MAX_DIAGNOSTIC_LINES; for diagnostic in &outcome.diagnostics { if remaining == 0 { break; } let displayed = diagnostic.lines.len().min(remaining); + writeln!( out, " - `{}`: {}", diagnostic.path.display(), format_line_ranges(&diagnostic.lines[..displayed]) )?; remaining + -= displayed; } let omitted = diagnostic_line_count(outcome).saturating_sub(MAX_DIAGNOSTIC_LINES); if omitted > 0 + { writeln!(out, " - ... {omitted} more line locations omitted")?; } } Ok(()) }' + occurrence: 0 + testSet: 660 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: iter.min_to_max + normalizedText: diagnostic.lines.len().min(remaining) + occurrence: 0 + testSet: 662 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 662 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 661 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 663 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 663 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: relational.eq_to_ne + normalizedText: remaining == 0 + occurrence: 0 + testSet: 662 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: relational.gt_to_ge + normalizedText: omitted > 0 + occurrence: 0 + testSet: 661 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: relational.gt_to_lt + normalizedText: omitted > 0 + occurrence: 0 + testSet: 661 + - site: + file: crates/cargo-coverage-gate/src/render/markdown.rs + item: write_failure_details + mutator: stmt.delete_assign + normalizedText: remaining -= displayed; + occurrence: 0 + testSet: 659 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_failures + mutator: expr.decrement + normalizedText: outcomes.iter().filter(|o| o.status == Status::Fail).count() + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_failures + mutator: expr.increment + normalizedText: outcomes.iter().filter(|o| o.status == Status::Fail).count() + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_failures + mutator: fn_value.one + normalizedText: '{ outcomes.iter().filter(|o| o.status == Status::Fail).count() }' + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_failures + mutator: fn_value.zero + normalizedText: '{ outcomes.iter().filter(|o| o.status == Status::Fail).count() }' + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_failures + mutator: relational.eq_to_ne + normalizedText: o.status == Status::Fail + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_no_data + mutator: expr.decrement + normalizedText: outcomes.iter().filter(|o| o.status == Status::NoData).count() + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_no_data + mutator: expr.increment + normalizedText: outcomes.iter().filter(|o| o.status == Status::NoData).count() + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_no_data + mutator: fn_value.one + normalizedText: '{ outcomes.iter().filter(|o| o.status == Status::NoData).count() }' + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_no_data + mutator: fn_value.zero + normalizedText: '{ outcomes.iter().filter(|o| o.status == Status::NoData).count() }' + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_no_data + mutator: relational.eq_to_ne + normalizedText: o.status == Status::NoData + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_unexpected_coverable_lines + mutator: expr.decrement + normalizedText: outcomes.iter().filter(|o| o.status == Status::UnexpectedCoverableLines).count() + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_unexpected_coverable_lines + mutator: expr.increment + normalizedText: outcomes.iter().filter(|o| o.status == Status::UnexpectedCoverableLines).count() + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_unexpected_coverable_lines + mutator: fn_value.one + normalizedText: '{ outcomes.iter().filter(|o| o.status == Status::UnexpectedCoverableLines).count() }' + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_unexpected_coverable_lines + mutator: fn_value.zero + normalizedText: '{ outcomes.iter().filter(|o| o.status == Status::UnexpectedCoverableLines).count() }' + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: count_unexpected_coverable_lines + mutator: relational.eq_to_ne + normalizedText: o.status == Status::UnexpectedCoverableLines + occurrence: 0 + testSet: 664 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: files + mutator: expr.decrement + normalizedText: n + occurrence: 0 + testSet: 665 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: files + mutator: expr.increment + normalizedText: n + occurrence: 0 + testSet: 665 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: files + mutator: fn_value.empty_string + normalizedText: '{ plural(n, "file", "files") }' + occurrence: 0 + testSet: 665 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: files + mutator: fn_value.xyzzy_string + normalizedText: '{ plural(n, "file", "files") }' + occurrence: 0 + testSet: 665 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: files + mutator: literal.str_to_empty + normalizedText: '"file"' + occurrence: 0 + testSet: 665 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: files + mutator: literal.str_to_empty + normalizedText: '"files"' + occurrence: 0 + testSet: 665 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: files + mutator: literal.str_to_xyzzy + normalizedText: '"file"' + occurrence: 0 + testSet: 665 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: files + mutator: literal.str_to_xyzzy + normalizedText: '"files"' + occurrence: 0 + testSet: 665 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: arith.div_to_mul + normalizedText: (delta * 10.0).round() / 10.0 + occurrence: 0 + testSet: 666 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: arith.div_to_rem + normalizedText: (delta * 10.0).round() / 10.0 + occurrence: 0 + testSet: 666 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: arith.mul_to_add + normalizedText: delta * 10.0 + occurrence: 0 + testSet: 666 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: arith.mul_to_div + normalizedText: delta * 10.0 + occurrence: 0 + testSet: 666 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: arith.sub_to_add + normalizedText: pct - outcome.threshold.min_lines_percent + occurrence: 0 + testSet: 666 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: arith.sub_to_div + normalizedText: pct - outcome.threshold.min_lines_percent + occurrence: 0 + testSet: 666 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: cond.always_false + normalizedText: matches!(outcome.status, Status::NoCoverableLines | Status::UnexpectedCoverableLines) + occurrence: 0 + testSet: 667 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: cond.always_false + normalizedText: rounded < 0.0 + occurrence: 0 + testSet: 668 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: cond.always_false + normalizedText: rounded > 0.0 + occurrence: 0 + testSet: 666 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: cond.always_true + normalizedText: matches!(outcome.status, Status::NoCoverableLines | Status::UnexpectedCoverableLines) + occurrence: 0 + testSet: 667 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: cond.always_true + normalizedText: rounded < 0.0 + occurrence: 0 + testSet: 668 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: cond.always_true + normalizedText: rounded > 0.0 + occurrence: 0 + testSet: 666 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: cond.negate + normalizedText: matches!(outcome.status, Status::NoCoverableLines | Status::UnexpectedCoverableLines) + occurrence: 0 + testSet: 667 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: cond.negate + normalizedText: rounded < 0.0 + occurrence: 0 + testSet: 668 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: cond.negate + normalizedText: rounded > 0.0 + occurrence: 0 + testSet: 666 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: fn_value.empty_string + normalizedText: '{ if matches!(outcome.status, Status::NoCoverableLines | Status::UnexpectedCoverableLines) { return + "—".to_owned(); } let Some(pct) = outcome.percent() else { return "—".to_owned(); }; let delta = pct - outcome.threshold.min_lines_percent; + let rounded = (delta * 10.0).round() / 10.0; if rounded > 0.0 { format!("+{rounded:.1}pp") } else if rounded < 0.0 + { format!("{rounded:.1}pp") } else { "0.0pp".to_owned() } }' + occurrence: 0 + testSet: 667 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: fn_value.xyzzy_string + normalizedText: '{ if matches!(outcome.status, Status::NoCoverableLines | Status::UnexpectedCoverableLines) { return + "—".to_owned(); } let Some(pct) = outcome.percent() else { return "—".to_owned(); }; let delta = pct - outcome.threshold.min_lines_percent; + let rounded = (delta * 10.0).round() / 10.0; if rounded > 0.0 { format!("+{rounded:.1}pp") } else if rounded < 0.0 + { format!("{rounded:.1}pp") } else { "0.0pp".to_owned() } }' + occurrence: 0 + testSet: 667 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: literal.str_to_empty + normalizedText: '"0.0pp"' + occurrence: 0 + testSet: 669 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: literal.str_to_empty + normalizedText: '"—"' + occurrence: 0 + testSet: 670 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: literal.str_to_empty + normalizedText: '"—"' + occurrence: 1 + testSet: 671 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: literal.str_to_xyzzy + normalizedText: '"0.0pp"' + occurrence: 0 + testSet: 669 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: literal.str_to_xyzzy + normalizedText: '"—"' + occurrence: 0 + testSet: 670 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: literal.str_to_xyzzy + normalizedText: '"—"' + occurrence: 1 + testSet: 671 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: relational.gt_to_ge + normalizedText: rounded > 0.0 + occurrence: 0 + testSet: 666 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: relational.gt_to_lt + normalizedText: rounded > 0.0 + occurrence: 0 + testSet: 666 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: relational.lt_to_gt + normalizedText: rounded < 0.0 + occurrence: 0 + testSet: 668 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_delta + mutator: relational.lt_to_le + normalizedText: rounded < 0.0 + occurrence: 0 + testSet: 668 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: cond.always_false + normalizedText: n == 1 + occurrence: 0 + testSet: 672 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: cond.always_true + normalizedText: n == 1 + occurrence: 0 + testSet: 672 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: cond.negate + normalizedText: n == 1 + occurrence: 0 + testSet: 672 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: fn_value.empty_string + normalizedText: '{ match outcome.status { Status::NoCoverableLines => "(no lines)".to_owned(), Status::UnexpectedCoverableLines + => { let n = outcome.totals.count; if n == 1 { "1 line".to_owned() } else { format!("{n} lines") } } _ => outcome.percent().map_or_else(|| + "(no data)".to_owned(), |p| format!("{p:.1}%")), } }' + occurrence: 0 + testSet: 673 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: fn_value.xyzzy_string + normalizedText: '{ match outcome.status { Status::NoCoverableLines => "(no lines)".to_owned(), Status::UnexpectedCoverableLines + => { let n = outcome.totals.count; if n == 1 { "1 line".to_owned() } else { format!("{n} lines") } } _ => outcome.percent().map_or_else(|| + "(no data)".to_owned(), |p| format!("{p:.1}%")), } }' + occurrence: 0 + testSet: 673 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 672 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 672 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: literal.str_to_empty + normalizedText: '"(no data)"' + occurrence: 0 + testSet: 649 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: literal.str_to_empty + normalizedText: '"(no lines)"' + occurrence: 0 + testSet: 674 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: literal.str_to_empty + normalizedText: '"1 line"' + occurrence: 0 + testSet: 675 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: literal.str_to_xyzzy + normalizedText: '"(no data)"' + occurrence: 0 + testSet: 649 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: literal.str_to_xyzzy + normalizedText: '"(no lines)"' + occurrence: 0 + testSet: 674 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: literal.str_to_xyzzy + normalizedText: '"1 line"' + occurrence: 0 + testSet: 675 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: match_arm.never_matches + normalizedText: Status::NoCoverableLines + occurrence: 0 + testSet: 674 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: match_arm.never_matches + normalizedText: Status::UnexpectedCoverableLines + occurrence: 0 + testSet: 672 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_lines + mutator: relational.eq_to_ne + normalizedText: n == 1 + occurrence: 0 + testSet: 672 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_source + mutator: fn_value.empty_string + normalizedText: '{ source.as_str() }' + occurrence: 0 + testSet: 676 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_source + mutator: fn_value.xyzzy_string + normalizedText: '{ source.as_str() }' + occurrence: 0 + testSet: 676 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_markdown + mutator: fn_value.empty_string + normalizedText: '{ match status { Status::Ok => "✅", Status::Fail | Status::UnexpectedCoverableLines => "❌", Status::NoData + => "💥", Status::NoCoverableLines => "➖", } }' + occurrence: 0 + testSet: 677 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_markdown + mutator: fn_value.xyzzy_string + normalizedText: '{ match status { Status::Ok => "✅", Status::Fail | Status::UnexpectedCoverableLines => "❌", Status::NoData + => "💥", Status::NoCoverableLines => "➖", } }' + occurrence: 0 + testSet: 677 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_markdown + mutator: literal.str_to_empty + normalizedText: '"✅"' + occurrence: 0 + testSet: 678 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_markdown + mutator: literal.str_to_empty + normalizedText: '"❌"' + occurrence: 0 + testSet: 679 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_markdown + mutator: literal.str_to_empty + normalizedText: '"➖"' + occurrence: 0 + testSet: 680 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_markdown + mutator: literal.str_to_empty + normalizedText: '"💥"' + occurrence: 0 + testSet: 681 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_markdown + mutator: literal.str_to_xyzzy + normalizedText: '"✅"' + occurrence: 0 + testSet: 678 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_markdown + mutator: literal.str_to_xyzzy + normalizedText: '"❌"' + occurrence: 0 + testSet: 679 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_markdown + mutator: literal.str_to_xyzzy + normalizedText: '"➖"' + occurrence: 0 + testSet: 680 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_markdown + mutator: literal.str_to_xyzzy + normalizedText: '"💥"' + occurrence: 0 + testSet: 681 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_text + mutator: fn_value.empty_string + normalizedText: '{ match status { Status::Ok => "OK", Status::Fail => "FAIL", Status::NoData => "NO DATA", Status::NoCoverableLines + => "EMPTY", Status::UnexpectedCoverableLines => "NOT EMPTY", } }' + occurrence: 0 + testSet: 682 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_text + mutator: fn_value.xyzzy_string + normalizedText: '{ match status { Status::Ok => "OK", Status::Fail => "FAIL", Status::NoData => "NO DATA", Status::NoCoverableLines + => "EMPTY", Status::UnexpectedCoverableLines => "NOT EMPTY", } }' + occurrence: 0 + testSet: 682 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_text + mutator: literal.str_to_empty + normalizedText: '"EMPTY"' + occurrence: 0 + testSet: 683 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_text + mutator: literal.str_to_empty + normalizedText: '"FAIL"' + occurrence: 0 + testSet: 684 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_text + mutator: literal.str_to_empty + normalizedText: '"NO DATA"' + occurrence: 0 + testSet: 685 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_text + mutator: literal.str_to_empty + normalizedText: '"NOT EMPTY"' + occurrence: 0 + testSet: 686 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_text + mutator: literal.str_to_empty + normalizedText: '"OK"' + occurrence: 0 + testSet: 687 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_text + mutator: literal.str_to_xyzzy + normalizedText: '"EMPTY"' + occurrence: 0 + testSet: 683 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_text + mutator: literal.str_to_xyzzy + normalizedText: '"FAIL"' + occurrence: 0 + testSet: 684 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_text + mutator: literal.str_to_xyzzy + normalizedText: '"NO DATA"' + occurrence: 0 + testSet: 685 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_text + mutator: literal.str_to_xyzzy + normalizedText: '"NOT EMPTY"' + occurrence: 0 + testSet: 686 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_status_text + mutator: literal.str_to_xyzzy + normalizedText: '"OK"' + occurrence: 0 + testSet: 687 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_threshold + mutator: fn_value.empty_string + normalizedText: '{ match outcome.status { Status::NoCoverableLines | Status::UnexpectedCoverableLines => "(no lines)".to_owned(), + _ => format!("{:.1}%", outcome.threshold.min_lines_percent), } }' + occurrence: 0 + testSet: 688 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_threshold + mutator: fn_value.xyzzy_string + normalizedText: '{ match outcome.status { Status::NoCoverableLines | Status::UnexpectedCoverableLines => "(no lines)".to_owned(), + _ => format!("{:.1}%", outcome.threshold.min_lines_percent), } }' + occurrence: 0 + testSet: 688 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_threshold + mutator: literal.str_to_empty + normalizedText: '"(no lines)"' + occurrence: 0 + testSet: 670 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_threshold + mutator: literal.str_to_xyzzy + normalizedText: '"(no lines)"' + occurrence: 0 + testSet: 670 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: format_threshold + mutator: match_arm.never_matches + normalizedText: Status::NoCoverableLines | Status::UnexpectedCoverableLines + occurrence: 0 + testSet: 670 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: packages + mutator: expr.decrement + normalizedText: n + occurrence: 0 + testSet: 689 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: packages + mutator: expr.increment + normalizedText: n + occurrence: 0 + testSet: 689 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: packages + mutator: fn_value.empty_string + normalizedText: '{ plural(n, "package", "packages") }' + occurrence: 0 + testSet: 689 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: packages + mutator: fn_value.xyzzy_string + normalizedText: '{ plural(n, "package", "packages") }' + occurrence: 0 + testSet: 689 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: packages + mutator: literal.str_to_empty + normalizedText: '"package"' + occurrence: 0 + testSet: 689 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: packages + mutator: literal.str_to_empty + normalizedText: '"packages"' + occurrence: 0 + testSet: 689 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: packages + mutator: literal.str_to_xyzzy + normalizedText: '"package"' + occurrence: 0 + testSet: 689 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: packages + mutator: literal.str_to_xyzzy + normalizedText: '"packages"' + occurrence: 0 + testSet: 689 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: plural + mutator: cond.always_false + normalizedText: n == 1 + occurrence: 0 + testSet: 690 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: plural + mutator: cond.always_true + normalizedText: n == 1 + occurrence: 0 + testSet: 690 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: plural + mutator: cond.negate + normalizedText: n == 1 + occurrence: 0 + testSet: 690 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: plural + mutator: fn_value.empty_string + normalizedText: '{ if n == 1 { format!("{n} {singular}") } else { format!("{n} {plural}") } }' + occurrence: 0 + testSet: 690 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: plural + mutator: fn_value.xyzzy_string + normalizedText: '{ if n == 1 { format!("{n} {singular}") } else { format!("{n} {plural}") } }' + occurrence: 0 + testSet: 690 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: plural + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 690 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: plural + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 690 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: plural + mutator: relational.eq_to_ne + normalizedText: n == 1 + occurrence: 0 + testSet: 690 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: cond.always_false + normalizedText: clauses.is_empty() + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: cond.always_false + normalizedText: failures > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: cond.always_false + normalizedText: no_data > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: cond.always_false + normalizedText: unexpected > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: cond.always_true + normalizedText: clauses.is_empty() + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: cond.always_true + normalizedText: failures > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: cond.always_true + normalizedText: no_data > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: cond.always_true + normalizedText: unexpected > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: cond.negate + normalizedText: clauses.is_empty() + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: cond.negate + normalizedText: failures > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: cond.negate + normalizedText: no_data > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: cond.negate + normalizedText: unexpected > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: fn_value.empty_string + normalizedText: '{ let mut clauses: Vec = Vec::new(); let failures = count_failures(outcomes); if failures > + 0 { clauses.push(format!("{} below threshold", packages(failures))); } let unexpected = count_unexpected_coverable_lines(outcomes); + if unexpected > 0 { clauses.push(format!("{} with unexpected coverable lines", packages(unexpected))); } let no_data + = count_no_data(outcomes); if no_data > 0 { clauses.push(format!("{} with no attributed coverage data", packages(no_data))); + } if clauses.is_empty() { "all packages meet their threshold.".to_owned() } else { format!("{}.", clauses.join(", + ")) } }' + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut clauses: Vec = Vec::new(); let failures = count_failures(outcomes); if failures > + 0 { clauses.push(format!("{} below threshold", packages(failures))); } let unexpected = count_unexpected_coverable_lines(outcomes); + if unexpected > 0 { clauses.push(format!("{} with unexpected coverable lines", packages(unexpected))); } let no_data + = count_no_data(outcomes); if no_data > 0 { clauses.push(format!("{} with no attributed coverage data", packages(no_data))); + } if clauses.is_empty() { "all packages meet their threshold.".to_owned() } else { format!("{}.", clauses.join(", + ")) } }' + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: literal.str_to_empty + normalizedText: '"all packages meet their threshold."' + occurrence: 0 + testSet: 692 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: literal.str_to_xyzzy + normalizedText: '"all packages meet their threshold."' + occurrence: 0 + testSet: 692 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: relational.gt_to_ge + normalizedText: failures > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: relational.gt_to_ge + normalizedText: no_data > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: relational.gt_to_ge + normalizedText: unexpected > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: relational.gt_to_lt + normalizedText: failures > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: relational.gt_to_lt + normalizedText: no_data > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: relational.gt_to_lt + normalizedText: unexpected > 0 + occurrence: 0 + testSet: 691 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: stmt.delete_call + normalizedText: clauses.push(format!("{} below threshold", packages(failures))); + occurrence: 0 + testSet: 693 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: stmt.delete_call + normalizedText: clauses.push(format!("{} with no attributed coverage data", packages(no_data))); + occurrence: 0 + testSet: 694 + - site: + file: crates/cargo-coverage-gate/src/render/mod.rs + item: result_summary + mutator: stmt.delete_call + normalizedText: clauses.push(format!("{} with unexpected coverable lines", packages(unexpected))); + occurrence: 0 + testSet: 695 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: assign_value.default + normalizedText: widths[i].max(cell.chars().count()) + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: cond.always_false + normalizedText: report.unattributed > 0 + occurrence: 0 + testSet: 697 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: cond.always_true + normalizedText: report.unattributed > 0 + occurrence: 0 + testSet: 697 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: cond.negate + normalizedText: report.unattributed > 0 + occurrence: 0 + testSet: 697 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: expr.decrement + normalizedText: cell.chars().count() + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: expr.decrement + normalizedText: i + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: expr.decrement + normalizedText: i + occurrence: 1 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: expr.increment + normalizedText: cell.chars().count() + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: expr.increment + normalizedText: i + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: expr.increment + normalizedText: i + occurrence: 1 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: fn_value.ok + normalizedText: '{ let rows: Vec<[String; 6]> = report .outcomes .iter() .map(|o| { [ o.name.clone(), format_lines(o), + format_threshold(o), format_delta(o), format_status_text(o.status).to_owned(), format_source(o.threshold.source).to_owned(), + ] }) .collect(); let mut widths = HEADERS.map(|header| header.chars().count()); for row in &rows { for (i, cell) in + row.iter().enumerate() { widths[i] = widths[i].max(cell.chars().count()); } } writeln!(out, "coverage-gate")?; writeln!(out)?; + write_row(out, &HEADERS.map(str::to_owned), &widths)?; write_separator(out, &widths)?; for row in &rows { write_row(out, + row, &widths)?; } write_separator(out, &widths)?; writeln!(out, "Result: {}", result_summary(&report.outcomes))?; + write_failure_details(out, report)?; if report.unattributed > 0 { writeln!( out, "Note: {} had paths outside any workspace + member and were not attributed.", files(report.unattributed), )?; } Ok(()) }' + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: iter.max_to_min + normalizedText: widths[i].max(cell.chars().count()) + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 697 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: relational.gt_to_ge + normalizedText: report.unattributed > 0 + occurrence: 0 + testSet: 697 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: relational.gt_to_lt + normalizedText: report.unattributed > 0 + occurrence: 0 + testSet: 697 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: render + mutator: stmt.delete_assign + normalizedText: widths[i] = widths[i].max(cell.chars().count()); + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: assign.sub_to_add + normalizedText: remaining -= displayed + occurrence: 0 + testSet: 698 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: cond.always_false + normalizedText: failures.is_empty() + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: cond.always_false + normalizedText: omitted > 0 + occurrence: 0 + testSet: 699 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: cond.always_false + normalizedText: remaining == 0 + occurrence: 0 + testSet: 700 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: cond.always_true + normalizedText: failures.is_empty() + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: cond.always_true + normalizedText: omitted > 0 + occurrence: 0 + testSet: 699 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: cond.always_true + normalizedText: remaining == 0 + occurrence: 0 + testSet: 700 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: cond.negate + normalizedText: failures.is_empty() + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: cond.negate + normalizedText: omitted > 0 + occurrence: 0 + testSet: 699 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: cond.negate + normalizedText: remaining == 0 + occurrence: 0 + testSet: 700 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: expr.decrement + normalizedText: MAX_DIAGNOSTIC_LINES + occurrence: 0 + testSet: 699 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: expr.decrement + normalizedText: remaining + occurrence: 0 + testSet: 700 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: expr.increment + normalizedText: MAX_DIAGNOSTIC_LINES + occurrence: 0 + testSet: 699 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: expr.increment + normalizedText: remaining + occurrence: 0 + testSet: 700 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: fn_value.ok + normalizedText: '{ let failures: Vec<_> = report .outcomes .iter() .filter_map(|outcome| failure_detail(outcome).map(|detail| + (outcome, detail))) .collect(); if failures.is_empty() { return Ok(()); } writeln!(out)?; writeln!(out, "Failure details:")?; + for (outcome, detail) in failures { writeln!(out, " {}: {}", outcome.name, detail)?; let mut remaining = MAX_DIAGNOSTIC_LINES; + for diagnostic in &outcome.diagnostics { if remaining == 0 { break; } let displayed = diagnostic.lines.len().min(remaining); + writeln!( out, " {}: {}", diagnostic.path.display(), format_line_ranges(&diagnostic.lines[..displayed]) )?; remaining + -= displayed; } let omitted = diagnostic_line_count(outcome).saturating_sub(MAX_DIAGNOSTIC_LINES); if omitted > 0 + { writeln!(out, " ... {omitted} more line locations omitted")?; } } Ok(()) }' + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: iter.min_to_max + normalizedText: diagnostic.lines.len().min(remaining) + occurrence: 0 + testSet: 700 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 700 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 699 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 701 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 701 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: relational.eq_to_ne + normalizedText: remaining == 0 + occurrence: 0 + testSet: 700 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: relational.gt_to_ge + normalizedText: omitted > 0 + occurrence: 0 + testSet: 699 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: relational.gt_to_lt + normalizedText: omitted > 0 + occurrence: 0 + testSet: 699 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_failure_details + mutator: stmt.delete_assign + normalizedText: remaining -= displayed; + occurrence: 0 + testSet: 698 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_row + mutator: fn_value.ok + normalizedText: '{ writeln!( out, " {:w1$} {:>w2$} {:>w3$} {: = widths.iter().map(|w| "─".repeat(*w)).collect(); writeln!( out, " {} {} {} {} {} {}", + bars[0], bars[1], bars[2], bars[3], bars[4], bars[5] ) }' + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_separator + mutator: literal.str_to_empty + normalizedText: '"─"' + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/render/text.rs + item: write_separator + mutator: literal.str_to_xyzzy + normalizedText: '"─"' + occurrence: 0 + testSet: 696 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::matches + mutator: fn_value.bool_false + normalizedText: '{ platform.matches(&self.triple, &self.cfg) }' + occurrence: 0 + testSet: 702 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::matches + mutator: fn_value.bool_true + normalizedText: '{ platform.matches(&self.triple, &self.cfg) }' + occurrence: 0 + testSet: 702 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve + mutator: literal.str_to_empty + normalizedText: '"rustc"' + occurrence: 0 + testSet: 703 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve + mutator: literal.str_to_xyzzy + normalizedText: '"rustc"' + occurrence: 0 + testSet: 703 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve_with_runner + mutator: cond.always_false + normalizedText: '!output.success' + occurrence: 0 + testSet: 704 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve_with_runner + mutator: cond.always_false + normalizedText: '!output.success' + occurrence: 1 + testSet: 705 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve_with_runner + mutator: cond.always_true + normalizedText: '!output.success' + occurrence: 0 + testSet: 704 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve_with_runner + mutator: cond.always_true + normalizedText: '!output.success' + occurrence: 1 + testSet: 705 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve_with_runner + mutator: cond.negate + normalizedText: '!output.success' + occurrence: 0 + testSet: 704 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve_with_runner + mutator: cond.negate + normalizedText: '!output.success' + occurrence: 1 + testSet: 705 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve_with_runner + mutator: literal.str_to_empty + normalizedText: '"host: "' + occurrence: 0 + testSet: 706 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve_with_runner + mutator: literal.str_to_xyzzy + normalizedText: '"host: "' + occurrence: 0 + testSet: 706 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve_with_runner + mutator: unary.remove_not + normalizedText: '!line.is_empty()' + occurrence: 0 + testSet: 707 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve_with_runner + mutator: unary.remove_not + normalizedText: '!output.success' + occurrence: 0 + testSet: 704 + - site: + file: crates/cargo-coverage-gate/src/target.rs + item: TargetContext::resolve_with_runner + mutator: unary.remove_not + normalizedText: '!output.success' + occurrence: 1 + testSet: 705 + - site: + file: crates/cargo-coverage-gate/src/threshold.rs + item: ThresholdSource::as_str + mutator: fn_value.empty_string + normalizedText: '{ match self { Self::Package => "package", Self::Workspace => "workspace", Self::Default => "default", + } }' + occurrence: 0 + testSet: 708 + - site: + file: crates/cargo-coverage-gate/src/threshold.rs + item: ThresholdSource::as_str + mutator: fn_value.xyzzy_string + normalizedText: '{ match self { Self::Package => "package", Self::Workspace => "workspace", Self::Default => "default", + } }' + occurrence: 0 + testSet: 708 + - site: + file: crates/cargo-coverage-gate/src/threshold.rs + item: ThresholdSource::as_str + mutator: literal.str_to_empty + normalizedText: '"default"' + occurrence: 0 + testSet: 709 + - site: + file: crates/cargo-coverage-gate/src/threshold.rs + item: ThresholdSource::as_str + mutator: literal.str_to_empty + normalizedText: '"package"' + occurrence: 0 + testSet: 710 + - site: + file: crates/cargo-coverage-gate/src/threshold.rs + item: ThresholdSource::as_str + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 711 + - site: + file: crates/cargo-coverage-gate/src/threshold.rs + item: ThresholdSource::as_str + mutator: literal.str_to_xyzzy + normalizedText: '"default"' + occurrence: 0 + testSet: 709 + - site: + file: crates/cargo-coverage-gate/src/threshold.rs + item: ThresholdSource::as_str + mutator: literal.str_to_xyzzy + normalizedText: '"package"' + occurrence: 0 + testSet: 710 + - site: + file: crates/cargo-coverage-gate/src/threshold.rs + item: ThresholdSource::as_str + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 711 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: PackageOutcome::percent + mutator: fn_value.none + normalizedText: '{ self.totals.percent() }' + occurrence: 0 + testSet: 712 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: Report::verdict + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 713 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: Report::verdict + mutator: cond.always_false + normalizedText: has_fail + occurrence: 0 + testSet: 714 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: Report::verdict + mutator: cond.always_true + normalizedText: has_fail + occurrence: 0 + testSet: 714 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: Report::verdict + mutator: cond.negate + normalizedText: has_fail + occurrence: 0 + testSet: 714 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: Report::verdict + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 715 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: Report::verdict + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 713 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify + mutator: cond.always_false + normalizedText: round_to_displayed_precision(pct) >= round_to_displayed_precision(threshold.min_lines_percent) + occurrence: 0 + testSet: 716 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify + mutator: cond.always_false + normalizedText: threshold.min_lines_percent <= 0.0 + occurrence: 0 + testSet: 717 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify + mutator: cond.always_true + normalizedText: round_to_displayed_precision(pct) >= round_to_displayed_precision(threshold.min_lines_percent) + occurrence: 0 + testSet: 716 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify + mutator: cond.always_true + normalizedText: threshold.min_lines_percent <= 0.0 + occurrence: 0 + testSet: 717 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify + mutator: cond.negate + normalizedText: round_to_displayed_precision(pct) >= round_to_displayed_precision(threshold.min_lines_percent) + occurrence: 0 + testSet: 716 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify + mutator: cond.negate + normalizedText: threshold.min_lines_percent <= 0.0 + occurrence: 0 + testSet: 717 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify + mutator: relational.ge_to_gt + normalizedText: round_to_displayed_precision(pct) >= round_to_displayed_precision(threshold.min_lines_percent) + occurrence: 0 + testSet: 716 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify + mutator: relational.ge_to_le + normalizedText: round_to_displayed_precision(pct) >= round_to_displayed_precision(threshold.min_lines_percent) + occurrence: 0 + testSet: 716 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify + mutator: relational.le_to_ge + normalizedText: threshold.min_lines_percent <= 0.0 + occurrence: 0 + testSet: 717 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify + mutator: relational.le_to_lt + normalizedText: threshold.min_lines_percent <= 0.0 + occurrence: 0 + testSet: 717 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify_no_coverable_lines + mutator: cond.always_false + normalizedText: totals.count == 0 + occurrence: 0 + testSet: 718 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify_no_coverable_lines + mutator: cond.always_true + normalizedText: totals.count == 0 + occurrence: 0 + testSet: 718 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify_no_coverable_lines + mutator: cond.negate + normalizedText: totals.count == 0 + occurrence: 0 + testSet: 718 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify_no_coverable_lines + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 718 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: classify_no_coverable_lines + mutator: relational.eq_to_ne + normalizedText: totals.count == 0 + occurrence: 0 + testSet: 718 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: diagnostics + mutator: cond.always_false + normalizedText: lines.is_empty() + occurrence: 0 + testSet: 719 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: diagnostics + mutator: cond.always_true + normalizedText: lines.is_empty() + occurrence: 0 + testSet: 719 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: diagnostics + mutator: cond.negate + normalizedText: lines.is_empty() + occurrence: 0 + testSet: 719 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: diagnostics + mutator: fn_value.empty_collection + normalizedText: '{ let mut diagnostics: Vec = files .iter() .filter_map(|file| { let lines = match status + { Status::Fail => &file.uncovered_lines, Status::UnexpectedCoverableLines => &file.coverable_lines, Status::Ok | Status::NoData + | Status::NoCoverableLines => return None, }; if lines.is_empty() { return None; } Some(LineDiagnostic { path: file + .filename .strip_prefix(&member.manifest_dir) .unwrap_or(&file.filename) .to_path_buf(), lines: lines.clone(), }) + }) .collect(); diagnostics.sort_by(|a, b| a.path.cmp(&b.path)); diagnostics }' + occurrence: 0 + testSet: 720 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: diagnostics + mutator: iter.remove_sort + normalizedText: diagnostics.sort_by(|a, b| a.path.cmp(&b.path)); + occurrence: 0 + testSet: 720 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: diagnostics + mutator: option.some_to_none + normalizedText: 'Some(LineDiagnostic { path: file .filename .strip_prefix(&member.manifest_dir) .unwrap_or(&file.filename) + .to_path_buf(), lines: lines.clone(), })' + occurrence: 0 + testSet: 721 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: evaluate + mutator: cond.always_false + normalizedText: m.expect_no_coverable_lines + occurrence: 0 + testSet: 722 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: evaluate + mutator: cond.always_true + normalizedText: m.expect_no_coverable_lines + occurrence: 0 + testSet: 722 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: evaluate + mutator: cond.negate + normalizedText: m.expect_no_coverable_lines + occurrence: 0 + testSet: 722 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: evaluate + mutator: iter.remove_sort + normalizedText: outcomes.sort_by(|a, b| a.name.cmp(&b.name)); + occurrence: 0 + testSet: 722 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: assign.add_to_sub + normalizedText: ni += 1 + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: assign.add_to_sub + normalizedText: ni += 1 + occurrence: 1 + testSet: 724 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: assign.add_to_sub + normalizedText: pi += 1 + occurrence: 0 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: assign.add_to_sub + normalizedText: pi += 1 + occurrence: 1 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: assign.add_to_sub + normalizedText: pi += 1 + occurrence: 2 + testSet: 724 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.always_false + normalizedText: glob_inner(p, pi, n, k) + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.always_false + normalizedText: ni >= n.len() + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.always_false + normalizedText: ni >= n.len() || n[ni] != c + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.always_false + normalizedText: pi == p.len() + occurrence: 0 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.always_true + normalizedText: glob_inner(p, pi, n, k) + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.always_true + normalizedText: ni >= n.len() + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.always_true + normalizedText: ni >= n.len() || n[ni] != c + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.always_true + normalizedText: pi == p.len() + occurrence: 0 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.negate + normalizedText: glob_inner(p, pi, n, k) + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.negate + normalizedText: ni >= n.len() + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.negate + normalizedText: ni >= n.len() || n[ni] != c + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.negate + normalizedText: pi < p.len() + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.negate + normalizedText: pi < p.len() && p[pi] == '*' + occurrence: 0 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: cond.negate + normalizedText: pi == p.len() + occurrence: 0 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.decrement + normalizedText: k + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.decrement + normalizedText: n.len() + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.decrement + normalizedText: ni + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.decrement + normalizedText: ni + occurrence: 1 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.decrement + normalizedText: pi + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.decrement + normalizedText: pi + occurrence: 1 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.decrement + normalizedText: pi + occurrence: 2 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.increment + normalizedText: k + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.increment + normalizedText: n.len() + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.increment + normalizedText: ni + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.increment + normalizedText: ni + occurrence: 1 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.increment + normalizedText: pi + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.increment + normalizedText: pi + occurrence: 1 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: expr.increment + normalizedText: pi + occurrence: 2 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: fn_value.bool_false + normalizedText: '{ while pi < p.len() { match p[pi] { ''*'' => { while pi < p.len() && p[pi] == ''*'' { pi += 1; } if + pi == p.len() { return true; } for k in ni..n.len() { if glob_inner(p, pi, n, k) { return true; } } return false; + } ''?'' => { if ni >= n.len() { return false; } pi += 1; ni += 1; } c => { if ni >= n.len() || n[ni] != c { return + false; } pi += 1; ni += 1; } } } ni == n.len() }' + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: fn_value.bool_true + normalizedText: '{ while pi < p.len() { match p[pi] { ''*'' => { while pi < p.len() && p[pi] == ''*'' { pi += 1; } if + pi == p.len() { return true; } for k in ni..n.len() { if glob_inner(p, pi, n, k) { return true; } } return false; + } ''?'' => { if ni >= n.len() { return false; } pi += 1; ni += 1; } c => { if ni >= n.len() || n[ni] != c { return + false; } pi += 1; ni += 1; } } } ni == n.len() }' + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 727 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 724 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 724 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 724 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 724 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: logical.and_to_or + normalizedText: pi < p.len() && p[pi] == '*' + occurrence: 0 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: logical.or_to_and + normalizedText: ni >= n.len() || n[ni] != c + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: match_arm.never_matches + normalizedText: '''*''' + occurrence: 0 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: match_arm.never_matches + normalizedText: '''?''' + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: range.exclusive_to_inclusive + normalizedText: ni..n.len() + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: relational.eq_to_ne + normalizedText: ni == n.len() + occurrence: 0 + testSet: 728 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: relational.eq_to_ne + normalizedText: p[pi] == '*' + occurrence: 0 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: relational.eq_to_ne + normalizedText: pi == p.len() + occurrence: 0 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: relational.ge_to_gt + normalizedText: ni >= n.len() + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: relational.ge_to_gt + normalizedText: ni >= n.len() + occurrence: 1 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: relational.ge_to_le + normalizedText: ni >= n.len() + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: relational.ge_to_le + normalizedText: ni >= n.len() + occurrence: 1 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: relational.lt_to_gt + normalizedText: pi < p.len() + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: relational.lt_to_gt + normalizedText: pi < p.len() + occurrence: 1 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: relational.lt_to_le + normalizedText: pi < p.len() + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: relational.lt_to_le + normalizedText: pi < p.len() + occurrence: 1 + testSet: 725 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: relational.ne_to_eq + normalizedText: n[ni] != c + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: stmt.delete_assign + normalizedText: ni += 1; + occurrence: 0 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: stmt.delete_assign + normalizedText: ni += 1; + occurrence: 1 + testSet: 724 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: stmt.delete_assign + normalizedText: pi += 1; + occurrence: 1 + testSet: 723 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_inner + mutator: stmt.delete_assign + normalizedText: pi += 1; + occurrence: 2 + testSet: 724 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_matches + mutator: fn_value.bool_false + normalizedText: '{ let p: Vec = pattern.chars().collect(); let n: Vec = name.chars().collect(); glob_inner(&p, + 0, &n, 0) }' + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_matches + mutator: fn_value.bool_true + normalizedText: '{ let p: Vec = pattern.chars().collect(); let n: Vec = name.chars().collect(); glob_inner(&p, + 0, &n, 0) }' + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_matches + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: glob_matches + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 726 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: resolve_gated + mutator: cond.always_false + normalizedText: matches.is_empty() + occurrence: 0 + testSet: 729 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: resolve_gated + mutator: cond.always_false + normalizedText: packages.is_empty() + occurrence: 0 + testSet: 730 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: resolve_gated + mutator: cond.always_false + normalizedText: seen.insert(m.name.as_str()) + occurrence: 0 + testSet: 731 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: resolve_gated + mutator: cond.always_true + normalizedText: matches.is_empty() + occurrence: 0 + testSet: 729 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: resolve_gated + mutator: cond.always_true + normalizedText: packages.is_empty() + occurrence: 0 + testSet: 730 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: resolve_gated + mutator: cond.always_true + normalizedText: seen.insert(m.name.as_str()) + occurrence: 0 + testSet: 731 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: resolve_gated + mutator: cond.negate + normalizedText: matches.is_empty() + occurrence: 0 + testSet: 729 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: resolve_gated + mutator: cond.negate + normalizedText: packages.is_empty() + occurrence: 0 + testSet: 730 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: resolve_gated + mutator: cond.negate + normalizedText: seen.insert(m.name.as_str()) + occurrence: 0 + testSet: 731 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: resolve_gated + mutator: fn_value.ok + normalizedText: '{ if packages.is_empty() { return Ok(workspace.members.iter().collect()); } let mut seen: HashSet<&str> + = HashSet::new(); let mut out = Vec::with_capacity(packages.len()); for spec in packages { let matches: Vec<&Member> + = workspace.members.iter().filter(|m| glob_matches(spec, &m.name)).collect(); if matches.is_empty() { return Err(UnknownPackageSelectorError::new(spec.clone()).into()); + } for m in matches { if seen.insert(m.name.as_str()) { out.push(m); } } } Ok(out) }' + occurrence: 0 + testSet: 730 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: resolve_gated + mutator: result.err_to_ok + normalizedText: Err(UnknownPackageSelectorError::new(spec.clone()).into()) + occurrence: 0 + testSet: 732 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: resolve_gated + mutator: stmt.delete_call + normalizedText: out.push(m); + occurrence: 0 + testSet: 731 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: round_to_displayed_precision + mutator: arith.div_to_mul + normalizedText: (pct * 10.0).round() / 10.0 + occurrence: 0 + testSet: 733 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: round_to_displayed_precision + mutator: arith.div_to_rem + normalizedText: (pct * 10.0).round() / 10.0 + occurrence: 0 + testSet: 733 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: round_to_displayed_precision + mutator: arith.mul_to_add + normalizedText: pct * 10.0 + occurrence: 0 + testSet: 733 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: round_to_displayed_precision + mutator: arith.mul_to_div + normalizedText: pct * 10.0 + occurrence: 0 + testSet: 733 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: round_to_displayed_precision + mutator: fn_value.minus_one + normalizedText: '{ (pct * 10.0).round() / 10.0 }' + occurrence: 0 + testSet: 733 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: round_to_displayed_precision + mutator: fn_value.one + normalizedText: '{ (pct * 10.0).round() / 10.0 }' + occurrence: 0 + testSet: 733 + - site: + file: crates/cargo-coverage-gate/src/verdict.rs + item: round_to_displayed_precision + mutator: fn_value.zero + normalizedText: '{ (pct * 10.0).round() / 10.0 }' + occurrence: 0 + testSet: 733 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Member::apply_policy_override + mutator: assign_value.default + normalizedText: Some(value) + occurrence: 0 + testSet: 734 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Member::apply_policy_override + mutator: assign_value.default + normalizedText: matches!(policy, PolicyOverride::ExpectNoCoverableLines) + occurrence: 0 + testSet: 735 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Member::apply_policy_override + mutator: fn_value.unit + normalizedText: '{ self.expect_no_coverable_lines = matches!(policy, PolicyOverride::ExpectNoCoverableLines); match + policy { PolicyOverride::Threshold(value) => self.min_lines_percent = Some(value), PolicyOverride::ExpectNoCoverableLines + => { let _ = self.min_lines_percent.take(); } } }' + occurrence: 0 + testSet: 735 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Member::apply_policy_override + mutator: option.some_to_none + normalizedText: Some(value) + occurrence: 0 + testSet: 734 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Member::apply_policy_override + mutator: stmt.delete_assign + normalizedText: self.expect_no_coverable_lines = matches!(policy, PolicyOverride::ExpectNoCoverableLines); + occurrence: 0 + testSet: 735 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: cond.always_false + normalizedText: '!gate.target_policies.is_empty()' + occurrence: 0 + testSet: 736 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: cond.always_false + normalizedText: '!pending_target_policies.is_empty()' + occurrence: 0 + testSet: 736 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: cond.always_true + normalizedText: '!gate.target_policies.is_empty()' + occurrence: 0 + testSet: 736 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: cond.always_true + normalizedText: '!pending_target_policies.is_empty()' + occurrence: 0 + testSet: 736 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: cond.negate + normalizedText: '!gate.target_policies.is_empty()' + occurrence: 0 + testSet: 736 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: cond.negate + normalizedText: '!pending_target_policies.is_empty()' + occurrence: 0 + testSet: 736 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: expr.decrement + normalizedText: pending.member_index + occurrence: 0 + testSet: 737 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: expr.decrement + normalizedText: pending.member_index + occurrence: 1 + testSet: 735 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: expr.increment + normalizedText: pending.member_index + occurrence: 0 + testSet: 737 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: expr.increment + normalizedText: pending.member_index + occurrence: 1 + testSet: 735 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 738 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 738 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: stmt.delete_call + normalizedText: 'members.push(Member { name: pkg.name.to_string(), manifest_dir, min_lines_percent: gate.min_lines_percent, + expect_no_coverable_lines: gate.expect_no_coverable_lines, });' + occurrence: 0 + testSet: 736 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: stmt.delete_call + normalizedText: members[pending.member_index].apply_policy_override(policy); + occurrence: 0 + testSet: 735 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: stmt.delete_call + normalizedText: 'pending_target_policies.push(PendingTargetPolicies { member_index, policies: gate.target_policies, + });' + occurrence: 0 + testSet: 737 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: unary.remove_not + normalizedText: '!gate.target_policies.is_empty()' + occurrence: 0 + testSet: 736 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: Workspace::load_with_target_resolver + mutator: unary.remove_not + normalizedText: '!pending_target_policies.is_empty()' + occurrence: 0 + testSet: 736 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_coverage_gate + mutator: cond.always_false + normalizedText: min_lines_percent.is_some() && expect_no_coverable_lines + occurrence: 0 + testSet: 739 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_coverage_gate + mutator: cond.always_true + normalizedText: min_lines_percent.is_some() && expect_no_coverable_lines + occurrence: 0 + testSet: 739 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_coverage_gate + mutator: cond.negate + normalizedText: min_lines_percent.is_some() && expect_no_coverable_lines + occurrence: 0 + testSet: 739 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_coverage_gate + mutator: fn_value.ok + normalizedText: '{ let Some(gate) = metadata.get("coverage-gate") else { return Ok(CoverageGateMetadata::default()); + }; let min_lines_percent = extract_min_lines_percent(gate, source)?; let expect_no_coverable_lines = extract_expect_no_coverable_lines(gate, + source, scope)?; let target_policies = extract_target_policies(gate, source, scope)?; if min_lines_percent.is_some() + && expect_no_coverable_lines { return Err(ConflictingCoverageMetadataError::new(source.to_owned()).into()); } Ok(CoverageGateMetadata + { min_lines_percent, expect_no_coverable_lines, target_policies, }) }' + occurrence: 0 + testSet: 738 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_coverage_gate + mutator: literal.str_to_empty + normalizedText: '"coverage-gate"' + occurrence: 0 + testSet: 738 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_coverage_gate + mutator: literal.str_to_xyzzy + normalizedText: '"coverage-gate"' + occurrence: 0 + testSet: 738 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_coverage_gate + mutator: logical.and_to_or + normalizedText: min_lines_percent.is_some() && expect_no_coverable_lines + occurrence: 0 + testSet: 739 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_coverage_gate + mutator: result.err_to_ok + normalizedText: Err(ConflictingCoverageMetadataError::new(source.to_owned()).into()) + occurrence: 0 + testSet: 740 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_expect_no_coverable_lines + mutator: cond.always_false + normalizedText: value && scope == Scope::Workspace + occurrence: 0 + testSet: 741 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_expect_no_coverable_lines + mutator: cond.always_true + normalizedText: value && scope == Scope::Workspace + occurrence: 0 + testSet: 741 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_expect_no_coverable_lines + mutator: cond.negate + normalizedText: value && scope == Scope::Workspace + occurrence: 0 + testSet: 741 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_expect_no_coverable_lines + mutator: fn_value.ok + normalizedText: '{ let Some(raw) = gate.get("expect-no-coverable-lines") else { return Ok(false); }; let value = raw + .as_bool() .ok_or_else(|| InvalidNoCoverableLinesValueError::new(source.to_owned(), raw.clone()))?; if value && scope + == Scope::Workspace { return Err(WorkspaceScopedNoCoverableLinesError::new().into()); } Ok(value) }' + occurrence: 0 + testSet: 742 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_expect_no_coverable_lines + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 743 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_expect_no_coverable_lines + mutator: literal.str_to_empty + normalizedText: '"expect-no-coverable-lines"' + occurrence: 0 + testSet: 742 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_expect_no_coverable_lines + mutator: literal.str_to_xyzzy + normalizedText: '"expect-no-coverable-lines"' + occurrence: 0 + testSet: 742 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_expect_no_coverable_lines + mutator: logical.and_to_or + normalizedText: value && scope == Scope::Workspace + occurrence: 0 + testSet: 741 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_expect_no_coverable_lines + mutator: relational.eq_to_ne + normalizedText: scope == Scope::Workspace + occurrence: 0 + testSet: 744 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_expect_no_coverable_lines + mutator: result.err_to_ok + normalizedText: Err(WorkspaceScopedNoCoverableLinesError::new().into()) + occurrence: 0 + testSet: 745 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_min_lines_percent + mutator: cond.always_false + normalizedText: '!(MIN_LINES_LOWER..=MIN_LINES_UPPER).contains(&value)' + occurrence: 0 + testSet: 746 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_min_lines_percent + mutator: cond.always_true + normalizedText: '!(MIN_LINES_LOWER..=MIN_LINES_UPPER).contains(&value)' + occurrence: 0 + testSet: 746 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_min_lines_percent + mutator: cond.negate + normalizedText: '!(MIN_LINES_LOWER..=MIN_LINES_UPPER).contains(&value)' + occurrence: 0 + testSet: 746 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_min_lines_percent + mutator: fn_value.ok + normalizedText: '{ let Some(min) = gate.get("min-lines-percent") else { return Ok(None); }; let value = min .as_f64() + .ok_or_else(|| InvalidThresholdValueError::new(source.to_owned(), min.clone()))?; if !(MIN_LINES_LOWER..=MIN_LINES_UPPER).contains(&value) + { return Err(ThresholdOutOfRangeError::new(source.to_owned(), value, MIN_LINES_LOWER, MIN_LINES_UPPER).into()); } + Ok(Some(value)) }' + occurrence: 0 + testSet: 747 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_min_lines_percent + mutator: literal.str_to_empty + normalizedText: '"min-lines-percent"' + occurrence: 0 + testSet: 747 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_min_lines_percent + mutator: literal.str_to_xyzzy + normalizedText: '"min-lines-percent"' + occurrence: 0 + testSet: 747 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_min_lines_percent + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 748 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_min_lines_percent + mutator: option.some_to_none + normalizedText: Some(value) + occurrence: 0 + testSet: 749 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_min_lines_percent + mutator: result.err_to_ok + normalizedText: Err(ThresholdOutOfRangeError::new(source.to_owned(), value, MIN_LINES_LOWER, MIN_LINES_UPPER).into()) + occurrence: 0 + testSet: 750 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_min_lines_percent + mutator: unary.remove_not + normalizedText: '!(MIN_LINES_LOWER..=MIN_LINES_UPPER).contains(&value)' + occurrence: 0 + testSet: 746 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: cond.always_false + normalizedText: '!unsupported_options.is_empty()' + occurrence: 0 + testSet: 751 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: cond.always_false + normalizedText: expect_no_coverable_lines + occurrence: 0 + testSet: 752 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: cond.always_false + normalizedText: min_lines_percent.is_some() && expect_no_coverable_lines + occurrence: 0 + testSet: 752 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: cond.always_false + normalizedText: scope == Scope::Workspace + occurrence: 0 + testSet: 753 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: cond.always_true + normalizedText: '!unsupported_options.is_empty()' + occurrence: 0 + testSet: 751 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: cond.always_true + normalizedText: expect_no_coverable_lines + occurrence: 0 + testSet: 752 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: cond.always_true + normalizedText: min_lines_percent.is_some() && expect_no_coverable_lines + occurrence: 0 + testSet: 752 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: cond.always_true + normalizedText: scope == Scope::Workspace + occurrence: 0 + testSet: 753 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: cond.negate + normalizedText: '!unsupported_options.is_empty()' + occurrence: 0 + testSet: 751 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: cond.negate + normalizedText: expect_no_coverable_lines + occurrence: 0 + testSet: 752 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: cond.negate + normalizedText: min_lines_percent.is_some() && expect_no_coverable_lines + occurrence: 0 + testSet: 752 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: cond.negate + normalizedText: scope == Scope::Workspace + occurrence: 0 + testSet: 753 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: fn_value.ok + normalizedText: '{ let Some(raw_target) = gate.get("target") else { return Ok(Vec::new()); }; if scope == Scope::Workspace + { return Err(WorkspaceTargetPolicyError::new().into()); } let raw_target = raw_target .as_object() .ok_or_else(|| + InvalidTargetTableError::new(source.to_owned()))?; raw_target .iter() .map(|(selector_text, raw_policy)| { let policy_source + = format!("{source} target `{selector_text}`"); let selector = Platform::from_str(selector_text) .map_err(|error| + InvalidTargetSelectorError::caused_by(source.to_owned(), selector_text.clone(), error))?; let unsupported_options + = unsupported_build_context_options(&selector); if !unsupported_options.is_empty() { return Err( UnsupportedTargetSelectorError::new(source.to_owned(), + selector_text.clone(), unsupported_options.join(", ")).into(), ); } raw_policy .as_object() .ok_or_else(|| InvalidTargetPolicyShapeError::new(policy_source.clone()))?; + let min_lines_percent = extract_min_lines_percent(raw_policy, &policy_source)?; let expect_no_coverable_lines = extract_expect_no_coverable_lines(raw_policy, + &policy_source, Scope::Package)?; if min_lines_percent.is_some() && expect_no_coverable_lines { return Err(ConflictingCoverageMetadataError::new(policy_source).into()); + } let policy = if expect_no_coverable_lines { PolicyOverride::ExpectNoCoverableLines } else if let Some(value) = min_lines_percent + { PolicyOverride::Threshold(value) } else { return Err(MissingTargetPolicyBehaviorError::new(policy_source).into()); + }; Ok(TargetPolicy { selector_text: selector_text.clone(), selector, policy, }) }) .collect() }' + occurrence: 0 + testSet: 754 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: literal.str_to_empty + normalizedText: '", "' + occurrence: 0 + testSet: 755 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: literal.str_to_empty + normalizedText: '"target"' + occurrence: 0 + testSet: 754 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: literal.str_to_xyzzy + normalizedText: '", "' + occurrence: 0 + testSet: 755 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: literal.str_to_xyzzy + normalizedText: '"target"' + occurrence: 0 + testSet: 754 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: logical.and_to_or + normalizedText: min_lines_percent.is_some() && expect_no_coverable_lines + occurrence: 0 + testSet: 752 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: relational.eq_to_ne + normalizedText: scope == Scope::Workspace + occurrence: 0 + testSet: 753 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: result.err_to_ok + normalizedText: Err(WorkspaceTargetPolicyError::new().into()) + occurrence: 0 + testSet: 756 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: extract_target_policies + mutator: unary.remove_not + normalizedText: '!unsupported_options.is_empty()' + occurrence: 0 + testSet: 751 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: metadata_command + mutator: fn_value.default + normalizedText: '{ let mut command = MetadataCommand::new(); command.no_deps(); if let Some(path) = manifest_path { + command.manifest_path(path); } command }' + occurrence: 0 + testSet: 757 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: metadata_command + mutator: stmt.delete_call + normalizedText: command.manifest_path(path); + occurrence: 0 + testSet: 738 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: metadata_command + mutator: stmt.delete_call + normalizedText: command.no_deps(); + occurrence: 0 + testSet: 757 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: cond.always_false + normalizedText: '!target.matches(&candidate.selector)' + occurrence: 0 + testSet: 758 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: cond.always_false + normalizedText: matching_cfg.len() > 1 + occurrence: 0 + testSet: 759 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: cond.always_true + normalizedText: '!target.matches(&candidate.selector)' + occurrence: 0 + testSet: 758 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: cond.always_true + normalizedText: matching_cfg.len() > 1 + occurrence: 0 + testSet: 759 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: cond.negate + normalizedText: '!target.matches(&candidate.selector)' + occurrence: 0 + testSet: 758 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: cond.negate + normalizedText: matching_cfg.len() > 1 + occurrence: 0 + testSet: 759 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: fn_value.ok + normalizedText: '{ let mut matching_cfg = Vec::new(); for candidate in policies { if !target.matches(&candidate.selector) + { continue; } match &candidate.selector { Platform::Name(_) => return Ok(Some(candidate.policy)), Platform::Cfg(_) + => matching_cfg.push(candidate), } } if matching_cfg.len() > 1 { let selectors = matching_cfg .iter() .map(|candidate| + candidate.selector_text.as_str()) .collect::>() .join(", "); return Err(AmbiguousTargetPolicyError::new(source.to_owned(), + target.triple.clone(), selectors).into()); } Ok(matching_cfg.into_iter().next().map(|policy| policy.policy)) }' + occurrence: 0 + testSet: 758 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 759 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 759 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: literal.str_to_empty + normalizedText: '", "' + occurrence: 0 + testSet: 760 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: literal.str_to_xyzzy + normalizedText: '", "' + occurrence: 0 + testSet: 760 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 761 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 761 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: option.some_to_none + normalizedText: Some(candidate.policy) + occurrence: 0 + testSet: 762 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: relational.gt_to_ge + normalizedText: matching_cfg.len() > 1 + occurrence: 0 + testSet: 759 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: relational.gt_to_lt + normalizedText: matching_cfg.len() > 1 + occurrence: 0 + testSet: 759 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: result.err_to_ok + normalizedText: Err(AmbiguousTargetPolicyError::new(source.to_owned(), target.triple.clone(), selectors).into()) + occurrence: 0 + testSet: 760 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: select_target_policy + mutator: unary.remove_not + normalizedText: '!target.matches(&candidate.selector)' + occurrence: 0 + testSet: 758 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options + mutator: fn_value.empty_collection + normalizedText: '{ fn visit(expression: &CfgExpr, options: &mut Vec) { match expression { CfgExpr::Not(expression) + => visit(expression, options), CfgExpr::All(expressions) | CfgExpr::Any(expressions) => { for expression in expressions + { visit(expression, options); } } CfgExpr::Value(Cfg::Name(name)) if matches!(name.as_str(), "test" | "debug_assertions" + | "proc_macro") => { options.push(name.as_str().to_owned()); } CfgExpr::Value(Cfg::KeyPair(name, _)) if name.as_str() + == "feature" => { options.push(name.as_str().to_owned()); } CfgExpr::Value(_) | CfgExpr::True | CfgExpr::False => + {} } } let mut options = Vec::new(); if let Platform::Cfg(expression) = platform { visit(expression, &mut options); + } options.sort(); options.dedup(); options }' + occurrence: 0 + testSet: 751 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options + mutator: fn_value.one_element + normalizedText: '{ fn visit(expression: &CfgExpr, options: &mut Vec) { match expression { CfgExpr::Not(expression) + => visit(expression, options), CfgExpr::All(expressions) | CfgExpr::Any(expressions) => { for expression in expressions + { visit(expression, options); } } CfgExpr::Value(Cfg::Name(name)) if matches!(name.as_str(), "test" | "debug_assertions" + | "proc_macro") => { options.push(name.as_str().to_owned()); } CfgExpr::Value(Cfg::KeyPair(name, _)) if name.as_str() + == "feature" => { options.push(name.as_str().to_owned()); } CfgExpr::Value(_) | CfgExpr::True | CfgExpr::False => + {} } } let mut options = Vec::new(); if let Platform::Cfg(expression) = platform { visit(expression, &mut options); + } options.sort(); options.dedup(); options }' + occurrence: 0 + testSet: 751 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options + mutator: iter.remove_dedup + normalizedText: options.dedup(); + occurrence: 0 + testSet: 751 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options + mutator: iter.remove_sort + normalizedText: options.sort(); + occurrence: 0 + testSet: 751 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options + mutator: stmt.delete_call + normalizedText: visit(expression, &mut options); + occurrence: 0 + testSet: 763 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options::visit + mutator: fn_value.unit + normalizedText: '{ match expression { CfgExpr::Not(expression) => visit(expression, options), CfgExpr::All(expressions) + | CfgExpr::Any(expressions) => { for expression in expressions { visit(expression, options); } } CfgExpr::Value(Cfg::Name(name)) + if matches!(name.as_str(), "test" | "debug_assertions" | "proc_macro") => { options.push(name.as_str().to_owned()); + } CfgExpr::Value(Cfg::KeyPair(name, _)) if name.as_str() == "feature" => { options.push(name.as_str().to_owned()); + } CfgExpr::Value(_) | CfgExpr::True | CfgExpr::False => {} } }' + occurrence: 0 + testSet: 763 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options::visit + mutator: match_guard.always_false + normalizedText: matches!(name.as_str(), "test" | "debug_assertions" | "proc_macro") + occurrence: 0 + testSet: 764 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options::visit + mutator: match_guard.always_false + normalizedText: name.as_str() == "feature" + occurrence: 0 + testSet: 765 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options::visit + mutator: match_guard.always_true + normalizedText: matches!(name.as_str(), "test" | "debug_assertions" | "proc_macro") + occurrence: 0 + testSet: 764 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options::visit + mutator: match_guard.always_true + normalizedText: name.as_str() == "feature" + occurrence: 0 + testSet: 765 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options::visit + mutator: match_guard.negate + normalizedText: matches!(name.as_str(), "test" | "debug_assertions" | "proc_macro") + occurrence: 0 + testSet: 764 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options::visit + mutator: match_guard.negate + normalizedText: name.as_str() == "feature" + occurrence: 0 + testSet: 765 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options::visit + mutator: stmt.delete_call + normalizedText: options.push(name.as_str().to_owned()); + occurrence: 0 + testSet: 755 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options::visit + mutator: stmt.delete_call + normalizedText: options.push(name.as_str().to_owned()); + occurrence: 1 + testSet: 755 + - site: + file: crates/cargo-coverage-gate/src/workspace.rs + item: unsupported_build_context_options::visit + mutator: stmt.delete_call + normalizedText: visit(expression, options); + occurrence: 0 + testSet: 755 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::matches + mutator: fn_value.bool_false + normalizedText: '{ match self { Self::HasLib => member.has_lib, Self::HasBin => member.has_bin, Self::DependsOn(name) + => member.dependencies.contains(name), Self::MetadataPresent(key) => lookup(&member.metadata, key).is_some(), Self::MetadataEquals + { key, value } => lookup(&member.metadata, key).is_some_and(|v| value_equals(v, value)), } }' + occurrence: 0 + testSet: 766 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::matches + mutator: fn_value.bool_true + normalizedText: '{ match self { Self::HasLib => member.has_lib, Self::HasBin => member.has_bin, Self::DependsOn(name) + => member.dependencies.contains(name), Self::MetadataPresent(key) => lookup(&member.metadata, key).is_some(), Self::MetadataEquals + { key, value } => lookup(&member.metadata, key).is_some_and(|v| value_equals(v, value)), } }' + occurrence: 0 + testSet: 766 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::parse + mutator: cond.always_false + normalizedText: name.is_empty() + occurrence: 0 + testSet: 767 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::parse + mutator: cond.always_true + normalizedText: name.is_empty() + occurrence: 0 + testSet: 767 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::parse + mutator: cond.negate + normalizedText: name.is_empty() + occurrence: 0 + testSet: 767 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::parse + mutator: literal.str_to_empty + normalizedText: '"dep:"' + occurrence: 0 + testSet: 768 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::parse + mutator: literal.str_to_empty + normalizedText: '"empty dependency name"' + occurrence: 0 + testSet: 769 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::parse + mutator: literal.str_to_empty + normalizedText: '"expected one of: lib, bin, dep:, metadata:[=]"' + occurrence: 0 + testSet: 769 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::parse + mutator: literal.str_to_empty + normalizedText: '"metadata:"' + occurrence: 0 + testSet: 770 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::parse + mutator: literal.str_to_xyzzy + normalizedText: '"dep:"' + occurrence: 0 + testSet: 768 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::parse + mutator: literal.str_to_xyzzy + normalizedText: '"empty dependency name"' + occurrence: 0 + testSet: 769 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::parse + mutator: literal.str_to_xyzzy + normalizedText: '"expected one of: lib, bin, dep:, metadata:[=]"' + occurrence: 0 + testSet: 769 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::parse + mutator: literal.str_to_xyzzy + normalizedText: '"metadata:"' + occurrence: 0 + testSet: 770 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::parse + mutator: match_arm.never_matches + normalizedText: '"bin"' + occurrence: 0 + testSet: 771 + - site: + file: crates/cargo-each/src/filter.rs + item: Predicate::parse + mutator: match_arm.never_matches + normalizedText: '"lib"' + occurrence: 0 + testSet: 771 + - site: + file: crates/cargo-each/src/filter.rs + item: lookup + mutator: assign_value.default + normalizedText: node.get(segment)? + occurrence: 0 + testSet: 772 + - site: + file: crates/cargo-each/src/filter.rs + item: lookup + mutator: fn_value.none + normalizedText: '{ let mut node = metadata; for segment in dotted_key.split(''.'') { node = node.get(segment)?; } Some(node) + }' + occurrence: 0 + testSet: 772 + - site: + file: crates/cargo-each/src/filter.rs + item: lookup + mutator: option.some_to_none + normalizedText: Some(node) + occurrence: 0 + testSet: 772 + - site: + file: crates/cargo-each/src/filter.rs + item: lookup + mutator: stmt.delete_assign + normalizedText: node = node.get(segment)?; + occurrence: 0 + testSet: 772 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: cond.always_false + normalizedText: key.is_empty() + occurrence: 0 + testSet: 770 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: cond.always_false + normalizedText: key.split('.').any(str::is_empty) + occurrence: 0 + testSet: 773 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: cond.always_true + normalizedText: key.is_empty() + occurrence: 0 + testSet: 770 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: cond.always_true + normalizedText: key.split('.').any(str::is_empty) + occurrence: 0 + testSet: 773 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: cond.negate + normalizedText: key.is_empty() + occurrence: 0 + testSet: 770 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: cond.negate + normalizedText: key.split('.').any(str::is_empty) + occurrence: 0 + testSet: 773 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: fn_value.ok + normalizedText: '{ if key.is_empty() { return Err(invalid(spec, "empty metadata key")); } if key.split(''.'').any(str::is_empty) + { return Err(invalid(spec, "metadata key must be a dotted path with non-empty segments")); } Ok(()) }' + occurrence: 0 + testSet: 770 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: iter.any_to_all + normalizedText: key.split('.').any(str::is_empty) + occurrence: 0 + testSet: 773 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: literal.str_to_empty + normalizedText: '"empty metadata key"' + occurrence: 0 + testSet: 774 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: literal.str_to_empty + normalizedText: '"metadata key must be a dotted path with non-empty segments"' + occurrence: 0 + testSet: 775 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: literal.str_to_xyzzy + normalizedText: '"empty metadata key"' + occurrence: 0 + testSet: 774 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: literal.str_to_xyzzy + normalizedText: '"metadata key must be a dotted path with non-empty segments"' + occurrence: 0 + testSet: 775 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: result.err_to_ok + normalizedText: Err(invalid(spec, "empty metadata key")) + occurrence: 0 + testSet: 774 + - site: + file: crates/cargo-each/src/filter.rs + item: validate_key + mutator: result.err_to_ok + normalizedText: Err(invalid(spec, "metadata key must be a dotted path with non-empty segments")) + occurrence: 0 + testSet: 775 + - site: + file: crates/cargo-each/src/filter.rs + item: value_equals + mutator: fn_value.bool_false + normalizedText: '{ let rendered = match node { Value::String(s) => s.clone(), Value::Number(n) => n.to_string(), Value::Bool(b) + => b.to_string(), _ => return false, }; match (rendered.parse::(), expected.parse::()) { #[expect(clippy::float_cmp, + reason = "comparing exact parsed values of short decimal literals")] (Ok(a), Ok(b)) => a == b || rendered == expected, + _ => rendered == expected, } }' + occurrence: 0 + testSet: 772 + - site: + file: crates/cargo-each/src/filter.rs + item: value_equals + mutator: fn_value.bool_true + normalizedText: '{ let rendered = match node { Value::String(s) => s.clone(), Value::Number(n) => n.to_string(), Value::Bool(b) + => b.to_string(), _ => return false, }; match (rendered.parse::(), expected.parse::()) { #[expect(clippy::float_cmp, + reason = "comparing exact parsed values of short decimal literals")] (Ok(a), Ok(b)) => a == b || rendered == expected, + _ => rendered == expected, } }' + occurrence: 0 + testSet: 772 + - site: + file: crates/cargo-each/src/filter.rs + item: value_equals + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 776 + - site: + file: crates/cargo-each/src/filter.rs + item: value_equals + mutator: logical.or_to_and + normalizedText: a == b || rendered == expected + occurrence: 0 + testSet: 777 + - site: + file: crates/cargo-each/src/filter.rs + item: value_equals + mutator: match_arm.never_matches + normalizedText: (Ok(a), Ok(b)) + occurrence: 0 + testSet: 777 + - site: + file: crates/cargo-each/src/filter.rs + item: value_equals + mutator: match_arm.never_matches + normalizedText: Value::Bool(b) + occurrence: 0 + testSet: 778 + - site: + file: crates/cargo-each/src/filter.rs + item: value_equals + mutator: match_arm.never_matches + normalizedText: Value::Number(n) + occurrence: 0 + testSet: 779 + - site: + file: crates/cargo-each/src/filter.rs + item: value_equals + mutator: match_arm.never_matches + normalizedText: Value::String(s) + occurrence: 0 + testSet: 780 + - site: + file: crates/cargo-each/src/filter.rs + item: value_equals + mutator: relational.eq_to_ne + normalizedText: a == b + occurrence: 0 + testSet: 777 + - site: + file: crates/cargo-each/src/filter.rs + item: value_equals + mutator: relational.eq_to_ne + normalizedText: rendered == expected + occurrence: 0 + testSet: 777 + - site: + file: crates/cargo-each/src/filter.rs + item: value_equals + mutator: relational.eq_to_ne + normalizedText: rendered == expected + occurrence: 1 + testSet: 781 + - site: + file: crates/cargo-each/src/main.rs + item: main + mutator: fn_value.default + normalizedText: '{ let CargoCli::Each(args) = CargoCli::parse(); match run::run(&args) { Ok(code) => code, Err(err) + => { eprintln!("error: {err}"); ExitCode::from(2) } } }' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/plan.rs + item: Plan::build + mutator: cond.always_false + normalizedText: chdir && mode == Mode::Once + occurrence: 0 + testSet: 783 + - site: + file: crates/cargo-each/src/plan.rs + item: Plan::build + mutator: cond.always_false + normalizedText: members.is_empty() + occurrence: 0 + testSet: 784 + - site: + file: crates/cargo-each/src/plan.rs + item: Plan::build + mutator: cond.always_true + normalizedText: chdir && mode == Mode::Once + occurrence: 0 + testSet: 783 + - site: + file: crates/cargo-each/src/plan.rs + item: Plan::build + mutator: cond.always_true + normalizedText: members.is_empty() + occurrence: 0 + testSet: 784 + - site: + file: crates/cargo-each/src/plan.rs + item: Plan::build + mutator: cond.negate + normalizedText: chdir && mode == Mode::Once + occurrence: 0 + testSet: 783 + - site: + file: crates/cargo-each/src/plan.rs + item: Plan::build + mutator: cond.negate + normalizedText: members.is_empty() + occurrence: 0 + testSet: 784 + - site: + file: crates/cargo-each/src/plan.rs + item: Plan::build + mutator: logical.and_to_or + normalizedText: chdir && mode == Mode::Once + occurrence: 0 + testSet: 783 + - site: + file: crates/cargo-each/src/plan.rs + item: Plan::build + mutator: option.some_to_none + normalizedText: Some(m.name.clone()) + occurrence: 0 + testSet: 785 + - site: + file: crates/cargo-each/src/plan.rs + item: Plan::build + mutator: relational.eq_to_ne + normalizedText: mode == Mode::Once + occurrence: 0 + testSet: 786 + - site: + file: crates/cargo-each/src/plan.rs + item: packages_flags + mutator: cond.always_false + normalizedText: packages == PackagesExpansion::Workspace + occurrence: 0 + testSet: 787 + - site: + file: crates/cargo-each/src/plan.rs + item: packages_flags + mutator: cond.always_true + normalizedText: packages == PackagesExpansion::Workspace + occurrence: 0 + testSet: 787 + - site: + file: crates/cargo-each/src/plan.rs + item: packages_flags + mutator: cond.negate + normalizedText: packages == PackagesExpansion::Workspace + occurrence: 0 + testSet: 787 + - site: + file: crates/cargo-each/src/plan.rs + item: packages_flags + mutator: fn_value.empty_collection + normalizedText: '{ if packages == PackagesExpansion::Workspace { return vec!["--workspace".to_owned()]; } let mut flags + = Vec::new(); for m in members { flags.push("--package".to_owned()); flags.push(m.spec()); } flags }' + occurrence: 0 + testSet: 787 + - site: + file: crates/cargo-each/src/plan.rs + item: packages_flags + mutator: fn_value.one_element + normalizedText: '{ if packages == PackagesExpansion::Workspace { return vec!["--workspace".to_owned()]; } let mut flags + = Vec::new(); for m in members { flags.push("--package".to_owned()); flags.push(m.spec()); } flags }' + occurrence: 0 + testSet: 787 + - site: + file: crates/cargo-each/src/plan.rs + item: packages_flags + mutator: literal.str_to_empty + normalizedText: '"--package"' + occurrence: 0 + testSet: 788 + - site: + file: crates/cargo-each/src/plan.rs + item: packages_flags + mutator: literal.str_to_xyzzy + normalizedText: '"--package"' + occurrence: 0 + testSet: 788 + - site: + file: crates/cargo-each/src/plan.rs + item: packages_flags + mutator: relational.eq_to_ne + normalizedText: packages == PackagesExpansion::Workspace + occurrence: 0 + testSet: 787 + - site: + file: crates/cargo-each/src/plan.rs + item: packages_flags + mutator: stmt.delete_call + normalizedText: flags.push("--package".to_owned()); + occurrence: 0 + testSet: 788 + - site: + file: crates/cargo-each/src/plan.rs + item: packages_flags + mutator: stmt.delete_call + normalizedText: flags.push(m.spec()); + occurrence: 0 + testSet: 788 + - site: + file: crates/cargo-each/src/run.rs + item: apply_filters + mutator: fn_value.ok + normalizedText: '{ let keep = parse_predicates(&args.filters)?; let drop = parse_predicates(&args.exclude_filters)?; + members.retain(|m| keep.iter().all(|p| p.matches(m)) && !drop.iter().any(|p| p.matches(m))); Ok(()) }' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: apply_filters + mutator: iter.all_to_any + normalizedText: keep.iter().all(|p| p.matches(m)) + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: apply_filters + mutator: iter.any_to_all + normalizedText: drop.iter().any(|p| p.matches(m)) + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: apply_filters + mutator: logical.and_to_or + normalizedText: keep.iter().all(|p| p.matches(m)) && !drop.iter().any(|p| p.matches(m)) + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: apply_filters + mutator: stmt.delete_call + normalizedText: members.retain(|m| keep.iter().all(|p| p.matches(m)) && !drop.iter().any(|p| p.matches(m))); + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: apply_filters + mutator: unary.remove_not + normalizedText: '!drop.iter().any(|p| p.matches(m))' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: build_selection + mutator: fn_value.default + normalizedText: '{ Selection { packages: args.packages.clone(), all: args.workspace, exclude: args.exclude.clone(), + none: args.none, } }' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: bitwise.and_to_or + normalizedText: raw & 0xFF + occurrence: 0 + testSet: 789 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: bitwise.and_to_xor + normalizedText: raw & 0xFF + occurrence: 0 + testSet: 789 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: cond.always_false + normalizedText: byte == 0 + occurrence: 0 + testSet: 789 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: cond.always_true + normalizedText: byte == 0 + occurrence: 0 + testSet: 789 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: cond.negate + normalizedText: byte == 0 + occurrence: 0 + testSet: 789 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: expr.decrement + normalizedText: if byte == 0 { 1 } else { byte } + occurrence: 0 + testSet: 789 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: expr.increment + normalizedText: if byte == 0 { 1 } else { byte } + occurrence: 0 + testSet: 789 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: fn_value.one + normalizedText: '{ let Some(raw) = raw else { return 1 }; let byte = u8::try_from(raw & 0xFF).expect("`raw & 0xFF` masks + to the low byte, always within 0..=255"); if byte == 0 { 1 } else { byte } }' + occurrence: 0 + testSet: 790 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: fn_value.zero + normalizedText: '{ let Some(raw) = raw else { return 1 }; let byte = u8::try_from(raw & 0xFF).expect("`raw & 0xFF` masks + to the low byte, always within 0..=255"); if byte == 0 { 1 } else { byte } }' + occurrence: 0 + testSet: 790 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: literal.int_decrement + normalizedText: '0xFF' + occurrence: 0 + testSet: 789 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 791 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 792 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 789 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: literal.int_increment + normalizedText: '0xFF' + occurrence: 0 + testSet: 789 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 791 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 792 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: literal.int_to_one + normalizedText: '0xFF' + occurrence: 0 + testSet: 789 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: literal.int_to_zero + normalizedText: '0xFF' + occurrence: 0 + testSet: 789 + - site: + file: crates/cargo-each/src/run.rs + item: exit_byte + mutator: relational.eq_to_ne + normalizedText: byte == 0 + occurrence: 0 + testSet: 789 + - site: + file: crates/cargo-each/src/run.rs + item: parse_predicates + mutator: fn_value.ok + normalizedText: '{ specs .iter() .map(|s| Predicate::parse(s).into_app_err("invalid filter predicate")) .collect() }' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: cond.always_false + normalizedText: args.dry_run + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: cond.always_false + normalizedText: args.once + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: cond.always_false + normalizedText: plan.invocations.is_empty() + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: cond.always_false + normalizedText: selection.is_whole_workspace() && args.filters.is_empty() && args.exclude_filters.is_empty() + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: cond.always_true + normalizedText: args.dry_run + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: cond.always_true + normalizedText: args.once + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: cond.always_true + normalizedText: plan.invocations.is_empty() + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: cond.always_true + normalizedText: selection.is_whole_workspace() && args.filters.is_empty() && args.exclude_filters.is_empty() + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: cond.negate + normalizedText: args.dry_run + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: cond.negate + normalizedText: args.once + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: cond.negate + normalizedText: plan.invocations.is_empty() + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: cond.negate + normalizedText: selection.is_whole_workspace() && args.filters.is_empty() && args.exclude_filters.is_empty() + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: fn_value.ok + normalizedText: '{ let selection = build_selection(args); let workspace = Workspace::load(args.manifest_path.as_deref()).into_app_err("failed + to load workspace")?; let mut members = selection.resolve(&workspace).into_app_err("failed to resolve package selection")?; + apply_filters(&mut members, args)?; let packages = if selection.is_whole_workspace() && args.filters.is_empty() && + args.exclude_filters.is_empty() { PackagesExpansion::Workspace } else { PackagesExpansion::Explicit }; let mode = + if args.once { Mode::Once } else { Mode::PerPackage }; let plan = Plan::build(&members, mode, args.chdir, packages, + &args.command).into_app_err("failed to build command plan")?; if plan.invocations.is_empty() { eprintln!("cargo each: + selection resolved to no packages; nothing to do"); return Ok(ExitCode::SUCCESS); } if args.dry_run { for inv in &plan.invocations + { match &inv.work_dir { Some(dir) => println!("(cd {}) {}", dir.display(), shell_join(&inv.argv)), None => println!("{}", + shell_join(&inv.argv)), } } return Ok(ExitCode::SUCCESS); } execute(&plan, args.keep_going) }' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: literal.str_to_empty + normalizedText: '"failed to build command plan"' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: literal.str_to_empty + normalizedText: '"failed to load workspace"' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: literal.str_to_empty + normalizedText: '"failed to resolve package selection"' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: literal.str_to_xyzzy + normalizedText: '"failed to build command plan"' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: literal.str_to_xyzzy + normalizedText: '"failed to load workspace"' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: literal.str_to_xyzzy + normalizedText: '"failed to resolve package selection"' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: logical.and_to_or + normalizedText: selection.is_whole_workspace() && args.filters.is_empty() + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: run + mutator: logical.and_to_or + normalizedText: selection.is_whole_workspace() && args.filters.is_empty() && args.exclude_filters.is_empty() + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: shell_join + mutator: cond.always_false + normalizedText: a.contains(char::is_whitespace) + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: shell_join + mutator: cond.always_true + normalizedText: a.contains(char::is_whitespace) + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: shell_join + mutator: cond.negate + normalizedText: a.contains(char::is_whitespace) + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: shell_join + mutator: fn_value.empty_string + normalizedText: '{ argv.iter() .map(|a| { if a.contains(char::is_whitespace) { format!("\"{a}\"") } else { a.clone() + } }) .collect::>() .join(" ") }' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: shell_join + mutator: fn_value.xyzzy_string + normalizedText: '{ argv.iter() .map(|a| { if a.contains(char::is_whitespace) { format!("\"{a}\"") } else { a.clone() + } }) .collect::>() .join(" ") }' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: shell_join + mutator: literal.str_to_empty + normalizedText: '" "' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/run.rs + item: shell_join + mutator: literal.str_to_xyzzy + normalizedText: '" "' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::is_whole_workspace + mutator: fn_value.bool_false + normalizedText: '{ self.all && self.exclude.is_empty() && !self.none }' + occurrence: 0 + testSet: 793 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::is_whole_workspace + mutator: fn_value.bool_true + normalizedText: '{ self.all && self.exclude.is_empty() && !self.none }' + occurrence: 0 + testSet: 793 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::is_whole_workspace + mutator: logical.and_to_or + normalizedText: self.all && self.exclude.is_empty() + occurrence: 0 + testSet: 793 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::is_whole_workspace + mutator: logical.and_to_or + normalizedText: self.all && self.exclude.is_empty() && !self.none + occurrence: 0 + testSet: 793 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::is_whole_workspace + mutator: unary.remove_not + normalizedText: '!self.none' + occurrence: 0 + testSet: 794 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: cond.always_false + normalizedText: '!self.exclude.is_empty()' + occurrence: 0 + testSet: 795 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: cond.always_false + normalizedText: '!self.packages.is_empty()' + occurrence: 0 + testSet: 796 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: cond.always_false + normalizedText: self.all + occurrence: 0 + testSet: 797 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: cond.always_false + normalizedText: self.none + occurrence: 0 + testSet: 798 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: cond.always_true + normalizedText: '!self.packages.is_empty()' + occurrence: 0 + testSet: 796 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: cond.always_true + normalizedText: self.all + occurrence: 0 + testSet: 797 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: cond.always_true + normalizedText: self.none + occurrence: 0 + testSet: 798 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: cond.negate + normalizedText: '!self.exclude.is_empty()' + occurrence: 0 + testSet: 795 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: cond.negate + normalizedText: '!self.packages.is_empty()' + occurrence: 0 + testSet: 796 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: cond.negate + normalizedText: self.all + occurrence: 0 + testSet: 797 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: cond.negate + normalizedText: self.none + occurrence: 0 + testSet: 798 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: fn_value.ok + normalizedText: '{ if self.none { return Ok(Vec::new()); } let mut base: Vec<&Member> = if self.all { workspace.members.iter().collect() + } else if !self.packages.is_empty() { resolve_selectors(workspace, &self.packages)? } else { workspace .members .iter() + .filter(|m| workspace.default_member_names.contains(&m.name)) .collect() }; if !self.exclude.is_empty() { let excluded: + HashSet<&str> = resolve_selectors(workspace, &self.exclude)? .into_iter() .map(|m| m.name.as_str()) .collect(); base.retain(|m| + !excluded.contains(m.name.as_str())); } Ok(base) }' + occurrence: 0 + testSet: 798 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: stmt.delete_call + normalizedText: base.retain(|m| !excluded.contains(m.name.as_str())); + occurrence: 0 + testSet: 799 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: unary.remove_not + normalizedText: '!excluded.contains(m.name.as_str())' + occurrence: 0 + testSet: 799 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: unary.remove_not + normalizedText: '!self.exclude.is_empty()' + occurrence: 0 + testSet: 795 + - site: + file: crates/cargo-each/src/select.rs + item: Selection::resolve + mutator: unary.remove_not + normalizedText: '!self.packages.is_empty()' + occurrence: 0 + testSet: 796 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: assign.add_to_sub + normalizedText: '*star_ni += 1' + occurrence: 0 + testSet: 800 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: assign.add_to_sub + normalizedText: ni += 1 + occurrence: 0 + testSet: 801 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: assign.add_to_sub + normalizedText: pi += 1 + occurrence: 0 + testSet: 801 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: assign.add_to_sub + normalizedText: pi += 1 + occurrence: 1 + testSet: 800 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: assign.add_to_sub + normalizedText: pi += 1 + occurrence: 2 + testSet: 802 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: assign_value.default + normalizedText: Some((pi, ni)) + occurrence: 0 + testSet: 800 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: assign_value.default + normalizedText: retry_pi + occurrence: 0 + testSet: 800 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: cond.always_false + normalizedText: pi < p.len() && (p[pi] == '?' || p[pi] == n[ni]) + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: cond.always_false + normalizedText: pi < p.len() && p[pi] == '*' + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: cond.always_true + normalizedText: pi < p.len() && (p[pi] == '?' || p[pi] == n[ni]) + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: cond.negate + normalizedText: ni < n.len() + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: cond.negate + normalizedText: pi < p.len() && (p[pi] == '?' || p[pi] == n[ni]) + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: expr.decrement + normalizedText: ni + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: expr.decrement + normalizedText: pi + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: expr.decrement + normalizedText: pi + occurrence: 1 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: expr.decrement + normalizedText: pi + occurrence: 2 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: expr.decrement + normalizedText: pi + occurrence: 3 + testSet: 804 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: expr.increment + normalizedText: ni + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: expr.increment + normalizedText: pi + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: expr.increment + normalizedText: pi + occurrence: 1 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: expr.increment + normalizedText: pi + occurrence: 2 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: expr.increment + normalizedText: pi + occurrence: 3 + testSet: 804 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: fn_value.bool_false + normalizedText: '{ let p: Vec = pattern.chars().collect(); let n: Vec = name.chars().collect(); let (mut + pi, mut ni) = (0usize, 0usize); let mut star: Option<(usize, usize)> = None; while ni < n.len() { if pi < p.len() + && (p[pi] == ''?'' || p[pi] == n[ni]) { pi += 1; ni += 1; } else if pi < p.len() && p[pi] == ''*'' { pi += 1; star + = Some((pi, ni)); } else if let Some((retry_pi, ref mut star_ni)) = star { pi = retry_pi; *star_ni += 1; ni = *star_ni; + } else { return false; } } while pi < p.len() && p[pi] == ''*'' { pi += 1; } pi == p.len() }' + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: fn_value.bool_true + normalizedText: '{ let p: Vec = pattern.chars().collect(); let n: Vec = name.chars().collect(); let (mut + pi, mut ni) = (0usize, 0usize); let mut star: Option<(usize, usize)> = None; while ni < n.len() { if pi < p.len() + && (p[pi] == ''?'' || p[pi] == n[ni]) { pi += 1; ni += 1; } else if pi < p.len() && p[pi] == ''*'' { pi += 1; star + = Some((pi, ni)); } else if let Some((retry_pi, ref mut star_ni)) = star { pi = retry_pi; *star_ni += 1; ni = *star_ni; + } else { return false; } } while pi < p.len() && p[pi] == ''*'' { pi += 1; } pi == p.len() }' + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 801 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 801 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: literal.int_increment + normalizedText: 0usize + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: literal.int_increment + normalizedText: 0usize + occurrence: 1 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 801 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 801 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 800 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 800 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 802 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: logical.and_to_or + normalizedText: pi < p.len() && (p[pi] == '?' || p[pi] == n[ni]) + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: logical.and_to_or + normalizedText: pi < p.len() && p[pi] == '*' + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: logical.and_to_or + normalizedText: pi < p.len() && p[pi] == '*' + occurrence: 1 + testSet: 801 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: logical.or_to_and + normalizedText: p[pi] == '?' || p[pi] == n[ni] + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: option.some_to_none + normalizedText: Some((pi, ni)) + occurrence: 0 + testSet: 800 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: relational.eq_to_ne + normalizedText: p[pi] == '*' + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: relational.eq_to_ne + normalizedText: p[pi] == '*' + occurrence: 1 + testSet: 804 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: relational.eq_to_ne + normalizedText: p[pi] == '?' + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: relational.eq_to_ne + normalizedText: p[pi] == n[ni] + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: relational.eq_to_ne + normalizedText: pi == p.len() + occurrence: 0 + testSet: 801 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: relational.lt_to_gt + normalizedText: ni < n.len() + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: relational.lt_to_gt + normalizedText: pi < p.len() + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: relational.lt_to_gt + normalizedText: pi < p.len() + occurrence: 1 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: relational.lt_to_gt + normalizedText: pi < p.len() + occurrence: 2 + testSet: 801 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: relational.lt_to_le + normalizedText: ni < n.len() + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: relational.lt_to_le + normalizedText: pi < p.len() + occurrence: 0 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: relational.lt_to_le + normalizedText: pi < p.len() + occurrence: 1 + testSet: 803 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: relational.lt_to_le + normalizedText: pi < p.len() + occurrence: 2 + testSet: 801 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: stmt.delete_assign + normalizedText: ni += 1; + occurrence: 0 + testSet: 801 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: stmt.delete_assign + normalizedText: pi += 1; + occurrence: 0 + testSet: 801 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: stmt.delete_assign + normalizedText: pi = retry_pi; + occurrence: 0 + testSet: 800 + - site: + file: crates/cargo-each/src/select.rs + item: glob_matches + mutator: stmt.delete_assign + normalizedText: star = Some((pi, ni)); + occurrence: 0 + testSet: 800 + - site: + file: crates/cargo-each/src/select.rs + item: resolve_selectors + mutator: cond.always_false + normalizedText: hits.is_empty() + occurrence: 0 + testSet: 805 + - site: + file: crates/cargo-each/src/select.rs + item: resolve_selectors + mutator: cond.always_true + normalizedText: hits.is_empty() + occurrence: 0 + testSet: 805 + - site: + file: crates/cargo-each/src/select.rs + item: resolve_selectors + mutator: cond.negate + normalizedText: hits.is_empty() + occurrence: 0 + testSet: 805 + - site: + file: crates/cargo-each/src/select.rs + item: resolve_selectors + mutator: fn_value.ok + normalizedText: '{ let mut matched: HashSet<&str> = HashSet::new(); for selector in selectors { let (name_pat, version) + = selector.split_once(''@'').map_or((selector.as_str(), None), |(n, v)| (n, Some(v))); let hits: Vec<&Member> = workspace + .members .iter() .filter(|m| glob_matches(name_pat, &m.name) && version.is_none_or(|v| version_matches(v, &member_version(m)))) + .collect(); if hits.is_empty() { return Err(UnknownSelectorError::new(selector.clone()).into()); } for m in hits { + matched.insert(m.name.as_str()); } } Ok(workspace.members.iter().filter(|m| matched.contains(m.name.as_str())).collect()) + }' + occurrence: 0 + testSet: 805 + - site: + file: crates/cargo-each/src/select.rs + item: resolve_selectors + mutator: logical.and_to_or + normalizedText: glob_matches(name_pat, &m.name) && version.is_none_or(|v| version_matches(v, &member_version(m))) + occurrence: 0 + testSet: 805 + - site: + file: crates/cargo-each/src/select.rs + item: resolve_selectors + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 805 + - site: + file: crates/cargo-each/src/select.rs + item: resolve_selectors + mutator: option.some_to_none + normalizedText: Some(v) + occurrence: 0 + testSet: 806 + - site: + file: crates/cargo-each/src/select.rs + item: resolve_selectors + mutator: result.err_to_ok + normalizedText: Err(UnknownSelectorError::new(selector.clone()).into()) + occurrence: 0 + testSet: 807 + - site: + file: crates/cargo-each/src/select.rs + item: resolve_selectors + mutator: stmt.delete_call + normalizedText: matched.insert(m.name.as_str()); + occurrence: 0 + testSet: 808 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.always_false + normalizedText: '!pre_ok' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.always_false + normalizedText: (pre.is_some() || build.is_some()) && components.len() < 3 + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.always_false + normalizedText: component.len() > 1 && component.starts_with('0') + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.always_false + normalizedText: component.parse::() != Ok(actual_release[i]) + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.always_false + normalizedText: components.is_empty() || components.len() > 3 + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.always_false + normalizedText: pre == Some("") || build == Some("") + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.always_true + normalizedText: '!pre_ok' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.always_true + normalizedText: (pre.is_some() || build.is_some()) && components.len() < 3 + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.always_true + normalizedText: component.len() > 1 && component.starts_with('0') + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.always_true + normalizedText: component.parse::() != Ok(actual_release[i]) + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.always_true + normalizedText: components.is_empty() || components.len() > 3 + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.always_true + normalizedText: pre == Some("") || build == Some("") + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.negate + normalizedText: '!pre_ok' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.negate + normalizedText: (pre.is_some() || build.is_some()) && components.len() < 3 + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.negate + normalizedText: component.len() > 1 && component.starts_with('0') + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.negate + normalizedText: component.parse::() != Ok(actual_release[i]) + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.negate + normalizedText: components.is_empty() || components.len() > 3 + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: cond.negate + normalizedText: pre == Some("") || build == Some("") + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: expr.decrement + normalizedText: i + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: expr.increment + normalizedText: i + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: fn_value.bool_false + normalizedText: '{ let (rest, build) = supplied.split_once(''+'').map_or((supplied, None), |(r, b)| (r, Some(b))); let + (release, pre) = rest.split_once(''-'').map_or((rest, None), |(r, p)| (r, Some(p))); if pre == Some("") || build == + Some("") { return false; } let components: Vec<&str> = release.split(''.'').collect(); if components.is_empty() || + components.len() > 3 { return false; } if (pre.is_some() || build.is_some()) && components.len() < 3 { return false; + } let actual_release = [actual.major, actual.minor, actual.patch]; for (i, component) in components.iter().enumerate() + { if component.len() > 1 && component.starts_with(''0'') { return false; } if component.parse::() != Ok(actual_release[i]) + { return false; } } let pre_ok = match pre { Some(pre) => actual.pre.as_str() == pre, None => actual.pre.is_empty(), + }; if !pre_ok { return false; } match build { Some(build) => actual.build.as_str() == build, None => true, } }' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: fn_value.bool_true + normalizedText: '{ let (rest, build) = supplied.split_once(''+'').map_or((supplied, None), |(r, b)| (r, Some(b))); let + (release, pre) = rest.split_once(''-'').map_or((rest, None), |(r, p)| (r, Some(p))); if pre == Some("") || build == + Some("") { return false; } let components: Vec<&str> = release.split(''.'').collect(); if components.is_empty() || + components.len() > 3 { return false; } if (pre.is_some() || build.is_some()) && components.len() < 3 { return false; + } let actual_release = [actual.major, actual.minor, actual.patch]; for (i, component) in components.iter().enumerate() + { if component.len() > 1 && component.starts_with(''0'') { return false; } if component.parse::() != Ok(actual_release[i]) + { return false; } } let pre_ok = match pre { Some(pre) => actual.pre.as_str() == pre, None => actual.pre.is_empty(), + }; if !pre_ok { return false; } match build { Some(build) => actual.build.as_str() == build, None => true, } }' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 3 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 4 + testSet: 811 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 5 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 1 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.int_increment + normalizedText: '3' + occurrence: 1 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 1 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 1 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 1 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: logical.and_to_or + normalizedText: (pre.is_some() || build.is_some()) && components.len() < 3 + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: logical.and_to_or + normalizedText: component.len() > 1 && component.starts_with('0') + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: logical.or_to_and + normalizedText: components.is_empty() || components.len() > 3 + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: logical.or_to_and + normalizedText: pre == Some("") || build == Some("") + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: logical.or_to_and + normalizedText: pre.is_some() || build.is_some() + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: option.some_to_none + normalizedText: Some("") + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: option.some_to_none + normalizedText: Some("") + occurrence: 1 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: option.some_to_none + normalizedText: Some(b) + occurrence: 0 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: option.some_to_none + normalizedText: Some(p) + occurrence: 0 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: relational.eq_to_ne + normalizedText: actual.build.as_str() == build + occurrence: 0 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: relational.eq_to_ne + normalizedText: actual.pre.as_str() == pre + occurrence: 0 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: relational.eq_to_ne + normalizedText: build == Some("") + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: relational.eq_to_ne + normalizedText: pre == Some("") + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: relational.gt_to_ge + normalizedText: component.len() > 1 + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: relational.gt_to_ge + normalizedText: components.len() > 3 + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: relational.gt_to_lt + normalizedText: component.len() > 1 + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: relational.gt_to_lt + normalizedText: components.len() > 3 + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: relational.lt_to_gt + normalizedText: components.len() < 3 + occurrence: 0 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: relational.lt_to_le + normalizedText: components.len() < 3 + occurrence: 0 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: relational.ne_to_eq + normalizedText: component.parse::() != Ok(actual_release[i]) + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: string.starts_with_to_ends_with + normalizedText: component.starts_with('0') + occurrence: 0 + testSet: 810 + - site: + file: crates/cargo-each/src/select.rs + item: version_matches + mutator: unary.remove_not + normalizedText: '!pre_ok' + occurrence: 0 + testSet: 809 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: cond.always_false + normalizedText: arg == PACKAGES_TOKEN + occurrence: 0 + testSet: 812 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: cond.always_false + normalizedText: matches!(placeholders, Placeholders::Once { .. }) + occurrence: 0 + testSet: 813 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: cond.always_true + normalizedText: arg == PACKAGES_TOKEN + occurrence: 0 + testSet: 812 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: cond.always_true + normalizedText: matches!(placeholders, Placeholders::Once { .. }) + occurrence: 0 + testSet: 813 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: cond.negate + normalizedText: arg == PACKAGES_TOKEN + occurrence: 0 + testSet: 812 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: cond.negate + normalizedText: matches!(placeholders, Placeholders::Once { .. }) + occurrence: 0 + testSet: 813 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: fn_value.ok + normalizedText: '{ let mode = if matches!(placeholders, Placeholders::Once { .. }) { Mode::Once } else { Mode::PerPackage + }; validate_placeholders(args, mode)?; let mut out = Vec::with_capacity(args.len()); for arg in args { match placeholders + { Placeholders::Package { name, spec, version, manifest, } => { #[expect( clippy::literal_string_with_formatting_args, + reason = "cargo-each placeholder tokens, not format args" )] let replaced = arg .replace("{name}", name) .replace("{spec}", + spec) .replace("{version}", version) .replace("{manifest}", manifest); out.push(replaced); } Placeholders::Once { + packages } => { if arg == PACKAGES_TOKEN { out.extend(packages.iter().cloned()); } else { out.push(arg.clone()); } + } } } Ok(out) }' + occurrence: 0 + testSet: 813 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: literal.str_to_empty + normalizedText: '"{manifest}"' + occurrence: 0 + testSet: 814 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: literal.str_to_empty + normalizedText: '"{name}"' + occurrence: 0 + testSet: 814 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: literal.str_to_empty + normalizedText: '"{spec}"' + occurrence: 0 + testSet: 814 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: literal.str_to_empty + normalizedText: '"{version}"' + occurrence: 0 + testSet: 814 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: literal.str_to_xyzzy + normalizedText: '"{manifest}"' + occurrence: 0 + testSet: 814 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: literal.str_to_xyzzy + normalizedText: '"{name}"' + occurrence: 0 + testSet: 814 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: literal.str_to_xyzzy + normalizedText: '"{spec}"' + occurrence: 0 + testSet: 814 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: literal.str_to_xyzzy + normalizedText: '"{version}"' + occurrence: 0 + testSet: 814 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: relational.eq_to_ne + normalizedText: arg == PACKAGES_TOKEN + occurrence: 0 + testSet: 812 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: stmt.delete_call + normalizedText: out.extend(packages.iter().cloned()); + occurrence: 0 + testSet: 812 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: stmt.delete_call + normalizedText: out.push(arg.clone()); + occurrence: 0 + testSet: 812 + - site: + file: crates/cargo-each/src/substitute.rs + item: substitute + mutator: stmt.delete_call + normalizedText: out.push(replaced); + occurrence: 0 + testSet: 814 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: cond.always_false + normalizedText: arg != PACKAGES_TOKEN && arg.contains(PACKAGES_TOKEN) + occurrence: 0 + testSet: 815 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: cond.always_false + normalizedText: arg.contains(PACKAGES_TOKEN) + occurrence: 0 + testSet: 816 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: cond.always_false + normalizedText: mode == Mode::Once + occurrence: 0 + testSet: 817 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: cond.always_true + normalizedText: arg != PACKAGES_TOKEN && arg.contains(PACKAGES_TOKEN) + occurrence: 0 + testSet: 815 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: cond.always_true + normalizedText: arg.contains(PACKAGES_TOKEN) + occurrence: 0 + testSet: 816 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: cond.always_true + normalizedText: mode == Mode::Once + occurrence: 0 + testSet: 817 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: cond.negate + normalizedText: arg != PACKAGES_TOKEN && arg.contains(PACKAGES_TOKEN) + occurrence: 0 + testSet: 815 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: cond.negate + normalizedText: arg.contains(PACKAGES_TOKEN) + occurrence: 0 + testSet: 816 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: cond.negate + normalizedText: mode == Mode::Once + occurrence: 0 + testSet: 817 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: fn_value.ok + normalizedText: '{ for arg in args { if mode == Mode::Once { if let Some(token) = PER_PACKAGE_TOKENS.iter().find(|t| + arg.contains(**t)) { return Err( PlaceholderMisuseError::new((*token).to_owned(), "per-package token is not valid + in --once mode".to_owned()).into(), ); } if arg != PACKAGES_TOKEN && arg.contains(PACKAGES_TOKEN) { return Err(PlaceholderMisuseError::new( + PACKAGES_TOKEN.to_owned(), "must stand alone as a whole argument (it expands to multiple tokens)".to_owned(), ) .into()); + } } else if arg.contains(PACKAGES_TOKEN) { return Err(PlaceholderMisuseError::new(PACKAGES_TOKEN.to_owned(), "only + valid in --once mode".to_owned()).into()); } } Ok(()) }' + occurrence: 0 + testSet: 817 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: literal.str_to_empty + normalizedText: '"must stand alone as a whole argument (it expands to multiple tokens)"' + occurrence: 0 + testSet: 818 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: literal.str_to_empty + normalizedText: '"only valid in --once mode"' + occurrence: 0 + testSet: 819 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: literal.str_to_empty + normalizedText: '"per-package token is not valid in --once mode"' + occurrence: 0 + testSet: 820 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: literal.str_to_xyzzy + normalizedText: '"must stand alone as a whole argument (it expands to multiple tokens)"' + occurrence: 0 + testSet: 818 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: literal.str_to_xyzzy + normalizedText: '"only valid in --once mode"' + occurrence: 0 + testSet: 819 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: literal.str_to_xyzzy + normalizedText: '"per-package token is not valid in --once mode"' + occurrence: 0 + testSet: 820 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: logical.and_to_or + normalizedText: arg != PACKAGES_TOKEN && arg.contains(PACKAGES_TOKEN) + occurrence: 0 + testSet: 815 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: relational.eq_to_ne + normalizedText: mode == Mode::Once + occurrence: 0 + testSet: 817 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: relational.ne_to_eq + normalizedText: arg != PACKAGES_TOKEN + occurrence: 0 + testSet: 815 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: result.err_to_ok + normalizedText: Err( PlaceholderMisuseError::new((*token).to_owned(), "per-package token is not valid in --once mode".to_owned()).into(), + ) + occurrence: 0 + testSet: 820 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: result.err_to_ok + normalizedText: Err(PlaceholderMisuseError::new( PACKAGES_TOKEN.to_owned(), "must stand alone as a whole argument (it + expands to multiple tokens)".to_owned(), ) .into()) + occurrence: 0 + testSet: 818 + - site: + file: crates/cargo-each/src/substitute.rs + item: validate_placeholders + mutator: result.err_to_ok + normalizedText: Err(PlaceholderMisuseError::new(PACKAGES_TOKEN.to_owned(), "only valid in --once mode".to_owned()).into()) + occurrence: 0 + testSet: 819 + - site: + file: crates/cargo-each/src/workspace.rs + item: Member::spec + mutator: fn_value.empty_string + normalizedText: '{ format!("{}@{}", self.name, self.version) }' + occurrence: 0 + testSet: 821 + - site: + file: crates/cargo-each/src/workspace.rs + item: Member::spec + mutator: fn_value.xyzzy_string + normalizedText: '{ format!("{}@{}", self.name, self.version) }' + occurrence: 0 + testSet: 821 + - site: + file: crates/cargo-each/src/workspace.rs + item: Workspace::load + mutator: iter.any_to_all + normalizedText: pkg.targets.iter().any(is_bin_target) + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/workspace.rs + item: Workspace::load + mutator: iter.any_to_all + normalizedText: pkg.targets.iter().any(is_lib_target) + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/workspace.rs + item: Workspace::load + mutator: stmt.delete_call + normalizedText: cmd.manifest_path(path); + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/workspace.rs + item: is_bin_target + mutator: fn_value.bool_false + normalizedText: '{ target.kind.contains(&TargetKind::Bin) }' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/workspace.rs + item: is_bin_target + mutator: fn_value.bool_true + normalizedText: '{ target.kind.contains(&TargetKind::Bin) }' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/workspace.rs + item: is_lib_target + mutator: fn_value.bool_false + normalizedText: '{ target.kind.contains(&TargetKind::Lib) }' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-each/src/workspace.rs + item: is_lib_target + mutator: fn_value.bool_true + normalizedText: '{ target.kind.contains(&TargetKind::Lib) }' + occurrence: 0 + testSet: 782 + - site: + file: crates/cargo-ensure-no-default-features/src/lib.rs + item: sections_label + mutator: fn_value.empty_string + normalizedText: '{ sections.join(" or ") }' + occurrence: 0 + testSet: 822 + - site: + file: crates/cargo-ensure-no-default-features/src/lib.rs + item: sections_label + mutator: fn_value.xyzzy_string + normalizedText: '{ sections.join(" or ") }' + occurrence: 0 + testSet: 822 + - site: + file: crates/cargo-ensure-no-default-features/src/lib.rs + item: sections_label + mutator: literal.str_to_empty + normalizedText: '" or "' + occurrence: 0 + testSet: 822 + - site: + file: crates/cargo-ensure-no-default-features/src/lib.rs + item: sections_label + mutator: literal.str_to_xyzzy + normalizedText: '" or "' + occurrence: 0 + testSet: 822 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: cond.always_false + normalizedText: checked_sections.is_empty() + occurrence: 0 + testSet: 823 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: cond.always_true + normalizedText: checked_sections.is_empty() + occurrence: 0 + testSet: 823 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: cond.negate + normalizedText: checked_sections.is_empty() + occurrence: 0 + testSet: 823 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_empty + normalizedText: '"[dependencies] is not a table"' + occurrence: 0 + testSet: 824 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_empty + normalizedText: '"[dependencies]"' + occurrence: 0 + testSet: 825 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_empty + normalizedText: '"[workspace.dependencies] is not a table"' + occurrence: 0 + testSet: 826 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_empty + normalizedText: '"[workspace.dependencies]"' + occurrence: 0 + testSet: 827 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_empty + normalizedText: '"dependencies"' + occurrence: 0 + testSet: 828 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_empty + normalizedText: '"dependencies"' + occurrence: 1 + testSet: 829 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 1 + testSet: 828 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_xyzzy + normalizedText: '"[dependencies] is not a table"' + occurrence: 0 + testSet: 824 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_xyzzy + normalizedText: '"[dependencies]"' + occurrence: 0 + testSet: 825 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_xyzzy + normalizedText: '"[workspace.dependencies] is not a table"' + occurrence: 0 + testSet: 826 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_xyzzy + normalizedText: '"[workspace.dependencies]"' + occurrence: 0 + testSet: 827 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_xyzzy + normalizedText: '"dependencies"' + occurrence: 0 + testSet: 828 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_xyzzy + normalizedText: '"dependencies"' + occurrence: 1 + testSet: 829 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 1 + testSet: 828 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: stmt.delete_call + normalizedText: checked_sections.push("[dependencies]"); + occurrence: 0 + testSet: 825 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: stmt.delete_call + normalizedText: checked_sections.push("[workspace.dependencies]"); + occurrence: 0 + testSet: 827 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: stmt.delete_call + normalizedText: validate_deps_table(deps_table, exceptions, &mut errors, &mut found_deps); + occurrence: 0 + testSet: 827 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependencies + mutator: stmt.delete_call + normalizedText: validate_deps_table(deps_table, exceptions, &mut errors, &mut found_deps); + occurrence: 1 + testSet: 825 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependency + mutator: result.err_to_ok + normalizedText: 'Err(format!( " - ''{name}'': default-features has unexpected value (must be boolean false)", ))' + occurrence: 0 + testSet: 830 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependency + mutator: result.err_to_ok + normalizedText: 'Err(format!( " - ''{name}'': uses simple version string, should be a table with default-features = + false", ))' + occurrence: 0 + testSet: 831 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependency + mutator: result.err_to_ok + normalizedText: 'Err(format!(" - ''{name}'': dependency is not a table"))' + occurrence: 0 + testSet: 832 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependency + mutator: result.err_to_ok + normalizedText: 'Err(format!(" - ''{name}'': has default-features = true (must be false)"))' + occurrence: 0 + testSet: 833 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependency + mutator: result.err_to_ok + normalizedText: 'Err(format!(" - ''{name}'': missing default-features = false"))' + occurrence: 0 + testSet: 834 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_dependency + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 835 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + mutator: cond.always_false + normalizedText: exceptions.contains(name) + occurrence: 0 + testSet: 836 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + mutator: cond.always_true + normalizedText: exceptions.contains(name) + occurrence: 0 + testSet: 836 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + mutator: cond.negate + normalizedText: exceptions.contains(name) + occurrence: 0 + testSet: 836 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + mutator: fn_value.unit + normalizedText: '{ for (name, value) in deps_table { found_deps.push(name.clone()); if exceptions.contains(name) { continue; + } if let Some(table) = value.as_table() && table.get("workspace") == Some(&toml::Value::Boolean(true)) { continue; + } if let Err(err) = validate_dependency(name, value) { errors.push(err); } } }' + occurrence: 0 + testSet: 837 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 838 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 838 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 838 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 839 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 840 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 839 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 840 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + mutator: stmt.delete_call + normalizedText: errors.push(err); + occurrence: 0 + testSet: 841 + - site: + file: crates/cargo-ensure-no-default-features/src/validation.rs + item: validate_deps_table + mutator: stmt.delete_call + normalizedText: found_deps.push(name.clone()); + occurrence: 0 + testSet: 836 + - site: + file: crates/cargo-gamma/src/real_host.rs + item: ::may_replace_process + mutator: fn_value.bool_false + normalizedText: '{ true }' + occurrence: 0 + testSet: 842 + - site: + file: crates/cargo-gamma/src/real_host.rs + item: ::may_replace_process + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 842 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: Frame::exceeds_chain_limit + mutator: fn_value.bool_false + normalizedText: '{ self.links > limit || self.ladders > limit }' + occurrence: 0 + testSet: 843 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: Frame::exceeds_chain_limit + mutator: fn_value.bool_true + normalizedText: '{ self.links > limit || self.ladders > limit }' + occurrence: 0 + testSet: 843 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: Frame::exceeds_chain_limit + mutator: logical.or_to_and + normalizedText: self.links > limit || self.ladders > limit + occurrence: 0 + testSet: 843 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: Frame::exceeds_chain_limit + mutator: relational.gt_to_ge + normalizedText: self.ladders > limit + occurrence: 0 + testSet: 843 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: Frame::exceeds_chain_limit + mutator: relational.gt_to_ge + normalizedText: self.links > limit + occurrence: 0 + testSet: 843 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: Frame::exceeds_chain_limit + mutator: relational.gt_to_lt + normalizedText: self.ladders > limit + occurrence: 0 + testSet: 843 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: Frame::exceeds_chain_limit + mutator: relational.gt_to_lt + normalizedText: self.links > limit + occurrence: 0 + testSet: 843 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: ParsedFunction::has_a_body + mutator: fn_value.bool_false + normalizedText: '{ self.body.is_some() }' + occurrence: 0 + testSet: 844 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: ParsedFunction::has_a_body + mutator: fn_value.bool_true + normalizedText: '{ self.body.is_some() }' + occurrence: 0 + testSet: 844 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: body_of + mutator: cond.always_false + normalizedText: block.stmts.is_empty() + occurrence: 0 + testSet: 845 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: body_of + mutator: cond.always_true + normalizedText: block.stmts.is_empty() + occurrence: 0 + testSet: 845 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: body_of + mutator: cond.negate + normalizedText: block.stmts.is_empty() + occurrence: 0 + testSet: 845 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: error + mutator: fn_value.default + normalizedText: '{ let rendered = format!("::core::compile_error!({});", Literal::string(message)); rendered.parse().expect("a + `Literal::string` always parses as a string literal") }' + occurrence: 0 + testSet: 846 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: assign_value.default + normalizedText: '0' + occurrence: 5 + testSet: 847 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: assign_value.default + normalizedText: '0' + occurrence: 6 + testSet: 847 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: cond.always_false + normalizedText: frame.exceeds_chain_limit(chain_limit) + occurrence: 4 + testSet: 848 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: cond.always_false + normalizedText: matches!(punct.as_char(), ',' | ';') + occurrence: 0 + testSet: 849 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: cond.always_false + normalizedText: matches!(punct.as_char(), '?' | '>') + occurrence: 0 + testSet: 849 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: cond.always_true + normalizedText: frame.exceeds_chain_limit(chain_limit) + occurrence: 4 + testSet: 848 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: cond.always_true + normalizedText: matches!(punct.as_char(), ',' | ';') + occurrence: 0 + testSet: 849 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: cond.always_true + normalizedText: matches!(punct.as_char(), '?' | '>') + occurrence: 0 + testSet: 849 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: cond.negate + normalizedText: frame.exceeds_chain_limit(chain_limit) + occurrence: 4 + testSet: 848 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: cond.negate + normalizedText: matches!(punct.as_char(), ',' | ';') + occurrence: 0 + testSet: 849 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: cond.negate + normalizedText: matches!(punct.as_char(), '?' | '>') + occurrence: 0 + testSet: 849 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: expr.decrement + normalizedText: CHAIN_FACTOR + occurrence: 0 + testSet: 850 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: expr.decrement + normalizedText: chain_limit + occurrence: 4 + testSet: 848 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: expr.increment + normalizedText: CHAIN_FACTOR + occurrence: 0 + testSet: 850 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: expr.increment + normalizedText: chain_limit + occurrence: 4 + testSet: 848 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 5 + testSet: 851 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 5 + testSet: 852 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: literal.int_increment + normalizedText: '0' + occurrence: 7 + testSet: 847 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: literal.int_increment + normalizedText: '0' + occurrence: 8 + testSet: 847 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: stmt.delete_assign + normalizedText: frame.ladders = 0; + occurrence: 4 + testSet: 847 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: stmt.delete_assign + normalizedText: frame.links = 0; + occurrence: 1 + testSet: 847 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: exceeds_nesting_limit + mutator: stmt.delete_assign + normalizedText: frame.previous = if matches!(punct.as_char(), '?' | '>') { Previous::Operator } else { Previous::Other + }; + occurrence: 0 + testSet: 849 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: inert + mutator: fn_value.default + normalizedText: '{ match validate(attr) { Ok(()) => item, Err(message) => { let mut out = error(&format!("#[gamma::{name}]: + {message}")); out.extend(item); out } } }' + occurrence: 0 + testSet: 853 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: inert + mutator: stmt.delete_call + normalizedText: out.extend(item); + occurrence: 0 + testSet: 854 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: inert_timeout + mutator: fn_value.default + normalizedText: '{ match validate_timeout_multiplier(attr) { Ok(()) => item, Err(message) => { let mut out = error(&format!("#[gamma::{name}]: + {message}")); out.extend(item); out } } }' + occurrence: 0 + testSet: 855 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: inert_timeout + mutator: stmt.delete_call + normalizedText: out.extend(item); + occurrence: 0 + testSet: 856 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_bounded_multiplier + mutator: fn_value.bool_false + normalizedText: '{ value > 0.0 && value.is_finite() && value <= MOST_FACTOR }' + occurrence: 0 + testSet: 857 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_bounded_multiplier + mutator: fn_value.bool_true + normalizedText: '{ value > 0.0 && value.is_finite() && value <= MOST_FACTOR }' + occurrence: 0 + testSet: 857 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_bounded_multiplier + mutator: logical.and_to_or + normalizedText: value > 0.0 && value.is_finite() + occurrence: 0 + testSet: 857 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_bounded_multiplier + mutator: logical.and_to_or + normalizedText: value > 0.0 && value.is_finite() && value <= MOST_FACTOR + occurrence: 0 + testSet: 857 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_bounded_multiplier + mutator: relational.gt_to_ge + normalizedText: value > 0.0 + occurrence: 0 + testSet: 857 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_bounded_multiplier + mutator: relational.gt_to_lt + normalizedText: value > 0.0 + occurrence: 0 + testSet: 857 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_bounded_multiplier + mutator: relational.le_to_ge + normalizedText: value <= MOST_FACTOR + occurrence: 0 + testSet: 858 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_bounded_multiplier + mutator: relational.le_to_lt + normalizedText: value <= MOST_FACTOR + occurrence: 0 + testSet: 858 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_positional_multiplier + mutator: fn_value.bool_false + normalizedText: '{ match argument.first() { Some(TokenTree::Literal(_)) => true, Some(TokenTree::Punct(punct)) => matches!(punct.as_char(), + ''+'' | ''-''), Some(TokenTree::Ident(ident)) => ident.to_string().parse::().is_ok(), _ => false, } }' + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_positional_multiplier + mutator: fn_value.bool_true + normalizedText: '{ match argument.first() { Some(TokenTree::Literal(_)) => true, Some(TokenTree::Punct(punct)) => matches!(punct.as_char(), + ''+'' | ''-''), Some(TokenTree::Ident(ident)) => ident.to_string().parse::().is_ok(), _ => false, } }' + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_positional_multiplier + mutator: iter.first_to_last + normalizedText: argument.first() + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_positional_multiplier + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 860 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_positional_multiplier + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 861 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_positional_multiplier + mutator: match_arm.never_matches + normalizedText: Some(TokenTree::Ident(ident)) + occurrence: 0 + testSet: 862 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_positional_multiplier + mutator: match_arm.never_matches + normalizedText: Some(TokenTree::Literal(_)) + occurrence: 0 + testSet: 861 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_positional_multiplier + mutator: match_arm.never_matches + normalizedText: Some(TokenTree::Punct(punct)) + occurrence: 0 + testSet: 863 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_string_literal + mutator: fn_value.bool_false + normalizedText: '{ let body = text.strip_prefix(''r'').unwrap_or(text); body.trim_start_matches(''#'').starts_with(''"'') + }' + occurrence: 0 + testSet: 864 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_string_literal + mutator: fn_value.bool_true + normalizedText: '{ let body = text.strip_prefix(''r'').unwrap_or(text); body.trim_start_matches(''#'').starts_with(''"'') + }' + occurrence: 0 + testSet: 864 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: is_string_literal + mutator: string.starts_with_to_ends_with + normalizedText: body.trim_start_matches('#').starts_with('"') + occurrence: 0 + testSet: 864 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: cond.always_false + normalizedText: namespace != "gamma" + occurrence: 0 + testSet: 865 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: cond.always_true + normalizedText: namespace != "gamma" + occurrence: 0 + testSet: 865 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: cond.negate + normalizedText: namespace != "gamma" + occurrence: 0 + testSet: 865 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: fn_value.bool_false + normalizedText: '{ let mut trees = inner.clone().into_iter(); let Some(TokenTree::Ident(namespace)) = trees.next() else + { return false; }; if namespace != "gamma" { return false; } for _separator in 0..2 { match trees.next() { Some(TokenTree::Punct(punct)) + if punct.as_char() == '':'' => {} _other => return false, } } matches!(trees.next(), Some(TokenTree::Ident(name)) + if name == "value") }' + occurrence: 0 + testSet: 865 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: fn_value.bool_true + normalizedText: '{ let mut trees = inner.clone().into_iter(); let Some(TokenTree::Ident(namespace)) = trees.next() else + { return false; }; if namespace != "gamma" { return false; } for _separator in 0..2 { match trees.next() { Some(TokenTree::Punct(punct)) + if punct.as_char() == '':'' => {} _other => return false, } } matches!(trees.next(), Some(TokenTree::Ident(name)) + if name == "value") }' + occurrence: 0 + testSet: 865 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 866 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 867 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 866 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: literal.int_decrement + normalizedText: '0' + occurrence: 0 + testSet: 868 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 868 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 868 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 868 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 868 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: literal.str_to_empty + normalizedText: '"gamma"' + occurrence: 0 + testSet: 865 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: literal.str_to_xyzzy + normalizedText: '"gamma"' + occurrence: 0 + testSet: 865 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: match_guard.always_false + normalizedText: punct.as_char() == ':' + occurrence: 0 + testSet: 868 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: match_guard.always_true + normalizedText: punct.as_char() == ':' + occurrence: 0 + testSet: 868 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: match_guard.negate + normalizedText: punct.as_char() == ':' + occurrence: 0 + testSet: 868 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: range.exclusive_to_inclusive + normalizedText: 0..2 + occurrence: 0 + testSet: 868 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: names_value + mutator: relational.ne_to_eq + normalizedText: namespace != "gamma" + occurrence: 0 + testSet: 865 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: parse_function + mutator: fn_value.none + normalizedText: '{ if let Ok(function) = syn::parse2::(item.clone()) { return Some(ParsedFunction { constant: + function.sig.constness.is_some(), body: Some(body_of(&function.block)), }); } if let Ok(method) = syn::parse2::(item.clone()) + { return Some(ParsedFunction { constant: method.sig.constness.is_some(), body: Some(body_of(&method.block)), }); } + let declared = syn::parse2::(item.clone()).ok()?; Some(ParsedFunction { constant: declared.sig.constness.is_some(), + body: declared.default.as_ref().map(body_of), }) }' + occurrence: 0 + testSet: 869 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: parse_function + mutator: option.some_to_none + normalizedText: 'Some(ParsedFunction { constant: declared.sig.constness.is_some(), body: declared.default.as_ref().map(body_of), + })' + occurrence: 0 + testSet: 870 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: parse_function + mutator: option.some_to_none + normalizedText: 'Some(ParsedFunction { constant: function.sig.constness.is_some(), body: Some(body_of(&function.block)), + })' + occurrence: 0 + testSet: 871 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: parse_function + mutator: option.some_to_none + normalizedText: 'Some(ParsedFunction { constant: method.sig.constness.is_some(), body: Some(body_of(&method.block)), + })' + occurrence: 0 + testSet: 872 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: parse_function + mutator: option.some_to_none + normalizedText: Some(body_of(&function.block)) + occurrence: 0 + testSet: 871 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: parse_function + mutator: option.some_to_none + normalizedText: Some(body_of(&method.block)) + occurrence: 0 + testSet: 872 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: states_a_value + mutator: cond.always_false + normalizedText: group.delimiter() == Delimiter::Bracket && names_value(&group.stream()) + occurrence: 0 + testSet: 873 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: states_a_value + mutator: cond.always_true + normalizedText: group.delimiter() == Delimiter::Bracket && names_value(&group.stream()) + occurrence: 0 + testSet: 873 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: states_a_value + mutator: cond.negate + normalizedText: group.delimiter() == Delimiter::Bracket && names_value(&group.stream()) + occurrence: 0 + testSet: 873 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: states_a_value + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 874 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: states_a_value + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 875 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: states_a_value + mutator: logical.and_to_or + normalizedText: group.delimiter() == Delimiter::Bracket && names_value(&group.stream()) + occurrence: 0 + testSet: 873 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: states_a_value + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 874 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: states_a_value + mutator: match_guard.always_false + normalizedText: punct.as_char() == '#' + occurrence: 0 + testSet: 865 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: states_a_value + mutator: match_guard.always_true + normalizedText: punct.as_char() == '#' + occurrence: 0 + testSet: 865 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: states_a_value + mutator: match_guard.negate + normalizedText: punct.as_char() == '#' + occurrence: 0 + testSet: 865 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: states_a_value + mutator: relational.eq_to_ne + normalizedText: group.delimiter() == Delimiter::Bracket + occurrence: 0 + testSet: 873 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate + mutator: fn_value.err_default + normalizedText: '{ validate_shape(attr) }' + occurrence: 0 + testSet: 876 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate + mutator: fn_value.ok + normalizedText: '{ validate_shape(attr) }' + occurrence: 0 + testSet: 876 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape + mutator: fn_value.err_default + normalizedText: '{ let mut multiplier = None; validate_shape_tokens(attr.into_iter().collect(), false, &mut multiplier) + }' + occurrence: 0 + testSet: 876 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape + mutator: fn_value.ok + normalizedText: '{ let mut multiplier = None; validate_shape_tokens(attr.into_iter().collect(), false, &mut multiplier) + }' + occurrence: 0 + testSet: 876 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 876 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: arith.add_to_mul + normalizedText: index + 1 + occurrence: 0 + testSet: 877 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: arith.add_to_mul + normalizedText: index + 2 + occurrence: 0 + testSet: 878 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: arith.add_to_mul + normalizedText: index + 2 + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: arith.add_to_mul + normalizedText: index + 3 + occurrence: 0 + testSet: 880 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: arith.add_to_mul + normalizedText: index + 3 + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: arith.add_to_sub + normalizedText: index + 1 + occurrence: 0 + testSet: 877 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: arith.add_to_sub + normalizedText: index + 2 + occurrence: 0 + testSet: 878 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: arith.add_to_sub + normalizedText: index + 2 + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: arith.add_to_sub + normalizedText: index + 3 + occurrence: 0 + testSet: 880 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: arith.add_to_sub + normalizedText: index + 3 + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: assign.add_to_sub + normalizedText: index += 3 + occurrence: 0 + testSet: 881 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: assign.add_to_sub + normalizedText: index += 3 + occurrence: 1 + testSet: 882 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: assign_value.default + normalizedText: Some(Multiplier::Keyed(key.clone())) + occurrence: 0 + testSet: 882 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_false + normalizedText: '!is_equals' + occurrence: 0 + testSet: 883 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_false + normalizedText: '!is_equals' + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_false + normalizedText: matches!( key.as_str(), "test_timeout_multiplier" | "timeout_multiplier" | "factor" | "multiplier" ) + occurrence: 0 + testSet: 884 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_false + normalizedText: matches!(key.as_str(), "reason" | "tag") + occurrence: 0 + testSet: 885 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_false + normalizedText: matches!(previous, Multiplier::Positional) + occurrence: 0 + testSet: 882 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_false + normalizedText: strict + occurrence: 0 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_false + normalizedText: strict + occurrence: 1 + testSet: 886 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_false + normalizedText: trees .get(index + 3) .is_some_and(|tree| !matches!(tree, TokenTree::Punct(punct) if punct.as_char() + == ',')) + occurrence: 0 + testSet: 880 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_false + normalizedText: trees .get(index + 3) .is_some_and(|tree| !matches!(tree, TokenTree::Punct(punct) if punct.as_char() + == ',')) + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_true + normalizedText: '!is_equals' + occurrence: 0 + testSet: 883 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_true + normalizedText: '!is_equals' + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_true + normalizedText: matches!( key.as_str(), "test_timeout_multiplier" | "timeout_multiplier" | "factor" | "multiplier" ) + occurrence: 0 + testSet: 884 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_true + normalizedText: matches!(key.as_str(), "reason" | "tag") + occurrence: 0 + testSet: 885 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_true + normalizedText: matches!(previous, Multiplier::Positional) + occurrence: 0 + testSet: 882 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_true + normalizedText: strict + occurrence: 0 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_true + normalizedText: strict + occurrence: 1 + testSet: 886 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_true + normalizedText: trees .get(index + 3) .is_some_and(|tree| !matches!(tree, TokenTree::Punct(punct) if punct.as_char() + == ',')) + occurrence: 0 + testSet: 880 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.always_true + normalizedText: trees .get(index + 3) .is_some_and(|tree| !matches!(tree, TokenTree::Punct(punct) if punct.as_char() + == ',')) + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.negate + normalizedText: '!is_equals' + occurrence: 0 + testSet: 883 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.negate + normalizedText: '!is_equals' + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.negate + normalizedText: matches!( key.as_str(), "test_timeout_multiplier" | "timeout_multiplier" | "factor" | "multiplier" ) + occurrence: 0 + testSet: 884 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.negate + normalizedText: matches!(key.as_str(), "reason" | "tag") + occurrence: 0 + testSet: 885 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.negate + normalizedText: matches!(previous, Multiplier::Positional) + occurrence: 0 + testSet: 882 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.negate + normalizedText: strict + occurrence: 0 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.negate + normalizedText: strict + occurrence: 1 + testSet: 886 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.negate + normalizedText: trees .get(index + 3) .is_some_and(|tree| !matches!(tree, TokenTree::Punct(punct) if punct.as_char() + == ',')) + occurrence: 0 + testSet: 880 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: cond.negate + normalizedText: trees .get(index + 3) .is_some_and(|tree| !matches!(tree, TokenTree::Punct(punct) if punct.as_char() + == ',')) + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 887 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.decrement + normalizedText: index + occurrence: 1 + testSet: 888 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.decrement + normalizedText: index + occurrence: 2 + testSet: 888 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.decrement + normalizedText: index + occurrence: 3 + testSet: 886 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.decrement + normalizedText: index + 2 + occurrence: 0 + testSet: 878 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.decrement + normalizedText: index + 2 + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.decrement + normalizedText: index + 3 + occurrence: 0 + testSet: 880 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.decrement + normalizedText: index + 3 + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 887 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.increment + normalizedText: index + occurrence: 1 + testSet: 888 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.increment + normalizedText: index + occurrence: 2 + testSet: 888 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.increment + normalizedText: index + occurrence: 3 + testSet: 886 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.increment + normalizedText: index + 2 + occurrence: 0 + testSet: 878 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.increment + normalizedText: index + 2 + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.increment + normalizedText: index + 3 + occurrence: 0 + testSet: 880 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: expr.increment + normalizedText: index + 3 + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 877 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 878 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 880 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 2 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 3 + testSet: 882 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 877 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 877 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 886 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 878 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_increment + normalizedText: '2' + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 880 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_increment + normalizedText: '3' + occurrence: 1 + testSet: 881 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_increment + normalizedText: '3' + occurrence: 2 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_increment + normalizedText: '3' + occurrence: 3 + testSet: 882 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 880 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 2 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 3 + testSet: 882 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 878 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 880 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 1 + testSet: 881 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 2 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 3 + testSet: 882 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.str_to_empty + normalizedText: '"unexpected signed number; a timeout multiplier must be written as `test_timeout_multiplier = `, + or given alone"' + occurrence: 0 + testSet: 860 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: literal.str_to_xyzzy + normalizedText: '"unexpected signed number; a timeout multiplier must be written as `test_timeout_multiplier = `, + or given alone"' + occurrence: 0 + testSet: 860 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 881 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 882 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: loop.continue_to_break + normalizedText: continue 'frames + occurrence: 0 + testSet: 877 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: match_guard.always_false + normalizedText: is_string_literal(&literal.to_string()) + occurrence: 0 + testSet: 889 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: match_guard.always_false + normalizedText: literal.to_string().parse::().is_ok_and(is_bounded_multiplier) + occurrence: 0 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: match_guard.always_true + normalizedText: is_string_literal(&literal.to_string()) + occurrence: 0 + testSet: 889 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: match_guard.always_true + normalizedText: literal.to_string().parse::().is_ok_and(is_bounded_multiplier) + occurrence: 0 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: match_guard.negate + normalizedText: is_string_literal(&literal.to_string()) + occurrence: 0 + testSet: 889 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: match_guard.negate + normalizedText: literal.to_string().parse::().is_ok_and(is_bounded_multiplier) + occurrence: 0 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: option.some_to_none + normalizedText: Some(Multiplier::Keyed(key.clone())) + occurrence: 0 + testSet: 882 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: relational.eq_to_ne + normalizedText: group.delimiter() == Delimiter::Parenthesis + occurrence: 0 + testSet: 890 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: result.err_to_ok + normalizedText: Err( "unexpected signed number; a timeout multiplier must be written as `test_timeout_multiplier = `, + or given alone" .to_owned(), ) + occurrence: 0 + testSet: 860 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: result.err_to_ok + normalizedText: Err(format!( "unexpected `{literal}`; a timeout multiplier must be written as `test_timeout_multiplier + = `, or given alone" )) + occurrence: 0 + testSet: 860 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: result.err_to_ok + normalizedText: Err(format!("`{key}` must be a positive number no greater than {MOST_FACTOR}")) + occurrence: 0 + testSet: 860 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: result.err_to_ok + normalizedText: Err(format!("`{key}` must be a string literal")) + occurrence: 0 + testSet: 891 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: result.err_to_ok + normalizedText: Err(format!("`{key}` must be written as `{key} = `")) + occurrence: 0 + testSet: 860 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: result.err_to_ok + normalizedText: Err(format!("`{key}` must be written as `{key} = \"...\"`")) + occurrence: 0 + testSet: 892 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: result.err_to_ok + normalizedText: Err(format!("`{key}` must not have trailing tokens after its value")) + occurrence: 0 + testSet: 893 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: result.err_to_ok + normalizedText: Err(format!("`{key}` must not have trailing tokens after its value")) + occurrence: 1 + testSet: 894 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: result.err_to_ok + normalizedText: Err(if matches!(previous, Multiplier::Positional) { format!("a timeout multiplier is stated both on + its own and as `{key}`; only one may apply to an item") } else { format!("`{key}` states a timeout multiplier a second + time; only one may apply to an item") }) + occurrence: 0 + testSet: 882 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 895 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: unary.remove_not + normalizedText: '!is_equals' + occurrence: 0 + testSet: 883 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: unary.remove_not + normalizedText: '!is_equals' + occurrence: 1 + testSet: 879 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: unary.remove_not + normalizedText: '!matches!(tree, TokenTree::Punct(punct) if punct.as_char() == '','')' + occurrence: 0 + testSet: 896 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_shape_tokens + mutator: unary.remove_not + normalizedText: '!matches!(tree, TokenTree::Punct(punct) if punct.as_char() == '','')' + occurrence: 1 + testSet: 894 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: assign_value.default + normalizedText: Some(Multiplier::Positional) + occurrence: 0 + testSet: 897 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: cond.always_false + normalizedText: argument.is_empty() + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: cond.always_false + normalizedText: is_positional_multiplier(argument) + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: cond.always_true + normalizedText: argument.is_empty() + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: cond.always_true + normalizedText: is_positional_multiplier(argument) + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: cond.negate + normalizedText: argument.is_empty() + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: cond.negate + normalizedText: is_positional_multiplier(argument) + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: fn_value.err_default + normalizedText: '{ if argument.is_empty() { return Ok(()); } *saw_argument = true; if is_positional_multiplier(argument) + { let written: String = argument.iter().map(ToString::to_string).collect(); match written.parse::() { Ok(value) + if is_bounded_multiplier(value) => {} _ => { return Err(format!( "timeout multiplier must be a positive number no + greater than {MOST_FACTOR}" )); } } match multiplier { Some(Multiplier::Positional) => return Err(DUPLICATE_MULTIPLIER.to_owned()), + Some(Multiplier::Keyed(key)) => { return Err(format!( "a timeout multiplier is stated both on its own and as `{key}`; + only one may apply to an item" )); } None => *multiplier = Some(Multiplier::Positional), } argument.clear(); return + Ok(()); } validate_shape_tokens(mem::take(argument), true, multiplier) }' + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: fn_value.ok + normalizedText: '{ if argument.is_empty() { return Ok(()); } *saw_argument = true; if is_positional_multiplier(argument) + { let written: String = argument.iter().map(ToString::to_string).collect(); match written.parse::() { Ok(value) + if is_bounded_multiplier(value) => {} _ => { return Err(format!( "timeout multiplier must be a positive number no + greater than {MOST_FACTOR}" )); } } match multiplier { Some(Multiplier::Positional) => return Err(DUPLICATE_MULTIPLIER.to_owned()), + Some(Multiplier::Keyed(key)) => { return Err(format!( "a timeout multiplier is stated both on its own and as `{key}`; + only one may apply to an item" )); } None => *multiplier = Some(Multiplier::Positional), } argument.clear(); return + Ok(()); } validate_shape_tokens(mem::take(argument), true, multiplier) }' + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 898 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: match_guard.always_false + normalizedText: is_bounded_multiplier(value) + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: match_guard.always_true + normalizedText: is_bounded_multiplier(value) + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: match_guard.negate + normalizedText: is_bounded_multiplier(value) + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: option.some_to_none + normalizedText: Some(Multiplier::Positional) + occurrence: 0 + testSet: 897 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: result.err_to_ok + normalizedText: Err(DUPLICATE_MULTIPLIER.to_owned()) + occurrence: 0 + testSet: 899 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: result.err_to_ok + normalizedText: Err(format!( "a timeout multiplier is stated both on its own and as `{key}`; only one may apply to an + item" )) + occurrence: 0 + testSet: 899 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: result.err_to_ok + normalizedText: Err(format!( "timeout multiplier must be a positive number no greater than {MOST_FACTOR}" )) + occurrence: 0 + testSet: 900 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 901 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 1 + testSet: 897 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: stmt.delete_assign + normalizedText: '*saw_argument = true;' + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_argument + mutator: stmt.delete_call + normalizedText: argument.clear(); + occurrence: 0 + testSet: 897 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: cond.always_false + normalizedText: matches!(&tree, TokenTree::Punct(punct) if punct.as_char() == ',') + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: cond.always_false + normalizedText: saw_argument + occurrence: 0 + testSet: 902 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: cond.always_true + normalizedText: matches!(&tree, TokenTree::Punct(punct) if punct.as_char() == ',') + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: cond.always_true + normalizedText: saw_argument + occurrence: 0 + testSet: 902 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: cond.negate + normalizedText: matches!(&tree, TokenTree::Punct(punct) if punct.as_char() == ',') + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: cond.negate + normalizedText: saw_argument + occurrence: 0 + testSet: 902 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: fn_value.err_default + normalizedText: '{ let mut multiplier = None; let mut saw_argument = false; let mut current = Vec::new(); for tree in + attr.clone() { if matches!(&tree, TokenTree::Punct(punct) if punct.as_char() == '','') { validate_timeout_argument(&mut + current, &mut multiplier, &mut saw_argument)?; } else { current.push(tree); } } validate_timeout_argument(&mut current, + &mut multiplier, &mut saw_argument)?; if saw_argument { Ok(()) } else { Err("expected a timeout multiplier, as in + `#[gamma::test_timeout_multiplier(2.0)]`".to_owned()) } }' + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: fn_value.ok + normalizedText: '{ let mut multiplier = None; let mut saw_argument = false; let mut current = Vec::new(); for tree in + attr.clone() { if matches!(&tree, TokenTree::Punct(punct) if punct.as_char() == '','') { validate_timeout_argument(&mut + current, &mut multiplier, &mut saw_argument)?; } else { current.push(tree); } } validate_timeout_argument(&mut current, + &mut multiplier, &mut saw_argument)?; if saw_argument { Ok(()) } else { Err("expected a timeout multiplier, as in + `#[gamma::test_timeout_multiplier(2.0)]`".to_owned()) } }' + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: literal.str_to_empty + normalizedText: '"expected a timeout multiplier, as in `#[gamma::test_timeout_multiplier(2.0)]`"' + occurrence: 0 + testSet: 860 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: literal.str_to_xyzzy + normalizedText: '"expected a timeout multiplier, as in `#[gamma::test_timeout_multiplier(2.0)]`"' + occurrence: 0 + testSet: 860 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: result.err_to_ok + normalizedText: Err("expected a timeout multiplier, as in `#[gamma::test_timeout_multiplier(2.0)]`".to_owned()) + occurrence: 0 + testSet: 860 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 902 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_timeout_multiplier + mutator: stmt.delete_call + normalizedText: current.push(tree); + occurrence: 0 + testSet: 859 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_false + normalizedText: '!parsed.has_a_body()' + occurrence: 0 + testSet: 844 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_false + normalizedText: attr.is_empty() + occurrence: 0 + testSet: 903 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_false + normalizedText: exceeds_nesting_limit(&attr, NESTING_LIMIT) + occurrence: 0 + testSet: 904 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_false + normalizedText: exceeds_nesting_limit(item, NESTING_LIMIT) + occurrence: 0 + testSet: 905 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_false + normalizedText: matches!(parsed.body, Some(Body::Empty)) + occurrence: 0 + testSet: 906 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_false + normalizedText: parsed.constant + occurrence: 0 + testSet: 907 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_false + normalizedText: states_a_value(item) + occurrence: 0 + testSet: 908 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_true + normalizedText: '!parsed.has_a_body()' + occurrence: 0 + testSet: 844 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_true + normalizedText: attr.is_empty() + occurrence: 0 + testSet: 903 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_true + normalizedText: exceeds_nesting_limit(&attr, NESTING_LIMIT) + occurrence: 0 + testSet: 904 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_true + normalizedText: exceeds_nesting_limit(item, NESTING_LIMIT) + occurrence: 0 + testSet: 905 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_true + normalizedText: matches!(parsed.body, Some(Body::Empty)) + occurrence: 0 + testSet: 906 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_true + normalizedText: parsed.constant + occurrence: 0 + testSet: 907 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.always_true + normalizedText: states_a_value(item) + occurrence: 0 + testSet: 908 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.negate + normalizedText: '!parsed.has_a_body()' + occurrence: 0 + testSet: 844 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.negate + normalizedText: attr.is_empty() + occurrence: 0 + testSet: 903 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.negate + normalizedText: exceeds_nesting_limit(&attr, NESTING_LIMIT) + occurrence: 0 + testSet: 904 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.negate + normalizedText: exceeds_nesting_limit(item, NESTING_LIMIT) + occurrence: 0 + testSet: 905 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.negate + normalizedText: matches!(parsed.body, Some(Body::Empty)) + occurrence: 0 + testSet: 906 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.negate + normalizedText: parsed.constant + occurrence: 0 + testSet: 907 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: cond.negate + normalizedText: states_a_value(item) + occurrence: 0 + testSet: 908 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: expr.decrement + normalizedText: NESTING_LIMIT + occurrence: 0 + testSet: 904 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: expr.decrement + normalizedText: NESTING_LIMIT + occurrence: 1 + testSet: 905 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: expr.increment + normalizedText: NESTING_LIMIT + occurrence: 0 + testSet: 904 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: expr.increment + normalizedText: NESTING_LIMIT + occurrence: 1 + testSet: 905 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: fn_value.err_default + normalizedText: '{ if attr.is_empty() { return Err("expected one expression, as in `#[gamma::value(0)]`".to_owned()); + } if exceeds_nesting_limit(&attr, NESTING_LIMIT) { return Err("expression nests too deeply to be safely parsed".to_owned()); + } if exceeds_nesting_limit(item, NESTING_LIMIT) { return Err("item nests too deeply to be safely parsed".to_owned()); + } let written = attr.to_string(); if let Err(reported) = syn::parse2::(attr.clone()) { let parser = Punctuated::::parse_terminated; return match parser.parse2(attr) { Ok(list) if list.len() > 1 => Err(format!( "expected + one expression, but `{written}` is {}; a site states one value", list.len() )), _ => Err(format!("`{written}` is not + a Rust expression: {reported}")), }; } let Some(parsed) = parse_function(item) else { return Err("expected a function + or method; a value stated on an `impl` block or a module would have to type-check as the body of every function beneath + it".to_owned()); }; if !parsed.has_a_body() { return Err( "expected a function with a body; a declaration has none + to replace, and a value is not inherited by the implementations of a trait method" .to_owned(), ); } if parsed.constant + { return Err( "expected a function that can carry a mutant; a mutant is spliced in behind a run-time guard call, which + no `const fn` body may make, so this value would replace nothing" .to_owned(), ); } if matches!(parsed.body, Some(Body::Empty)) + { return Err("expected a non-empty function body; empty bodies are not eligible for stated-value mutation".to_owned()); + } if states_a_value(item) { return Err("an item may state one value; two would leave which of them applies to the + order they were expanded in".to_owned()); } Ok(()) }' + occurrence: 0 + testSet: 903 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: fn_value.ok + normalizedText: '{ if attr.is_empty() { return Err("expected one expression, as in `#[gamma::value(0)]`".to_owned()); + } if exceeds_nesting_limit(&attr, NESTING_LIMIT) { return Err("expression nests too deeply to be safely parsed".to_owned()); + } if exceeds_nesting_limit(item, NESTING_LIMIT) { return Err("item nests too deeply to be safely parsed".to_owned()); + } let written = attr.to_string(); if let Err(reported) = syn::parse2::(attr.clone()) { let parser = Punctuated::::parse_terminated; return match parser.parse2(attr) { Ok(list) if list.len() > 1 => Err(format!( "expected + one expression, but `{written}` is {}; a site states one value", list.len() )), _ => Err(format!("`{written}` is not + a Rust expression: {reported}")), }; } let Some(parsed) = parse_function(item) else { return Err("expected a function + or method; a value stated on an `impl` block or a module would have to type-check as the body of every function beneath + it".to_owned()); }; if !parsed.has_a_body() { return Err( "expected a function with a body; a declaration has none + to replace, and a value is not inherited by the implementations of a trait method" .to_owned(), ); } if parsed.constant + { return Err( "expected a function that can carry a mutant; a mutant is spliced in behind a run-time guard call, which + no `const fn` body may make, so this value would replace nothing" .to_owned(), ); } if matches!(parsed.body, Some(Body::Empty)) + { return Err("expected a non-empty function body; empty bodies are not eligible for stated-value mutation".to_owned()); + } if states_a_value(item) { return Err("an item may state one value; two would leave which of them applies to the + order they were expanded in".to_owned()); } Ok(()) }' + occurrence: 0 + testSet: 903 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_empty + normalizedText: '"an item may state one value; two would leave which of them applies to the order they were expanded + in"' + occurrence: 0 + testSet: 875 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_empty + normalizedText: '"expected a function or method; a value stated on an `impl` block or a module would have to type-check + as the body of every function beneath it"' + occurrence: 0 + testSet: 909 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_empty + normalizedText: '"expected a function that can carry a mutant; a mutant is spliced in behind a run-time guard call, + which no `const fn` body may make, so this value would replace nothing"' + occurrence: 0 + testSet: 910 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_empty + normalizedText: '"expected a function with a body; a declaration has none to replace, and a value is not inherited by + the implementations of a trait method"' + occurrence: 0 + testSet: 911 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_empty + normalizedText: '"expected a non-empty function body; empty bodies are not eligible for stated-value mutation"' + occurrence: 0 + testSet: 912 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_empty + normalizedText: '"expected one expression, as in `#[gamma::value(0)]`"' + occurrence: 0 + testSet: 913 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_empty + normalizedText: '"expression nests too deeply to be safely parsed"' + occurrence: 0 + testSet: 914 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_empty + normalizedText: '"item nests too deeply to be safely parsed"' + occurrence: 0 + testSet: 915 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_xyzzy + normalizedText: '"an item may state one value; two would leave which of them applies to the order they were expanded + in"' + occurrence: 0 + testSet: 875 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_xyzzy + normalizedText: '"expected a function or method; a value stated on an `impl` block or a module would have to type-check + as the body of every function beneath it"' + occurrence: 0 + testSet: 909 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_xyzzy + normalizedText: '"expected a function that can carry a mutant; a mutant is spliced in behind a run-time guard call, + which no `const fn` body may make, so this value would replace nothing"' + occurrence: 0 + testSet: 910 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_xyzzy + normalizedText: '"expected a function with a body; a declaration has none to replace, and a value is not inherited by + the implementations of a trait method"' + occurrence: 0 + testSet: 911 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_xyzzy + normalizedText: '"expected a non-empty function body; empty bodies are not eligible for stated-value mutation"' + occurrence: 0 + testSet: 912 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_xyzzy + normalizedText: '"expected one expression, as in `#[gamma::value(0)]`"' + occurrence: 0 + testSet: 913 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_xyzzy + normalizedText: '"expression nests too deeply to be safely parsed"' + occurrence: 0 + testSet: 914 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: literal.str_to_xyzzy + normalizedText: '"item nests too deeply to be safely parsed"' + occurrence: 0 + testSet: 915 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: match_guard.always_false + normalizedText: list.len() > 1 + occurrence: 0 + testSet: 916 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: match_guard.always_true + normalizedText: list.len() > 1 + occurrence: 0 + testSet: 916 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: match_guard.negate + normalizedText: list.len() > 1 + occurrence: 0 + testSet: 916 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: result.err_to_ok + normalizedText: Err( "expected a function that can carry a mutant; a mutant is spliced in behind a run-time guard call, + which no `const fn` body may make, so this value would replace nothing" .to_owned(), ) + occurrence: 0 + testSet: 910 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: result.err_to_ok + normalizedText: Err( "expected a function with a body; a declaration has none to replace, and a value is not inherited + by the implementations of a trait method" .to_owned(), ) + occurrence: 0 + testSet: 911 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: result.err_to_ok + normalizedText: Err("an item may state one value; two would leave which of them applies to the order they were expanded + in".to_owned()) + occurrence: 0 + testSet: 875 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: result.err_to_ok + normalizedText: Err("expected a function or method; a value stated on an `impl` block or a module would have to type-check + as the body of every function beneath it".to_owned()) + occurrence: 0 + testSet: 909 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: result.err_to_ok + normalizedText: Err("expected a non-empty function body; empty bodies are not eligible for stated-value mutation".to_owned()) + occurrence: 0 + testSet: 912 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: result.err_to_ok + normalizedText: Err("expected one expression, as in `#[gamma::value(0)]`".to_owned()) + occurrence: 0 + testSet: 913 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: result.err_to_ok + normalizedText: Err("expression nests too deeply to be safely parsed".to_owned()) + occurrence: 0 + testSet: 914 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: result.err_to_ok + normalizedText: Err("item nests too deeply to be safely parsed".to_owned()) + occurrence: 0 + testSet: 915 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: result.err_to_ok + normalizedText: Err(format!( "expected one expression, but `{written}` is {}; a site states one value", list.len() )) + occurrence: 0 + testSet: 917 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: result.err_to_ok + normalizedText: 'Err(format!("`{written}` is not a Rust expression: {reported}"))' + occurrence: 0 + testSet: 918 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 919 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: validate_value + mutator: unary.remove_not + normalizedText: '!parsed.has_a_body()' + occurrence: 0 + testSet: 844 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: value + mutator: fn_value.default + normalizedText: '{ match validate_value(attr, &item) { Ok(()) => item, Err(message) => { let mut out = error(&format!("#[gamma::value]: + {message}")); out.extend(item); out } } }' + occurrence: 0 + testSet: 920 + - site: + file: crates/cargo-gamma-attrs-impl/src/implementation.rs + item: value + mutator: stmt.delete_call + normalizedText: out.extend(item); + occurrence: 0 + testSet: 921 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: >::from + mutator: cond.always_false + normalizedText: held + occurrence: 0 + testSet: 922 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: >::from + mutator: cond.always_true + normalizedText: held + occurrence: 0 + testSet: 922 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: >::from + mutator: cond.negate + normalizedText: held + occurrence: 0 + testSet: 922 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: cond.always_false + normalizedText: '!self.enforced' + occurrence: 0 + testSet: 923 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: cond.always_false + normalizedText: name == "test" && self.is_test_build() + occurrence: 0 + testSet: 924 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: cond.always_false + normalizedText: self.undecided.contains(&key) + occurrence: 0 + testSet: 925 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: cond.always_false + normalizedText: self.undecided.contains(&name) + occurrence: 0 + testSet: 926 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: cond.always_true + normalizedText: '!self.enforced' + occurrence: 0 + testSet: 923 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: cond.always_true + normalizedText: name == "test" && self.is_test_build() + occurrence: 0 + testSet: 924 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: cond.always_true + normalizedText: self.undecided.contains(&key) + occurrence: 0 + testSet: 925 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: cond.always_true + normalizedText: self.undecided.contains(&name) + occurrence: 0 + testSet: 926 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: cond.negate + normalizedText: '!self.enforced' + occurrence: 0 + testSet: 923 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: cond.negate + normalizedText: name == "test" && self.is_test_build() + occurrence: 0 + testSet: 924 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: cond.negate + normalizedText: self.undecided.contains(&key) + occurrence: 0 + testSet: 925 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: cond.negate + normalizedText: self.undecided.contains(&name) + occurrence: 0 + testSet: 926 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: literal.str_to_empty + normalizedText: '"test"' + occurrence: 0 + testSet: 924 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: literal.str_to_xyzzy + normalizedText: '"test"' + occurrence: 0 + testSet: 924 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: logical.and_to_or + normalizedText: name == "test" && self.is_test_build() + occurrence: 0 + testSet: 924 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: relational.eq_to_ne + normalizedText: name == "test" + occurrence: 0 + testSet: 924 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide + mutator: unary.remove_not + normalizedText: '!self.enforced' + occurrence: 0 + testSet: 923 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_list + mutator: cond.always_false + normalizedText: '!matches!(name.as_str(), "all" | "any" | "not")' + occurrence: 0 + testSet: 927 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_list + mutator: cond.always_true + normalizedText: '!matches!(name.as_str(), "all" | "any" | "not")' + occurrence: 0 + testSet: 927 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_list + mutator: cond.negate + normalizedText: '!matches!(name.as_str(), "all" | "any" | "not")' + occurrence: 0 + testSet: 927 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_list + mutator: match_arm.never_matches + normalizedText: '"all"' + occurrence: 0 + testSet: 928 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_list + mutator: match_arm.never_matches + normalizedText: '"any"' + occurrence: 0 + testSet: 929 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_list + mutator: match_guard.always_false + normalizedText: inner.len() == 1 + occurrence: 0 + testSet: 930 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_list + mutator: match_guard.always_true + normalizedText: inner.len() == 1 + occurrence: 0 + testSet: 930 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_list + mutator: match_guard.negate + normalizedText: inner.len() == 1 + occurrence: 0 + testSet: 930 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_list + mutator: unary.remove_not + normalizedText: '!matches!(name.as_str(), "all" | "any" | "not")' + occurrence: 0 + testSet: 927 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_str + mutator: cond.always_false + normalizedText: crate::parse::exceeds_nesting_limit(predicate) + occurrence: 0 + testSet: 931 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_str + mutator: cond.always_true + normalizedText: crate::parse::exceeds_nesting_limit(predicate) + occurrence: 0 + testSet: 931 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::decide_str + mutator: cond.negate + normalizedText: crate::parse::exceeds_nesting_limit(predicate) + occurrence: 0 + testSet: 931 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::effective + mutator: cond.always_false + normalizedText: self.verdict(&condition) == Verdict::Yes + occurrence: 0 + testSet: 932 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::effective + mutator: cond.always_true + normalizedText: self.verdict(&condition) == Verdict::Yes + occurrence: 0 + testSet: 932 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::effective + mutator: cond.negate + normalizedText: self.verdict(&condition) == Verdict::Yes + occurrence: 0 + testSet: 932 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::effective + mutator: expr.decrement + normalizedText: at + occurrence: 0 + testSet: 933 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::effective + mutator: expr.decrement + normalizedText: at + occurrence: 1 + testSet: 932 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::effective + mutator: expr.decrement + normalizedText: at + occurrence: 2 + testSet: 934 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::effective + mutator: expr.increment + normalizedText: at + occurrence: 0 + testSet: 933 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::effective + mutator: expr.increment + normalizedText: at + occurrence: 1 + testSet: 932 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::effective + mutator: expr.increment + normalizedText: at + occurrence: 2 + testSet: 934 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::effective + mutator: relational.eq_to_ne + normalizedText: self.verdict(&condition) == Verdict::Yes + occurrence: 0 + testSet: 932 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::effective + mutator: stmt.delete_call + normalizedText: effective.insert(at, attribute); + occurrence: 0 + testSet: 934 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds + mutator: fn_value.bool_false + normalizedText: '{ !matches!(self.verdict(meta), Verdict::No) }' + occurrence: 0 + testSet: 935 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds + mutator: fn_value.bool_true + normalizedText: '{ !matches!(self.verdict(meta), Verdict::No) }' + occurrence: 0 + testSet: 935 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds + mutator: unary.remove_not + normalizedText: '!matches!(self.verdict(meta), Verdict::No)' + occurrence: 0 + testSet: 935 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds_effective + mutator: iter.all_to_any + normalizedText: effective.iter().all(|attribute| { cfg_predicate(attribute).is_none_or(|predicate| !is_test_only(&predicate) + && self.holds(&predicate)) }) + occurrence: 0 + testSet: 936 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds_effective + mutator: logical.and_to_or + normalizedText: '!is_test_only(&predicate) && self.holds(&predicate)' + occurrence: 0 + testSet: 937 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds_effective + mutator: unary.remove_not + normalizedText: '!is_test_only(&predicate)' + occurrence: 0 + testSet: 937 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds_str + mutator: cond.always_false + normalizedText: crate::parse::exceeds_nesting_limit(predicate) + occurrence: 0 + testSet: 938 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds_str + mutator: cond.always_true + normalizedText: crate::parse::exceeds_nesting_limit(predicate) + occurrence: 0 + testSet: 938 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds_str + mutator: cond.negate + normalizedText: crate::parse::exceeds_nesting_limit(predicate) + occurrence: 0 + testSet: 938 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds_str + mutator: fn_value.bool_false + normalizedText: '{ if crate::parse::exceeds_nesting_limit(predicate) { return true; } syn::parse_str::(predicate).map_or(true, + |meta| self.holds(&meta)) }' + occurrence: 0 + testSet: 938 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds_str + mutator: fn_value.bool_true + normalizedText: '{ if crate::parse::exceeds_nesting_limit(predicate) { return true; } syn::parse_str::(predicate).map_or(true, + |meta| self.holds(&meta)) }' + occurrence: 0 + testSet: 938 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds_str + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 939 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::holds_str + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 940 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::is_test_build + mutator: fn_value.bool_false + normalizedText: '{ self.names.contains("test") }' + occurrence: 0 + testSet: 923 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::is_test_build + mutator: fn_value.bool_true + normalizedText: '{ self.names.contains("test") }' + occurrence: 0 + testSet: 923 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::is_test_build + mutator: literal.str_to_empty + normalizedText: '"test"' + occurrence: 0 + testSet: 923 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::is_test_build + mutator: literal.str_to_xyzzy + normalizedText: '"test"' + occurrence: 0 + testSet: 923 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: cond.always_false + normalizedText: '!key.is_empty() && !quoted.is_empty()' + occurrence: 0 + testSet: 941 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: cond.always_false + normalizedText: line.is_empty() + occurrence: 0 + testSet: 942 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: cond.always_true + normalizedText: '!key.is_empty() && !quoted.is_empty()' + occurrence: 0 + testSet: 941 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: cond.always_true + normalizedText: line.is_empty() + occurrence: 0 + testSet: 942 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: cond.negate + normalizedText: '!key.is_empty() && !quoted.is_empty()' + occurrence: 0 + testSet: 941 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: cond.negate + normalizedText: line.is_empty() + occurrence: 0 + testSet: 942 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: fn_value.default + normalizedText: '{ let mut set = Self { enforced: true, ..Self::default() }; for line in printed.lines() { let line + = line.trim(); if line.is_empty() { continue; } if let Some((key, value)) = line.split_once(''='') { let key = key.trim(); + let quoted = value.trim(); if !key.is_empty() && !quoted.is_empty() { let _added = set.pairs.insert((key.to_owned(), + quoted.trim_matches(''"'').to_owned())); } } else { let _added = set.names.insert(line.to_owned()); } } set }' + occurrence: 0 + testSet: 942 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 942 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: logical.and_to_or + normalizedText: '!key.is_empty() && !quoted.is_empty()' + occurrence: 0 + testSet: 941 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 943 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 943 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: struct_field.omit + normalizedText: 'Self { enforced: true, ..Self::default() }' + occurrence: 0 + testSet: 942 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: unary.remove_not + normalizedText: '!key.is_empty()' + occurrence: 0 + testSet: 941 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::parse + mutator: unary.remove_not + normalizedText: '!quoted.is_empty()' + occurrence: 0 + testSet: 941 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::test_gated + mutator: fn_value.bool_false + normalizedText: '{ self.test_gated_effective(attrs, &self.effective(attrs)) }' + occurrence: 0 + testSet: 944 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::test_gated + mutator: fn_value.bool_true + normalizedText: '{ self.test_gated_effective(attrs, &self.effective(attrs)) }' + occurrence: 0 + testSet: 944 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::test_gated_effective + mutator: iter.any_to_all + normalizedText: nested.iter().any(|attribute| { cfg_predicate(attribute).is_some_and(|predicate| is_test_only(&predicate)) + || is_test_attribute(attribute) }) + occurrence: 0 + testSet: 945 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::test_gated_effective + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 946 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::test_gated_effective + mutator: logical.and_to_or + normalizedText: self.decide(&condition, true) == Verdict::Yes && nested.iter().any(|attribute| { cfg_predicate(attribute).is_some_and(|predicate| + is_test_only(&predicate)) || is_test_attribute(attribute) }) + occurrence: 0 + testSet: 946 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::test_gated_effective + mutator: logical.or_to_and + normalizedText: cfg_predicate(attribute).is_some_and(|predicate| is_test_only(&predicate)) || is_test_attribute(attribute) + occurrence: 0 + testSet: 947 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::test_gated_effective + mutator: logical.or_to_and + normalizedText: cfg_predicate(attribute).is_some_and(|predicate| is_test_only(&predicate)) || is_test_attribute(attribute) + occurrence: 1 + testSet: 945 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::test_gated_effective + mutator: relational.eq_to_ne + normalizedText: self.decide(&condition, true) == Verdict::Yes + occurrence: 0 + testSet: 946 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::verdict + mutator: cond.always_false + normalizedText: unit_test == library + occurrence: 0 + testSet: 948 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::verdict + mutator: cond.always_true + normalizedText: '!self.is_test_build()' + occurrence: 0 + testSet: 923 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::verdict + mutator: cond.always_true + normalizedText: unit_test == library + occurrence: 0 + testSet: 948 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::verdict + mutator: cond.negate + normalizedText: '!self.is_test_build()' + occurrence: 0 + testSet: 923 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::verdict + mutator: cond.negate + normalizedText: unit_test == library + occurrence: 0 + testSet: 948 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::verdict + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 948 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::verdict + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 948 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::verdict + mutator: relational.eq_to_ne + normalizedText: unit_test == library + occurrence: 0 + testSet: 948 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::verdict + mutator: unary.remove_not + normalizedText: '!self.is_test_build()' + occurrence: 0 + testSet: 923 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::with_features + mutator: fn_value.default + normalizedText: '{ for feature in features { let _added = self.pairs.insert(("feature".to_owned(), feature)); } self + }' + occurrence: 0 + testSet: 949 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::with_features + mutator: literal.str_to_empty + normalizedText: '"feature"' + occurrence: 0 + testSet: 949 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::with_features + mutator: literal.str_to_xyzzy + normalizedText: '"feature"' + occurrence: 0 + testSet: 949 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::with_test + mutator: fn_value.default + normalizedText: '{ let _added = self.names.insert("test".to_owned()); self }' + occurrence: 0 + testSet: 948 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::with_test + mutator: literal.str_to_empty + normalizedText: '"test"' + occurrence: 0 + testSet: 948 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::with_test + mutator: literal.str_to_xyzzy + normalizedText: '"test"' + occurrence: 0 + testSet: 948 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: CfgSet::with_undecided + mutator: fn_value.default + normalizedText: '{ for name in names { let _added = self.undecided.insert(name); } self }' + occurrence: 0 + testSet: 950 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_attr + mutator: cond.always_false + normalizedText: '!attribute.path().is_ident("cfg_attr")' + occurrence: 0 + testSet: 951 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_attr + mutator: cond.always_true + normalizedText: '!attribute.path().is_ident("cfg_attr")' + occurrence: 0 + testSet: 951 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_attr + mutator: cond.negate + normalizedText: '!attribute.path().is_ident("cfg_attr")' + occurrence: 0 + testSet: 951 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_attr + mutator: fn_value.none + normalizedText: '{ let Meta::List(list) = attribute else { return None; }; if !attribute.path().is_ident("cfg_attr") + { return None; } let parser = Punctuated::::parse_terminated; let mut arguments = list.parse_args_with(parser).ok()?.into_iter(); + let condition = arguments.next()?; let nested: Vec<_> = arguments.collect(); (!nested.is_empty()).then_some((condition, + nested)) }' + occurrence: 0 + testSet: 933 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_attr + mutator: literal.str_to_empty + normalizedText: '"cfg_attr"' + occurrence: 0 + testSet: 951 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_attr + mutator: literal.str_to_xyzzy + normalizedText: '"cfg_attr"' + occurrence: 0 + testSet: 951 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_attr + mutator: unary.remove_not + normalizedText: '!attribute.path().is_ident("cfg_attr")' + occurrence: 0 + testSet: 951 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_attr + mutator: unary.remove_not + normalizedText: '!nested.is_empty()' + occurrence: 0 + testSet: 932 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_predicate + mutator: cond.always_false + normalizedText: '!attribute.path().is_ident("cfg")' + occurrence: 0 + testSet: 952 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_predicate + mutator: cond.always_true + normalizedText: '!attribute.path().is_ident("cfg")' + occurrence: 0 + testSet: 952 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_predicate + mutator: cond.negate + normalizedText: '!attribute.path().is_ident("cfg")' + occurrence: 0 + testSet: 952 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_predicate + mutator: fn_value.none + normalizedText: '{ let Meta::List(list) = attribute else { return None; }; if !attribute.path().is_ident("cfg") { return + None; } list.parse_args::().ok() }' + occurrence: 0 + testSet: 953 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_predicate + mutator: literal.str_to_empty + normalizedText: '"cfg"' + occurrence: 0 + testSet: 952 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_predicate + mutator: literal.str_to_xyzzy + normalizedText: '"cfg"' + occurrence: 0 + testSet: 952 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: cfg_predicate + mutator: unary.remove_not + normalizedText: '!attribute.path().is_ident("cfg")' + occurrence: 0 + testSet: 952 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: combine + mutator: assign.or_to_and + normalizedText: unknown |= answer == Verdict::Unknown + occurrence: 0 + testSet: 954 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: combine + mutator: cond.always_false + normalizedText: answer == settles + occurrence: 0 + testSet: 954 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: combine + mutator: cond.always_false + normalizedText: unknown + occurrence: 0 + testSet: 955 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: combine + mutator: cond.always_true + normalizedText: answer == settles + occurrence: 0 + testSet: 954 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: combine + mutator: cond.always_true + normalizedText: unknown + occurrence: 0 + testSet: 955 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: combine + mutator: cond.negate + normalizedText: answer == settles + occurrence: 0 + testSet: 954 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: combine + mutator: cond.negate + normalizedText: unknown + occurrence: 0 + testSet: 955 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: combine + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 955 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: combine + mutator: relational.eq_to_ne + normalizedText: answer == Verdict::Unknown + occurrence: 0 + testSet: 954 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: combine + mutator: relational.eq_to_ne + normalizedText: answer == settles + occurrence: 0 + testSet: 954 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: combine + mutator: stmt.delete_assign + normalizedText: unknown |= answer == Verdict::Unknown; + occurrence: 0 + testSet: 954 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_attribute + mutator: fn_value.bool_false + normalizedText: '{ attribute.path().segments.last().is_some_and(|segment| segment.ident == "test") }' + occurrence: 0 + testSet: 956 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_attribute + mutator: fn_value.bool_true + normalizedText: '{ attribute.path().segments.last().is_some_and(|segment| segment.ident == "test") }' + occurrence: 0 + testSet: 956 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_attribute + mutator: iter.last_to_first + normalizedText: attribute.path().segments.last() + occurrence: 0 + testSet: 956 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_attribute + mutator: literal.str_to_empty + normalizedText: '"test"' + occurrence: 0 + testSet: 956 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_attribute + mutator: literal.str_to_xyzzy + normalizedText: '"test"' + occurrence: 0 + testSet: 956 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_attribute + mutator: relational.eq_to_ne + normalizedText: segment.ident == "test" + occurrence: 0 + testSet: 956 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_only + mutator: fn_value.bool_false + normalizedText: '{ match meta { Meta::Path(path) => path.is_ident("test"), Meta::List(list) if list.path.is_ident("all") + => { let parser = Punctuated::::parse_terminated; list.parse_args_with(parser).is_ok_and(|inner| + inner.iter().any(is_test_only)) } _ => false, } }' + occurrence: 0 + testSet: 957 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_only + mutator: fn_value.bool_true + normalizedText: '{ match meta { Meta::Path(path) => path.is_ident("test"), Meta::List(list) if list.path.is_ident("all") + => { let parser = Punctuated::::parse_terminated; list.parse_args_with(parser).is_ok_and(|inner| + inner.iter().any(is_test_only)) } _ => false, } }' + occurrence: 0 + testSet: 957 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_only + mutator: iter.any_to_all + normalizedText: inner.iter().any(is_test_only) + occurrence: 0 + testSet: 958 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_only + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 959 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_only + mutator: literal.str_to_empty + normalizedText: '"test"' + occurrence: 0 + testSet: 960 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_only + mutator: literal.str_to_xyzzy + normalizedText: '"test"' + occurrence: 0 + testSet: 960 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_only + mutator: match_arm.never_matches + normalizedText: Meta::Path(path) + occurrence: 0 + testSet: 960 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_only + mutator: match_guard.always_false + normalizedText: list.path.is_ident("all") + occurrence: 0 + testSet: 961 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_only + mutator: match_guard.always_true + normalizedText: list.path.is_ident("all") + occurrence: 0 + testSet: 961 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: is_test_only + mutator: match_guard.negate + normalizedText: list.path.is_ident("all") + occurrence: 0 + testSet: 961 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: test_gated_for + mutator: fn_value.bool_false + normalizedText: '{ cfg.effective(attrs) .iter() .any(|attribute| cfg_predicate(attribute).is_some_and(|predicate| is_test_only(&predicate))) + }' + occurrence: 0 + testSet: 962 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: test_gated_for + mutator: fn_value.bool_true + normalizedText: '{ cfg.effective(attrs) .iter() .any(|attribute| cfg_predicate(attribute).is_some_and(|predicate| is_test_only(&predicate))) + }' + occurrence: 0 + testSet: 962 + - site: + file: crates/cargo-gamma-engine/src/cfg.rs + item: test_gated_for + mutator: iter.any_to_all + normalizedText: cfg.effective(attrs) .iter() .any(|attribute| cfg_predicate(attribute).is_some_and(|predicate| is_test_only(&predicate))) + occurrence: 0 + testSet: 962 + - site: + file: crates/cargo-gamma-engine/src/error.rs + item: ::fmt + mutator: fn_value.ok + normalizedText: '{ write!(formatter, "{}", self.message)?; if let Some(cause) = &self.cause { write!(formatter, ": {cause}")?; + } Ok(()) }' + occurrence: 0 + testSet: 963 + - site: + file: crates/cargo-gamma-engine/src/error.rs + item: ::fmt + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 963 + - site: + file: crates/cargo-gamma-engine/src/error.rs + item: Error::caused_by + mutator: assign_value.default + normalizedText: Some(Box::new(cause)) + occurrence: 0 + testSet: 964 + - site: + file: crates/cargo-gamma-engine/src/error.rs + item: Error::caused_by + mutator: option.some_to_none + normalizedText: Some(Box::new(cause)) + occurrence: 0 + testSet: 964 + - site: + file: crates/cargo-gamma-engine/src/error.rs + item: Error::caused_by + mutator: stmt.delete_assign + normalizedText: self.cause = Some(Box::new(cause)); + occurrence: 0 + testSet: 964 + - site: + file: crates/cargo-gamma-engine/src/error.rs + item: Error::new + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 965 + - site: + file: crates/cargo-gamma-engine/src/error.rs + item: Error::new + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 965 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: <&str as PartialEq>::eq + mutator: fn_value.bool_false + normalizedText: '{ *self == other.0.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: <&str as PartialEq>::eq + mutator: fn_value.bool_true + normalizedText: '{ *self == other.0.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: <&str as PartialEq>::eq + mutator: relational.eq_to_ne + normalizedText: '*self == other.0.as_str()' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::from + mutator: fn_value.default + normalizedText: '{ value.0 }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::as_ref + mutator: fn_value.empty_string + normalizedText: '{ self.0.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::as_ref + mutator: fn_value.xyzzy_string + normalizedText: '{ self.0.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::borrow + mutator: fn_value.empty_string + normalizedText: '{ self.0.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::borrow + mutator: fn_value.xyzzy_string + normalizedText: '{ self.0.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: ::fmt + mutator: fn_value.ok + normalizedText: '{ Display::fmt(&self.0, formatter) }' + occurrence: 0 + testSet: 967 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::from + mutator: fn_value.default + normalizedText: '{ Self(value.into()) }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::from + mutator: fn_value.default + normalizedText: '{ Self(value) }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::from + mutator: fn_value.default + normalizedText: '{ Self(value.into()) }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: fn_value.bool_false + normalizedText: '{ self.0.as_str() == *other }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: fn_value.bool_true + normalizedText: '{ self.0.as_str() == *other }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: relational.eq_to_ne + normalizedText: self.0.as_str() == *other + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: fn_value.bool_false + normalizedText: '{ self.0.as_str() == other.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: fn_value.bool_true + normalizedText: '{ self.0.as_str() == other.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: relational.eq_to_ne + normalizedText: self.0.as_str() == other.as_str() + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: fn_value.bool_false + normalizedText: '{ self.0.as_str() == other }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: fn_value.bool_true + normalizedText: '{ self.0.as_str() == other }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: relational.eq_to_ne + normalizedText: self.0.as_str() == other + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: fn_value.bool_false + normalizedText: '{ self.as_str() == other.0.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: fn_value.bool_true + normalizedText: '{ self.as_str() == other.0.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: relational.eq_to_ne + normalizedText: self.as_str() == other.0.as_str() + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: fn_value.bool_false + normalizedText: '{ self == other.0.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: fn_value.bool_true + normalizedText: '{ self == other.0.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: >::eq + mutator: relational.eq_to_ne + normalizedText: self == other.0.as_str() + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: MutantId::as_str + mutator: fn_value.empty_string + normalizedText: '{ self.0.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: MutantId::as_str + mutator: fn_value.xyzzy_string + normalizedText: '{ self.0.as_str() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: MutantId::is_heap_allocated + mutator: fn_value.bool_false + normalizedText: '{ self.0.is_heap_allocated() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: MutantId::is_heap_allocated + mutator: fn_value.bool_true + normalizedText: '{ self.0.is_heap_allocated() }' + occurrence: 0 + testSet: 966 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: MutantId::new + mutator: fn_value.default + normalizedText: '{ Self(CompactString::new(text)) }' + occurrence: 0 + testSet: 968 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id + mutator: fn_value.default + normalizedText: '{ mutant_id_with_discriminator(file, item_path, mutator, normalized_site_text, site, None) }' + occurrence: 0 + testSet: 969 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 969 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: bitwise.and_to_or + normalizedText: byte & 0x0f + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: bitwise.and_to_xor + normalizedText: byte & 0x0f + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: expr.decrement + normalizedText: MUTANT_ID_BYTES + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: expr.decrement + normalizedText: usize::from(byte & 0x0f) + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: expr.decrement + normalizedText: usize::from(byte >> 4) + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: expr.increment + normalizedText: MUTANT_ID_BYTES + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: expr.increment + normalizedText: usize::from(byte & 0x0f) + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: expr.increment + normalizedText: usize::from(byte >> 4) + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: fn_value.default + normalizedText: '{ let mut hasher = Hasher::new(); for field in [file.as_str(), item_path, mutator, normalized_site_text] + { let _ = hasher.update(&(field.len() as u64).to_le_bytes()); let _ = hasher.update(field.as_bytes()); } let _ = hasher.update(&site.occurrence().to_le_bytes()); + let _ = hasher.update(&site.replacement_index().to_le_bytes()); if let Some(discriminator) = discriminator { let _ + = hasher.update(&(discriminator.len() as u64).to_le_bytes()); let _ = hasher.update(discriminator.as_bytes()); } let + digest = hasher.finalize(); let bytes = digest.as_bytes(); let mut out = CompactString::with_capacity(MUTANT_ID_HEX_LEN); + for byte in bytes.iter().take(MUTANT_ID_BYTES) { out.push(HEX[usize::from(byte >> 4)]); out.push(HEX[usize::from(byte + & 0x0f)]); } MutantId(out) }' + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: literal.int_decrement + normalizedText: '0x0f' + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: literal.int_decrement + normalizedText: '4' + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: literal.int_increment + normalizedText: '0x0f' + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: literal.int_increment + normalizedText: '4' + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: literal.int_to_one + normalizedText: '0x0f' + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: literal.int_to_one + normalizedText: '4' + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: literal.int_to_zero + normalizedText: '0x0f' + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: literal.int_to_zero + normalizedText: '4' + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: shift.shr_to_shl + normalizedText: byte >> 4 + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: stmt.delete_call + normalizedText: out.push(HEX[usize::from(byte & 0x0f)]); + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: mutant_id_with_discriminator + mutator: stmt.delete_call + normalizedText: out.push(HEX[usize::from(byte >> 4)]); + occurrence: 0 + testSet: 970 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: assign.add_to_sub + normalizedText: offset += character.len_utf8() + occurrence: 0 + testSet: 971 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: assign_value.default + normalizedText: '!out.is_empty()' + occurrence: 0 + testSet: 972 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: assign_value.default + normalizedText: '!out.is_empty()' + occurrence: 1 + testSet: 973 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: assign_value.default + normalizedText: comment.end + occurrence: 0 + testSet: 972 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: assign_value.default + normalizedText: end + occurrence: 0 + testSet: 974 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: assign_value.default + normalizedText: 'false' + occurrence: 1 + testSet: 971 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: cond.always_false + normalizedText: character.is_whitespace() + occurrence: 0 + testSet: 971 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: cond.always_false + normalizedText: pending_space + occurrence: 0 + testSet: 974 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: cond.always_false + normalizedText: pending_space + occurrence: 1 + testSet: 971 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: cond.always_true + normalizedText: character.is_whitespace() + occurrence: 0 + testSet: 971 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: cond.always_true + normalizedText: pending_space + occurrence: 0 + testSet: 974 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: cond.always_true + normalizedText: pending_space + occurrence: 1 + testSet: 971 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: cond.negate + normalizedText: character.is_whitespace() + occurrence: 0 + testSet: 971 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: cond.negate + normalizedText: offset < text.len() + occurrence: 0 + testSet: 975 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: cond.negate + normalizedText: pending_space + occurrence: 0 + testSet: 974 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: cond.negate + normalizedText: pending_space + occurrence: 1 + testSet: 971 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: fn_value.default + normalizedText: '{ let mut out = CompactString::with_capacity(text.len()); let comments = crate::parse::comment_spans(text); + let mut comments = comments.iter().peekable(); let mut offset = 0; let mut pending_space = false; while offset < text.len() + { if let Some(comment) = comments.peek() && comment.start == offset { offset = comment.end; let _ = comments.next(); + pending_space = !out.is_empty(); continue; } if let Some(end) = crate::parse::literal_end(text, offset) { if pending_space + { out.push('' ''); pending_space = false; } let literal = text .get(offset..end) .expect("literal_end returns an in-bounds + UTF-8 boundary in this same text"); out.push_str(literal); offset = end; continue; } let character = text .get(offset..) + .and_then(|rest| rest.chars().next()) .expect("the loop keeps the UTF-8 boundary below the text length"); offset += + character.len_utf8(); if character.is_whitespace() { pending_space = !out.is_empty(); continue; } if pending_space + { out.push('' ''); pending_space = false; } out.push(character); } out }' + occurrence: 0 + testSet: 975 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 975 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 976 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 971 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 975 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 972 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 974 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 2 + testSet: 973 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 972 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 974 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 2 + testSet: 973 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: range.exclusive_to_inclusive + normalizedText: offset..end + occurrence: 0 + testSet: 974 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: relational.eq_to_ne + normalizedText: comment.start == offset + occurrence: 0 + testSet: 972 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: relational.lt_to_gt + normalizedText: offset < text.len() + occurrence: 0 + testSet: 975 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: relational.lt_to_le + normalizedText: offset < text.len() + occurrence: 0 + testSet: 975 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: stmt.delete_assign + normalizedText: offset += character.len_utf8(); + occurrence: 0 + testSet: 971 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: stmt.delete_assign + normalizedText: offset = comment.end; + occurrence: 0 + testSet: 972 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: stmt.delete_assign + normalizedText: offset = end; + occurrence: 0 + testSet: 974 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: stmt.delete_assign + normalizedText: pending_space = !out.is_empty(); + occurrence: 0 + testSet: 972 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: stmt.delete_assign + normalizedText: pending_space = !out.is_empty(); + occurrence: 1 + testSet: 973 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: stmt.delete_assign + normalizedText: pending_space = false; + occurrence: 0 + testSet: 976 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: stmt.delete_assign + normalizedText: pending_space = false; + occurrence: 1 + testSet: 971 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: stmt.delete_call + normalizedText: out.push(' '); + occurrence: 0 + testSet: 976 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: stmt.delete_call + normalizedText: out.push(' '); + occurrence: 1 + testSet: 971 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: stmt.delete_call + normalizedText: out.push(character); + occurrence: 0 + testSet: 971 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: stmt.delete_call + normalizedText: out.push_str(literal); + occurrence: 0 + testSet: 974 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: unary.remove_not + normalizedText: '!out.is_empty()' + occurrence: 0 + testSet: 972 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: normalize_site_text + mutator: unary.remove_not + normalizedText: '!out.is_empty()' + occurrence: 1 + testSet: 973 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: site_key + mutator: expr.decrement + normalizedText: u128::from_le_bytes(*key) + occurrence: 0 + testSet: 977 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: site_key + mutator: expr.increment + normalizedText: u128::from_le_bytes(*key) + occurrence: 0 + testSet: 977 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: site_key + mutator: fn_value.one + normalizedText: '{ let mut hasher = Hasher::new(); for field in [item_path, mutator, normalized_site_text] { let _ = + hasher.update(&(field.len() as u64).to_le_bytes()); let _ = hasher.update(field.as_bytes()); } let digest = hasher.finalize(); + let key = digest .as_bytes() .first_chunk::<16>() .expect("a BLAKE3 digest is always 32 bytes, so its first 16 bytes + always exist"); u128::from_le_bytes(*key) }' + occurrence: 0 + testSet: 977 + - site: + file: crates/cargo-gamma-engine/src/model/identity.rs + item: site_key + mutator: fn_value.zero + normalizedText: '{ let mut hasher = Hasher::new(); for field in [item_path, mutator, normalized_site_text] { let _ = + hasher.update(&(field.len() as u64).to_le_bytes()); let _ = hasher.update(field.as_bytes()); } let digest = hasher.finalize(); + let key = digest .as_bytes() .first_chunk::<16>() .expect("a BLAKE3 digest is always 32 bytes, so its first 16 bytes + always exist"); u128::from_le_bytes(*key) }' + occurrence: 0 + testSet: 977 + - site: + file: crates/cargo-gamma-engine/src/model/interner.rs + item: Interner::share + mutator: assign_value.default + normalizedText: Some(self.text(trait_impl)) + occurrence: 0 + testSet: 978 + - site: + file: crates/cargo-gamma-engine/src/model/interner.rs + item: Interner::share + mutator: assign_value.default + normalizedText: self.text(&mutation.item_path) + occurrence: 0 + testSet: 978 + - site: + file: crates/cargo-gamma-engine/src/model/interner.rs + item: Interner::share + mutator: assign_value.default + normalizedText: self.text(&mutation.mutator) + occurrence: 0 + testSet: 978 + - site: + file: crates/cargo-gamma-engine/src/model/interner.rs + item: Interner::share + mutator: fn_value.unit + normalizedText: '{ for mutation in mutations { mutation.file = self.path(&mutation.file); mutation.mutator = self.text(&mutation.mutator); + mutation.item_path = self.text(&mutation.item_path); if let Some(trait_impl) = mutation.trait_impl.as_deref() { mutation.trait_impl + = Some(self.text(trait_impl)); } } }' + occurrence: 0 + testSet: 978 + - site: + file: crates/cargo-gamma-engine/src/model/interner.rs + item: Interner::share + mutator: option.some_to_none + normalizedText: Some(self.text(trait_impl)) + occurrence: 0 + testSet: 978 + - site: + file: crates/cargo-gamma-engine/src/model/interner.rs + item: Interner::share + mutator: stmt.delete_assign + normalizedText: mutation.file = self.path(&mutation.file); + occurrence: 0 + testSet: 978 + - site: + file: crates/cargo-gamma-engine/src/model/interner.rs + item: Interner::share + mutator: stmt.delete_assign + normalizedText: mutation.item_path = self.text(&mutation.item_path); + occurrence: 0 + testSet: 978 + - site: + file: crates/cargo-gamma-engine/src/model/interner.rs + item: Interner::share + mutator: stmt.delete_assign + normalizedText: mutation.mutator = self.text(&mutation.mutator); + occurrence: 0 + testSet: 978 + - site: + file: crates/cargo-gamma-engine/src/model/interner.rs + item: Interner::share + mutator: stmt.delete_assign + normalizedText: mutation.trait_impl = Some(self.text(trait_impl)); + occurrence: 0 + testSet: 978 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::column + mutator: expr.decrement + normalizedText: self.site.column + occurrence: 0 + testSet: 979 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::column + mutator: expr.increment + normalizedText: self.site.column + occurrence: 0 + testSet: 979 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::column + mutator: fn_value.one + normalizedText: '{ self.site.column }' + occurrence: 0 + testSet: 979 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::column + mutator: fn_value.zero + normalizedText: '{ self.site.column }' + occurrence: 0 + testSet: 979 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::end_line + mutator: expr.decrement + normalizedText: self.site.end_line + occurrence: 0 + testSet: 979 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::end_line + mutator: expr.increment + normalizedText: self.site.end_line + occurrence: 0 + testSet: 979 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::end_line + mutator: fn_value.one + normalizedText: '{ self.site.end_line }' + occurrence: 0 + testSet: 979 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::end_line + mutator: fn_value.zero + normalizedText: '{ self.site.end_line }' + occurrence: 0 + testSet: 979 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::line + mutator: expr.decrement + normalizedText: self.site.line + occurrence: 0 + testSet: 979 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::line + mutator: expr.increment + normalizedText: self.site.line + occurrence: 0 + testSet: 979 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::line + mutator: fn_value.one + normalizedText: '{ self.site.line }' + occurrence: 0 + testSet: 979 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::line + mutator: fn_value.zero + normalizedText: '{ self.site.line }' + occurrence: 0 + testSet: 979 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::original + mutator: fn_value.default + normalizedText: '{ &self.site.original }' + occurrence: 0 + testSet: 979 + - site: + file: crates/cargo-gamma-engine/src/model/mutant_definition.rs + item: MutantDefinition::span + mutator: fn_value.default + normalizedText: '{ &self.site.span }' + occurrence: 0 + testSet: 980 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.always_false + normalizedText: is_int_literal(&node.left) + occurrence: 0 + testSet: 981 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.always_false + normalizedText: is_int_literal(&node.right) + occurrence: 0 + testSet: 981 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.always_false + normalizedText: self.numeric + occurrence: 0 + testSet: 982 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.always_true + normalizedText: is_int_literal(&node.left) + occurrence: 0 + testSet: 981 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.always_true + normalizedText: is_int_literal(&node.right) + occurrence: 0 + testSet: 981 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.always_true + normalizedText: self.numeric + occurrence: 0 + testSet: 982 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.negate + normalizedText: is_int_literal(&node.left) + occurrence: 0 + testSet: 981 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.negate + normalizedText: is_int_literal(&node.right) + occurrence: 0 + testSet: 981 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.negate + normalizedText: self.numeric + occurrence: 0 + testSet: 982 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: fn_value.unit + normalizedText: '{ if self.numeric { match node.op { BinOp::Sub(_) | BinOp::Mul(_) | BinOp::Div(_) | BinOp::Rem(_) | + BinOp::SubAssign(_) | BinOp::MulAssign(_) | BinOp::DivAssign(_) | BinOp::RemAssign(_) => { self.note(&node.left); + self.note(&node.right); } BinOp::Add(_) | BinOp::AddAssign(_) | BinOp::Lt(_) | BinOp::Gt(_) | BinOp::Le(_) | BinOp::Ge(_) + => { if is_int_literal(&node.right) { self.note(&node.left); } if is_int_literal(&node.left) { self.note(&node.right); + } } _ => {} } } visit::visit_expr_binary(self, node); }' + occurrence: 0 + testSet: 982 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: match_arm.never_matches + normalizedText: BinOp::Add(_) | BinOp::AddAssign(_) | BinOp::Lt(_) | BinOp::Gt(_) | BinOp::Le(_) | BinOp::Ge(_) + occurrence: 0 + testSet: 981 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: match_arm.never_matches + normalizedText: BinOp::Sub(_) | BinOp::Mul(_) | BinOp::Div(_) | BinOp::Rem(_) | BinOp::SubAssign(_) | BinOp::MulAssign(_) + | BinOp::DivAssign(_) | BinOp::RemAssign(_) + occurrence: 0 + testSet: 983 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: stmt.delete_call + normalizedText: self.note(&node.left); + occurrence: 0 + testSet: 983 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: stmt.delete_call + normalizedText: self.note(&node.left); + occurrence: 1 + testSet: 984 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: stmt.delete_call + normalizedText: self.note(&node.right); + occurrence: 0 + testSet: 983 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: stmt.delete_call + normalizedText: self.note(&node.right); + occurrence: 1 + testSet: 985 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: stmt.delete_call + normalizedText: visit::visit_expr_binary(self, node); + occurrence: 0 + testSet: 982 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_for_loop + mutator: fn_value.unit + normalizedText: '{ if self.numeric && matches!(&*node.expr, Expr::Range(_)) && let Pat::Ident(ident) = &*node.pat { + let _added = self.indexes.numeric_uses.names.insert(ident.ident.to_string()); } visit::visit_expr_for_loop(self, node); + }' + occurrence: 0 + testSet: 986 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_for_loop + mutator: logical.and_to_or + normalizedText: self.numeric && matches!(&*node.expr, Expr::Range(_)) + occurrence: 0 + testSet: 986 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_for_loop + mutator: stmt.delete_call + normalizedText: visit::visit_expr_for_loop(self, node); + occurrence: 0 + testSet: 986 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_index + mutator: cond.always_false + normalizedText: self.numeric + occurrence: 0 + testSet: 987 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_index + mutator: cond.always_true + normalizedText: self.numeric + occurrence: 0 + testSet: 987 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_index + mutator: cond.negate + normalizedText: self.numeric + occurrence: 0 + testSet: 987 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_index + mutator: fn_value.unit + normalizedText: '{ if self.numeric { self.note(&node.index); } visit::visit_expr_index(self, node); }' + occurrence: 0 + testSet: 987 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_index + mutator: stmt.delete_call + normalizedText: self.note(&node.index); + occurrence: 0 + testSet: 988 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_index + mutator: stmt.delete_call + normalizedText: visit::visit_expr_index(self, node); + occurrence: 0 + testSet: 987 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: cond.always_false + normalizedText: self.numeric && is_numeric_receiver(&node.method.to_string()) + occurrence: 0 + testSet: 989 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: cond.always_true + normalizedText: self.numeric && is_numeric_receiver(&node.method.to_string()) + occurrence: 0 + testSet: 989 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: cond.negate + normalizedText: self.numeric && is_numeric_receiver(&node.method.to_string()) + occurrence: 0 + testSet: 989 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: fn_value.unit + normalizedText: '{ if self.numeric && is_numeric_receiver(&node.method.to_string()) { self.note(&node.receiver); } visit::visit_expr_method_call(self, + node); }' + occurrence: 0 + testSet: 989 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: logical.and_to_or + normalizedText: self.numeric && is_numeric_receiver(&node.method.to_string()) + occurrence: 0 + testSet: 989 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: stmt.delete_call + normalizedText: self.note(&node.receiver); + occurrence: 0 + testSet: 990 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: stmt.delete_call + normalizedText: visit::visit_expr_method_call(self, node); + occurrence: 0 + testSet: 989 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_impl_item + mutator: cond.always_false + normalizedText: '!self.cfg.skip_gate(impl_item_attrs(node))' + occurrence: 0 + testSet: 991 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_impl_item + mutator: cond.always_true + normalizedText: '!self.cfg.skip_gate(impl_item_attrs(node))' + occurrence: 0 + testSet: 991 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_impl_item + mutator: cond.negate + normalizedText: '!self.cfg.skip_gate(impl_item_attrs(node))' + occurrence: 0 + testSet: 991 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_impl_item + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.skip_gate(impl_item_attrs(node)) { visit::visit_impl_item(self, node); } }' + occurrence: 0 + testSet: 991 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_impl_item + mutator: stmt.delete_call + normalizedText: visit::visit_impl_item(self, node); + occurrence: 0 + testSet: 991 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_impl_item + mutator: unary.remove_not + normalizedText: '!self.cfg.skip_gate(impl_item_attrs(node))' + occurrence: 0 + testSet: 991 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_impl_item_const + mutator: fn_value.unit + normalizedText: '{ self.declared(&node.ident.to_string(), &node.ty); visit::visit_impl_item_const(self, node); }' + occurrence: 0 + testSet: 992 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_impl_item_const + mutator: stmt.delete_call + normalizedText: self.declared(&node.ident.to_string(), &node.ty); + occurrence: 0 + testSet: 992 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_impl_item_const + mutator: stmt.delete_call + normalizedText: visit::visit_impl_item_const(self, node); + occurrence: 0 + testSet: 992 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_const + mutator: fn_value.unit + normalizedText: '{ self.declared(&node.ident.to_string(), &node.ty); visit::visit_item_const(self, node); }' + occurrence: 0 + testSet: 993 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_const + mutator: stmt.delete_call + normalizedText: self.declared(&node.ident.to_string(), &node.ty); + occurrence: 0 + testSet: 993 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_const + mutator: stmt.delete_call + normalizedText: visit::visit_item_const(self, node); + occurrence: 0 + testSet: 993 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_static + mutator: fn_value.unit + normalizedText: '{ self.declared(&node.ident.to_string(), &node.ty); visit::visit_item_static(self, node); }' + occurrence: 0 + testSet: 985 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_static + mutator: stmt.delete_call + normalizedText: self.declared(&node.ident.to_string(), &node.ty); + occurrence: 0 + testSet: 985 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_static + mutator: stmt.delete_call + normalizedText: visit::visit_item_static(self, node); + occurrence: 0 + testSet: 985 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_struct + mutator: fn_value.unit + normalizedText: '{ self.on_item_struct(node); visit::visit_item_struct(self, node); }' + occurrence: 0 + testSet: 994 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_struct + mutator: stmt.delete_call + normalizedText: self.on_item_struct(node); + occurrence: 0 + testSet: 994 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_struct + mutator: stmt.delete_call + normalizedText: visit::visit_item_struct(self, node); + occurrence: 0 + testSet: 994 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_use + mutator: fn_value.unit + normalizedText: '{ self.on_item_use(node); visit::visit_item_use(self, node); }' + occurrence: 0 + testSet: 995 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_use + mutator: stmt.delete_call + normalizedText: self.on_item_use(node); + occurrence: 0 + testSet: 995 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_item_use + mutator: stmt.delete_call + normalizedText: visit::visit_item_use(self, node); + occurrence: 0 + testSet: 995 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_trait_item + mutator: cond.always_false + normalizedText: '!self.cfg.skip_gate(trait_item_attrs(node))' + occurrence: 0 + testSet: 996 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_trait_item + mutator: cond.always_true + normalizedText: '!self.cfg.skip_gate(trait_item_attrs(node))' + occurrence: 0 + testSet: 996 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_trait_item + mutator: cond.negate + normalizedText: '!self.cfg.skip_gate(trait_item_attrs(node))' + occurrence: 0 + testSet: 996 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_trait_item + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.skip_gate(trait_item_attrs(node)) { visit::visit_trait_item(self, node); } }' + occurrence: 0 + testSet: 996 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_trait_item + mutator: stmt.delete_call + normalizedText: visit::visit_trait_item(self, node); + occurrence: 0 + testSet: 996 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_trait_item + mutator: unary.remove_not + normalizedText: '!self.cfg.skip_gate(trait_item_attrs(node))' + occurrence: 0 + testSet: 996 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_trait_item_const + mutator: fn_value.unit + normalizedText: '{ self.declared(&node.ident.to_string(), &node.ty); visit::visit_trait_item_const(self, node); }' + occurrence: 0 + testSet: 985 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_trait_item_const + mutator: stmt.delete_call + normalizedText: self.declared(&node.ident.to_string(), &node.ty); + occurrence: 0 + testSet: 985 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: as Visit<'ast>>::visit_trait_item_const + mutator: stmt.delete_call + normalizedText: visit::visit_trait_item_const(self, node); + occurrence: 0 + testSet: 985 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::declared + mutator: assign_value.default + normalizedText: '*known && numeric' + occurrence: 0 + testSet: 997 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::declared + mutator: cond.always_false + normalizedText: '!self.numeric' + occurrence: 0 + testSet: 998 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::declared + mutator: cond.always_true + normalizedText: '!self.numeric' + occurrence: 0 + testSet: 998 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::declared + mutator: cond.negate + normalizedText: '!self.numeric' + occurrence: 0 + testSet: 998 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::declared + mutator: fn_value.unit + normalizedText: '{ if !self.numeric { return; } let numeric = is_numeric_binding(ty); let _known = self .indexes .constants + .entry(name.to_owned()) .and_modify(|known| *known = *known && numeric) .or_insert(numeric); }' + occurrence: 0 + testSet: 998 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::declared + mutator: logical.and_to_or + normalizedText: '*known && numeric' + occurrence: 0 + testSet: 997 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::declared + mutator: unary.remove_not + normalizedText: '!self.numeric' + occurrence: 0 + testSet: 998 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::descend + mutator: fn_value.unit + normalizedText: '{ match tree { UseTree::Path(path) => { prefix.push(path.ident.to_string()); self.descend(prefix, &path.tree); + let _popped = prefix.pop(); } UseTree::Name(name) if name.ident == "self" => { if let Some((binding, parent)) = prefix.split_last() + { self.imported(binding.clone(), parent); } } UseTree::Name(name) => self.imported(name.ident.to_string(), prefix), + UseTree::Rename(rename) => self.imported(rename.rename.to_string(), prefix), UseTree::Group(group) => { for item in + &group.items { self.descend(prefix, item); } } UseTree::Glob(_) => {} } }' + occurrence: 0 + testSet: 999 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::descend + mutator: match_guard.always_false + normalizedText: name.ident == "self" + occurrence: 0 + testSet: 1000 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::descend + mutator: match_guard.always_true + normalizedText: name.ident == "self" + occurrence: 0 + testSet: 1000 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::descend + mutator: match_guard.negate + normalizedText: name.ident == "self" + occurrence: 0 + testSet: 1000 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::descend + mutator: stmt.delete_call + normalizedText: prefix.push(path.ident.to_string()); + occurrence: 0 + testSet: 999 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::descend + mutator: stmt.delete_call + normalizedText: self.descend(prefix, &path.tree); + occurrence: 0 + testSet: 999 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::descend + mutator: stmt.delete_call + normalizedText: self.descend(prefix, item); + occurrence: 0 + testSet: 1001 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::descend + mutator: stmt.delete_call + normalizedText: self.imported(binding.clone(), parent); + occurrence: 0 + testSet: 1002 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::imported + mutator: assign_value.default + normalizedText: None + occurrence: 0 + testSet: 1003 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::imported + mutator: cond.always_false + normalizedText: known.as_deref() != Some(prefix) + occurrence: 0 + testSet: 1004 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::imported + mutator: cond.always_true + normalizedText: known.as_deref() != Some(prefix) + occurrence: 0 + testSet: 1004 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::imported + mutator: cond.negate + normalizedText: known.as_deref() != Some(prefix) + occurrence: 0 + testSet: 1004 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::imported + mutator: fn_value.unit + normalizedText: '{ let _known = self .indexes .imports .entry(name) .and_modify(|known| { if known.as_deref() != Some(prefix) + { *known = None; } }) .or_insert_with(|| Some(prefix.to_vec())); }' + occurrence: 0 + testSet: 999 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::imported + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1003 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::imported + mutator: option.some_to_none + normalizedText: Some(prefix) + occurrence: 0 + testSet: 1004 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::imported + mutator: option.some_to_none + normalizedText: Some(prefix.to_vec()) + occurrence: 0 + testSet: 999 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::imported + mutator: relational.ne_to_eq + normalizedText: known.as_deref() != Some(prefix) + occurrence: 0 + testSet: 1004 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::imported + mutator: stmt.delete_assign + normalizedText: '*known = None;' + occurrence: 0 + testSet: 1003 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::note + mutator: fn_value.unit + normalizedText: '{ match expression { Expr::Path(path) if path.qself.is_none() => { if let Some(ident) = path.path.get_ident() + { let _added = self.indexes.numeric_uses.names.insert(ident.to_string()); } } Expr::Field(field) => { if let Member::Named(name) + = &field.member { let _added = self.indexes.numeric_uses.fields.insert(name.to_string()); } } Expr::Paren(paren) => + self.note(&paren.expr), Expr::Reference(reference) => self.note(&reference.expr), _ => {} } }' + occurrence: 0 + testSet: 1005 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::note + mutator: match_arm.never_matches + normalizedText: Expr::Field(field) + occurrence: 0 + testSet: 1006 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::note + mutator: match_arm.never_matches + normalizedText: Expr::Paren(paren) + occurrence: 0 + testSet: 1007 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::note + mutator: match_arm.never_matches + normalizedText: Expr::Reference(reference) + occurrence: 0 + testSet: 1006 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::note + mutator: match_guard.always_false + normalizedText: path.qself.is_none() + occurrence: 0 + testSet: 1008 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::note + mutator: match_guard.always_true + normalizedText: path.qself.is_none() + occurrence: 0 + testSet: 1008 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::note + mutator: match_guard.negate + normalizedText: path.qself.is_none() + occurrence: 0 + testSet: 1008 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: cond.always_false + normalizedText: is_int_literal(&node.left) + occurrence: 0 + testSet: 1009 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: cond.always_false + normalizedText: is_int_literal(&node.right) + occurrence: 0 + testSet: 1009 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: cond.always_false + normalizedText: self.numeric + occurrence: 0 + testSet: 1010 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: cond.always_true + normalizedText: is_int_literal(&node.left) + occurrence: 0 + testSet: 1009 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: cond.always_true + normalizedText: is_int_literal(&node.right) + occurrence: 0 + testSet: 1009 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: cond.always_true + normalizedText: self.numeric + occurrence: 0 + testSet: 1010 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: cond.negate + normalizedText: is_int_literal(&node.left) + occurrence: 0 + testSet: 1009 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: cond.negate + normalizedText: is_int_literal(&node.right) + occurrence: 0 + testSet: 1009 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: cond.negate + normalizedText: self.numeric + occurrence: 0 + testSet: 1010 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: fn_value.unit + normalizedText: '{ if self.numeric { match node.op { BinOp::Sub(_) | BinOp::Mul(_) | BinOp::Div(_) | BinOp::Rem(_) | + BinOp::SubAssign(_) | BinOp::MulAssign(_) | BinOp::DivAssign(_) | BinOp::RemAssign(_) => { self.note(&node.left); + self.note(&node.right); } BinOp::Add(_) | BinOp::AddAssign(_) | BinOp::Lt(_) | BinOp::Gt(_) | BinOp::Le(_) | BinOp::Ge(_) + => { if is_int_literal(&node.right) { self.note(&node.left); } if is_int_literal(&node.left) { self.note(&node.right); + } } _ => {} } } }' + occurrence: 0 + testSet: 1010 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: match_arm.never_matches + normalizedText: BinOp::Add(_) | BinOp::AddAssign(_) | BinOp::Lt(_) | BinOp::Gt(_) | BinOp::Le(_) | BinOp::Ge(_) + occurrence: 0 + testSet: 1009 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: match_arm.never_matches + normalizedText: BinOp::Sub(_) | BinOp::Mul(_) | BinOp::Div(_) | BinOp::Rem(_) | BinOp::SubAssign(_) | BinOp::MulAssign(_) + | BinOp::DivAssign(_) | BinOp::RemAssign(_) + occurrence: 0 + testSet: 1011 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: stmt.delete_call + normalizedText: self.note(&node.left); + occurrence: 0 + testSet: 1011 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: stmt.delete_call + normalizedText: self.note(&node.left); + occurrence: 1 + testSet: 1011 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: stmt.delete_call + normalizedText: self.note(&node.right); + occurrence: 0 + testSet: 1011 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_binary + mutator: stmt.delete_call + normalizedText: self.note(&node.right); + occurrence: 1 + testSet: 1012 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_for_loop + mutator: fn_value.unit + normalizedText: '{ if self.numeric && matches!(&*node.expr, Expr::Range(_)) && let Pat::Ident(ident) = &*node.pat { + let _added = self.indexes.numeric_uses.names.insert(ident.ident.to_string()); } }' + occurrence: 0 + testSet: 1013 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_for_loop + mutator: logical.and_to_or + normalizedText: self.numeric && matches!(&*node.expr, Expr::Range(_)) + occurrence: 0 + testSet: 1013 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_index + mutator: cond.always_false + normalizedText: self.numeric + occurrence: 0 + testSet: 1014 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_index + mutator: cond.always_true + normalizedText: self.numeric + occurrence: 0 + testSet: 1014 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_index + mutator: cond.negate + normalizedText: self.numeric + occurrence: 0 + testSet: 1014 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_index + mutator: fn_value.unit + normalizedText: '{ if self.numeric { self.note(&node.index); } }' + occurrence: 0 + testSet: 1014 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_index + mutator: stmt.delete_call + normalizedText: self.note(&node.index); + occurrence: 0 + testSet: 1014 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_method_call + mutator: cond.always_false + normalizedText: self.numeric && is_numeric_receiver(&node.method.to_string()) + occurrence: 0 + testSet: 1015 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_method_call + mutator: cond.always_true + normalizedText: self.numeric && is_numeric_receiver(&node.method.to_string()) + occurrence: 0 + testSet: 1015 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_method_call + mutator: cond.negate + normalizedText: self.numeric && is_numeric_receiver(&node.method.to_string()) + occurrence: 0 + testSet: 1015 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_method_call + mutator: fn_value.unit + normalizedText: '{ if self.numeric && is_numeric_receiver(&node.method.to_string()) { self.note(&node.receiver); } }' + occurrence: 0 + testSet: 1015 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_method_call + mutator: logical.and_to_or + normalizedText: self.numeric && is_numeric_receiver(&node.method.to_string()) + occurrence: 0 + testSet: 1015 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_expr_method_call + mutator: stmt.delete_call + normalizedText: self.note(&node.receiver); + occurrence: 0 + testSet: 1014 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_struct + mutator: cond.always_false + normalizedText: '!self.numeric' + occurrence: 0 + testSet: 1016 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_struct + mutator: cond.always_false + normalizedText: self.cfg.skip_gate(&field.attrs) + occurrence: 0 + testSet: 1017 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_struct + mutator: cond.always_true + normalizedText: '!self.numeric' + occurrence: 0 + testSet: 1016 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_struct + mutator: cond.always_true + normalizedText: self.cfg.skip_gate(&field.attrs) + occurrence: 0 + testSet: 1017 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_struct + mutator: cond.negate + normalizedText: '!self.numeric' + occurrence: 0 + testSet: 1016 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_struct + mutator: cond.negate + normalizedText: self.cfg.skip_gate(&field.attrs) + occurrence: 0 + testSet: 1017 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_struct + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1018 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_struct + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1018 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_struct + mutator: unary.remove_not + normalizedText: '!self.numeric' + occurrence: 0 + testSet: 1016 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_use + mutator: cond.always_false + normalizedText: self.imports + occurrence: 0 + testSet: 1019 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_use + mutator: cond.always_true + normalizedText: self.imports + occurrence: 0 + testSet: 1019 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_use + mutator: cond.negate + normalizedText: self.imports + occurrence: 0 + testSet: 1019 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_use + mutator: fn_value.unit + normalizedText: '{ if self.imports { self.descend(&mut Vec::new(), &node.tree); } }' + occurrence: 0 + testSet: 1019 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/indexes.rs + item: Walk<'_>::on_item_use + mutator: stmt.delete_call + normalizedText: self.descend(&mut Vec::new(), &node.tree); + occurrence: 0 + testSet: 1019 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: arith.add_to_mul + normalizedText: index + 1 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: arith.add_to_sub + normalizedText: index + 1 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: arith.sub_to_add + normalizedText: call.len() - 1 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: arith.sub_to_div + normalizedText: call.len() - 1 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: assign_value.default + normalizedText: depth.checked_add(1)? + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: assign_value.default + normalizedText: depth.checked_sub(1)? + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: cond.always_false + normalizedText: '!path_ends_with(callee, qualifier, name) || call.last()?.kind != TokenKind::CloseParen' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: cond.always_false + normalizedText: depth != 0 || call.len() < 3 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: cond.always_false + normalizedText: depth == 0 && index + 1 != call.len() + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: cond.always_true + normalizedText: '!path_ends_with(callee, qualifier, name) || call.last()?.kind != TokenKind::CloseParen' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: cond.always_true + normalizedText: depth != 0 || call.len() < 3 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: cond.always_true + normalizedText: depth == 0 && index + 1 != call.len() + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: cond.negate + normalizedText: '!path_ends_with(callee, qualifier, name) || call.last()?.kind != TokenKind::CloseParen' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: cond.negate + normalizedText: depth != 0 || call.len() < 3 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: cond.negate + normalizedText: depth == 0 && index + 1 != call.len() + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: expr.decrement + normalizedText: argument.first()?.start + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: expr.decrement + normalizedText: argument.last()?.end + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: expr.decrement + normalizedText: call.len() - 1 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: expr.increment + normalizedText: argument.first()?.start + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: expr.increment + normalizedText: argument.last()?.end + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: expr.increment + normalizedText: call.len() - 1 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: fn_value.none + normalizedText: '{ let expression = strip_parentheses(expression); let open = expression.iter().position(|token| token.kind + == TokenKind::OpenParen)?; let (callee, call) = expression.split_at(open); if !path_ends_with(callee, qualifier, name) + || call.last()?.kind != TokenKind::CloseParen { return None; } let mut depth = 0_usize; for (index, token) in call.iter().enumerate() + { match token.kind { TokenKind::OpenParen => depth = depth.checked_add(1)?, TokenKind::CloseParen => { depth = depth.checked_sub(1)?; + if depth == 0 && index + 1 != call.len() { return None; } } TokenKind::Comma if depth == 1 => return None, _ => {} + } } if depth != 0 || call.len() < 3 { return None; } let argument = call.get(1..call.len() - 1)?; text.get(argument.first()?.start..argument.last()?.end) + }' + occurrence: 0 + testSet: 1021 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: iter.first_to_last + normalizedText: argument.first() + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: iter.last_to_first + normalizedText: argument.last() + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: iter.last_to_first + normalizedText: call.last() + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_increment + normalizedText: 0_usize + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: logical.and_to_or + normalizedText: depth == 0 && index + 1 != call.len() + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: logical.or_to_and + normalizedText: '!path_ends_with(callee, qualifier, name) || call.last()?.kind != TokenKind::CloseParen' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: logical.or_to_and + normalizedText: depth != 0 || call.len() < 3 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: match_arm.never_matches + normalizedText: TokenKind::CloseParen + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: match_arm.never_matches + normalizedText: TokenKind::OpenParen + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: match_guard.always_false + normalizedText: depth == 1 + occurrence: 0 + testSet: 1022 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: match_guard.always_true + normalizedText: depth == 1 + occurrence: 0 + testSet: 1022 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: match_guard.negate + normalizedText: depth == 1 + occurrence: 0 + testSet: 1022 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1022 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1022 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: option.none_to_some + normalizedText: None + occurrence: 2 + testSet: 1022 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: option.none_to_some + normalizedText: None + occurrence: 3 + testSet: 1022 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: range.exclusive_to_inclusive + normalizedText: 1..call.len() - 1 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: range.exclusive_to_inclusive + normalizedText: argument.first()?.start..argument.last()?.end + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: relational.eq_to_ne + normalizedText: depth == 0 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: relational.eq_to_ne + normalizedText: token.kind == TokenKind::OpenParen + occurrence: 0 + testSet: 1021 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: relational.lt_to_gt + normalizedText: call.len() < 3 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: relational.lt_to_le + normalizedText: call.len() < 3 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: relational.ne_to_eq + normalizedText: call.last()?.kind != TokenKind::CloseParen + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: relational.ne_to_eq + normalizedText: depth != 0 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: relational.ne_to_eq + normalizedText: index + 1 != call.len() + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: stmt.delete_assign + normalizedText: depth = depth.checked_sub(1)?; + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: call_argument + mutator: unary.remove_not + normalizedText: '!path_ends_with(callee, qualifier, name)' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_default_call + mutator: cond.always_false + normalizedText: '!matches!(call, [open, close] if open.kind == TokenKind::OpenParen && close.kind == TokenKind::CloseParen)' + occurrence: 0 + testSet: 1023 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_default_call + mutator: cond.always_true + normalizedText: '!matches!(call, [open, close] if open.kind == TokenKind::OpenParen && close.kind == TokenKind::CloseParen)' + occurrence: 0 + testSet: 1023 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_default_call + mutator: cond.negate + normalizedText: '!matches!(call, [open, close] if open.kind == TokenKind::OpenParen && close.kind == TokenKind::CloseParen)' + occurrence: 0 + testSet: 1023 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_default_call + mutator: fn_value.bool_false + normalizedText: '{ let Some(tokens) = lexemes(text) else { return false; }; let expression = strip_parentheses(&tokens); + let Some(open) = expression.iter().position(|token| token.kind == TokenKind::OpenParen) else { return false; }; let + (callee, call) = expression.split_at(open); if !matches!(call, [open, close] if open.kind == TokenKind::OpenParen + && close.kind == TokenKind::CloseParen) { return false; } let Some(segments) = path_segments(callee) else { return + false; }; let segments: Vec = segments.into_iter().map(str::to_owned).collect(); defaults.is_standard_default_segments(&segments) + || matches!(segments.as_slice(), [qualifier, method] if method == "default" && defaulted_types.contains(qualifier)) + }' + occurrence: 0 + testSet: 1023 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_default_call + mutator: fn_value.bool_true + normalizedText: '{ let Some(tokens) = lexemes(text) else { return false; }; let expression = strip_parentheses(&tokens); + let Some(open) = expression.iter().position(|token| token.kind == TokenKind::OpenParen) else { return false; }; let + (callee, call) = expression.split_at(open); if !matches!(call, [open, close] if open.kind == TokenKind::OpenParen + && close.kind == TokenKind::CloseParen) { return false; } let Some(segments) = path_segments(callee) else { return + false; }; let segments: Vec = segments.into_iter().map(str::to_owned).collect(); defaults.is_standard_default_segments(&segments) + || matches!(segments.as_slice(), [qualifier, method] if method == "default" && defaulted_types.contains(qualifier)) + }' + occurrence: 0 + testSet: 1023 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_default_call + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1024 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_default_call + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1024 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_default_call + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 1024 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_default_call + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 3 + testSet: 1024 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_default_call + mutator: logical.or_to_and + normalizedText: defaults.is_standard_default_segments(&segments) || matches!(segments.as_slice(), [qualifier, method] + if method == "default" && defaulted_types.contains(qualifier)) + occurrence: 0 + testSet: 1025 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_default_call + mutator: relational.eq_to_ne + normalizedText: token.kind == TokenKind::OpenParen + occurrence: 0 + testSet: 1023 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_default_call + mutator: unary.remove_not + normalizedText: '!matches!(call, [open, close] if open.kind == TokenKind::OpenParen && close.kind == TokenKind::CloseParen)' + occurrence: 0 + testSet: 1023 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_noop + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1026 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_same_leak + mutator: cond.always_false + normalizedText: is_default_call(replacement, defaults, defaulted_types) && is_default_call(original, defaults, defaulted_types) + occurrence: 0 + testSet: 1025 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_same_leak + mutator: cond.always_true + normalizedText: is_default_call(replacement, defaults, defaulted_types) && is_default_call(original, defaults, defaulted_types) + occurrence: 0 + testSet: 1025 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_same_leak + mutator: cond.negate + normalizedText: is_default_call(replacement, defaults, defaulted_types) && is_default_call(original, defaults, defaulted_types) + occurrence: 0 + testSet: 1025 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_same_leak + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1027 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_same_leak + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1028 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_same_leak + mutator: literal.str_to_empty + normalizedText: '"leak"' + occurrence: 1 + testSet: 1029 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_same_leak + mutator: literal.str_to_xyzzy + normalizedText: '"leak"' + occurrence: 1 + testSet: 1029 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_same_leak + mutator: logical.and_to_or + normalizedText: is_default_call(replacement, defaults, defaulted_types) && is_default_call(original, defaults, defaulted_types) + occurrence: 0 + testSet: 1025 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: is_same_leak + mutator: unary.remove_not + normalizedText: '!original.contains("leak")' + occurrence: 0 + testSet: 1029 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: assign_value.default + normalizedText: strip_parentheses(expression.get(2..)?) + occurrence: 0 + testSet: 1030 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: cond.always_false + normalizedText: expression.first()?.kind == TokenKind::And && expression.get(1)?.kind == TokenKind::Star + occurrence: 0 + testSet: 1021 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: cond.always_true + normalizedText: expression.first()?.kind == TokenKind::And && expression.get(1)?.kind == TokenKind::Star + occurrence: 0 + testSet: 1021 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: cond.negate + normalizedText: expression.first()?.kind == TokenKind::And && expression.get(1)?.kind == TokenKind::Star + occurrence: 0 + testSet: 1021 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: fn_value.none + normalizedText: '{ let tokens = lexemes(text)?; let mut expression = strip_parentheses(&tokens); if expression.first()?.kind + == TokenKind::And && expression.get(1)?.kind == TokenKind::Star { expression = strip_parentheses(expression.get(2..)?); + } let leaked = call_argument(text, expression, "Box", "leak")?; let tokens = lexemes(leaked)?; call_argument(leaked, + strip_parentheses(&tokens), "Box", "new") }' + occurrence: 0 + testSet: 1021 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: iter.first_to_last + normalizedText: expression.first() + occurrence: 0 + testSet: 1021 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1030 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1030 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1030 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1030 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1030 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: literal.str_to_empty + normalizedText: '"Box"' + occurrence: 0 + testSet: 1021 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: literal.str_to_empty + normalizedText: '"Box"' + occurrence: 1 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: literal.str_to_empty + normalizedText: '"leak"' + occurrence: 0 + testSet: 1021 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: literal.str_to_empty + normalizedText: '"new"' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: literal.str_to_xyzzy + normalizedText: '"Box"' + occurrence: 0 + testSet: 1021 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: literal.str_to_xyzzy + normalizedText: '"Box"' + occurrence: 1 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: literal.str_to_xyzzy + normalizedText: '"leak"' + occurrence: 0 + testSet: 1021 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: literal.str_to_xyzzy + normalizedText: '"new"' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: logical.and_to_or + normalizedText: expression.first()?.kind == TokenKind::And && expression.get(1)?.kind == TokenKind::Star + occurrence: 0 + testSet: 1021 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: relational.eq_to_ne + normalizedText: expression.first()?.kind == TokenKind::And + occurrence: 0 + testSet: 1021 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: relational.eq_to_ne + normalizedText: expression.get(1)?.kind == TokenKind::Star + occurrence: 0 + testSet: 1030 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: leaked_value + mutator: stmt.delete_assign + normalizedText: expression = strip_parentheses(expression.get(2..)?); + occurrence: 0 + testSet: 1030 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: lexemes + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1031 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_ends_with + mutator: fn_value.bool_false + normalizedText: '{ let Some(segments) = path_segments(path) else { return false; }; matches!(segments.as_slice(), [.., + found_qualifier, found_name] if *found_qualifier == qualifier && *found_name == name) }' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_ends_with + mutator: fn_value.bool_true + normalizedText: '{ let Some(segments) = path_segments(path) else { return false; }; matches!(segments.as_slice(), [.., + found_qualifier, found_name] if *found_qualifier == qualifier && *found_name == name) }' + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_ends_with + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1022 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: arith.add_to_mul + normalizedText: index + 1 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: arith.add_to_sub + normalizedText: index + 1 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: arith.mul_to_add + normalizedText: usize::from( path.first().is_some_and(|token| token.kind == TokenKind::Colon) && path.get(1).is_some_and(|token| + token.kind == TokenKind::Colon), ) * 2 + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: arith.mul_to_div + normalizedText: usize::from( path.first().is_some_and(|token| token.kind == TokenKind::Colon) && path.get(1).is_some_and(|token| + token.kind == TokenKind::Colon), ) * 2 + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: assign.add_to_sub + normalizedText: index += 1 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: assign.add_to_sub + normalizedText: index += 2 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: cond.always_false + normalizedText: '!matches!(token.kind, TokenKind::Ident | TokenKind::RawIdent)' + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: cond.always_false + normalizedText: index == path.len() + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: cond.always_false + normalizedText: path.get(index)?.kind != TokenKind::Colon || path.get(index + 1)?.kind != TokenKind::Colon + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: cond.always_true + normalizedText: '!matches!(token.kind, TokenKind::Ident | TokenKind::RawIdent)' + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: cond.always_true + normalizedText: index == path.len() + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: cond.always_true + normalizedText: path.get(index)?.kind != TokenKind::Colon || path.get(index + 1)?.kind != TokenKind::Colon + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: cond.negate + normalizedText: '!matches!(token.kind, TokenKind::Ident | TokenKind::RawIdent)' + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: cond.negate + normalizedText: index == path.len() + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: cond.negate + normalizedText: path.get(index)?.kind != TokenKind::Colon || path.get(index + 1)?.kind != TokenKind::Colon + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: expr.decrement + normalizedText: index + occurrence: 1 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: expr.decrement + normalizedText: index + 1 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: expr.increment + normalizedText: index + occurrence: 1 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: expr.increment + normalizedText: index + 1 + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: fn_value.none + normalizedText: '{ let path = strip_parentheses(path); let mut segments = Vec::new(); let mut index = usize::from( path.first().is_some_and(|token| + token.kind == TokenKind::Colon) && path.get(1).is_some_and(|token| token.kind == TokenKind::Colon), ) * 2; loop { + let token = path.get(index)?; if !matches!(token.kind, TokenKind::Ident | TokenKind::RawIdent) { return None; } segments.push(token.text); + index += 1; if index == path.len() { return Some(segments); } if path.get(index)?.kind != TokenKind::Colon || path.get(index + + 1)?.kind != TokenKind::Colon { return None; } index += 2; } }' + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: iter.first_to_last + normalizedText: path.first() + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 1 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: literal.int_increment + normalizedText: '2' + occurrence: 1 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 1 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: logical.and_to_or + normalizedText: path.first().is_some_and(|token| token.kind == TokenKind::Colon) && path.get(1).is_some_and(|token| + token.kind == TokenKind::Colon) + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: logical.or_to_and + normalizedText: path.get(index)?.kind != TokenKind::Colon || path.get(index + 1)?.kind != TokenKind::Colon + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1024 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1022 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: option.some_to_none + normalizedText: Some(segments) + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: relational.eq_to_ne + normalizedText: index == path.len() + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: relational.eq_to_ne + normalizedText: token.kind == TokenKind::Colon + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: relational.ne_to_eq + normalizedText: path.get(index + 1)?.kind != TokenKind::Colon + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: relational.ne_to_eq + normalizedText: path.get(index)?.kind != TokenKind::Colon + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: stmt.delete_assign + normalizedText: index += 1; + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: stmt.delete_assign + normalizedText: index += 2; + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: stmt.delete_call + normalizedText: segments.push(token.text); + occurrence: 0 + testSet: 1020 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: path_segments + mutator: unary.remove_not + normalizedText: '!matches!(token.kind, TokenKind::Ident | TokenKind::RawIdent)' + occurrence: 0 + testSet: 1032 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: iter.all_to_any + normalizedText: left .iter() .zip(&right) .all(|(left, right)| left.kind == right.kind && left.text == right.text) + occurrence: 0 + testSet: 1033 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: iter.all_to_any + normalizedText: left.windows(2).zip(right.windows(2)).all(|(left, right)| { let left_first = &left[0]; let left_second + = &left[1]; let right_first = &right[0]; let right_second = &right[1]; let spacing_matters = spacing_matters(left_first.kind, + left_second.kind); !spacing_matters || (left_first.end == left_second.start) == (right_first.end == right_second.start) + }) + occurrence: 0 + testSet: 1034 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1035 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1036 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1036 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1034 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 1 + testSet: 1034 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1036 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1036 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1036 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1036 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1034 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: literal.int_increment + normalizedText: '2' + occurrence: 1 + testSet: 1034 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1034 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 1 + testSet: 1034 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: logical.and_to_or + normalizedText: left.kind == right.kind && left.text == right.text + occurrence: 0 + testSet: 1033 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: logical.or_to_and + normalizedText: '!spacing_matters || (left_first.end == left_second.start) == (right_first.end == right_second.start)' + occurrence: 0 + testSet: 1036 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: relational.eq_to_ne + normalizedText: (left_first.end == left_second.start) == (right_first.end == right_second.start) + occurrence: 0 + testSet: 1037 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: relational.eq_to_ne + normalizedText: left.kind == right.kind + occurrence: 0 + testSet: 1033 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: relational.eq_to_ne + normalizedText: left.text == right.text + occurrence: 0 + testSet: 1038 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: relational.eq_to_ne + normalizedText: left_first.end == left_second.start + occurrence: 0 + testSet: 1037 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: relational.eq_to_ne + normalizedText: right_first.end == right_second.start + occurrence: 0 + testSet: 1037 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: unary.remove_not + normalizedText: '!left .iter() .zip(&right) .all(|(left, right)| left.kind == right.kind && left.text == right.text)' + occurrence: 0 + testSet: 1033 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: same_tokens + mutator: unary.remove_not + normalizedText: '!spacing_matters' + occurrence: 0 + testSet: 1036 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: arith.add_to_mul + normalizedText: index + 1 + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: arith.add_to_sub + normalizedText: index + 1 + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: arith.sub_to_add + normalizedText: expression.len() - 1 + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: arith.sub_to_div + normalizedText: expression.len() - 1 + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: assign.add_to_sub + normalizedText: depth += 1 + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: assign_value.default + normalizedText: '&expression[1..expression.len() - 1]' + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: assign_value.default + normalizedText: depth.saturating_sub(1) + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: assign_value.default + normalizedText: index + 1 == expression.len() + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: cond.always_false + normalizedText: '!closes_at_end' + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: cond.always_false + normalizedText: depth == 0 + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: cond.always_false + normalizedText: expression.first().is_none_or(|token| token.kind != TokenKind::OpenParen) || expression.last().is_none_or(|token| + token.kind != TokenKind::CloseParen) + occurrence: 0 + testSet: 1040 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: cond.always_true + normalizedText: '!closes_at_end' + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: cond.always_true + normalizedText: depth == 0 + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: cond.always_true + normalizedText: expression.first().is_none_or(|token| token.kind != TokenKind::OpenParen) || expression.last().is_none_or(|token| + token.kind != TokenKind::CloseParen) + occurrence: 0 + testSet: 1040 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: cond.negate + normalizedText: '!closes_at_end' + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: cond.negate + normalizedText: depth == 0 + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: cond.negate + normalizedText: expression.first().is_none_or(|token| token.kind != TokenKind::OpenParen) || expression.last().is_none_or(|token| + token.kind != TokenKind::CloseParen) + occurrence: 0 + testSet: 1040 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: expr.decrement + normalizedText: expression.len() - 1 + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: expr.increment + normalizedText: expression.len() - 1 + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: fn_value.default + normalizedText: '{ loop { if expression.first().is_none_or(|token| token.kind != TokenKind::OpenParen) || expression.last().is_none_or(|token| + token.kind != TokenKind::CloseParen) { return expression; } let mut depth = 0_usize; let mut closes_at_end = false; + for (index, token) in expression.iter().enumerate() { match token.kind { TokenKind::OpenParen => depth += 1, TokenKind::CloseParen + => { depth = depth.saturating_sub(1); if depth == 0 { closes_at_end = index + 1 == expression.len(); break; } } _ + => {} } } if !closes_at_end { return expression; } expression = &expression[1..expression.len() - 1]; } }' + occurrence: 0 + testSet: 1040 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: iter.first_to_last + normalizedText: expression.first() + occurrence: 0 + testSet: 1040 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: iter.last_to_first + normalizedText: expression.last() + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: literal.int_increment + normalizedText: 0_usize + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: logical.or_to_and + normalizedText: expression.first().is_none_or(|token| token.kind != TokenKind::OpenParen) || expression.last().is_none_or(|token| + token.kind != TokenKind::CloseParen) + occurrence: 0 + testSet: 1040 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: match_arm.never_matches + normalizedText: TokenKind::CloseParen + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: match_arm.never_matches + normalizedText: TokenKind::OpenParen + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: range.exclusive_to_inclusive + normalizedText: 1..expression.len() - 1 + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: relational.eq_to_ne + normalizedText: depth == 0 + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: relational.eq_to_ne + normalizedText: index + 1 == expression.len() + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: relational.ne_to_eq + normalizedText: token.kind != TokenKind::CloseParen + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: relational.ne_to_eq + normalizedText: token.kind != TokenKind::OpenParen + occurrence: 0 + testSet: 1040 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: stmt.delete_assign + normalizedText: closes_at_end = index + 1 == expression.len(); + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: stmt.delete_assign + normalizedText: depth = depth.saturating_sub(1); + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: stmt.delete_assign + normalizedText: expression = &expression[1..expression.len() - 1]; + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/noop.rs + item: strip_parentheses + mutator: unary.remove_not + normalizedText: '!closes_at_end' + occurrence: 0 + testSet: 1039 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_arm + mutator: cond.always_false + normalizedText: '!self.cfg.skip_gate(&node.attrs)' + occurrence: 0 + testSet: 1011 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_arm + mutator: cond.always_true + normalizedText: '!self.cfg.skip_gate(&node.attrs)' + occurrence: 0 + testSet: 1011 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_arm + mutator: cond.negate + normalizedText: '!self.cfg.skip_gate(&node.attrs)' + occurrence: 0 + testSet: 1011 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_arm + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.skip_gate(&node.attrs) { visit::visit_arm(self, node); } }' + occurrence: 0 + testSet: 1011 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_arm + mutator: stmt.delete_call + normalizedText: visit::visit_arm(self, node); + occurrence: 0 + testSet: 1011 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_arm + mutator: unary.remove_not + normalizedText: '!self.cfg.skip_gate(&node.attrs)' + occurrence: 0 + testSet: 1011 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_attribute + mutator: fn_value.unit + normalizedText: '{ self.audit.on_attribute(node); visit::visit_attribute(self, node); }' + occurrence: 0 + testSet: 1041 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_attribute + mutator: stmt.delete_call + normalizedText: self.audit.on_attribute(node); + occurrence: 0 + testSet: 1041 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_attribute + mutator: stmt.delete_call + normalizedText: visit::visit_attribute(self, node); + occurrence: 0 + testSet: 1041 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr + mutator: cond.always_false + normalizedText: '!self.cfg.skip_gate(expr_attrs(node))' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr + mutator: cond.always_true + normalizedText: '!self.cfg.skip_gate(expr_attrs(node))' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr + mutator: cond.negate + normalizedText: '!self.cfg.skip_gate(expr_attrs(node))' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.skip_gate(expr_attrs(node)) { visit::visit_expr(self, node); } }' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr + mutator: stmt.delete_call + normalizedText: visit::visit_expr(self, node); + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr + mutator: unary.remove_not + normalizedText: '!self.cfg.skip_gate(expr_attrs(node))' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: fn_value.unit + normalizedText: '{ self.walk.on_expr_binary(node); visit::visit_expr_binary(self, node); }' + occurrence: 0 + testSet: 1043 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: stmt.delete_call + normalizedText: self.walk.on_expr_binary(node); + occurrence: 0 + testSet: 1043 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: stmt.delete_call + normalizedText: visit::visit_expr_binary(self, node); + occurrence: 0 + testSet: 1043 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr_for_loop + mutator: fn_value.unit + normalizedText: '{ self.walk.on_expr_for_loop(node); visit::visit_expr_for_loop(self, node); }' + occurrence: 0 + testSet: 1013 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr_for_loop + mutator: stmt.delete_call + normalizedText: self.walk.on_expr_for_loop(node); + occurrence: 0 + testSet: 1013 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr_for_loop + mutator: stmt.delete_call + normalizedText: visit::visit_expr_for_loop(self, node); + occurrence: 0 + testSet: 1013 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr_index + mutator: fn_value.unit + normalizedText: '{ self.walk.on_expr_index(node); visit::visit_expr_index(self, node); }' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr_index + mutator: stmt.delete_call + normalizedText: self.walk.on_expr_index(node); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr_index + mutator: stmt.delete_call + normalizedText: visit::visit_expr_index(self, node); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: fn_value.unit + normalizedText: '{ self.walk.on_expr_method_call(node); visit::visit_expr_method_call(self, node); }' + occurrence: 0 + testSet: 1045 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: stmt.delete_call + normalizedText: self.walk.on_expr_method_call(node); + occurrence: 0 + testSet: 1045 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: stmt.delete_call + normalizedText: visit::visit_expr_method_call(self, node); + occurrence: 0 + testSet: 1045 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_field + mutator: cond.always_false + normalizedText: '!self.cfg.skip_gate(&node.attrs)' + occurrence: 0 + testSet: 1046 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_field + mutator: cond.always_true + normalizedText: '!self.cfg.skip_gate(&node.attrs)' + occurrence: 0 + testSet: 1046 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_field + mutator: cond.negate + normalizedText: '!self.cfg.skip_gate(&node.attrs)' + occurrence: 0 + testSet: 1046 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_field + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.skip_gate(&node.attrs) { visit::visit_field(self, node); } }' + occurrence: 0 + testSet: 1046 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_field + mutator: stmt.delete_call + normalizedText: visit::visit_field(self, node); + occurrence: 0 + testSet: 1046 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_field + mutator: unary.remove_not + normalizedText: '!self.cfg.skip_gate(&node.attrs)' + occurrence: 0 + testSet: 1046 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item + mutator: cond.always_false + normalizedText: '!self.cfg.skip_gate(impl_item_attrs(node))' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item + mutator: cond.always_true + normalizedText: '!self.cfg.skip_gate(impl_item_attrs(node))' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item + mutator: cond.negate + normalizedText: '!self.cfg.skip_gate(impl_item_attrs(node))' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.skip_gate(impl_item_attrs(node)) { visit::visit_impl_item(self, node); } }' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item + mutator: stmt.delete_call + normalizedText: visit::visit_impl_item(self, node); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item + mutator: unary.remove_not + normalizedText: '!self.cfg.skip_gate(impl_item_attrs(node))' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item_const + mutator: fn_value.unit + normalizedText: '{ self.walk.declared(&node.ident.to_string(), &node.ty); visit::visit_impl_item_const(self, node); + }' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item_const + mutator: stmt.delete_call + normalizedText: self.walk.declared(&node.ident.to_string(), &node.ty); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item_const + mutator: stmt.delete_call + normalizedText: visit::visit_impl_item_const(self, node); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item_fn + mutator: fn_value.unit + normalizedText: '{ self.audit.on_impl_item_fn(node); visit::visit_impl_item_fn(self, node); }' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item_fn + mutator: stmt.delete_call + normalizedText: self.audit.on_impl_item_fn(node); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_impl_item_fn + mutator: stmt.delete_call + normalizedText: visit::visit_impl_item_fn(self, node); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item + mutator: cond.always_false + normalizedText: '!self.cfg.skip_gate(item_attrs(node))' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item + mutator: cond.always_true + normalizedText: '!self.cfg.skip_gate(item_attrs(node))' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item + mutator: cond.negate + normalizedText: '!self.cfg.skip_gate(item_attrs(node))' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.skip_gate(item_attrs(node)) { visit::visit_item(self, node); } }' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item + mutator: stmt.delete_call + normalizedText: visit::visit_item(self, node); + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item + mutator: unary.remove_not + normalizedText: '!self.cfg.skip_gate(item_attrs(node))' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_const + mutator: fn_value.unit + normalizedText: '{ self.walk.declared(&node.ident.to_string(), &node.ty); visit::visit_item_const(self, node); }' + occurrence: 0 + testSet: 1047 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_const + mutator: stmt.delete_call + normalizedText: self.walk.declared(&node.ident.to_string(), &node.ty); + occurrence: 0 + testSet: 1047 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_const + mutator: stmt.delete_call + normalizedText: visit::visit_item_const(self, node); + occurrence: 0 + testSet: 1047 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_fn + mutator: fn_value.unit + normalizedText: '{ self.audit.on_item_fn(node); visit::visit_item_fn(self, node); }' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_fn + mutator: stmt.delete_call + normalizedText: self.audit.on_item_fn(node); + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_fn + mutator: stmt.delete_call + normalizedText: visit::visit_item_fn(self, node); + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_static + mutator: fn_value.unit + normalizedText: '{ self.walk.declared(&node.ident.to_string(), &node.ty); visit::visit_item_static(self, node); }' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_static + mutator: stmt.delete_call + normalizedText: self.walk.declared(&node.ident.to_string(), &node.ty); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_static + mutator: stmt.delete_call + normalizedText: visit::visit_item_static(self, node); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_struct + mutator: fn_value.unit + normalizedText: '{ self.walk.on_item_struct(node); visit::visit_item_struct(self, node); }' + occurrence: 0 + testSet: 1046 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_struct + mutator: stmt.delete_call + normalizedText: self.walk.on_item_struct(node); + occurrence: 0 + testSet: 1046 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_struct + mutator: stmt.delete_call + normalizedText: visit::visit_item_struct(self, node); + occurrence: 0 + testSet: 1046 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_use + mutator: fn_value.unit + normalizedText: '{ self.walk.on_item_use(node); visit::visit_item_use(self, node); }' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_use + mutator: stmt.delete_call + normalizedText: self.walk.on_item_use(node); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_item_use + mutator: stmt.delete_call + normalizedText: visit::visit_item_use(self, node); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_stmt + mutator: cond.always_false + normalizedText: '!self.cfg.skip_gate(stmt_attrs(node))' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_stmt + mutator: cond.always_true + normalizedText: '!self.cfg.skip_gate(stmt_attrs(node))' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_stmt + mutator: cond.negate + normalizedText: '!self.cfg.skip_gate(stmt_attrs(node))' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_stmt + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.skip_gate(stmt_attrs(node)) { visit::visit_stmt(self, node); } }' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_stmt + mutator: stmt.delete_call + normalizedText: visit::visit_stmt(self, node); + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_stmt + mutator: unary.remove_not + normalizedText: '!self.cfg.skip_gate(stmt_attrs(node))' + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item + mutator: cond.always_false + normalizedText: '!self.cfg.skip_gate(trait_item_attrs(node))' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item + mutator: cond.always_true + normalizedText: '!self.cfg.skip_gate(trait_item_attrs(node))' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item + mutator: cond.negate + normalizedText: '!self.cfg.skip_gate(trait_item_attrs(node))' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.skip_gate(trait_item_attrs(node)) { visit::visit_trait_item(self, node); } }' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item + mutator: stmt.delete_call + normalizedText: visit::visit_trait_item(self, node); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item + mutator: unary.remove_not + normalizedText: '!self.cfg.skip_gate(trait_item_attrs(node))' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item_const + mutator: fn_value.unit + normalizedText: '{ self.walk.declared(&node.ident.to_string(), &node.ty); visit::visit_trait_item_const(self, node); + }' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item_const + mutator: stmt.delete_call + normalizedText: self.walk.declared(&node.ident.to_string(), &node.ty); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item_const + mutator: stmt.delete_call + normalizedText: visit::visit_trait_item_const(self, node); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item_fn + mutator: fn_value.unit + normalizedText: '{ self.audit.on_trait_item_fn(node); visit::visit_trait_item_fn(self, node); }' + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item_fn + mutator: stmt.delete_call + normalizedText: self.audit.on_trait_item_fn(node); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: as Visit<'ast>>::visit_trait_item_fn + mutator: stmt.delete_call + normalizedText: visit::visit_trait_item_fn(self, node); + occurrence: 0 + testSet: 1044 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/phase_one.rs + item: run + mutator: stmt.delete_call + normalizedText: combined.visit_file(&file.ast); + occurrence: 0 + testSet: 1042 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: >::visit_expr_break + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1048 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: >::visit_expr_break + mutator: fn_value.unit + normalizedText: '{ self.found = true; }' + occurrence: 0 + testSet: 1048 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: >::visit_expr_break + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1048 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: >::visit_expr_break + mutator: stmt.delete_assign + normalizedText: self.found = true; + occurrence: 0 + testSet: 1048 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1049 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: cond.always_false + normalizedText: node.expr.is_some() && (node.label.is_none() && self.nested_loops == 0 || self.shadowed == 0 && self + .label .is_some_and(|root| node.label.as_ref().is_some_and(|label| label.ident == root.name.ident))) + occurrence: 0 + testSet: 1049 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: cond.always_true + normalizedText: node.expr.is_some() && (node.label.is_none() && self.nested_loops == 0 || self.shadowed == 0 && self + .label .is_some_and(|root| node.label.as_ref().is_some_and(|label| label.ident == root.name.ident))) + occurrence: 0 + testSet: 1049 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: cond.negate + normalizedText: node.expr.is_some() && (node.label.is_none() && self.nested_loops == 0 || self.shadowed == 0 && self + .label .is_some_and(|root| node.label.as_ref().is_some_and(|label| label.ident == root.name.ident))) + occurrence: 0 + testSet: 1049 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: fn_value.unit + normalizedText: '{ if node.expr.is_some() && (node.label.is_none() && self.nested_loops == 0 || self.shadowed == 0 && + self .label .is_some_and(|root| node.label.as_ref().is_some_and(|label| label.ident == root.name.ident))) { self.found + = true; } }' + occurrence: 0 + testSet: 1049 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1049 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1050 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: logical.and_to_or + normalizedText: node.expr.is_some() && (node.label.is_none() && self.nested_loops == 0 || self.shadowed == 0 && self + .label .is_some_and(|root| node.label.as_ref().is_some_and(|label| label.ident == root.name.ident))) + occurrence: 0 + testSet: 1049 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: logical.and_to_or + normalizedText: node.label.is_none() && self.nested_loops == 0 + occurrence: 0 + testSet: 1049 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: logical.and_to_or + normalizedText: self.shadowed == 0 && self .label .is_some_and(|root| node.label.as_ref().is_some_and(|label| label.ident + == root.name.ident)) + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: logical.or_to_and + normalizedText: node.label.is_none() && self.nested_loops == 0 || self.shadowed == 0 && self .label .is_some_and(|root| + node.label.as_ref().is_some_and(|label| label.ident == root.name.ident)) + occurrence: 0 + testSet: 1049 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: relational.eq_to_ne + normalizedText: label.ident == root.name.ident + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: relational.eq_to_ne + normalizedText: self.nested_loops == 0 + occurrence: 0 + testSet: 1050 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: relational.eq_to_ne + normalizedText: self.shadowed == 0 + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_break + mutator: stmt.delete_assign + normalizedText: self.found = true; + occurrence: 0 + testSet: 1049 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_for_loop + mutator: fn_value.unit + normalizedText: '{ self.enters(node.label.as_ref(), |visitor| visitor.visit_block(&node.body)); }' + occurrence: 0 + testSet: 1052 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_for_loop + mutator: stmt.delete_call + normalizedText: self.enters(node.label.as_ref(), |visitor| visitor.visit_block(&node.body)); + occurrence: 0 + testSet: 1052 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_loop + mutator: fn_value.unit + normalizedText: '{ self.enters(node.label.as_ref(), |visitor| visitor.visit_block(&node.body)); }' + occurrence: 0 + testSet: 1052 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_loop + mutator: stmt.delete_call + normalizedText: self.enters(node.label.as_ref(), |visitor| visitor.visit_block(&node.body)); + occurrence: 0 + testSet: 1052 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_while + mutator: fn_value.unit + normalizedText: '{ self.enters(node.label.as_ref(), |visitor| visitor.visit_block(&node.body)); }' + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: as Visit<'ast>>::visit_expr_while + mutator: stmt.delete_call + normalizedText: self.enters(node.label.as_ref(), |visitor| visitor.visit_block(&node.body)); + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: assign.add_to_sub + normalizedText: self.nested_loops += 1 + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: assign.add_to_sub + normalizedText: self.shadowed += usize::from(shadows) + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: assign.sub_to_add + normalizedText: self.nested_loops -= 1 + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: assign.sub_to_add + normalizedText: self.shadowed -= usize::from(shadows) + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: fn_value.unit + normalizedText: '{ let shadows = self.label.is_some_and(|root| label.is_some_and(|nested| nested.name == root.name)); + self.nested_loops += 1; self.shadowed += usize::from(shadows); body(self); self.shadowed -= usize::from(shadows); + self.nested_loops -= 1; }' + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: stmt.delete_assign + normalizedText: self.nested_loops += 1; + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: stmt.delete_assign + normalizedText: self.nested_loops -= 1; + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: stmt.delete_assign + normalizedText: self.shadowed += usize::from(shadows); + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: stmt.delete_assign + normalizedText: self.shadowed -= usize::from(shadows); + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: ValueBreak<'_>::enters + mutator: stmt.delete_call + normalizedText: body(self); + occurrence: 0 + testSet: 1051 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: binds_a_pattern + mutator: fn_value.bool_false + normalizedText: '{ match condition { Expr::Let(_) => true, Expr::Binary(binary) if matches!(binary.op, BinOp::And(_)) + => binds_a_pattern(&binary.left) || binds_a_pattern(&binary.right), Expr::Paren(paren) => binds_a_pattern(&paren.expr), + _ => false, } }' + occurrence: 0 + testSet: 1053 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: binds_a_pattern + mutator: fn_value.bool_true + normalizedText: '{ match condition { Expr::Let(_) => true, Expr::Binary(binary) if matches!(binary.op, BinOp::And(_)) + => binds_a_pattern(&binary.left) || binds_a_pattern(&binary.right), Expr::Paren(paren) => binds_a_pattern(&paren.expr), + _ => false, } }' + occurrence: 0 + testSet: 1053 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: binds_a_pattern + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1054 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: binds_a_pattern + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1055 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: binds_a_pattern + mutator: logical.or_to_and + normalizedText: binds_a_pattern(&binary.left) || binds_a_pattern(&binary.right) + occurrence: 0 + testSet: 1056 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: binds_a_pattern + mutator: match_arm.never_matches + normalizedText: Expr::Let(_) + occurrence: 0 + testSet: 1055 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: binds_a_pattern + mutator: match_arm.never_matches + normalizedText: Expr::Paren(paren) + occurrence: 0 + testSet: 1057 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: binds_a_pattern + mutator: match_guard.always_false + normalizedText: matches!(binary.op, BinOp::And(_)) + occurrence: 0 + testSet: 1058 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: binds_a_pattern + mutator: match_guard.always_true + normalizedText: matches!(binary.op, BinOp::And(_)) + occurrence: 0 + testSet: 1058 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: binds_a_pattern + mutator: match_guard.negate + normalizedText: matches!(binary.op, BinOp::And(_)) + occurrence: 0 + testSet: 1058 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: block_diverges + mutator: fn_value.bool_false + normalizedText: '{ match block.stmts.last() { Some(Stmt::Expr(expr, _semi)) => diverges(expr), Some(Stmt::Macro(node)) + => is_diverging_macro(&node.mac), _ => false, } }' + occurrence: 0 + testSet: 1059 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: block_diverges + mutator: fn_value.bool_true + normalizedText: '{ match block.stmts.last() { Some(Stmt::Expr(expr, _semi)) => diverges(expr), Some(Stmt::Macro(node)) + => is_diverging_macro(&node.mac), _ => false, } }' + occurrence: 0 + testSet: 1059 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: block_diverges + mutator: iter.last_to_first + normalizedText: block.stmts.last() + occurrence: 0 + testSet: 1059 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: block_diverges + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1060 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: block_diverges + mutator: match_arm.never_matches + normalizedText: Some(Stmt::Expr(expr, _semi)) + occurrence: 0 + testSet: 1061 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: block_diverges + mutator: match_arm.never_matches + normalizedText: Some(Stmt::Macro(node)) + occurrence: 0 + testSet: 1060 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: boolean_literal + mutator: fn_value.none + normalizedText: '{ match condition { Expr::Lit(ExprLit { lit: Lit::Bool(value), .. }) => Some(value.value), Expr::Paren(paren) + => boolean_literal(&paren.expr), _ => None, } }' + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: boolean_literal + mutator: match_arm.never_matches + normalizedText: 'Expr::Lit(ExprLit { lit: Lit::Bool(value), .. })' + occurrence: 0 + testSet: 1063 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: boolean_literal + mutator: match_arm.never_matches + normalizedText: Expr::Paren(paren) + occurrence: 0 + testSet: 1064 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: boolean_literal + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1065 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: boolean_literal + mutator: option.some_to_none + normalizedText: Some(value.value) + occurrence: 0 + testSet: 1063 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: callee_name + mutator: match_arm.never_matches + normalizedText: Expr::Paren(paren) + occurrence: 0 + testSet: 1066 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: callee_name + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1067 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: callee_path + mutator: fn_value.none + normalizedText: '{ match callee { Expr::Path(path) => Some(&path.path), Expr::Paren(paren) => callee_path(&paren.expr), + _ => None, } }' + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: callee_path + mutator: match_arm.never_matches + normalizedText: Expr::Paren(paren) + occurrence: 0 + testSet: 1069 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: callee_path + mutator: match_arm.never_matches + normalizedText: Expr::Path(path) + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: callee_path + mutator: option.some_to_none + normalizedText: Some(&path.path) + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: callee_type + mutator: fn_value.none + normalizedText: '{ match callee { Expr::Path(path) => { let mut segments = path.path.segments.iter().rev(); let _last + = segments.next()?; segments.next().map(|segment| segment.ident.to_string()) } Expr::Paren(paren) => callee_type(&paren.expr), + _ => None, } }' + occurrence: 0 + testSet: 1070 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: callee_type + mutator: match_arm.never_matches + normalizedText: Expr::Paren(paren) + occurrence: 0 + testSet: 1071 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: callee_type + mutator: match_arm.never_matches + normalizedText: Expr::Path(path) + occurrence: 0 + testSet: 1070 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: callee_type + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1067 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: declared_name + mutator: fn_value.none + normalizedText: '{ match pat { Pat::Type(typed) => declared_name(&typed.pat), Pat::Ident(ident) if ident.subpat.is_none() + => Some(ident.ident.to_string()), _ => None, } }' + occurrence: 0 + testSet: 1072 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: declared_name + mutator: match_arm.never_matches + normalizedText: Pat::Type(typed) + occurrence: 0 + testSet: 1073 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: declared_name + mutator: match_guard.always_false + normalizedText: ident.subpat.is_none() + occurrence: 0 + testSet: 1074 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: declared_name + mutator: match_guard.always_true + normalizedText: ident.subpat.is_none() + occurrence: 0 + testSet: 1074 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: declared_name + mutator: match_guard.negate + normalizedText: ident.subpat.is_none() + occurrence: 0 + testSet: 1074 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: declared_name + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1075 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: declared_name + mutator: option.some_to_none + normalizedText: Some(ident.ident.to_string()) + occurrence: 0 + testSet: 1074 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: fn_value.bool_false + normalizedText: '{ match expression { Expr::Return(_) | Expr::Break(_) | Expr::Continue(_) => true, Expr::Macro(node) + => is_diverging_macro(&node.mac), Expr::Loop(node) => !has_break(&node.body), Expr::Paren(ExprParen { expr, .. }) + | Expr::Group(ExprGroup { expr, .. }) => diverges(expr), Expr::Block(ExprBlock { block, .. }) | Expr::Unsafe(ExprUnsafe + { block, .. }) => block_diverges(block), Expr::If(node) => node .else_branch .as_ref() .is_some_and(|(_else, otherwise)| + block_diverges(&node.then_branch) && diverges(otherwise)), Expr::Match(node) => !node.arms.is_empty() && node.arms.iter().all(|arm| + diverges(&arm.body)), _ => false, } }' + occurrence: 0 + testSet: 1076 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: fn_value.bool_true + normalizedText: '{ match expression { Expr::Return(_) | Expr::Break(_) | Expr::Continue(_) => true, Expr::Macro(node) + => is_diverging_macro(&node.mac), Expr::Loop(node) => !has_break(&node.body), Expr::Paren(ExprParen { expr, .. }) + | Expr::Group(ExprGroup { expr, .. }) => diverges(expr), Expr::Block(ExprBlock { block, .. }) | Expr::Unsafe(ExprUnsafe + { block, .. }) => block_diverges(block), Expr::If(node) => node .else_branch .as_ref() .is_some_and(|(_else, otherwise)| + block_diverges(&node.then_branch) && diverges(otherwise)), Expr::Match(node) => !node.arms.is_empty() && node.arms.iter().all(|arm| + diverges(&arm.body)), _ => false, } }' + occurrence: 0 + testSet: 1076 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: iter.all_to_any + normalizedText: node.arms.iter().all(|arm| diverges(&arm.body)) + occurrence: 0 + testSet: 1077 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1078 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1079 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: logical.and_to_or + normalizedText: '!node.arms.is_empty() && node.arms.iter().all(|arm| diverges(&arm.body))' + occurrence: 0 + testSet: 1077 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: logical.and_to_or + normalizedText: block_diverges(&node.then_branch) && diverges(otherwise) + occurrence: 0 + testSet: 1061 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: match_arm.never_matches + normalizedText: Expr::Block(ExprBlock { block, .. }) | Expr::Unsafe(ExprUnsafe { block, .. }) + occurrence: 0 + testSet: 1080 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: match_arm.never_matches + normalizedText: Expr::If(node) + occurrence: 0 + testSet: 1061 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: match_arm.never_matches + normalizedText: Expr::Loop(node) + occurrence: 0 + testSet: 1081 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: match_arm.never_matches + normalizedText: Expr::Macro(node) + occurrence: 0 + testSet: 1080 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: match_arm.never_matches + normalizedText: Expr::Match(node) + occurrence: 0 + testSet: 1077 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: match_arm.never_matches + normalizedText: Expr::Paren(ExprParen { expr, .. }) | Expr::Group(ExprGroup { expr, .. }) + occurrence: 0 + testSet: 1082 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: match_arm.never_matches + normalizedText: Expr::Return(_) | Expr::Break(_) | Expr::Continue(_) + occurrence: 0 + testSet: 1079 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: unary.remove_not + normalizedText: '!has_break(&node.body)' + occurrence: 0 + testSet: 1081 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: diverges + mutator: unary.remove_not + normalizedText: '!node.arms.is_empty()' + occurrence: 0 + testSet: 1077 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: has_break + mutator: fn_value.bool_false + normalizedText: '{ let mut finder = BreakFinder { found: false }; finder.visit_block(block); finder.found }' + occurrence: 0 + testSet: 1081 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: has_break + mutator: fn_value.bool_true + normalizedText: '{ let mut finder = BreakFinder { found: false }; finder.visit_block(block); finder.found }' + occurrence: 0 + testSet: 1081 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: has_break + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1081 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: has_break + mutator: stmt.delete_call + normalizedText: finder.visit_block(block); + occurrence: 0 + testSet: 1081 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_binding_case + mutator: fn_value.bool_false + normalizedText: '{ name.starts_with(|first: char| first == ''_'' || first.is_lowercase()) }' + occurrence: 0 + testSet: 1083 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_binding_case + mutator: fn_value.bool_true + normalizedText: '{ name.starts_with(|first: char| first == ''_'' || first.is_lowercase()) }' + occurrence: 0 + testSet: 1083 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_binding_case + mutator: logical.or_to_and + normalizedText: first == '_' || first.is_lowercase() + occurrence: 0 + testSet: 1083 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_binding_case + mutator: relational.eq_to_ne + normalizedText: first == '_' + occurrence: 0 + testSet: 1083 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_binding_case + mutator: string.starts_with_to_ends_with + normalizedText: 'name.starts_with(|first: char| first == ''_'' || first.is_lowercase())' + occurrence: 0 + testSet: 1083 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_capacity_result + mutator: fn_value.bool_false + normalizedText: '{ match expression { Expr::Call(call) => callee_name(&call.func).is_some_and(|name| is_capacity_call(&name)), + Expr::MethodCall(call) => is_capacity_call(&call.method.to_string()), Expr::Paren(paren) => is_capacity_result(&paren.expr), + _ => false, } }' + occurrence: 0 + testSet: 1084 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_capacity_result + mutator: fn_value.bool_true + normalizedText: '{ match expression { Expr::Call(call) => callee_name(&call.func).is_some_and(|name| is_capacity_call(&name)), + Expr::MethodCall(call) => is_capacity_call(&call.method.to_string()), Expr::Paren(paren) => is_capacity_result(&paren.expr), + _ => false, } }' + occurrence: 0 + testSet: 1084 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_capacity_result + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1085 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_capacity_result + mutator: match_arm.never_matches + normalizedText: Expr::Call(call) + occurrence: 0 + testSet: 1086 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_capacity_result + mutator: match_arm.never_matches + normalizedText: Expr::MethodCall(call) + occurrence: 0 + testSet: 1067 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_capacity_result + mutator: match_arm.never_matches + normalizedText: Expr::Paren(paren) + occurrence: 0 + testSet: 1082 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_catch_all + mutator: fn_value.bool_false + normalizedText: '{ match pat { Pat::Wild(_) => true, Pat::Ident(binding) => binding.subpat.is_none() && is_binding_case(&binding.ident.to_string()), + Pat::Paren(paren) => is_catch_all(&paren.pat), _ => false, } }' + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_catch_all + mutator: fn_value.bool_true + normalizedText: '{ match pat { Pat::Wild(_) => true, Pat::Ident(binding) => binding.subpat.is_none() && is_binding_case(&binding.ident.to_string()), + Pat::Paren(paren) => is_catch_all(&paren.pat), _ => false, } }' + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_catch_all + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1088 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_catch_all + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1089 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_catch_all + mutator: logical.and_to_or + normalizedText: binding.subpat.is_none() && is_binding_case(&binding.ident.to_string()) + occurrence: 0 + testSet: 1083 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_catch_all + mutator: match_arm.never_matches + normalizedText: Pat::Ident(binding) + occurrence: 0 + testSet: 1083 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_catch_all + mutator: match_arm.never_matches + normalizedText: Pat::Paren(paren) + occurrence: 0 + testSet: 1090 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_catch_all + mutator: match_arm.never_matches + normalizedText: Pat::Wild(_) + occurrence: 0 + testSet: 1089 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_constant_case + mutator: fn_value.bool_false + normalizedText: '{ name.chars().any(|character| character.is_ascii_uppercase()) && !name.chars().any(char::is_lowercase) + }' + occurrence: 0 + testSet: 1091 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_constant_case + mutator: fn_value.bool_true + normalizedText: '{ name.chars().any(|character| character.is_ascii_uppercase()) && !name.chars().any(char::is_lowercase) + }' + occurrence: 0 + testSet: 1091 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_constant_case + mutator: iter.any_to_all + normalizedText: name.chars().any(char::is_lowercase) + occurrence: 0 + testSet: 1092 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_constant_case + mutator: iter.any_to_all + normalizedText: name.chars().any(|character| character.is_ascii_uppercase()) + occurrence: 0 + testSet: 1091 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_constant_case + mutator: logical.and_to_or + normalizedText: name.chars().any(|character| character.is_ascii_uppercase()) && !name.chars().any(char::is_lowercase) + occurrence: 0 + testSet: 1091 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_constant_case + mutator: unary.remove_not + normalizedText: '!name.chars().any(char::is_lowercase)' + occurrence: 0 + testSet: 1092 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_default_call + mutator: fn_value.bool_false + normalizedText: '{ match expression { Expr::Call(call) if call.args.is_empty() => { callee_path(&call.func).is_some_and(|path| + is_standard_default_callee(path, defaults, defaulted_types)) } Expr::Paren(paren) => is_default_call(&paren.expr, + defaults, defaulted_types), _ => false, } }' + occurrence: 0 + testSet: 1093 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_default_call + mutator: fn_value.bool_true + normalizedText: '{ match expression { Expr::Call(call) if call.args.is_empty() => { callee_path(&call.func).is_some_and(|path| + is_standard_default_callee(path, defaults, defaulted_types)) } Expr::Paren(paren) => is_default_call(&paren.expr, + defaults, defaulted_types), _ => false, } }' + occurrence: 0 + testSet: 1093 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_default_call + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1094 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_default_call + mutator: match_arm.never_matches + normalizedText: Expr::Paren(paren) + occurrence: 0 + testSet: 1095 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_default_call + mutator: match_guard.always_false + normalizedText: call.args.is_empty() + occurrence: 0 + testSet: 1096 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_default_call + mutator: match_guard.always_true + normalizedText: call.args.is_empty() + occurrence: 0 + testSet: 1096 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_default_call + mutator: match_guard.negate + normalizedText: call.args.is_empty() + occurrence: 0 + testSet: 1096 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_diagnostic_message + mutator: fn_value.bool_false + normalizedText: '{ arity == 1 && matches!(name, "expect" | "expect_err") }' + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_diagnostic_message + mutator: fn_value.bool_true + normalizedText: '{ arity == 1 && matches!(name, "expect" | "expect_err") }' + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_diagnostic_message + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_diagnostic_message + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_diagnostic_message + mutator: logical.and_to_or + normalizedText: arity == 1 && matches!(name, "expect" | "expect_err") + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_diagnostic_message + mutator: relational.eq_to_ne + normalizedText: arity == 1 + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_diverging_macro + mutator: fn_value.bool_false + normalizedText: '{ mac.path.segments.last().is_some_and(|segment| { matches!( segment.ident.to_string().as_str(), "panic" + | "unreachable" | "todo" | "unimplemented" ) }) }' + occurrence: 0 + testSet: 1098 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_diverging_macro + mutator: fn_value.bool_true + normalizedText: '{ mac.path.segments.last().is_some_and(|segment| { matches!( segment.ident.to_string().as_str(), "panic" + | "unreachable" | "todo" | "unimplemented" ) }) }' + occurrence: 0 + testSet: 1098 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_diverging_macro + mutator: iter.last_to_first + normalizedText: mac.path.segments.last() + occurrence: 0 + testSet: 1098 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_int_literal + mutator: fn_value.bool_false + normalizedText: '{ match expression { Expr::Lit(literal) => matches!(literal.lit, Lit::Int(_)), Expr::Paren(paren) => + is_int_literal(&paren.expr), _ => false, } }' + occurrence: 0 + testSet: 1099 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_int_literal + mutator: fn_value.bool_true + normalizedText: '{ match expression { Expr::Lit(literal) => matches!(literal.lit, Lit::Int(_)), Expr::Paren(paren) => + is_int_literal(&paren.expr), _ => false, } }' + occurrence: 0 + testSet: 1099 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_int_literal + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1099 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_int_literal + mutator: match_arm.never_matches + normalizedText: Expr::Lit(literal) + occurrence: 0 + testSet: 1100 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_int_literal + mutator: match_arm.never_matches + normalizedText: Expr::Paren(paren) + occurrence: 0 + testSet: 1101 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_integer_zero_literal + mutator: fn_value.bool_false + normalizedText: '{ match expression { Expr::Lit(ExprLit { lit: Lit::Int(value), .. }) => value.base10_digits() == "0", + Expr::Paren(paren) => is_integer_zero_literal(&paren.expr), _ => false, } }' + occurrence: 0 + testSet: 1102 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_integer_zero_literal + mutator: fn_value.bool_true + normalizedText: '{ match expression { Expr::Lit(ExprLit { lit: Lit::Int(value), .. }) => value.base10_digits() == "0", + Expr::Paren(paren) => is_integer_zero_literal(&paren.expr), _ => false, } }' + occurrence: 0 + testSet: 1102 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_integer_zero_literal + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1103 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_integer_zero_literal + mutator: literal.str_to_empty + normalizedText: '"0"' + occurrence: 0 + testSet: 1104 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_integer_zero_literal + mutator: literal.str_to_xyzzy + normalizedText: '"0"' + occurrence: 0 + testSet: 1104 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_integer_zero_literal + mutator: match_arm.never_matches + normalizedText: 'Expr::Lit(ExprLit { lit: Lit::Int(value), .. })' + occurrence: 0 + testSet: 1104 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_integer_zero_literal + mutator: match_arm.never_matches + normalizedText: Expr::Paren(paren) + occurrence: 0 + testSet: 1105 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_integer_zero_literal + mutator: relational.eq_to_ne + normalizedText: value.base10_digits() == "0" + occurrence: 0 + testSet: 1104 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_numeric_binding + mutator: match_arm.never_matches + normalizedText: Type::Reference(reference) + occurrence: 0 + testSet: 1106 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_numeric_receiver + mutator: fn_value.bool_false + normalizedText: '{ matches!( method, "saturating_add" | "saturating_sub" | "saturating_mul" | "wrapping_add" | "wrapping_sub" + | "wrapping_mul" | "checked_add" | "checked_sub" | "checked_mul" | "checked_div" | "abs" | "signum" | "pow" | "rem_euclid" + | "div_euclid" | "count_ones" | "count_zeros" | "leading_zeros" | "trailing_zeros" | "is_power_of_two" | "next_power_of_two" + | "to_le_bytes" | "to_be_bytes" ) }' + occurrence: 0 + testSet: 1107 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_numeric_receiver + mutator: fn_value.bool_true + normalizedText: '{ matches!( method, "saturating_add" | "saturating_sub" | "saturating_mul" | "wrapping_add" | "wrapping_sub" + | "wrapping_mul" | "checked_add" | "checked_sub" | "checked_mul" | "checked_div" | "abs" | "signum" | "pow" | "rem_euclid" + | "div_euclid" | "count_ones" | "count_zeros" | "leading_zeros" | "trailing_zeros" | "is_power_of_two" | "next_power_of_two" + | "to_le_bytes" | "to_be_bytes" ) }' + occurrence: 0 + testSet: 1107 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_numeric_return + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1108 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_numeric_type + mutator: fn_value.bool_false + normalizedText: '{ matches!( name, "u8" | "u16" | "u32" | "u64" | "u128" | "usize" | "i8" | "i16" | "i32" | "i64" | + "i128" | "isize" | "f32" | "f64" | "NonZeroU8" | "NonZeroU16" | "NonZeroU32" | "NonZeroU64" | "NonZeroUsize" ) }' + occurrence: 0 + testSet: 1109 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_numeric_type + mutator: fn_value.bool_true + normalizedText: '{ matches!( name, "u8" | "u16" | "u32" | "u64" | "u128" | "usize" | "i8" | "i16" | "i32" | "i64" | + "i128" | "isize" | "f32" | "f64" | "NonZeroU8" | "NonZeroU16" | "NonZeroU32" | "NonZeroU64" | "NonZeroUsize" ) }' + occurrence: 0 + testSet: 1109 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: fn_value.bool_false + normalizedText: '{ match expression { Expr::Lit(_) | Expr::Path(_) => true, Expr::Array(array) => array.elems.iter().all(is_promotable), + Expr::Tuple(tuple) => tuple.elems.iter().all(is_promotable), Expr::Repeat(repeat) => is_promotable(&repeat.expr), + Expr::Reference(reference) => is_promotable(&reference.expr), Expr::Unary(unary) => matches!(unary.op, UnOp::Neg(_)) + && is_promotable(&unary.expr), Expr::Paren(paren) => is_promotable(&paren.expr), _ => false, } }' + occurrence: 0 + testSet: 1110 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: fn_value.bool_true + normalizedText: '{ match expression { Expr::Lit(_) | Expr::Path(_) => true, Expr::Array(array) => array.elems.iter().all(is_promotable), + Expr::Tuple(tuple) => tuple.elems.iter().all(is_promotable), Expr::Repeat(repeat) => is_promotable(&repeat.expr), + Expr::Reference(reference) => is_promotable(&reference.expr), Expr::Unary(unary) => matches!(unary.op, UnOp::Neg(_)) + && is_promotable(&unary.expr), Expr::Paren(paren) => is_promotable(&paren.expr), _ => false, } }' + occurrence: 0 + testSet: 1110 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: iter.all_to_any + normalizedText: array.elems.iter().all(is_promotable) + occurrence: 0 + testSet: 1111 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: iter.all_to_any + normalizedText: tuple.elems.iter().all(is_promotable) + occurrence: 0 + testSet: 1112 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1113 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1114 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: logical.and_to_or + normalizedText: matches!(unary.op, UnOp::Neg(_)) && is_promotable(&unary.expr) + occurrence: 0 + testSet: 1112 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: match_arm.never_matches + normalizedText: Expr::Array(array) + occurrence: 0 + testSet: 1111 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: match_arm.never_matches + normalizedText: Expr::Lit(_) | Expr::Path(_) + occurrence: 0 + testSet: 1114 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: match_arm.never_matches + normalizedText: Expr::Paren(paren) + occurrence: 0 + testSet: 1112 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: match_arm.never_matches + normalizedText: Expr::Reference(reference) + occurrence: 0 + testSet: 1112 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: match_arm.never_matches + normalizedText: Expr::Repeat(repeat) + occurrence: 0 + testSet: 1112 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: match_arm.never_matches + normalizedText: Expr::Tuple(tuple) + occurrence: 0 + testSet: 1112 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_promotable + mutator: match_arm.never_matches + normalizedText: Expr::Unary(unary) + occurrence: 0 + testSet: 1112 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: cond.always_false + normalizedText: defaults.is_standard_default_callee(path) + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: cond.always_false + normalizedText: method.ident != "default" || path.segments.len() < 2 + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: cond.always_false + normalizedText: path.segments.len() == 2 + occurrence: 0 + testSet: 1115 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: cond.always_true + normalizedText: defaults.is_standard_default_callee(path) + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: cond.always_true + normalizedText: method.ident != "default" || path.segments.len() < 2 + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: cond.always_true + normalizedText: path.segments.len() == 2 + occurrence: 0 + testSet: 1115 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: cond.negate + normalizedText: defaults.is_standard_default_callee(path) + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: cond.negate + normalizedText: method.ident != "default" || path.segments.len() < 2 + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: cond.negate + normalizedText: path.segments.len() == 2 + occurrence: 0 + testSet: 1115 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: fn_value.bool_false + normalizedText: '{ let Some(method) = path.segments.last() else { return false; }; if method.ident != "default" || path.segments.len() + < 2 { return false; } if defaults.is_standard_default_callee(path) { return true; } if path.segments.len() == 2 { + let qualifier = path.segments.first().expect("the path length was checked to contain two segments"); let qualifier + = qualifier.ident.to_string(); return defaulted_types.iter().any(|name| name == &qualifier); } false }' + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: fn_value.bool_true + normalizedText: '{ let Some(method) = path.segments.last() else { return false; }; if method.ident != "default" || path.segments.len() + < 2 { return false; } if defaults.is_standard_default_callee(path) { return true; } if path.segments.len() == 2 { + let qualifier = path.segments.first().expect("the path length was checked to contain two segments"); let qualifier + = qualifier.ident.to_string(); return defaulted_types.iter().any(|name| name == &qualifier); } false }' + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: iter.any_to_all + normalizedText: defaulted_types.iter().any(|name| name == &qualifier) + occurrence: 0 + testSet: 1115 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: iter.first_to_last + normalizedText: path.segments.first() + occurrence: 0 + testSet: 1115 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: iter.last_to_first + normalizedText: path.segments.last() + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1116 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1116 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 1117 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1118 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 1 + testSet: 1115 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: literal.int_increment + normalizedText: '2' + occurrence: 1 + testSet: 1115 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 1 + testSet: 1115 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: literal.str_to_empty + normalizedText: '"default"' + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: literal.str_to_xyzzy + normalizedText: '"default"' + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: logical.or_to_and + normalizedText: method.ident != "default" || path.segments.len() < 2 + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: relational.eq_to_ne + normalizedText: name == &qualifier + occurrence: 0 + testSet: 1119 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: relational.eq_to_ne + normalizedText: path.segments.len() == 2 + occurrence: 0 + testSet: 1115 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: relational.lt_to_gt + normalizedText: path.segments.len() < 2 + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: relational.lt_to_le + normalizedText: path.segments.len() < 2 + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_standard_default_callee + mutator: relational.ne_to_eq + normalizedText: method.ident != "default" + occurrence: 0 + testSet: 1068 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: fn_value.bool_false + normalizedText: '{ match expression { Expr::Lit(literal) => matches!(literal.lit, Lit::Str(_) | Lit::ByteStr(_) | Lit::Char(_) + | Lit::Byte(_)), Expr::Macro(macro_call) => macro_call .mac .path .segments .last() .is_some_and(|segment| matches!(segment.ident.to_string().as_str(), + "format" | "concat" | "stringify")), Expr::MethodCall(call) => { let method = call.method.to_string(); returns_text(&method) + || (matches!(method.as_str(), "min" | "max" | "clamp") && is_textual(&call.receiver)) } Expr::Call(call) => callee_type(&call.func).is_some_and(|name| + matches!(name.as_str(), "String" | "str" | "OsString" | "PathBuf")), Expr::Binary(binary) => matches!(binary.op, BinOp::Add(_)) + && (is_textual(&binary.left) || is_textual(&binary.right)), Expr::Paren(paren) => is_textual(&paren.expr), Expr::Reference(reference) + => is_textual(&reference.expr), _ => false, } }' + occurrence: 0 + testSet: 1120 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: fn_value.bool_true + normalizedText: '{ match expression { Expr::Lit(literal) => matches!(literal.lit, Lit::Str(_) | Lit::ByteStr(_) | Lit::Char(_) + | Lit::Byte(_)), Expr::Macro(macro_call) => macro_call .mac .path .segments .last() .is_some_and(|segment| matches!(segment.ident.to_string().as_str(), + "format" | "concat" | "stringify")), Expr::MethodCall(call) => { let method = call.method.to_string(); returns_text(&method) + || (matches!(method.as_str(), "min" | "max" | "clamp") && is_textual(&call.receiver)) } Expr::Call(call) => callee_type(&call.func).is_some_and(|name| + matches!(name.as_str(), "String" | "str" | "OsString" | "PathBuf")), Expr::Binary(binary) => matches!(binary.op, BinOp::Add(_)) + && (is_textual(&binary.left) || is_textual(&binary.right)), Expr::Paren(paren) => is_textual(&paren.expr), Expr::Reference(reference) + => is_textual(&reference.expr), _ => false, } }' + occurrence: 0 + testSet: 1120 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: iter.last_to_first + normalizedText: macro_call .mac .path .segments .last() + occurrence: 0 + testSet: 1121 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1122 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: logical.and_to_or + normalizedText: matches!(binary.op, BinOp::Add(_)) && (is_textual(&binary.left) || is_textual(&binary.right)) + occurrence: 0 + testSet: 1123 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: logical.and_to_or + normalizedText: matches!(method.as_str(), "min" | "max" | "clamp") && is_textual(&call.receiver) + occurrence: 0 + testSet: 1121 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: logical.or_to_and + normalizedText: is_textual(&binary.left) || is_textual(&binary.right) + occurrence: 0 + testSet: 1124 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: logical.or_to_and + normalizedText: returns_text(&method) || (matches!(method.as_str(), "min" | "max" | "clamp") && is_textual(&call.receiver)) + occurrence: 0 + testSet: 1121 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: match_arm.never_matches + normalizedText: Expr::Binary(binary) + occurrence: 0 + testSet: 1123 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: match_arm.never_matches + normalizedText: Expr::Call(call) + occurrence: 0 + testSet: 1125 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: match_arm.never_matches + normalizedText: Expr::Lit(literal) + occurrence: 0 + testSet: 1126 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: match_arm.never_matches + normalizedText: Expr::Macro(macro_call) + occurrence: 0 + testSet: 1121 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: match_arm.never_matches + normalizedText: Expr::MethodCall(call) + occurrence: 0 + testSet: 1121 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: match_arm.never_matches + normalizedText: Expr::Paren(paren) + occurrence: 0 + testSet: 1127 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: is_textual + mutator: match_arm.never_matches + normalizedText: Expr::Reference(reference) + occurrence: 0 + testSet: 1121 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: loop_produces_value + mutator: fn_value.bool_false + normalizedText: '{ let mut visitor = ValueBreak { label: node.label.as_ref(), nested_loops: 0, shadowed: 0, found: false, + }; visitor.visit_block(&node.body); visitor.found }' + occurrence: 0 + testSet: 1128 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: loop_produces_value + mutator: fn_value.bool_true + normalizedText: '{ let mut visitor = ValueBreak { label: node.label.as_ref(), nested_loops: 0, shadowed: 0, found: false, + }; visitor.visit_block(&node.body); visitor.found }' + occurrence: 0 + testSet: 1128 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: loop_produces_value + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1128 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: loop_produces_value + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1128 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: loop_produces_value + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1128 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: loop_produces_value + mutator: stmt.delete_call + normalizedText: visitor.visit_block(&node.body); + occurrence: 0 + testSet: 1128 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: payload + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1129 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: payload + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1129 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: payload + mutator: fn_value.none + normalizedText: '{ let Type::Path(path) = strip(ty) else { return None; }; let PathArguments::AngleBracketed(args) = + &path.path.segments.last()?.arguments else { return None; }; args.args .iter() .filter_map(|arg| match arg { GenericArgument::Type(ty) + => Some(ty), _ => None, }) .nth(index) }' + occurrence: 0 + testSet: 1130 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: payload + mutator: iter.last_to_first + normalizedText: path.path.segments.last() + occurrence: 0 + testSet: 1131 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: payload + mutator: match_arm.never_matches + normalizedText: GenericArgument::Type(ty) + occurrence: 0 + testSet: 1129 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: payload + mutator: option.some_to_none + normalizedText: Some(ty) + occurrence: 0 + testSet: 1129 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: returns_numeric + mutator: fn_value.bool_false + normalizedText: '{ matches!( method, "len" | "count" | "capacity" | "abs" | "signum" | "pow" | "min" | "max" | "clamp" + | "saturating_add" | "saturating_sub" | "saturating_mul" | "wrapping_add" | "wrapping_sub" | "wrapping_mul" | "as_millis" + | "as_micros" | "as_nanos" | "as_secs" | "subsec_millis" | "subsec_nanos" | "elapsed_secs" | "leading_zeros" | "trailing_zeros" + | "count_ones" | "count_zeros" ) }' + occurrence: 0 + testSet: 1132 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: returns_numeric + mutator: fn_value.bool_true + normalizedText: '{ matches!( method, "len" | "count" | "capacity" | "abs" | "signum" | "pow" | "min" | "max" | "clamp" + | "saturating_add" | "saturating_sub" | "saturating_mul" | "wrapping_add" | "wrapping_sub" | "wrapping_mul" | "as_millis" + | "as_micros" | "as_nanos" | "as_secs" | "subsec_millis" | "subsec_nanos" | "elapsed_secs" | "leading_zeros" | "trailing_zeros" + | "count_ones" | "count_zeros" ) }' + occurrence: 0 + testSet: 1132 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: returns_text + mutator: fn_value.bool_false + normalizedText: '{ matches!( method, "to_string" | "to_owned" | "to_uppercase" | "to_lowercase" | "to_ascii_uppercase" + | "to_ascii_lowercase" | "to_string_lossy" | "into_string" | "concat" | "join" | "repeat" | "escape_debug" | "escape_default" + ) }' + occurrence: 0 + testSet: 1133 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/predicates.rs + item: returns_text + mutator: fn_value.bool_true + normalizedText: '{ matches!( method, "to_string" | "to_owned" | "to_uppercase" | "to_lowercase" | "to_ascii_uppercase" + | "to_ascii_lowercase" | "to_string_lossy" | "into_string" | "concat" | "join" | "repeat" | "escape_debug" | "escape_default" + ) }' + occurrence: 0 + testSet: 1133 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: in_place_reorder + mutator: fn_value.none + normalizedText: '{ let Expr::MethodCall(call) = expression else { return None; }; match call.method.to_string().as_str() + { "sort" | "sort_by" | "sort_by_key" | "sort_unstable" | "sort_unstable_by" | "sort_unstable_by_key" => Some("iter.remove_sort"), + "dedup" | "dedup_by" | "dedup_by_key" => Some("iter.remove_dedup"), _ => None, } }' + occurrence: 0 + testSet: 1134 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: in_place_reorder + mutator: literal.str_to_empty + normalizedText: '"iter.remove_dedup"' + occurrence: 0 + testSet: 1135 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: in_place_reorder + mutator: literal.str_to_empty + normalizedText: '"iter.remove_sort"' + occurrence: 0 + testSet: 1135 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: in_place_reorder + mutator: literal.str_to_xyzzy + normalizedText: '"iter.remove_dedup"' + occurrence: 0 + testSet: 1135 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: in_place_reorder + mutator: literal.str_to_xyzzy + normalizedText: '"iter.remove_sort"' + occurrence: 0 + testSet: 1135 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: in_place_reorder + mutator: match_arm.never_matches + normalizedText: '"dedup" | "dedup_by" | "dedup_by_key"' + occurrence: 0 + testSet: 1135 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: in_place_reorder + mutator: match_arm.never_matches + normalizedText: '"sort" | "sort_by" | "sort_by_key" | "sort_unstable" | "sort_unstable_by" | "sort_unstable_by_key"' + occurrence: 0 + testSet: 1135 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: in_place_reorder + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1136 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: in_place_reorder + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1137 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: in_place_reorder + mutator: option.some_to_none + normalizedText: Some("iter.remove_dedup") + occurrence: 0 + testSet: 1135 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: in_place_reorder + mutator: option.some_to_none + normalizedText: Some("iter.remove_sort") + occurrence: 0 + testSet: 1135 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: fn_value.none + normalizedText: '{ let swaps: &''static [(&''static str, &''static str)] = match (method, arity) { ("any", 1) => &[("iter.any_to_all", + "all")], ("all", 1) => &[("iter.all_to_any", "any")], ("min", 0 | 1) => &[("iter.min_to_max", "max")], ("max", 0 | + 1) => &[("iter.max_to_min", "min")], ("first", 0) => &[("iter.first_to_last", "last")], ("last", 0) => &[("iter.last_to_first", + "first")], ("starts_with", 1) => &[("string.starts_with_to_ends_with", "ends_with")], ("ends_with", 1) => &[("string.ends_with_to_starts_with", + "starts_with")], ("to_lowercase", 0) => &[("string.lower_to_upper", "to_uppercase")], ("to_uppercase", 0) => &[("string.upper_to_lower", + "to_lowercase")], ("to_ascii_lowercase", 0) => &[("string.lower_to_upper", "to_ascii_uppercase")], ("to_ascii_uppercase", + 0) => &[("string.upper_to_lower", "to_ascii_lowercase")], ("trim_start", 0) => &[("string.trim_start_to_trim_end", + "trim_end")], ("trim_end", 0) => &[("string.trim_end_to_trim_start", "trim_start")], _ => return None, }; Some(swaps) + }' + occurrence: 0 + testSet: 1138 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("all", 1) + occurrence: 0 + testSet: 1139 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("any", 1) + occurrence: 0 + testSet: 1140 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("ends_with", 1) + occurrence: 0 + testSet: 1139 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("first", 0) + occurrence: 0 + testSet: 1141 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("last", 0) + occurrence: 0 + testSet: 1139 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("max", 0 | 1) + occurrence: 0 + testSet: 1139 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("min", 0 | 1) + occurrence: 0 + testSet: 1142 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("starts_with", 1) + occurrence: 0 + testSet: 1143 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("to_ascii_lowercase", 0) + occurrence: 0 + testSet: 1144 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("to_ascii_uppercase", 0) + occurrence: 0 + testSet: 1145 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("to_lowercase", 0) + occurrence: 0 + testSet: 1139 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("to_uppercase", 0) + occurrence: 0 + testSet: 1139 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("trim_end", 0) + occurrence: 0 + testSet: 1139 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: match_arm.never_matches + normalizedText: ("trim_start", 0) + occurrence: 0 + testSet: 1139 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1146 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/tables.rs + item: method_renames + mutator: option.some_to_none + normalizedText: Some(swaps) + occurrence: 0 + testSet: 1147 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::concrete_self_associated_type + mutator: fn_value.none + normalizedText: '{ let Type::Path(path) = strip(ty) else { return None; }; let mut segments = path.path.segments.iter(); + let (Some(root), Some(name), None) = (segments.next(), segments.next(), segments.next()) else { return None; }; (path.qself.is_none() + && root.ident == "Self") .then(|| self.self_associated?.get(&name.ident.to_string())) .flatten() }' + occurrence: 0 + testSet: 1148 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::concrete_self_associated_type + mutator: literal.str_to_empty + normalizedText: '"Self"' + occurrence: 0 + testSet: 1149 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::concrete_self_associated_type + mutator: literal.str_to_xyzzy + normalizedText: '"Self"' + occurrence: 0 + testSet: 1149 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::concrete_self_associated_type + mutator: logical.and_to_or + normalizedText: path.qself.is_none() && root.ident == "Self" + occurrence: 0 + testSet: 1149 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::concrete_self_associated_type + mutator: relational.eq_to_ne + normalizedText: root.ident == "Self" + occurrence: 0 + testSet: 1149 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::concrete_self_type + mutator: fn_value.none + normalizedText: '{ let Type::Path(path) = strip(ty) else { return None; }; (path.qself.is_none() && path.path.is_ident("Self")) + .then_some(self.self_type) .flatten() }' + occurrence: 0 + testSet: 1150 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::concrete_self_type + mutator: literal.str_to_empty + normalizedText: '"Self"' + occurrence: 0 + testSet: 1151 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::concrete_self_type + mutator: literal.str_to_xyzzy + normalizedText: '"Self"' + occurrence: 0 + testSet: 1151 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::concrete_self_type + mutator: logical.and_to_or + normalizedText: path.qself.is_none() && path.path.is_ident("Self") + occurrence: 0 + testSet: 1151 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_fmt_result + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1152 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_fmt_result + mutator: literal.str_to_empty + normalizedText: '"fmt"' + occurrence: 0 + testSet: 1153 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_fmt_result + mutator: literal.str_to_xyzzy + normalizedText: '"fmt"' + occurrence: 0 + testSet: 1153 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_fmt_result + mutator: logical.and_to_or + normalizedText: matches!(root.as_str(), "std" | "core") && module == "fmt" + occurrence: 0 + testSet: 1153 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_fmt_result + mutator: logical.and_to_or + normalizedText: matches!(root.as_str(), "std" | "core") && module == "fmt" && result == "Result" + occurrence: 0 + testSet: 1153 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_fmt_result + mutator: match_arm.never_matches + normalizedText: '[root, module, result]' + occurrence: 0 + testSet: 1153 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_fmt_result + mutator: match_guard.always_false + normalizedText: module == "fmt" && result == "Result" + occurrence: 0 + testSet: 1154 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_fmt_result + mutator: match_guard.always_true + normalizedText: module == "fmt" && result == "Result" + occurrence: 0 + testSet: 1154 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_fmt_result + mutator: match_guard.negate + normalizedText: module == "fmt" && result == "Result" + occurrence: 0 + testSet: 1154 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_fmt_result + mutator: relational.eq_to_ne + normalizedText: module == "fmt" + occurrence: 0 + testSet: 1153 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: arith.sub_to_add + normalizedText: path.path.segments.len() - 1 + occurrence: 0 + testSet: 1155 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: arith.sub_to_div + normalizedText: path.path.segments.len() - 1 + occurrence: 0 + testSet: 1155 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: cond.always_false + normalizedText: '!matches!(name.as_str(), "Instant" | "SystemTime")' + occurrence: 0 + testSet: 1156 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: cond.always_false + normalizedText: path.path.segments.len() > 1 + occurrence: 0 + testSet: 1157 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: cond.always_true + normalizedText: '!matches!(name.as_str(), "Instant" | "SystemTime")' + occurrence: 0 + testSet: 1156 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: cond.always_true + normalizedText: path.path.segments.len() > 1 + occurrence: 0 + testSet: 1157 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: cond.negate + normalizedText: '!matches!(name.as_str(), "Instant" | "SystemTime")' + occurrence: 0 + testSet: 1156 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: cond.negate + normalizedText: path.path.segments.len() > 1 + occurrence: 0 + testSet: 1157 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: expr.decrement + normalizedText: path.path.segments.len() - 1 + occurrence: 0 + testSet: 1155 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: expr.increment + normalizedText: path.path.segments.len() - 1 + occurrence: 0 + testSet: 1155 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: fn_value.bool_false + normalizedText: '{ let Type::Path(path) = strip(ty) else { return false; }; let Some(last) = path.path.segments.last() + else { return false; }; let name = last.ident.to_string(); if !matches!(name.as_str(), "Instant" | "SystemTime") { + return false; } let prefix = if path.path.segments.len() > 1 { path.path .segments .iter() .take(path.path.segments.len() + - 1) .map(|segment| segment.ident.to_string()) .collect::>() } else { let Some(Some(prefix)) = imports.get(&name) + else { return false; }; prefix.clone() }; matches!(prefix.as_slice(), [root, module] if root == "std" && module == + "time") }' + occurrence: 0 + testSet: 1158 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: fn_value.bool_true + normalizedText: '{ let Type::Path(path) = strip(ty) else { return false; }; let Some(last) = path.path.segments.last() + else { return false; }; let name = last.ident.to_string(); if !matches!(name.as_str(), "Instant" | "SystemTime") { + return false; } let prefix = if path.path.segments.len() > 1 { path.path .segments .iter() .take(path.path.segments.len() + - 1) .map(|segment| segment.ident.to_string()) .collect::>() } else { let Some(Some(prefix)) = imports.get(&name) + else { return false; }; prefix.clone() }; matches!(prefix.as_slice(), [root, module] if root == "std" && module == + "time") }' + occurrence: 0 + testSet: 1158 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: iter.last_to_first + normalizedText: path.path.segments.last() + occurrence: 0 + testSet: 1156 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1159 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1160 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 1161 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 3 + testSet: 1160 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1157 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1155 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1157 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1155 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: relational.gt_to_ge + normalizedText: path.path.segments.len() > 1 + occurrence: 0 + testSet: 1157 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: relational.gt_to_lt + normalizedText: path.path.segments.len() > 1 + occurrence: 0 + testSet: 1157 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::is_standard_time_without_default + mutator: unary.remove_not + normalizedText: '!matches!(name.as_str(), "Instant" | "SystemTime")' + occurrence: 0 + testSet: 1156 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::lacks_default + mutator: fn_value.bool_false + normalizedText: '{ let concrete = self .concrete_self_type(ty) .or_else(|| self.concrete_self_associated_type(ty)) .unwrap_or(ty); + is_foreign_error(concrete, self.imports) || Self::is_standard_time_without_default(concrete, self.imports) || self.defaults.lacks_default(concrete) + }' + occurrence: 0 + testSet: 1150 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::lacks_default + mutator: fn_value.bool_true + normalizedText: '{ let concrete = self .concrete_self_type(ty) .or_else(|| self.concrete_self_associated_type(ty)) .unwrap_or(ty); + is_foreign_error(concrete, self.imports) || Self::is_standard_time_without_default(concrete, self.imports) || self.defaults.lacks_default(concrete) + }' + occurrence: 0 + testSet: 1150 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::lacks_default + mutator: logical.or_to_and + normalizedText: is_foreign_error(concrete, self.imports) || Self::is_standard_time_without_default(concrete, self.imports) + occurrence: 0 + testSet: 1150 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: Types<'_>::lacks_default + mutator: logical.or_to_and + normalizedText: is_foreign_error(concrete, self.imports) || Self::is_standard_time_without_default(concrete, self.imports) + || self.defaults.lacks_default(concrete) + occurrence: 0 + testSet: 1150 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_abstract_type + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1162 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_abstract_type + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1163 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_abstract_type + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1164 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_abstract_type + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1165 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_abstract_type + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1166 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_abstract_type + mutator: match_arm.never_matches + normalizedText: Type::Paren(paren) + occurrence: 0 + testSet: 1167 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_abstract_type + mutator: match_arm.never_matches + normalizedText: Type::TraitObject(_) | Type::ImplTrait(_) + occurrence: 0 + testSet: 1164 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: assign_value.default + normalizedText: path .path .segments .iter() .rev() .skip(1) .rev() .map(|segment| segment.ident.to_string()) .collect::>() + occurrence: 0 + testSet: 1168 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: cond.always_false + normalizedText: '!last.ident.to_string().ends_with("Error")' + occurrence: 0 + testSet: 1169 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: cond.always_false + normalizedText: matches!(root.as_str(), "crate" | "self" | "super") + occurrence: 0 + testSet: 1170 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: cond.always_false + normalizedText: path.path.segments.len() > 1 + occurrence: 0 + testSet: 1171 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: cond.always_true + normalizedText: '!last.ident.to_string().ends_with("Error")' + occurrence: 0 + testSet: 1169 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: cond.always_true + normalizedText: matches!(root.as_str(), "crate" | "self" | "super") + occurrence: 0 + testSet: 1170 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: cond.always_true + normalizedText: path.path.segments.len() > 1 + occurrence: 0 + testSet: 1171 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: cond.negate + normalizedText: '!last.ident.to_string().ends_with("Error")' + occurrence: 0 + testSet: 1169 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: cond.negate + normalizedText: matches!(root.as_str(), "crate" | "self" | "super") + occurrence: 0 + testSet: 1170 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: cond.negate + normalizedText: path.path.segments.len() > 1 + occurrence: 0 + testSet: 1171 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: fn_value.bool_false + normalizedText: '{ let Type::Path(path) = strip(ty) else { return false; }; let Some(last) = path.path.segments.last() + else { return false; }; if !last.ident.to_string().ends_with("Error") { return false; } let owned; let prefix: &[String] + = if path.path.segments.len() > 1 { owned = path .path .segments .iter() .rev() .skip(1) .rev() .map(|segment| segment.ident.to_string()) + .collect::>(); &owned } else { match imports.get(&last.ident.to_string()) { Some(Some(path)) => path, Some(None) + | None => return false, } }; let (Some(root), Some(qualifier)) = (prefix.first(), prefix.last()) else { return false; + }; if matches!(root.as_str(), "crate" | "self" | "super") { return false; } qualifier != DEFAULTABLE_ERROR }' + occurrence: 0 + testSet: 1172 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: fn_value.bool_true + normalizedText: '{ let Type::Path(path) = strip(ty) else { return false; }; let Some(last) = path.path.segments.last() + else { return false; }; if !last.ident.to_string().ends_with("Error") { return false; } let owned; let prefix: &[String] + = if path.path.segments.len() > 1 { owned = path .path .segments .iter() .rev() .skip(1) .rev() .map(|segment| segment.ident.to_string()) + .collect::>(); &owned } else { match imports.get(&last.ident.to_string()) { Some(Some(path)) => path, Some(None) + | None => return false, } }; let (Some(root), Some(qualifier)) = (prefix.first(), prefix.last()) else { return false; + }; if matches!(root.as_str(), "crate" | "self" | "super") { return false; } qualifier != DEFAULTABLE_ERROR }' + occurrence: 0 + testSet: 1172 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: iter.first_to_last + normalizedText: prefix.first() + occurrence: 0 + testSet: 1173 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: iter.last_to_first + normalizedText: path.path.segments.last() + occurrence: 0 + testSet: 1169 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: iter.last_to_first + normalizedText: prefix.last() + occurrence: 0 + testSet: 1173 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1159 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1174 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 1175 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 3 + testSet: 1176 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 4 + testSet: 1177 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 5 + testSet: 1178 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1171 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1168 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1171 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1168 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: literal.str_to_empty + normalizedText: '"Error"' + occurrence: 0 + testSet: 1169 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: literal.str_to_xyzzy + normalizedText: '"Error"' + occurrence: 0 + testSet: 1169 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: relational.gt_to_ge + normalizedText: path.path.segments.len() > 1 + occurrence: 0 + testSet: 1171 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: relational.gt_to_lt + normalizedText: path.path.segments.len() > 1 + occurrence: 0 + testSet: 1171 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: relational.ne_to_eq + normalizedText: qualifier != DEFAULTABLE_ERROR + occurrence: 0 + testSet: 1179 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: string.ends_with_to_starts_with + normalizedText: last.ident.to_string().ends_with("Error") + occurrence: 0 + testSet: 1169 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: is_foreign_error + mutator: unary.remove_not + normalizedText: '!last.ident.to_string().ends_with("Error")' + occurrence: 0 + testSet: 1169 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: returns_undefaultable_error + mutator: iter.last_to_first + normalizedText: path .path .segments .last() + occurrence: 0 + testSet: 1180 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: returns_undefaultable_error + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1108 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: returns_undefaultable_error + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1181 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: returns_undefaultable_error + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1181 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: undefaulted_parameters + mutator: iter.any_to_all + normalizedText: defaulted.iter().any(|name| name == &ty.ident.to_string()) + occurrence: 0 + testSet: 1182 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: undefaulted_parameters + mutator: match_arm.never_matches + normalizedText: GenericParam::Type(ty) + occurrence: 0 + testSet: 1182 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: undefaulted_parameters + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1183 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: undefaulted_parameters + mutator: relational.eq_to_ne + normalizedText: name == &ty.ident.to_string() + occurrence: 0 + testSet: 1184 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/types.rs + item: undefaulted_parameters + mutator: unary.remove_not + normalizedText: '!defaulted.iter().any(|name| name == &ty.ident.to_string())' + occurrence: 0 + testSet: 1182 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: cap + mutator: expr.decrement + normalizedText: RETURN_WIDTH + occurrence: 0 + testSet: 1185 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: cap + mutator: expr.increment + normalizedText: RETURN_WIDTH + occurrence: 0 + testSet: 1185 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: cap + mutator: fn_value.empty_collection + normalizedText: '{ values.truncate(RETURN_WIDTH); values }' + occurrence: 0 + testSet: 1185 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: cap + mutator: fn_value.one_element + normalizedText: '{ values.truncate(RETURN_WIDTH); values }' + occurrence: 0 + testSet: 1185 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: cap + mutator: stmt.delete_call + normalizedText: values.truncate(RETURN_WIDTH); + occurrence: 0 + testSet: 1185 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: collection_ctor + mutator: fn_value.empty_string + normalizedText: '{ let Type::Path(path) = strip(ty) else { return "Vec".to_owned(); }; path.path .segments .iter() .map(|segment| + segment.ident.to_string()) .collect::>() .join("::") }' + occurrence: 0 + testSet: 1186 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: collection_ctor + mutator: fn_value.xyzzy_string + normalizedText: '{ let Type::Path(path) = strip(ty) else { return "Vec".to_owned(); }; path.path .segments .iter() .map(|segment| + segment.ident.to_string()) .collect::>() .join("::") }' + occurrence: 0 + testSet: 1186 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: collection_ctor + mutator: literal.str_to_empty + normalizedText: '"::"' + occurrence: 0 + testSet: 1187 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: collection_ctor + mutator: literal.str_to_empty + normalizedText: '"Vec"' + occurrence: 0 + testSet: 1188 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: collection_ctor + mutator: literal.str_to_xyzzy + normalizedText: '"::"' + occurrence: 0 + testSet: 1187 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: collection_ctor + mutator: literal.str_to_xyzzy + normalizedText: '"Vec"' + occurrence: 0 + testSet: 1188 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: inner_values + mutator: expr.decrement + normalizedText: depth.saturating_sub(1) + occurrence: 0 + testSet: 1189 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: inner_values + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1190 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: inner_values + mutator: expr.increment + normalizedText: depth.saturating_sub(1) + occurrence: 0 + testSet: 1189 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: inner_values + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1190 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: inner_values + mutator: fn_value.empty_collection + normalizedText: '{ type_argument(ty, index).map_or_else( || vec![("fn_value.default", "Default::default()".into())], + |inner| values_for(inner, depth.saturating_sub(1), types), ) }' + occurrence: 0 + testSet: 1190 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: inner_values + mutator: fn_value.one_element + normalizedText: '{ type_argument(ty, index).map_or_else( || vec![("fn_value.default", "Default::default()".into())], + |inner| values_for(inner, depth.saturating_sub(1), types), ) }' + occurrence: 0 + testSet: 1190 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: inner_values + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1189 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: inner_values + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1189 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: iterator_item + mutator: fn_value.none + normalizedText: '{ let Type::ImplTrait(imp) = strip(ty) else { return None; }; imp.bounds.iter().find_map(|bound| { + let TypeParamBound::Trait(tr) = bound else { return None; }; let PathArguments::AngleBracketed(args) = &tr.path.segments.last()?.arguments + else { return None; }; args.args.iter().find_map(|arg| match arg { GenericArgument::AssocType(assoc) if assoc.ident + == "Item" => Some(&assoc.ty), _ => None, }) }) }' + occurrence: 0 + testSet: 1191 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: iterator_item + mutator: iter.last_to_first + normalizedText: tr.path.segments.last() + occurrence: 0 + testSet: 1191 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: iterator_item + mutator: match_guard.always_false + normalizedText: assoc.ident == "Item" + occurrence: 0 + testSet: 1192 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: iterator_item + mutator: match_guard.always_true + normalizedText: assoc.ident == "Item" + occurrence: 0 + testSet: 1192 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: iterator_item + mutator: match_guard.negate + normalizedText: assoc.ident == "Item" + occurrence: 0 + testSet: 1192 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: iterator_item + mutator: option.some_to_none + normalizedText: Some(&assoc.ty) + occurrence: 0 + testSet: 1193 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: collection.omit_element + normalizedText: vec![ ("fn_value.empty_string", "Box::leak(String::new().into_boxed_str())".into()), ( "fn_value.xyzzy_string", + "Box::leak(String::from(\"xyzzy\").into_boxed_str())".into(), ), ] + occurrence: 0 + testSet: 1194 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: collection.omit_element + normalizedText: vec![ ("fn_value.empty_string", "String::new()".into()), ("fn_value.xyzzy_string", "\"xyzzy\".to_owned()".into()), + ] + occurrence: 0 + testSet: 1195 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: collection.omit_element + normalizedText: vec![ ("fn_value.empty_string", "\"\"".into()), ("fn_value.xyzzy_string", "\"xyzzy\"".into()), ] + occurrence: 0 + testSet: 1196 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: collection.omit_element + normalizedText: vec![ ("fn_value.one", format_compact!("{}::new(1).unwrap()", type_text(ty))), ("fn_value.two", format_compact!("{}::new(2).unwrap()", + type_text(ty))), ] + occurrence: 0 + testSet: 1197 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: collection.omit_element + normalizedText: vec![ ("fn_value.zero", "0.0".into()), ("fn_value.one", "1.0".into()), ("fn_value.minus_one", "-1.0".into()), + ] + occurrence: 0 + testSet: 1198 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: collection.omit_element + normalizedText: vec![("fn_value.bool_true", "true".into()), ("fn_value.bool_false", "false".into())] + occurrence: 0 + testSet: 1199 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: collection.omit_element + normalizedText: vec![("fn_value.zero", "0".into()), ("fn_value.one", "1".into())] + occurrence: 0 + testSet: 1200 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: match_arm.never_matches + normalizedText: Kind::Bool + occurrence: 0 + testSet: 1199 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: match_arm.never_matches + normalizedText: Kind::Float + occurrence: 0 + testSet: 1198 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: match_arm.never_matches + normalizedText: Kind::MutStr + occurrence: 0 + testSet: 1194 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: match_arm.never_matches + normalizedText: Kind::NonZero + occurrence: 0 + testSet: 1197 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: match_arm.never_matches + normalizedText: Kind::StaticStr + occurrence: 0 + testSet: 1196 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: match_arm.never_matches + normalizedText: Kind::String + occurrence: 0 + testSet: 1195 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: match_arm.never_matches + normalizedText: Kind::Unit + occurrence: 0 + testSet: 1201 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: literal_values + mutator: match_arm.never_matches + normalizedText: Kind::Unsigned + occurrence: 0 + testSet: 1200 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_elem + mutator: fn_value.none + normalizedText: '{ match ty { Type::Reference(reference) => Some(&reference.elem), Type::Paren(paren) => reference_elem(&paren.elem), + _ => None, } }' + occurrence: 0 + testSet: 1202 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_elem + mutator: match_arm.never_matches + normalizedText: Type::Paren(paren) + occurrence: 0 + testSet: 1203 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_elem + mutator: match_arm.never_matches + normalizedText: Type::Reference(reference) + occurrence: 0 + testSet: 1204 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_elem + mutator: option.some_to_none + normalizedText: Some(&reference.elem) + occurrence: 0 + testSet: 1204 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_values + mutator: cond.always_false + normalizedText: shared + occurrence: 0 + testSet: 1204 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_values + mutator: cond.always_true + normalizedText: shared + occurrence: 0 + testSet: 1204 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_values + mutator: cond.negate + normalizedText: shared + occurrence: 0 + testSet: 1204 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_values + mutator: expr.decrement + normalizedText: depth.saturating_sub(1) + occurrence: 0 + testSet: 1204 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_values + mutator: expr.increment + normalizedText: depth.saturating_sub(1) + occurrence: 0 + testSet: 1204 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_values + mutator: fn_value.empty_collection + normalizedText: '{ let Some(elem) = reference_elem(ty) else { return Vec::new(); }; let shared = matches!(strip(ty), + Type::Reference(reference) if reference.mutability.is_none()); let prefix = if shared { "&*" } else { "" }; cap(values_for(elem, + depth.saturating_sub(1), types) .into_iter() .map(|(name, text)| (name, format_compact!("{prefix}Box::leak(Box::new({text}))"))) + .collect()) }' + occurrence: 0 + testSet: 1202 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_values + mutator: fn_value.one_element + normalizedText: '{ let Some(elem) = reference_elem(ty) else { return Vec::new(); }; let shared = matches!(strip(ty), + Type::Reference(reference) if reference.mutability.is_none()); let prefix = if shared { "&*" } else { "" }; cap(values_for(elem, + depth.saturating_sub(1), types) .into_iter() .map(|(name, text)| (name, format_compact!("{prefix}Box::leak(Box::new({text}))"))) + .collect()) }' + occurrence: 0 + testSet: 1202 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_values + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1204 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_values + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1204 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_values + mutator: literal.str_to_empty + normalizedText: '"&*"' + occurrence: 0 + testSet: 1205 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_values + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 1206 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: reference_values + mutator: literal.str_to_xyzzy + normalizedText: '"&*"' + occurrence: 0 + testSet: 1205 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: cond.always_false + normalizedText: arity == 0 + occurrence: 0 + testSet: 1197 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: cond.always_false + normalizedText: iterator + occurrence: 0 + testSet: 1207 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: cond.always_false + normalizedText: reference.mutability.is_some() + occurrence: 0 + testSet: 1196 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: cond.always_true + normalizedText: arity == 0 + occurrence: 0 + testSet: 1197 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: cond.always_true + normalizedText: iterator + occurrence: 0 + testSet: 1207 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: cond.always_true + normalizedText: reference.mutability.is_some() + occurrence: 0 + testSet: 1196 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: cond.negate + normalizedText: arity == 0 + occurrence: 0 + testSet: 1197 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: cond.negate + normalizedText: iterator + occurrence: 0 + testSet: 1207 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: cond.negate + normalizedText: reference.mutability.is_some() + occurrence: 0 + testSet: 1196 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: iter.any_to_all + normalizedText: imp.bounds.iter().any(|bound| { matches!(bound, TypeParamBound::Trait(tr) if tr.path.segments.last().is_some_and(|segment| + { matches!(segment.ident.to_string().as_str(), "Iterator" | "DoubleEndedIterator" | "ExactSizeIterator" | "FusedIterator") + })) }) + occurrence: 0 + testSet: 1207 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1197 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: literal.str_to_empty + normalizedText: '"NonZero"' + occurrence: 1 + testSet: 1197 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: literal.str_to_xyzzy + normalizedText: '"NonZero"' + occurrence: 1 + testSet: 1197 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: ("Box" | "Rc" | "Arc", 1..) + occurrence: 0 + testSet: 1208 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: ("Cow", 1..) + occurrence: 0 + testSet: 1209 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: ("HashMap" | "BTreeMap", 2..) + occurrence: 0 + testSet: 1210 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: ("Option", 1..) + occurrence: 0 + testSet: 1211 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: ("Result", 1..) + occurrence: 0 + testSet: 1212 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: ("String", 0) + occurrence: 0 + testSet: 1213 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: ("Vec" | "VecDeque" | "HashSet" | "BTreeSet" | "BinaryHeap" | "LinkedList", 1..) + occurrence: 0 + testSet: 1214 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: ("bool", 0) + occurrence: 0 + testSet: 1215 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: ("f32" | "f64", 0) + occurrence: 0 + testSet: 1198 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: ("u8" | "u16" | "u32" | "u64" | "u128" | "usize", 0) + occurrence: 0 + testSet: 1216 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: Type::ImplTrait(imp) + occurrence: 0 + testSet: 1207 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: Type::Paren(paren) + occurrence: 0 + testSet: 1217 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: Type::Reference(reference) + occurrence: 0 + testSet: 1218 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: Type::Slice(_) + occurrence: 0 + testSet: 1219 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_arm.never_matches + normalizedText: Type::Tuple(_) + occurrence: 0 + testSet: 1220 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_guard.always_false + normalizedText: path.path.is_ident("str") + occurrence: 0 + testSet: 1221 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_guard.always_false + normalizedText: tuple.elems.is_empty() + occurrence: 0 + testSet: 1222 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_guard.always_true + normalizedText: path.path.is_ident("str") + occurrence: 0 + testSet: 1221 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_guard.always_true + normalizedText: tuple.elems.is_empty() + occurrence: 0 + testSet: 1222 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_guard.negate + normalizedText: path.path.is_ident("str") + occurrence: 0 + testSet: 1221 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: match_guard.negate + normalizedText: tuple.elems.is_empty() + occurrence: 0 + testSet: 1222 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: relational.eq_to_ne + normalizedText: arity == 0 + occurrence: 0 + testSet: 1197 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: resolve_type + mutator: relational.ne_to_eq + normalizedText: name != "NonZero" + occurrence: 0 + testSet: 1197 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: some_value + mutator: fn_value.default + normalizedText: '{ ("fn_value.some", format_compact!("Some({text})")) }' + occurrence: 0 + testSet: 1223 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: some_value + mutator: literal.str_to_empty + normalizedText: '"fn_value.some"' + occurrence: 0 + testSet: 1223 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: some_value + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.some"' + occurrence: 0 + testSet: 1223 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: strip + mutator: match_arm.never_matches + normalizedText: Type::Paren(paren) + occurrence: 0 + testSet: 1224 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: assign_value.default + normalizedText: next + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: cond.always_false + normalizedText: next.len() >= RETURN_WIDTH + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: cond.always_false + normalizedText: parts.len() == 1 + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: cond.always_true + normalizedText: next.len() >= RETURN_WIDTH + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: cond.always_true + normalizedText: parts.len() == 1 + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: cond.negate + normalizedText: next.len() >= RETURN_WIDTH + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: cond.negate + normalizedText: parts.len() == 1 + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: expr.decrement + normalizedText: depth.saturating_sub(1) + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: expr.increment + normalizedText: depth.saturating_sub(1) + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: fn_value.empty_collection + normalizedText: '{ let Type::Tuple(tuple) = strip(ty) else { return vec![("fn_value.default", "Default::default()".into())]; + }; let mut combinations: Vec> = vec![Vec::new()]; for element in &tuple.elems { let choices = values_for(element, + depth.saturating_sub(1), types); let mut next = Vec::new(); for existing in &combinations { for (_name, text) in &choices + { if next.len() >= RETURN_WIDTH { break; } let mut combination = existing.clone(); combination.push(text.clone()); + next.push(combination); } } combinations = next; } combinations .into_iter() .map(|parts| { let text = if parts.len() + == 1 { format_compact!("({},)", parts[0]) } else { format_compact!("({})", parts.join(", ")) }; ("fn_value.tuple", + text) }) .collect() }' + occurrence: 0 + testSet: 1226 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: fn_value.one_element + normalizedText: '{ let Type::Tuple(tuple) = strip(ty) else { return vec![("fn_value.default", "Default::default()".into())]; + }; let mut combinations: Vec> = vec![Vec::new()]; for element in &tuple.elems { let choices = values_for(element, + depth.saturating_sub(1), types); let mut next = Vec::new(); for existing in &combinations { for (_name, text) in &choices + { if next.len() >= RETURN_WIDTH { break; } let mut combination = existing.clone(); combination.push(text.clone()); + next.push(combination); } } combinations = next; } combinations .into_iter() .map(|parts| { let text = if parts.len() + == 1 { format_compact!("({},)", parts[0]) } else { format_compact!("({})", parts.join(", ")) }; ("fn_value.tuple", + text) }) .collect() }' + occurrence: 0 + testSet: 1226 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: literal.str_to_empty + normalizedText: '"fn_value.tuple"' + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.tuple"' + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 1227 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 1227 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: relational.eq_to_ne + normalizedText: parts.len() == 1 + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: relational.ge_to_gt + normalizedText: next.len() >= RETURN_WIDTH + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: relational.ge_to_le + normalizedText: next.len() >= RETURN_WIDTH + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: stmt.delete_assign + normalizedText: combinations = next; + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: stmt.delete_call + normalizedText: combination.push(text.clone()); + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: tuple_values + mutator: stmt.delete_call + normalizedText: next.push(combination); + occurrence: 0 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_argument + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1189 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_argument + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1189 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_argument + mutator: fn_value.none + normalizedText: '{ let Type::Path(path) = strip(ty) else { return None; }; let PathArguments::AngleBracketed(args) = + &path.path.segments.last()?.arguments else { return None; }; args.args .iter() .filter_map(|arg| match arg { GenericArgument::Type(inner) + => Some(inner), _ => None, }) .nth(index) }' + occurrence: 0 + testSet: 1190 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_argument + mutator: iter.last_to_first + normalizedText: path.path.segments.last() + occurrence: 0 + testSet: 1190 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_argument + mutator: match_arm.never_matches + normalizedText: GenericArgument::Type(inner) + occurrence: 0 + testSet: 1189 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_argument + mutator: option.some_to_none + normalizedText: Some(inner) + occurrence: 0 + testSet: 1189 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_arguments + mutator: expr.decrement + normalizedText: args.args.iter().filter(|arg| matches!(arg, GenericArgument::Type(_))).count() + occurrence: 0 + testSet: 1228 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_arguments + mutator: expr.increment + normalizedText: args.args.iter().filter(|arg| matches!(arg, GenericArgument::Type(_))).count() + occurrence: 0 + testSet: 1228 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_text + mutator: fn_value.empty_string + normalizedText: '{ match strip(ty) { Type::Path(path) => path .path .segments .iter() .map(|segment| segment.ident.to_string()) + .collect::>() .join("::"), _ => "Default".to_owned(), } }' + occurrence: 0 + testSet: 1229 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_text + mutator: fn_value.xyzzy_string + normalizedText: '{ match strip(ty) { Type::Path(path) => path .path .segments .iter() .map(|segment| segment.ident.to_string()) + .collect::>() .join("::"), _ => "Default".to_owned(), } }' + occurrence: 0 + testSet: 1229 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_text + mutator: literal.str_to_empty + normalizedText: '"::"' + occurrence: 0 + testSet: 1197 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_text + mutator: literal.str_to_empty + normalizedText: '"Default"' + occurrence: 0 + testSet: 1188 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_text + mutator: literal.str_to_xyzzy + normalizedText: '"::"' + occurrence: 0 + testSet: 1197 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_text + mutator: literal.str_to_xyzzy + normalizedText: '"Default"' + occurrence: 0 + testSet: 1188 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: type_text + mutator: match_arm.never_matches + normalizedText: Type::Path(path) + occurrence: 0 + testSet: 1197 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.always_false + normalizedText: '!payload(ty, 0).is_some_and(|inner| is_abstract_type(inner, types.abstracts) || types.lacks_default(inner))' + occurrence: 0 + testSet: 1230 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.always_false + normalizedText: inner.is_empty() + occurrence: 0 + testSet: 1231 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.always_false + normalizedText: inner.is_empty() + occurrence: 1 + testSet: 1232 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.always_false + normalizedText: payload(ty, 0).is_some_and(|inner| is_abstract_type(inner, types.abstracts) || types.lacks_default(inner)) + occurrence: 0 + testSet: 1233 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.always_false + normalizedText: payload(ty, 1).is_some_and(|inner| !is_abstract_type(inner, types.abstracts) && !types.lacks_default(inner)) + occurrence: 0 + testSet: 1232 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.always_true + normalizedText: '!payload(ty, 0).is_some_and(|inner| is_abstract_type(inner, types.abstracts) || types.lacks_default(inner))' + occurrence: 0 + testSet: 1230 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.always_true + normalizedText: inner.is_empty() + occurrence: 0 + testSet: 1231 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.always_true + normalizedText: inner.is_empty() + occurrence: 1 + testSet: 1232 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.always_true + normalizedText: payload(ty, 0).is_some_and(|inner| is_abstract_type(inner, types.abstracts) || types.lacks_default(inner)) + occurrence: 0 + testSet: 1233 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.always_true + normalizedText: payload(ty, 1).is_some_and(|inner| !is_abstract_type(inner, types.abstracts) && !types.lacks_default(inner)) + occurrence: 0 + testSet: 1232 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.negate + normalizedText: '!payload(ty, 0).is_some_and(|inner| is_abstract_type(inner, types.abstracts) || types.lacks_default(inner))' + occurrence: 0 + testSet: 1230 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.negate + normalizedText: inner.is_empty() + occurrence: 0 + testSet: 1231 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.negate + normalizedText: inner.is_empty() + occurrence: 1 + testSet: 1232 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.negate + normalizedText: payload(ty, 0).is_some_and(|inner| is_abstract_type(inner, types.abstracts) || types.lacks_default(inner)) + occurrence: 0 + testSet: 1233 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: cond.negate + normalizedText: payload(ty, 1).is_some_and(|inner| !is_abstract_type(inner, types.abstracts) && !types.lacks_default(inner)) + occurrence: 0 + testSet: 1232 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.decrement + normalizedText: depth + occurrence: 0 + testSet: 1231 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.decrement + normalizedText: depth + occurrence: 1 + testSet: 1232 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.decrement + normalizedText: depth + occurrence: 2 + testSet: 1234 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.decrement + normalizedText: depth + occurrence: 3 + testSet: 1210 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.decrement + normalizedText: depth + occurrence: 4 + testSet: 1210 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.decrement + normalizedText: depth + occurrence: 5 + testSet: 1194 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.decrement + normalizedText: depth + occurrence: 6 + testSet: 1209 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.decrement + normalizedText: depth + occurrence: 7 + testSet: 1204 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.decrement + normalizedText: depth + occurrence: 8 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.decrement + normalizedText: depth.saturating_sub(1) + occurrence: 0 + testSet: 1193 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.increment + normalizedText: depth + occurrence: 0 + testSet: 1231 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.increment + normalizedText: depth + occurrence: 1 + testSet: 1232 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.increment + normalizedText: depth + occurrence: 2 + testSet: 1234 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.increment + normalizedText: depth + occurrence: 3 + testSet: 1210 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.increment + normalizedText: depth + occurrence: 4 + testSet: 1210 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.increment + normalizedText: depth + occurrence: 5 + testSet: 1194 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.increment + normalizedText: depth + occurrence: 6 + testSet: 1209 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.increment + normalizedText: depth + occurrence: 7 + testSet: 1204 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.increment + normalizedText: depth + occurrence: 8 + testSet: 1225 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: expr.increment + normalizedText: depth.saturating_sub(1) + occurrence: 0 + testSet: 1193 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: iter.first_to_last + normalizedText: keys.first() + occurrence: 0 + testSet: 1210 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: iter.first_to_last + normalizedText: vals.first() + occurrence: 0 + testSet: 1210 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1232 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1210 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1193 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1231 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1230 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 1232 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_increment + normalizedText: '0' + occurrence: 4 + testSet: 1233 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_increment + normalizedText: '0' + occurrence: 5 + testSet: 1234 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_increment + normalizedText: '0' + occurrence: 6 + testSet: 1210 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_increment + normalizedText: '0' + occurrence: 7 + testSet: 1194 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_increment + normalizedText: '0' + occurrence: 8 + testSet: 1209 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1232 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1210 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1193 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_empty + normalizedText: '"Err(Default::default())"' + occurrence: 0 + testSet: 1235 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_empty + normalizedText: '"Some(Default::default())"' + occurrence: 0 + testSet: 1077 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_empty + normalizedText: '"fn_value.err_default"' + occurrence: 0 + testSet: 1235 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_empty + normalizedText: '"fn_value.ok"' + occurrence: 0 + testSet: 1236 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_empty + normalizedText: '"fn_value.one_element"' + occurrence: 0 + testSet: 1234 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_empty + normalizedText: '"fn_value.one_element"' + occurrence: 1 + testSet: 1237 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_empty + normalizedText: '"fn_value.one_element"' + occurrence: 2 + testSet: 1193 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_empty + normalizedText: '"fn_value.some_default"' + occurrence: 0 + testSet: 1077 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_xyzzy + normalizedText: '"Err(Default::default())"' + occurrence: 0 + testSet: 1235 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_xyzzy + normalizedText: '"Some(Default::default())"' + occurrence: 0 + testSet: 1077 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.err_default"' + occurrence: 0 + testSet: 1235 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.ok"' + occurrence: 0 + testSet: 1236 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.one_element"' + occurrence: 0 + testSet: 1234 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.one_element"' + occurrence: 1 + testSet: 1237 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.one_element"' + occurrence: 2 + testSet: 1193 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.some_default"' + occurrence: 0 + testSet: 1077 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: logical.and_to_or + normalizedText: '!is_abstract_type(inner, types.abstracts) && !types.lacks_default(inner)' + occurrence: 0 + testSet: 1238 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: logical.or_to_and + normalizedText: is_abstract_type(inner, types.abstracts) || types.lacks_default(inner) + occurrence: 0 + testSet: 1230 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: logical.or_to_and + normalizedText: is_abstract_type(inner, types.abstracts) || types.lacks_default(inner) + occurrence: 1 + testSet: 1233 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: stmt.delete_call + normalizedText: values.extend( inner_values(ty, 0, depth, types) .into_iter() .map(|(_name, text)| ("fn_value.one_element", + format_compact!("core::iter::once({text}).collect()"))), ); + occurrence: 0 + testSet: 1234 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: stmt.delete_call + normalizedText: values.extend( values_for(item, depth.saturating_sub(1), types) .into_iter() .map(|(_name, text)| ("fn_value.one_element", + format_compact!("core::iter::once({text})"))), ); + occurrence: 0 + testSet: 1193 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: stmt.delete_call + normalizedText: values.extend(inner.into_iter().map(some_value)); + occurrence: 0 + testSet: 1223 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: stmt.delete_call + normalizedText: values.push(( "fn_value.one_element", format_compact!("core::iter::once(({key}, {value})).collect()"), + )); + occurrence: 0 + testSet: 1237 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: stmt.delete_call + normalizedText: values.push(("fn_value.err_default", "Err(Default::default())".into())); + occurrence: 0 + testSet: 1235 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: stmt.delete_call + normalizedText: values.push(("fn_value.some_default", "Some(Default::default())".into())); + occurrence: 0 + testSet: 1077 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: unary.remove_not + normalizedText: '!is_abstract_type(inner, types.abstracts)' + occurrence: 0 + testSet: 1238 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: unary.remove_not + normalizedText: '!payload(ty, 0).is_some_and(|inner| is_abstract_type(inner, types.abstracts) || types.lacks_default(inner))' + occurrence: 0 + testSet: 1230 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: values_for + mutator: unary.remove_not + normalizedText: '!types.lacks_default(inner)' + occurrence: 0 + testSet: 1239 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: wrapper_ctor + mutator: fn_value.empty_string + normalizedText: '{ format!("{}::new", collection_ctor(ty)) }' + occurrence: 0 + testSet: 1194 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector/values.rs + item: wrapper_ctor + mutator: fn_value.xyzzy_string + normalizedText: '{ format!("{}::new", collection_ctor(ty)) }' + occurrence: 0 + testSet: 1194 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_arm + mutator: cond.always_false + normalizedText: '!self.skipped(&node.attrs)' + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_arm + mutator: cond.always_true + normalizedText: '!self.skipped(&node.attrs)' + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_arm + mutator: cond.negate + normalizedText: '!self.skipped(&node.attrs)' + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_arm + mutator: fn_value.unit + normalizedText: '{ if !self.skipped(&node.attrs) { visit::visit_arm(self, node); } }' + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_arm + mutator: stmt.delete_call + normalizedText: visit::visit_arm(self, node); + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_arm + mutator: unary.remove_not + normalizedText: '!self.skipped(&node.attrs)' + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_block + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1240 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_block + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 1240 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_block + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1240 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_block + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 1240 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_block + mutator: stmt.delete_call + normalizedText: collector.record_declaration(local); + occurrence: 0 + testSet: 1072 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_assign + mutator: cond.always_false + normalizedText: '!is_default_call(&node.right, &self.default_paths, &self.defaulted)' + occurrence: 0 + testSet: 1093 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_assign + mutator: cond.always_true + normalizedText: '!is_default_call(&node.right, &self.default_paths, &self.defaulted)' + occurrence: 0 + testSet: 1093 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_assign + mutator: cond.negate + normalizedText: '!is_default_call(&node.right, &self.default_paths, &self.defaulted)' + occurrence: 0 + testSet: 1093 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_assign + mutator: fn_value.unit + normalizedText: '{ if !is_default_call(&node.right, &self.default_paths, &self.defaulted) { self.emit("assign_value.default", + node.right.span(), "Default::default()", 0); } visit::visit_expr_assign(self, node); }' + occurrence: 0 + testSet: 1093 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_assign + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1094 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_assign + mutator: literal.str_to_empty + normalizedText: '"Default::default()"' + occurrence: 0 + testSet: 1094 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_assign + mutator: literal.str_to_empty + normalizedText: '"assign_value.default"' + occurrence: 0 + testSet: 1094 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_assign + mutator: literal.str_to_xyzzy + normalizedText: '"Default::default()"' + occurrence: 0 + testSet: 1094 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_assign + mutator: literal.str_to_xyzzy + normalizedText: '"assign_value.default"' + occurrence: 0 + testSet: 1094 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_assign + mutator: stmt.delete_call + normalizedText: self.emit("assign_value.default", node.right.span(), "Default::default()", 0); + occurrence: 0 + testSet: 1094 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_assign + mutator: stmt.delete_call + normalizedText: visit::visit_expr_assign(self, node); + occurrence: 0 + testSet: 1093 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_assign + mutator: unary.remove_not + normalizedText: '!is_default_call(&node.right, &self.default_paths, &self.defaulted)' + occurrence: 0 + testSet: 1093 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.always_false + normalizedText: assigns + occurrence: 0 + testSet: 1241 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.always_false + normalizedText: chains_a_binding || !self.wants(mutator) + occurrence: 0 + testSet: 1242 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.always_true + normalizedText: assigns + occurrence: 0 + testSet: 1241 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.always_true + normalizedText: chains_a_binding || !self.wants(mutator) + occurrence: 0 + testSet: 1242 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.negate + normalizedText: assigns + occurrence: 0 + testSet: 1241 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: cond.negate + normalizedText: chains_a_binding || !self.wants(mutator) + occurrence: 0 + testSet: 1242 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1242 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: expr.decrement + normalizedText: index + occurrence: 1 + testSet: 1241 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: expr.decrement + normalizedText: u32::MAX + occurrence: 0 + testSet: 1242 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1242 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: expr.increment + normalizedText: index + occurrence: 1 + testSet: 1241 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: expr.increment + normalizedText: u32::MAX + occurrence: 0 + testSet: 1242 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: fn_value.unit + normalizedText: '{ let span = node.span(); let assigns = is_assign_op(&node.op); let mut operands = None; let chains_a_binding + = matches!(node.op, BinOp::And(_)) && (binds_a_pattern(&node.left) || binds_a_pattern(&node.right)); for (index, (mutator, + operator)) in binary_replacements(&node.op).iter().enumerate() { let index = u32::try_from(index).unwrap_or(u32::MAX); + if chains_a_binding || !self.wants(mutator) { continue; } let (left, right) = *operands.get_or_insert_with(|| (self.text_of(node.left.span()), + self.text_of(node.right.span()))); let replacement = if assigns { format_compact!("{left} {operator} ({right})") } + else { format_compact!("({left}) {operator} ({right})") }; self.emit(mutator, span, replacement, index); } visit::visit_expr_binary(self, + node); }' + occurrence: 0 + testSet: 1242 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: logical.and_to_or + normalizedText: matches!(node.op, BinOp::And(_)) && (binds_a_pattern(&node.left) || binds_a_pattern(&node.right)) + occurrence: 0 + testSet: 1242 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: logical.or_to_and + normalizedText: binds_a_pattern(&node.left) || binds_a_pattern(&node.right) + occurrence: 0 + testSet: 1243 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: logical.or_to_and + normalizedText: chains_a_binding || !self.wants(mutator) + occurrence: 0 + testSet: 1242 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1244 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1244 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1242 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: stmt.delete_call + normalizedText: self.emit(mutator, span, replacement, index); + occurrence: 0 + testSet: 1241 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: stmt.delete_call + normalizedText: visit::visit_expr_binary(self, node); + occurrence: 0 + testSet: 1242 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_binary + mutator: unary.remove_not + normalizedText: '!self.wants(mutator)' + occurrence: 0 + testSet: 1245 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_break + mutator: cond.always_false + normalizedText: node.expr.is_none() && node.label.is_none() + occurrence: 0 + testSet: 1246 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_break + mutator: cond.always_true + normalizedText: node.expr.is_none() && node.label.is_none() + occurrence: 0 + testSet: 1246 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_break + mutator: cond.negate + normalizedText: node.expr.is_none() && node.label.is_none() + occurrence: 0 + testSet: 1246 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_break + mutator: fn_value.unit + normalizedText: '{ if node.expr.is_none() && node.label.is_none() { self.emit_shaped("loop.break_to_continue", node.span(), + "continue", 0, Shape::Break); } visit::visit_expr_break(self, node); }' + occurrence: 0 + testSet: 1246 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_break + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1247 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_break + mutator: literal.str_to_empty + normalizedText: '"continue"' + occurrence: 0 + testSet: 1247 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_break + mutator: literal.str_to_empty + normalizedText: '"loop.break_to_continue"' + occurrence: 0 + testSet: 1247 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_break + mutator: literal.str_to_xyzzy + normalizedText: '"continue"' + occurrence: 0 + testSet: 1247 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_break + mutator: literal.str_to_xyzzy + normalizedText: '"loop.break_to_continue"' + occurrence: 0 + testSet: 1247 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_break + mutator: logical.and_to_or + normalizedText: node.expr.is_none() && node.label.is_none() + occurrence: 0 + testSet: 1246 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_break + mutator: stmt.delete_call + normalizedText: self.emit_shaped("loop.break_to_continue", node.span(), "continue", 0, Shape::Break); + occurrence: 0 + testSet: 1247 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_break + mutator: stmt.delete_call + normalizedText: visit::visit_expr_break(self, node); + occurrence: 0 + testSet: 1246 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1248 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1249 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1250 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.str_to_empty + normalizedText: '"Err(Default::default())"' + occurrence: 0 + testSet: 1249 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.str_to_empty + normalizedText: '"None"' + occurrence: 0 + testSet: 1248 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.str_to_empty + normalizedText: '"Ok(Default::default())"' + occurrence: 0 + testSet: 1250 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.str_to_empty + normalizedText: '"option.some_to_none"' + occurrence: 0 + testSet: 1248 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.str_to_empty + normalizedText: '"result.err_to_ok"' + occurrence: 0 + testSet: 1250 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.str_to_empty + normalizedText: '"result.ok_to_err"' + occurrence: 0 + testSet: 1249 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.str_to_xyzzy + normalizedText: '"Err(Default::default())"' + occurrence: 0 + testSet: 1249 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.str_to_xyzzy + normalizedText: '"None"' + occurrence: 0 + testSet: 1248 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.str_to_xyzzy + normalizedText: '"Ok(Default::default())"' + occurrence: 0 + testSet: 1250 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.str_to_xyzzy + normalizedText: '"option.some_to_none"' + occurrence: 0 + testSet: 1248 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.str_to_xyzzy + normalizedText: '"result.err_to_ok"' + occurrence: 0 + testSet: 1250 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: literal.str_to_xyzzy + normalizedText: '"result.ok_to_err"' + occurrence: 0 + testSet: 1249 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: match_arm.never_matches + normalizedText: Some("Err") + occurrence: 0 + testSet: 1250 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: match_arm.never_matches + normalizedText: Some("Some") + occurrence: 0 + testSet: 1248 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: match_guard.always_false + normalizedText: '!self.foreign_error_return' + occurrence: 0 + testSet: 1251 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: match_guard.always_true + normalizedText: '!self.foreign_error_return' + occurrence: 0 + testSet: 1251 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_call + mutator: match_guard.negate + normalizedText: '!self.foreign_error_return' + occurrence: 0 + testSet: 1251 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: cond.always_false + normalizedText: requires_value + occurrence: 0 + testSet: 1252 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: cond.always_true + normalizedText: requires_value + occurrence: 0 + testSet: 1252 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: cond.negate + normalizedText: requires_value + occurrence: 0 + testSet: 1252 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: fn_value.unit + normalizedText: '{ let target = node.label.as_ref().map(|label| label.ident.to_string()); let requires_value = target.as_ref().map_or_else( + || self.loops.last().is_some_and(|context| context.produces_value), |target| { self.loops .iter() .rev() .find(|context| + context.label.as_ref() == Some(target)) .is_some_and(|context| context.produces_value) }, ); if requires_value { visit::visit_expr_continue(self, + node); return; } let replacement = node .label .as_ref() .map_or_else(|| CompactString::new("break"), |label| format_compact!("break + {label}")); self.emit_shaped("loop.continue_to_break", node.span(), replacement, 0, Shape::Continue); visit::visit_expr_continue(self, + node); }' + occurrence: 0 + testSet: 1252 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: iter.last_to_first + normalizedText: self.loops.last() + occurrence: 0 + testSet: 1253 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1254 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: literal.str_to_empty + normalizedText: '"break"' + occurrence: 0 + testSet: 1255 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: literal.str_to_empty + normalizedText: '"loop.continue_to_break"' + occurrence: 0 + testSet: 1254 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: literal.str_to_xyzzy + normalizedText: '"break"' + occurrence: 0 + testSet: 1255 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: literal.str_to_xyzzy + normalizedText: '"loop.continue_to_break"' + occurrence: 0 + testSet: 1254 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: option.some_to_none + normalizedText: Some(target) + occurrence: 0 + testSet: 1256 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: relational.eq_to_ne + normalizedText: context.label.as_ref() == Some(target) + occurrence: 0 + testSet: 1256 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: stmt.delete_call + normalizedText: self.emit_shaped("loop.continue_to_break", node.span(), replacement, 0, Shape::Continue); + occurrence: 0 + testSet: 1254 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: stmt.delete_call + normalizedText: visit::visit_expr_continue(self, node); + occurrence: 0 + testSet: 1257 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_continue + mutator: stmt.delete_call + normalizedText: visit::visit_expr_continue(self, node); + occurrence: 1 + testSet: 1254 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_for_loop + mutator: fn_value.unit + normalizedText: '{ self.loops.push(LoopContext { label: node.label.as_ref().map(|label| label.name.ident.to_string()), + produces_value: false, }); visit::visit_expr_for_loop(self, node); let _ = self.loops.pop(); }' + occurrence: 0 + testSet: 1258 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_for_loop + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1258 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_for_loop + mutator: stmt.delete_call + normalizedText: 'self.loops.push(LoopContext { label: node.label.as_ref().map(|label| label.name.ident.to_string()), + produces_value: false, });' + occurrence: 0 + testSet: 1258 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_for_loop + mutator: stmt.delete_call + normalizedText: visit::visit_expr_for_loop(self, node); + occurrence: 0 + testSet: 1258 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_if + mutator: fn_value.unit + normalizedText: '{ self.condition("cond.negate", "cond.always_true", "cond.always_false", &node.cond); visit::visit_expr_if(self, + node); }' + occurrence: 0 + testSet: 1259 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_if + mutator: literal.str_to_empty + normalizedText: '"cond.always_false"' + occurrence: 0 + testSet: 1259 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_if + mutator: literal.str_to_empty + normalizedText: '"cond.always_true"' + occurrence: 0 + testSet: 1259 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_if + mutator: literal.str_to_empty + normalizedText: '"cond.negate"' + occurrence: 0 + testSet: 1259 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_if + mutator: literal.str_to_xyzzy + normalizedText: '"cond.always_false"' + occurrence: 0 + testSet: 1259 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_if + mutator: literal.str_to_xyzzy + normalizedText: '"cond.always_true"' + occurrence: 0 + testSet: 1259 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_if + mutator: literal.str_to_xyzzy + normalizedText: '"cond.negate"' + occurrence: 0 + testSet: 1259 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_if + mutator: stmt.delete_call + normalizedText: self.condition("cond.negate", "cond.always_true", "cond.always_false", &node.cond); + occurrence: 0 + testSet: 1259 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_if + mutator: stmt.delete_call + normalizedText: visit::visit_expr_if(self, node); + occurrence: 0 + testSet: 1259 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_index + mutator: fn_value.unit + normalizedText: '{ self.perturb(&node.index); visit::visit_expr_index(self, node); }' + occurrence: 0 + testSet: 1260 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_index + mutator: stmt.delete_call + normalizedText: self.perturb(&node.index); + occurrence: 0 + testSet: 1260 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_index + mutator: stmt.delete_call + normalizedText: visit::visit_expr_index(self, node); + occurrence: 0 + testSet: 1260 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: cond.always_false + normalizedText: '!text.is_empty()' + occurrence: 0 + testSet: 1261 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: cond.always_false + normalizedText: text != XYZZY + occurrence: 0 + testSet: 1261 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: cond.always_true + normalizedText: '!text.is_empty()' + occurrence: 0 + testSet: 1261 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: cond.always_true + normalizedText: text != XYZZY + occurrence: 0 + testSet: 1261 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: cond.negate + normalizedText: '!text.is_empty()' + occurrence: 0 + testSet: 1261 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: cond.negate + normalizedText: text != XYZZY + occurrence: 0 + testSet: 1261 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1262 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1263 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1264 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1262 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.str_to_empty + normalizedText: '"\"\""' + occurrence: 0 + testSet: 1264 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.str_to_empty + normalizedText: '"\"xyzzy\""' + occurrence: 0 + testSet: 1262 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.str_to_empty + normalizedText: '"literal.bool_flip"' + occurrence: 0 + testSet: 1263 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.str_to_empty + normalizedText: '"literal.str_to_empty"' + occurrence: 0 + testSet: 1264 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.str_to_empty + normalizedText: '"literal.str_to_xyzzy"' + occurrence: 0 + testSet: 1262 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.str_to_xyzzy + normalizedText: '"\"\""' + occurrence: 0 + testSet: 1264 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.str_to_xyzzy + normalizedText: '"\"xyzzy\""' + occurrence: 0 + testSet: 1262 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.str_to_xyzzy + normalizedText: '"literal.bool_flip"' + occurrence: 0 + testSet: 1263 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.str_to_xyzzy + normalizedText: '"literal.str_to_empty"' + occurrence: 0 + testSet: 1264 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: literal.str_to_xyzzy + normalizedText: '"literal.str_to_xyzzy"' + occurrence: 0 + testSet: 1262 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: match_arm.never_matches + normalizedText: Lit::Bool(value) + occurrence: 0 + testSet: 1263 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: match_arm.never_matches + normalizedText: Lit::Str(value) + occurrence: 0 + testSet: 1261 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: relational.ne_to_eq + normalizedText: text != XYZZY + occurrence: 0 + testSet: 1261 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: stmt.delete_call + normalizedText: self.emit("literal.bool_flip", span, (!value.value).to_string(), 0); + occurrence: 0 + testSet: 1263 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: stmt.delete_call + normalizedText: self.emit("literal.str_to_empty", span, "\"\"", 0); + occurrence: 0 + testSet: 1264 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: stmt.delete_call + normalizedText: self.emit("literal.str_to_xyzzy", span, "\"xyzzy\"", 1); + occurrence: 0 + testSet: 1262 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: string.starts_with_to_ends_with + normalizedText: value.suffix().starts_with('u') + occurrence: 0 + testSet: 1265 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: unary.remove_not + normalizedText: '!text.is_empty()' + occurrence: 0 + testSet: 1261 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_lit + mutator: unary.remove_not + normalizedText: '!value.value' + occurrence: 0 + testSet: 1263 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_loop + mutator: fn_value.unit + normalizedText: '{ self.loops.push(LoopContext { label: node.label.as_ref().map(|label| label.name.ident.to_string()), + produces_value: loop_produces_value(node), }); visit::visit_expr_loop(self, node); let _ = self.loops.pop(); }' + occurrence: 0 + testSet: 1266 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_loop + mutator: stmt.delete_call + normalizedText: 'self.loops.push(LoopContext { label: node.label.as_ref().map(|label| label.name.ident.to_string()), + produces_value: loop_produces_value(node), });' + occurrence: 0 + testSet: 1266 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_loop + mutator: stmt.delete_call + normalizedText: visit::visit_expr_loop(self, node); + occurrence: 0 + testSet: 1266 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_match + mutator: fn_value.unit + normalizedText: '{ self.match_arms(node); visit::visit_expr_match(self, node); }' + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_match + mutator: stmt.delete_call + normalizedText: self.match_arms(node); + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_match + mutator: stmt.delete_call + normalizedText: visit::visit_expr_match(self, node); + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: cond.always_false + normalizedText: is_diagnostic_message(&method, node.args.len()) + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: cond.always_true + normalizedText: is_diagnostic_message(&method, node.args.len()) + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: cond.negate + normalizedText: is_diagnostic_message(&method, node.args.len()) + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: expr.decrement + normalizedText: node.args.len() + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: expr.increment + normalizedText: node.args.len() + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: fn_value.unit + normalizedText: '{ let method = node.method.to_string(); self.perturb_arguments(Some(method.as_str()), &node.args); + self.rename_method(node, &method); if is_diagnostic_message(&method, node.args.len()) { self.visit_expr(&node.receiver); + return; } visit::visit_expr_method_call(self, node); }' + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: option.some_to_none + normalizedText: Some(method.as_str()) + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: stmt.delete_call + normalizedText: self.perturb_arguments(Some(method.as_str()), &node.args); + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: stmt.delete_call + normalizedText: self.rename_method(node, &method); + occurrence: 0 + testSet: 1097 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: stmt.delete_call + normalizedText: self.visit_expr(&node.receiver); + occurrence: 0 + testSet: 1267 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_method_call + mutator: stmt.delete_call + normalizedText: visit::visit_expr_method_call(self, node); + occurrence: 0 + testSet: 1268 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_path + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1269 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_path + mutator: literal.str_to_empty + normalizedText: '"Some(Default::default())"' + occurrence: 0 + testSet: 1269 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_path + mutator: literal.str_to_empty + normalizedText: '"option.none_to_some"' + occurrence: 0 + testSet: 1269 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_path + mutator: literal.str_to_xyzzy + normalizedText: '"Some(Default::default())"' + occurrence: 0 + testSet: 1269 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_path + mutator: literal.str_to_xyzzy + normalizedText: '"option.none_to_some"' + occurrence: 0 + testSet: 1269 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_path + mutator: stmt.delete_call + normalizedText: self.emit("option.none_to_some", node.span(), "Some(Default::default())", 0); + occurrence: 0 + testSet: 1269 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_range + mutator: fn_value.unit + normalizedText: '{ if let Some(end) = node.end.as_ref() { let start = node.start.as_ref().map_or_else(CompactString::default, + |start| { let text = self.text_of(start.span()); format_compact!("({text})") }); let end_text = self.text_of(end.span()); + match node.limits { RangeLimits::HalfOpen(_) => { self.emit( "range.exclusive_to_inclusive", node.span(), format_compact!("{start}..(({end_text}) + + 1)"), 0, ); } RangeLimits::Closed(_) => { self.emit( "range.inclusive_to_exclusive", node.span(), format_compact!("{start}..=(({end_text}) + - 1)"), 0, ); } } self.perturb(end); } if let Some(start) = node.start.as_ref() { self.perturb(start); } visit::visit_expr_range(self, + node); }' + occurrence: 0 + testSet: 1270 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_range + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1271 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_range + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1272 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_range + mutator: literal.str_to_empty + normalizedText: '"range.exclusive_to_inclusive"' + occurrence: 0 + testSet: 1271 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_range + mutator: literal.str_to_empty + normalizedText: '"range.inclusive_to_exclusive"' + occurrence: 0 + testSet: 1272 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_range + mutator: literal.str_to_xyzzy + normalizedText: '"range.exclusive_to_inclusive"' + occurrence: 0 + testSet: 1271 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_range + mutator: literal.str_to_xyzzy + normalizedText: '"range.inclusive_to_exclusive"' + occurrence: 0 + testSet: 1272 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_range + mutator: stmt.delete_call + normalizedText: self.emit( "range.exclusive_to_inclusive", node.span(), format_compact!("{start}..(({end_text}) + 1)"), + 0, ); + occurrence: 0 + testSet: 1271 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_range + mutator: stmt.delete_call + normalizedText: self.emit( "range.inclusive_to_exclusive", node.span(), format_compact!("{start}..=(({end_text}) - 1)"), + 0, ); + occurrence: 0 + testSet: 1272 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_range + mutator: stmt.delete_call + normalizedText: self.perturb(end); + occurrence: 0 + testSet: 1273 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_range + mutator: stmt.delete_call + normalizedText: self.perturb(start); + occurrence: 0 + testSet: 1274 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_range + mutator: stmt.delete_call + normalizedText: visit::visit_expr_range(self, node); + occurrence: 0 + testSet: 1270 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_reference + mutator: fn_value.unit + normalizedText: '{ self.in_const(is_promotable(&node.expr), |collector| { visit::visit_expr_reference(collector, node); + }); }' + occurrence: 0 + testSet: 1110 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_reference + mutator: stmt.delete_call + normalizedText: self.in_const(is_promotable(&node.expr), |collector| { visit::visit_expr_reference(collector, node); + }); + occurrence: 0 + testSet: 1110 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_reference + mutator: stmt.delete_call + normalizedText: visit::visit_expr_reference(collector, node); + occurrence: 0 + testSet: 1110 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_repeat + mutator: fn_value.unit + normalizedText: '{ self.visit_expr(&node.expr); self.inert(|collector| collector.visit_expr(&node.len)); }' + occurrence: 0 + testSet: 1275 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_repeat + mutator: stmt.delete_call + normalizedText: self.inert(|collector| collector.visit_expr(&node.len)); + occurrence: 0 + testSet: 1275 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_repeat + mutator: stmt.delete_call + normalizedText: self.visit_expr(&node.expr); + occurrence: 0 + testSet: 1275 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_return + mutator: fn_value.unit + normalizedText: '{ if self.numeric_return && let Some(value) = node.expr.as_ref() && !matches!(&**value, Expr::Lit(ExprLit + { lit: Lit::Int(_), .. })) { self.perturb_proven(value); } visit::visit_expr_return(self, node); }' + occurrence: 0 + testSet: 1276 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_return + mutator: stmt.delete_call + normalizedText: self.perturb_proven(value); + occurrence: 0 + testSet: 1277 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_return + mutator: stmt.delete_call + normalizedText: visit::visit_expr_return(self, node); + occurrence: 0 + testSet: 1276 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_return + mutator: unary.remove_not + normalizedText: '!matches!(&**value, Expr::Lit(ExprLit { lit: Lit::Int(_), .. }))' + occurrence: 0 + testSet: 1278 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_struct + mutator: fn_value.unit + normalizedText: '{ self.struct_fields(node); visit::visit_expr_struct(self, node); }' + occurrence: 0 + testSet: 1279 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_struct + mutator: stmt.delete_call + normalizedText: self.struct_fields(node); + occurrence: 0 + testSet: 1279 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_struct + mutator: stmt.delete_call + normalizedText: visit::visit_expr_struct(self, node); + occurrence: 0 + testSet: 1279 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + mutator: fn_value.unit + normalizedText: '{ match node.op { UnOp::Neg(_) if is_integer_zero_literal(&node.expr) => {} UnOp::Neg(_) => self.emit("unary.remove_neg", + node.span(), self.text_of(node.expr.span()), 0), UnOp::Not(_) => self.emit("unary.remove_not", node.span(), self.text_of(node.expr.span()), + 0), _ => {} } visit::visit_expr_unary(self, node); }' + occurrence: 0 + testSet: 1280 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1281 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1282 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + mutator: literal.str_to_empty + normalizedText: '"unary.remove_neg"' + occurrence: 0 + testSet: 1281 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + mutator: literal.str_to_empty + normalizedText: '"unary.remove_not"' + occurrence: 0 + testSet: 1282 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + mutator: literal.str_to_xyzzy + normalizedText: '"unary.remove_neg"' + occurrence: 0 + testSet: 1281 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + mutator: literal.str_to_xyzzy + normalizedText: '"unary.remove_not"' + occurrence: 0 + testSet: 1282 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + mutator: match_arm.never_matches + normalizedText: UnOp::Neg(_) + occurrence: 0 + testSet: 1281 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + mutator: match_arm.never_matches + normalizedText: UnOp::Not(_) + occurrence: 0 + testSet: 1282 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + mutator: match_guard.always_false + normalizedText: is_integer_zero_literal(&node.expr) + occurrence: 0 + testSet: 1102 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + mutator: match_guard.always_true + normalizedText: is_integer_zero_literal(&node.expr) + occurrence: 0 + testSet: 1102 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + mutator: match_guard.negate + normalizedText: is_integer_zero_literal(&node.expr) + occurrence: 0 + testSet: 1102 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_unary + mutator: stmt.delete_call + normalizedText: visit::visit_expr_unary(self, node); + occurrence: 0 + testSet: 1280 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: cond.always_false + normalizedText: '!binds_a_pattern(&node.cond) && self.wants("cond.negate")' + occurrence: 0 + testSet: 1283 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: cond.always_true + normalizedText: '!binds_a_pattern(&node.cond) && self.wants("cond.negate")' + occurrence: 0 + testSet: 1283 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: cond.negate + normalizedText: '!binds_a_pattern(&node.cond) && self.wants("cond.negate")' + occurrence: 0 + testSet: 1283 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: fn_value.unit + normalizedText: '{ if !binds_a_pattern(&node.cond) && self.wants("cond.negate") { let span = node.cond.span(); let negated + = self.negation_of(span); self.emit("cond.negate", span, negated, 0); } self.loops.push(LoopContext { label: node.label.as_ref().map(|label| + label.name.ident.to_string()), produces_value: false, }); visit::visit_expr_while(self, node); let _ = self.loops.pop(); + }' + occurrence: 0 + testSet: 1283 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1283 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1284 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: literal.str_to_empty + normalizedText: '"cond.negate"' + occurrence: 0 + testSet: 1285 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: literal.str_to_empty + normalizedText: '"cond.negate"' + occurrence: 1 + testSet: 1284 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: literal.str_to_xyzzy + normalizedText: '"cond.negate"' + occurrence: 0 + testSet: 1285 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: literal.str_to_xyzzy + normalizedText: '"cond.negate"' + occurrence: 1 + testSet: 1284 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: logical.and_to_or + normalizedText: '!binds_a_pattern(&node.cond) && self.wants("cond.negate")' + occurrence: 0 + testSet: 1283 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: stmt.delete_call + normalizedText: self.emit("cond.negate", span, negated, 0); + occurrence: 0 + testSet: 1284 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: stmt.delete_call + normalizedText: 'self.loops.push(LoopContext { label: node.label.as_ref().map(|label| label.name.ident.to_string()), + produces_value: false, });' + occurrence: 0 + testSet: 1283 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: stmt.delete_call + normalizedText: visit::visit_expr_while(self, node); + occurrence: 0 + testSet: 1283 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_expr_while + mutator: unary.remove_not + normalizedText: '!binds_a_pattern(&node.cond)' + occurrence: 0 + testSet: 1283 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_generic_argument + mutator: cond.always_false + normalizedText: matches!(node, GenericArgument::Const(_)) + occurrence: 0 + testSet: 1286 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_generic_argument + mutator: cond.always_true + normalizedText: matches!(node, GenericArgument::Const(_)) + occurrence: 0 + testSet: 1286 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_generic_argument + mutator: cond.negate + normalizedText: matches!(node, GenericArgument::Const(_)) + occurrence: 0 + testSet: 1286 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_generic_argument + mutator: fn_value.unit + normalizedText: '{ if matches!(node, GenericArgument::Const(_)) { self.inert(|collector| visit::visit_generic_argument(collector, + node)); return; } visit::visit_generic_argument(self, node); }' + occurrence: 0 + testSet: 1286 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_generic_argument + mutator: stmt.delete_call + normalizedText: self.inert(|collector| visit::visit_generic_argument(collector, node)); + occurrence: 0 + testSet: 1287 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_generic_argument + mutator: stmt.delete_call + normalizedText: visit::visit_generic_argument(self, node); + occurrence: 0 + testSet: 1288 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_impl_item_const + mutator: fn_value.unit + normalizedText: '{ self.inert(|collector| visit::visit_impl_item_const(collector, node)); }' + occurrence: 0 + testSet: 1289 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_impl_item_const + mutator: stmt.delete_call + normalizedText: self.inert(|collector| visit::visit_impl_item_const(collector, node)); + occurrence: 0 + testSet: 1289 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_impl_item_fn + mutator: cond.always_false + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1290 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_impl_item_fn + mutator: cond.always_true + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1290 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_impl_item_fn + mutator: cond.negate + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1290 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_impl_item_fn + mutator: fn_value.unit + normalizedText: '{ if self.skipped(&node.attrs) { return; } self.scoped(&node.sig.ident, |collector| { collector.with_defaulted_parameters(&node.sig.generics, + |collector| { collector.function(&node.attrs, &node.sig, &node.block); collector.in_function(&node.sig, |collector| + { collector.in_const(node.sig.constness.is_some(), |collector| { visit::visit_impl_item_fn(collector, node); }); }); + }); }); }' + occurrence: 0 + testSet: 1290 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_impl_item_fn + mutator: stmt.delete_call + normalizedText: collector.function(&node.attrs, &node.sig, &node.block); + occurrence: 0 + testSet: 1291 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_impl_item_fn + mutator: stmt.delete_call + normalizedText: collector.in_const(node.sig.constness.is_some(), |collector| { visit::visit_impl_item_fn(collector, + node); }); + occurrence: 0 + testSet: 1291 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_impl_item_fn + mutator: stmt.delete_call + normalizedText: collector.in_function(&node.sig, |collector| { collector.in_const(node.sig.constness.is_some(), |collector| + { visit::visit_impl_item_fn(collector, node); }); }); + occurrence: 0 + testSet: 1291 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_impl_item_fn + mutator: stmt.delete_call + normalizedText: collector.with_defaulted_parameters(&node.sig.generics, |collector| { collector.function(&node.attrs, + &node.sig, &node.block); collector.in_function(&node.sig, |collector| { collector.in_const(node.sig.constness.is_some(), + |collector| { visit::visit_impl_item_fn(collector, node); }); }); }); + occurrence: 0 + testSet: 1291 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_impl_item_fn + mutator: stmt.delete_call + normalizedText: self.scoped(&node.sig.ident, |collector| { collector.with_defaulted_parameters(&node.sig.generics, |collector| + { collector.function(&node.attrs, &node.sig, &node.block); collector.in_function(&node.sig, |collector| { collector.in_const(node.sig.constness.is_some(), + |collector| { visit::visit_impl_item_fn(collector, node); }); }); }); }); + occurrence: 0 + testSet: 1291 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_impl_item_fn + mutator: stmt.delete_call + normalizedText: visit::visit_impl_item_fn(collector, node); + occurrence: 0 + testSet: 1291 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_const + mutator: fn_value.unit + normalizedText: '{ self.inert(|collector| visit::visit_item_const(collector, node)); }' + occurrence: 0 + testSet: 1292 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_const + mutator: stmt.delete_call + normalizedText: self.inert(|collector| visit::visit_item_const(collector, node)); + occurrence: 0 + testSet: 1292 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: assign_value.default + normalizedText: node .trait_ .as_ref() .is_some_and(|(path, _for)| self.default_paths.is_fallback_trait(path)) + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: assign_value.default + normalizedText: outer + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: assign_value.default + normalizedText: outer_associated + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: assign_value.default + normalizedText: outer_self_type + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: assign_value.default + normalizedText: outer_trait_impl + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: cond.always_false + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1294 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: cond.always_true + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1294 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: cond.negate + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1294 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: expr.decrement + normalizedText: defaulted_depth + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: expr.decrement + normalizedText: depth + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: expr.increment + normalizedText: defaulted_depth + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: expr.increment + normalizedText: depth + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: fn_value.unit + normalizedText: '{ if self.skipped(&node.attrs) { return; } let depth = self.generics.len(); let defaulted_depth = self.defaulted.len(); + let outer = self.in_default_impl; let outer_trait_impl = replace( &mut self.trait_impl, node.trait_ .as_ref() .and_then(|(path, + _for)| path.segments.last()) .map(|segment| Arc::from(segment.ident.to_string())), ); let outer_self_type = self.impl_self_type.replace((*node.self_ty).clone()); + let outer_associated = replace( &mut self.impl_self_associated, node.items .iter() .filter_map(|item| match item { + ImplItem::Type(associated) => Some((associated.ident.to_string(), associated.ty.clone())), _ => None, }) .collect(), + ); self.in_default_impl = node .trait_ .as_ref() .is_some_and(|(path, _for)| self.default_paths.is_fallback_trait(path)); + self.generics.extend(undefaulted_parameters(&node.generics, &self.default_paths)); self.defaulted .extend(standard_defaulted_parameters(&node.generics, + &self.default_paths)); let scope = self.impl_scope(node); self.scoped(scope, |collector| visit::visit_item_impl(collector, + node)); self.generics.truncate(depth); self.defaulted.truncate(defaulted_depth); self.in_default_impl = outer; self.trait_impl + = outer_trait_impl; self.impl_self_type = outer_self_type; self.impl_self_associated = outer_associated; }' + occurrence: 0 + testSet: 1294 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: iter.last_to_first + normalizedText: path.segments.last() + occurrence: 0 + testSet: 1295 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: match_arm.never_matches + normalizedText: ImplItem::Type(associated) + occurrence: 0 + testSet: 1296 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: option.some_to_none + normalizedText: Some((associated.ident.to_string(), associated.ty.clone())) + occurrence: 0 + testSet: 1296 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: stmt.delete_assign + normalizedText: self.impl_self_associated = outer_associated; + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: stmt.delete_assign + normalizedText: self.impl_self_type = outer_self_type; + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: stmt.delete_assign + normalizedText: self.in_default_impl = node .trait_ .as_ref() .is_some_and(|(path, _for)| self.default_paths.is_fallback_trait(path)); + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: stmt.delete_assign + normalizedText: self.in_default_impl = outer; + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: stmt.delete_assign + normalizedText: self.trait_impl = outer_trait_impl; + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: stmt.delete_call + normalizedText: self.defaulted .extend(standard_defaulted_parameters(&node.generics, &self.default_paths)); + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: stmt.delete_call + normalizedText: self.defaulted.truncate(defaulted_depth); + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: stmt.delete_call + normalizedText: self.generics.extend(undefaulted_parameters(&node.generics, &self.default_paths)); + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: stmt.delete_call + normalizedText: self.generics.truncate(depth); + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_impl + mutator: stmt.delete_call + normalizedText: self.scoped(scope, |collector| visit::visit_item_impl(collector, node)); + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_mod + mutator: cond.always_false + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1297 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_mod + mutator: cond.always_true + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1297 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_mod + mutator: cond.negate + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1297 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_mod + mutator: fn_value.unit + normalizedText: '{ if self.skipped(&node.attrs) { return; } self.scoped(&node.ident, |collector| visit::visit_item_mod(collector, + node)); }' + occurrence: 0 + testSet: 1297 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_mod + mutator: stmt.delete_call + normalizedText: self.scoped(&node.ident, |collector| visit::visit_item_mod(collector, node)); + occurrence: 0 + testSet: 1298 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_static + mutator: fn_value.unit + normalizedText: '{ self.inert(|collector| visit::visit_item_static(collector, node)); }' + occurrence: 0 + testSet: 1299 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_static + mutator: stmt.delete_call + normalizedText: self.inert(|collector| visit::visit_item_static(collector, node)); + occurrence: 0 + testSet: 1299 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_trait + mutator: cond.always_false + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1300 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_trait + mutator: cond.always_true + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1300 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_trait + mutator: cond.negate + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1300 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_trait + mutator: fn_value.unit + normalizedText: '{ if self.skipped(&node.attrs) { return; } self.scoped(&node.ident, |collector| { collector.with_defaulted_parameters(&node.generics, + |collector| visit::visit_item_trait(collector, node)); }); }' + occurrence: 0 + testSet: 1300 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_trait + mutator: stmt.delete_call + normalizedText: collector.with_defaulted_parameters(&node.generics, |collector| visit::visit_item_trait(collector, node)); + occurrence: 0 + testSet: 1301 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_item_trait + mutator: stmt.delete_call + normalizedText: self.scoped(&node.ident, |collector| { collector.with_defaulted_parameters(&node.generics, |collector| + visit::visit_item_trait(collector, node)); }); + occurrence: 0 + testSet: 1301 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_local + mutator: cond.always_false + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1302 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_local + mutator: cond.always_true + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1302 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_local + mutator: cond.negate + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1302 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_local + mutator: fn_value.unit + normalizedText: '{ if self.skipped(&node.attrs) { return; } match &node.pat { Pat::Type(typed) => { if let Pat::Ident(ident) + = &*typed.pat { self.bind(ident.ident.to_string(), is_numeric_binding(&typed.ty)); } } Pat::Ident(ident) => { if let + Some(init) = node.init.as_ref().filter(|init| init.diverge.is_none()) && self.is_known_numeric(&init.expr) { self.bind(ident.ident.to_string(), + true); } } _ => {} } visit::visit_local(self, node); }' + occurrence: 0 + testSet: 1302 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_local + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1303 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_local + mutator: match_arm.never_matches + normalizedText: Pat::Ident(ident) + occurrence: 0 + testSet: 1304 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_local + mutator: match_arm.never_matches + normalizedText: Pat::Type(typed) + occurrence: 0 + testSet: 1073 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_local + mutator: stmt.delete_call + normalizedText: self.bind(ident.ident.to_string(), is_numeric_binding(&typed.ty)); + occurrence: 0 + testSet: 1073 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_local + mutator: stmt.delete_call + normalizedText: self.bind(ident.ident.to_string(), true); + occurrence: 0 + testSet: 1303 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_local + mutator: stmt.delete_call + normalizedText: visit::visit_local(self, node); + occurrence: 0 + testSet: 1072 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: cond.always_false + normalizedText: '!node.path.is_ident("vec")' + occurrence: 0 + testSet: 1305 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: cond.always_false + normalizedText: elements.len() < 2 + occurrence: 0 + testSet: 1306 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: cond.always_true + normalizedText: '!node.path.is_ident("vec")' + occurrence: 0 + testSet: 1305 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: cond.always_true + normalizedText: elements.len() < 2 + occurrence: 0 + testSet: 1306 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: cond.negate + normalizedText: '!node.path.is_ident("vec")' + occurrence: 0 + testSet: 1305 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: cond.negate + normalizedText: elements.len() < 2 + occurrence: 0 + testSet: 1306 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: fn_value.unit + normalizedText: '{ if !node.path.is_ident("vec") { return; } let Ok(elements) = node.parse_body_with(Punctuated::::parse_terminated) else { return; }; if elements.len() < 2 { return; } self.omit_elements(node, &elements); + }' + occurrence: 0 + testSet: 1305 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1306 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1306 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1306 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: literal.str_to_empty + normalizedText: '"vec"' + occurrence: 0 + testSet: 1305 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: literal.str_to_xyzzy + normalizedText: '"vec"' + occurrence: 0 + testSet: 1305 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: relational.lt_to_gt + normalizedText: elements.len() < 2 + occurrence: 0 + testSet: 1306 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: relational.lt_to_le + normalizedText: elements.len() < 2 + occurrence: 0 + testSet: 1306 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: stmt.delete_call + normalizedText: self.omit_elements(node, &elements); + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_macro + mutator: unary.remove_not + normalizedText: '!node.path.is_ident("vec")' + occurrence: 0 + testSet: 1305 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_trait_item_const + mutator: fn_value.unit + normalizedText: '{ self.inert(|collector| visit::visit_trait_item_const(collector, node)); }' + occurrence: 0 + testSet: 1308 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_trait_item_const + mutator: stmt.delete_call + normalizedText: self.inert(|collector| visit::visit_trait_item_const(collector, node)); + occurrence: 0 + testSet: 1308 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_trait_item_fn + mutator: cond.always_false + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1309 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_trait_item_fn + mutator: cond.always_true + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1309 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_trait_item_fn + mutator: cond.negate + normalizedText: self.skipped(&node.attrs) + occurrence: 0 + testSet: 1309 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_trait_item_fn + mutator: fn_value.unit + normalizedText: '{ if self.skipped(&node.attrs) { return; } self.scoped(&node.sig.ident, |collector| { collector.with_defaulted_parameters(&node.sig.generics, + |collector| { if let Some(body) = node.default.as_ref() { collector.function(&node.attrs, &node.sig, body); } collector.in_function(&node.sig, + |collector| { collector.in_const(node.sig.constness.is_some(), |collector| { visit::visit_trait_item_fn(collector, + node); }); }); }); }); }' + occurrence: 0 + testSet: 1309 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_trait_item_fn + mutator: stmt.delete_call + normalizedText: collector.function(&node.attrs, &node.sig, body); + occurrence: 0 + testSet: 1310 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_trait_item_fn + mutator: stmt.delete_call + normalizedText: collector.in_const(node.sig.constness.is_some(), |collector| { visit::visit_trait_item_fn(collector, + node); }); + occurrence: 0 + testSet: 1309 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_trait_item_fn + mutator: stmt.delete_call + normalizedText: collector.in_function(&node.sig, |collector| { collector.in_const(node.sig.constness.is_some(), |collector| + { visit::visit_trait_item_fn(collector, node); }); }); + occurrence: 0 + testSet: 1309 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_trait_item_fn + mutator: stmt.delete_call + normalizedText: collector.with_defaulted_parameters(&node.sig.generics, |collector| { if let Some(body) = node.default.as_ref() + { collector.function(&node.attrs, &node.sig, body); } collector.in_function(&node.sig, |collector| { collector.in_const(node.sig.constness.is_some(), + |collector| { visit::visit_trait_item_fn(collector, node); }); }); }); + occurrence: 0 + testSet: 1309 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_trait_item_fn + mutator: stmt.delete_call + normalizedText: self.scoped(&node.sig.ident, |collector| { collector.with_defaulted_parameters(&node.sig.generics, |collector| + { if let Some(body) = node.default.as_ref() { collector.function(&node.attrs, &node.sig, body); } collector.in_function(&node.sig, + |collector| { collector.in_const(node.sig.constness.is_some(), |collector| { visit::visit_trait_item_fn(collector, + node); }); }); }); }); + occurrence: 0 + testSet: 1309 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_trait_item_fn + mutator: stmt.delete_call + normalizedText: visit::visit_trait_item_fn(collector, node); + occurrence: 0 + testSet: 1309 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_variant + mutator: fn_value.unit + normalizedText: '{ self.inert(|collector| visit::visit_variant(collector, node)); }' + occurrence: 0 + testSet: 1311 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: as Visit<'ast>>::visit_variant + mutator: stmt.delete_call + normalizedText: self.inert(|collector| visit::visit_variant(collector, node)); + occurrence: 0 + testSet: 1311 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: cond.always_false + normalizedText: binds_a_pattern(cond) + occurrence: 0 + testSet: 1312 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: cond.always_false + normalizedText: literal != Some(false) + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: cond.always_false + normalizedText: literal != Some(true) + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: cond.always_false + normalizedText: self.wants(negate) + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: cond.always_true + normalizedText: binds_a_pattern(cond) + occurrence: 0 + testSet: 1312 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: cond.always_true + normalizedText: literal != Some(false) + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: cond.always_true + normalizedText: literal != Some(true) + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: cond.always_true + normalizedText: self.wants(negate) + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: cond.negate + normalizedText: binds_a_pattern(cond) + occurrence: 0 + testSet: 1312 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: cond.negate + normalizedText: literal != Some(false) + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: cond.negate + normalizedText: literal != Some(true) + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: cond.negate + normalizedText: self.wants(negate) + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: fn_value.unit + normalizedText: '{ if binds_a_pattern(cond) { return; } let span = cond.span(); if self.wants(negate) { let negated + = self.negation_of(span); self.emit(negate, span, negated, 0); } let literal = boolean_literal(cond); if literal != + Some(true) { self.emit(always_true, span, "true", 1); } if literal != Some(false) { self.emit(always_false, span, + "false", 2); } }' + occurrence: 0 + testSet: 1312 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1313 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1314 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1313 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: literal.str_to_empty + normalizedText: '"false"' + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: literal.str_to_empty + normalizedText: '"true"' + occurrence: 0 + testSet: 1313 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: literal.str_to_xyzzy + normalizedText: '"false"' + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: literal.str_to_xyzzy + normalizedText: '"true"' + occurrence: 0 + testSet: 1313 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: option.some_to_none + normalizedText: Some(false) + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: option.some_to_none + normalizedText: Some(true) + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: relational.ne_to_eq + normalizedText: literal != Some(false) + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: relational.ne_to_eq + normalizedText: literal != Some(true) + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: stmt.delete_call + normalizedText: self.emit(always_false, span, "false", 2); + occurrence: 0 + testSet: 1062 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: stmt.delete_call + normalizedText: self.emit(always_true, span, "true", 1); + occurrence: 0 + testSet: 1313 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::condition + mutator: stmt.delete_call + normalizedText: self.emit(negate, span, negated, 0); + occurrence: 0 + testSet: 1314 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: expr.decrement + normalizedText: index + occurrence: 2 + testSet: 1315 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: expr.decrement + normalizedText: u32::MAX + occurrence: 1 + testSet: 1315 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: expr.decrement + normalizedText: value_count.saturating_add(offset) + occurrence: 0 + testSet: 1315 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: expr.increment + normalizedText: index + occurrence: 2 + testSet: 1315 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: expr.increment + normalizedText: u32::MAX + occurrence: 1 + testSet: 1315 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: expr.increment + normalizedText: value_count.saturating_add(offset) + occurrence: 0 + testSet: 1315 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1316 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: literal.str_to_empty + normalizedText: '"default"' + occurrence: 0 + testSet: 1317 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: literal.str_to_empty + normalizedText: '"fn_value.default"' + occurrence: 0 + testSet: 1318 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: literal.str_to_empty + normalizedText: '"fn_value.err_with"' + occurrence: 0 + testSet: 1319 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: literal.str_to_empty + normalizedText: '"fn_value.err_with"' + occurrence: 1 + testSet: 1315 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: literal.str_to_empty + normalizedText: '"fn_value.stated"' + occurrence: 0 + testSet: 1320 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: literal.str_to_empty + normalizedText: '"fn_value.stated"' + occurrence: 1 + testSet: 1316 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: literal.str_to_xyzzy + normalizedText: '"default"' + occurrence: 0 + testSet: 1317 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.default"' + occurrence: 0 + testSet: 1318 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.err_with"' + occurrence: 0 + testSet: 1319 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.err_with"' + occurrence: 1 + testSet: 1315 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.stated"' + occurrence: 0 + testSet: 1320 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.stated"' + occurrence: 1 + testSet: 1316 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1321 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 1322 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1321 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 1322 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: relational.eq_to_ne + normalizedText: mutator == "fn_value.default" + occurrence: 0 + testSet: 1318 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: relational.eq_to_ne + normalizedText: sig.ident == "default" + occurrence: 0 + testSet: 1317 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: stmt.delete_call + normalizedText: self.emit_shaped("fn_value.err_with", span, replacement, index, Shape::Block); + occurrence: 0 + testSet: 1315 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::function + mutator: stmt.delete_call + normalizedText: self.emit_shaped("fn_value.stated", span, expression, 0, shape); + occurrence: 0 + testSet: 1316 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::impl_scope + mutator: cond.always_false + normalizedText: self_type.is_empty() + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::impl_scope + mutator: cond.always_false + normalizedText: trait_path.is_empty() + occurrence: 0 + testSet: 1295 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::impl_scope + mutator: cond.always_true + normalizedText: self_type.is_empty() + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::impl_scope + mutator: cond.always_true + normalizedText: trait_path.is_empty() + occurrence: 0 + testSet: 1295 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::impl_scope + mutator: cond.negate + normalizedText: self_type.is_empty() + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::impl_scope + mutator: cond.negate + normalizedText: trait_path.is_empty() + occurrence: 0 + testSet: 1295 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::impl_scope + mutator: fn_value.empty_string + normalizedText: '{ let self_type = compact_path(self.text_of(node.self_ty.span())); let self_type = if self_type.is_empty() + { "_".to_owned() } else { self_type }; let Some((trait_path, _for)) = &node.trait_ else { return self_type; }; let + trait_path = compact_path(self.text_of(trait_path.span())); if trait_path.is_empty() { return self_type; } format!("<{self_type} + as {trait_path}>") }' + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::impl_scope + mutator: fn_value.xyzzy_string + normalizedText: '{ let self_type = compact_path(self.text_of(node.self_ty.span())); let self_type = if self_type.is_empty() + { "_".to_owned() } else { self_type }; let Some((trait_path, _for)) = &node.trait_ else { return self_type; }; let + trait_path = compact_path(self.text_of(trait_path.span())); if trait_path.is_empty() { return self_type; } format!("<{self_type} + as {trait_path}>") }' + occurrence: 0 + testSet: 1293 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::impl_scope + mutator: literal.str_to_empty + normalizedText: '"_"' + occurrence: 0 + testSet: 1323 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::impl_scope + mutator: literal.str_to_xyzzy + normalizedText: '"_"' + occurrence: 0 + testSet: 1323 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::initializes_deferred + mutator: fn_value.bool_false + normalizedText: '{ let Expr::Path(path) = target else { return false; }; path.path .get_ident() .is_some_and(|ident| + self.deferred.contains(&ident.to_string())) }' + occurrence: 0 + testSet: 1093 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::initializes_deferred + mutator: fn_value.bool_true + normalizedText: '{ let Expr::Path(path) = target else { return false; }; path.path .get_ident() .is_some_and(|ident| + self.deferred.contains(&ident.to_string())) }' + occurrence: 0 + testSet: 1093 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::initializes_deferred + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1324 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: iter.last_to_first + normalizedText: path.path.segments.last() + occurrence: 0 + testSet: 1325 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1326 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1327 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 1328 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1329 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: logical.or_to_and + normalizedText: last || path.path.get_ident().is_some_and(|ident| { let name = ident.to_string(); self.bindings .get(&name) + .copied() .unwrap_or_else(|| self.numeric_uses.names.contains(&name)) }) + occurrence: 0 + testSet: 1325 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: logical.or_to_and + normalizedText: self.is_known_numeric(&binary.left) || self.is_known_numeric(&binary.right) + occurrence: 0 + testSet: 1330 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: match_arm.never_matches + normalizedText: BinOp::Add(_) + occurrence: 0 + testSet: 1330 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: match_arm.never_matches + normalizedText: BinOp::Sub(_) | BinOp::Mul(_) | BinOp::Div(_) | BinOp::Rem(_) + occurrence: 0 + testSet: 1329 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: match_arm.never_matches + normalizedText: Expr::Binary(binary) + occurrence: 0 + testSet: 1331 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: match_arm.never_matches + normalizedText: Expr::Call(call) + occurrence: 0 + testSet: 1332 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: match_arm.never_matches + normalizedText: Expr::Cast(cast) + occurrence: 0 + testSet: 1333 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: match_arm.never_matches + normalizedText: Expr::Field(field) + occurrence: 0 + testSet: 1334 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: match_arm.never_matches + normalizedText: Expr::MethodCall(call) + occurrence: 0 + testSet: 1132 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: match_arm.never_matches + normalizedText: Expr::Paren(paren) + occurrence: 0 + testSet: 1335 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: match_arm.never_matches + normalizedText: Expr::Unary(unary) + occurrence: 0 + testSet: 1336 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: match_guard.always_false + normalizedText: path.qself.is_none() + occurrence: 0 + testSet: 1325 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: match_guard.always_true + normalizedText: path.qself.is_none() + occurrence: 0 + testSet: 1325 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::is_known_numeric + mutator: match_guard.negate + normalizedText: path.qself.is_none() + occurrence: 0 + testSet: 1325 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: cond.always_false + normalizedText: self.skipped(&arm.attrs) + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: cond.always_false + normalizedText: wildcard.is_some_and(|at| index < at) + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: cond.always_true + normalizedText: self.skipped(&arm.attrs) + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: cond.always_true + normalizedText: wildcard.is_some_and(|at| index < at) + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: cond.negate + normalizedText: self.skipped(&arm.attrs) + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: cond.negate + normalizedText: wildcard.is_some_and(|at| index < at) + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: fn_value.unit + normalizedText: '{ let wildcard = node .arms .iter() .position(|arm| !matches!(&arm.pat, Pat::Guard(_)) && is_catch_all(&arm.pat) + && self.cfg.holds_for(&arm.attrs)); for (index, arm) in node.arms.iter().enumerate() { if self.skipped(&arm.attrs) + { continue; } if let Pat::Guard(guarded) = &arm.pat { self.condition( "match_guard.negate", "match_guard.always_true", + "match_guard.always_false", &guarded.guard, ); continue; } if wildcard.is_some_and(|at| index < at) { self.emit_shaped("match_arm.never_matches", + arm.pat.span(), "", 0, Shape::Arm); } } }' + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1337 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: literal.str_to_empty + normalizedText: '"match_arm.never_matches"' + occurrence: 0 + testSet: 1337 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: literal.str_to_empty + normalizedText: '"match_guard.always_false"' + occurrence: 0 + testSet: 1338 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: literal.str_to_empty + normalizedText: '"match_guard.always_true"' + occurrence: 0 + testSet: 1338 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: literal.str_to_empty + normalizedText: '"match_guard.negate"' + occurrence: 0 + testSet: 1338 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 1337 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: literal.str_to_xyzzy + normalizedText: '"match_arm.never_matches"' + occurrence: 0 + testSet: 1337 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: literal.str_to_xyzzy + normalizedText: '"match_guard.always_false"' + occurrence: 0 + testSet: 1338 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: literal.str_to_xyzzy + normalizedText: '"match_guard.always_true"' + occurrence: 0 + testSet: 1338 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: literal.str_to_xyzzy + normalizedText: '"match_guard.negate"' + occurrence: 0 + testSet: 1338 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: logical.and_to_or + normalizedText: '!matches!(&arm.pat, Pat::Guard(_)) && is_catch_all(&arm.pat)' + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: logical.and_to_or + normalizedText: '!matches!(&arm.pat, Pat::Guard(_)) && is_catch_all(&arm.pat) && self.cfg.holds_for(&arm.attrs)' + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1339 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 1338 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1339 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 1338 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: relational.lt_to_gt + normalizedText: index < at + occurrence: 0 + testSet: 1340 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: relational.lt_to_le + normalizedText: index < at + occurrence: 0 + testSet: 1340 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: stmt.delete_call + normalizedText: self.condition( "match_guard.negate", "match_guard.always_true", "match_guard.always_false", &guarded.guard, + ); + occurrence: 0 + testSet: 1338 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: stmt.delete_call + normalizedText: self.emit_shaped("match_arm.never_matches", arm.pat.span(), "", 0, Shape::Arm); + occurrence: 0 + testSet: 1337 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::match_arms + mutator: unary.remove_not + normalizedText: '!matches!(&arm.pat, Pat::Guard(_))' + occurrence: 0 + testSet: 1087 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::negation_of + mutator: fn_value.default + normalizedText: '{ format_compact!("!({})", self.text_of(span)) }' + occurrence: 0 + testSet: 1341 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: expr.decrement + normalizedText: from.saturating_sub(items.start) + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: expr.decrement + normalizedText: index.saturating_add(1) + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: expr.decrement + normalizedText: index.wrapping_sub(1) + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: expr.decrement + normalizedText: to.saturating_sub(items.start) + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: expr.decrement + normalizedText: u32::MAX + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: expr.increment + normalizedText: from.saturating_sub(items.start) + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: expr.increment + normalizedText: index.saturating_add(1) + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: expr.increment + normalizedText: index.wrapping_sub(1) + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: expr.increment + normalizedText: to.saturating_sub(items.start) + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: expr.increment + normalizedText: u32::MAX + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: iter.first_to_last + normalizedText: spans.first() + occurrence: 0 + testSet: 1342 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: iter.last_to_first + normalizedText: spans.last() + occurrence: 0 + testSet: 1342 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: literal.str_to_empty + normalizedText: '"collection.omit_element"' + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: literal.str_to_xyzzy + normalizedText: '"collection.omit_element"' + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: range.exclusive_to_inclusive + normalizedText: ..from.saturating_sub(items.start) + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: range.exclusive_to_inclusive + normalizedText: first.start..last.end + occurrence: 0 + testSet: 1343 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: range.exclusive_to_inclusive + normalizedText: items.end..whole.end + occurrence: 0 + testSet: 1343 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: range.exclusive_to_inclusive + normalizedText: whole.start..items.start + occurrence: 0 + testSet: 1343 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::omit_elements + mutator: stmt.delete_call + normalizedText: self.emit_at("collection.omit_element", whole.clone(), replacement, ordinal, Shape::Expr); + occurrence: 0 + testSet: 1307 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb + mutator: stmt.delete_call + normalizedText: self.perturb_proven(expression); + occurrence: 0 + testSet: 1122 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb + mutator: unary.remove_not + normalizedText: '!is_textual(expression)' + occurrence: 0 + testSet: 1122 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_arguments + mutator: stmt.delete_call + normalizedText: self.perturb(argument); + occurrence: 0 + testSet: 1344 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: cond.always_false + normalizedText: diverges(expression) + occurrence: 0 + testSet: 1076 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: cond.always_false + normalizedText: is_capacity_result(expression) + occurrence: 0 + testSet: 1345 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: cond.always_false + normalizedText: text.is_empty() + occurrence: 0 + testSet: 1085 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: cond.always_true + normalizedText: diverges(expression) + occurrence: 0 + testSet: 1076 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: cond.always_true + normalizedText: is_capacity_result(expression) + occurrence: 0 + testSet: 1345 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: cond.always_true + normalizedText: text.is_empty() + occurrence: 0 + testSet: 1085 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: cond.negate + normalizedText: diverges(expression) + occurrence: 0 + testSet: 1076 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: cond.negate + normalizedText: is_capacity_result(expression) + occurrence: 0 + testSet: 1345 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: cond.negate + normalizedText: text.is_empty() + occurrence: 0 + testSet: 1085 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1085 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1085 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1085 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: literal.str_to_empty + normalizedText: '"expr.decrement"' + occurrence: 0 + testSet: 1346 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: literal.str_to_empty + normalizedText: '"expr.decrement"' + occurrence: 1 + testSet: 1085 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: literal.str_to_empty + normalizedText: '"expr.increment"' + occurrence: 1 + testSet: 1085 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: literal.str_to_xyzzy + normalizedText: '"expr.decrement"' + occurrence: 0 + testSet: 1346 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: literal.str_to_xyzzy + normalizedText: '"expr.decrement"' + occurrence: 1 + testSet: 1085 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: literal.str_to_xyzzy + normalizedText: '"expr.increment"' + occurrence: 1 + testSet: 1085 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: stmt.delete_call + normalizedText: self.emit("expr.decrement", span, decremented, 1); + occurrence: 0 + testSet: 1085 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: stmt.delete_call + normalizedText: self.emit("expr.increment", span, incremented, 0); + occurrence: 0 + testSet: 1085 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::perturb_proven + mutator: unary.remove_not + normalizedText: '!self.wants("expr.decrement")' + occurrence: 0 + testSet: 1346 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::record_declaration + mutator: cond.always_false + normalizedText: local.init.is_none() + occurrence: 0 + testSet: 1074 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::record_declaration + mutator: cond.always_true + normalizedText: local.init.is_none() + occurrence: 0 + testSet: 1074 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::record_declaration + mutator: cond.negate + normalizedText: local.init.is_none() + occurrence: 0 + testSet: 1074 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::record_declaration + mutator: fn_value.unit + normalizedText: '{ let Some(name) = declared_name(&local.pat) else { return; }; let was_present = if local.init.is_none() + { !self.deferred.insert(name.clone()) } else { self.deferred.remove(&name) }; self.undo.push(Undo::Deferred(name, + was_present)); }' + occurrence: 0 + testSet: 1072 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::record_declaration + mutator: stmt.delete_call + normalizedText: self.undo.push(Undo::Deferred(name, was_present)); + occurrence: 0 + testSet: 1074 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::record_declaration + mutator: unary.remove_not + normalizedText: '!self.deferred.insert(name.clone())' + occurrence: 0 + testSet: 1347 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: cond.always_false + normalizedText: name.start < whole.start || name.end > whole.end + occurrence: 0 + testSet: 1348 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: cond.always_true + normalizedText: name.start < whole.start || name.end > whole.end + occurrence: 0 + testSet: 1348 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: cond.negate + normalizedText: name.start < whole.start || name.end > whole.end + occurrence: 0 + testSet: 1348 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1349 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: expr.decrement + normalizedText: index + occurrence: 1 + testSet: 1349 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: expr.decrement + normalizedText: node.args.len() + occurrence: 0 + testSet: 1350 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: expr.decrement + normalizedText: u32::MAX + occurrence: 0 + testSet: 1349 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1349 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: expr.increment + normalizedText: index + occurrence: 1 + testSet: 1349 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: expr.increment + normalizedText: node.args.len() + occurrence: 0 + testSet: 1350 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: expr.increment + normalizedText: u32::MAX + occurrence: 0 + testSet: 1349 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: fn_value.unit + normalizedText: '{ let Some(swaps) = method_renames(method, node.args.len()) else { return; }; let whole = node.span().byte_range(); + let name = node.method.span().byte_range(); if name.start < whole.start || name.end > whole.end { return; } let text + = &self.file.text; let (Some(before), Some(after)) = (text.get(whole.start..name.start), text.get(name.end..whole.end)) + else { return; }; let (before, after) = (before.to_owned(), after.to_owned()); for (index, (mutator, replacement)) + in swaps.iter().enumerate() { let index = u32::try_from(index).unwrap_or(u32::MAX); self.emit(mutator, node.span(), + format_compact!("{before}{replacement}{after}"), index); } }' + occurrence: 0 + testSet: 1350 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: logical.or_to_and + normalizedText: name.start < whole.start || name.end > whole.end + occurrence: 0 + testSet: 1348 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: range.exclusive_to_inclusive + normalizedText: name.end..whole.end + occurrence: 0 + testSet: 1349 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: range.exclusive_to_inclusive + normalizedText: whole.start..name.start + occurrence: 0 + testSet: 1349 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: relational.gt_to_ge + normalizedText: name.end > whole.end + occurrence: 0 + testSet: 1349 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: relational.gt_to_lt + normalizedText: name.end > whole.end + occurrence: 0 + testSet: 1349 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: relational.lt_to_gt + normalizedText: name.start < whole.start + occurrence: 0 + testSet: 1348 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: relational.lt_to_le + normalizedText: name.start < whole.start + occurrence: 0 + testSet: 1348 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::rename_method + mutator: stmt.delete_call + normalizedText: self.emit(mutator, node.span(), format_compact!("{before}{replacement}{after}"), index); + occurrence: 0 + testSet: 1349 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1351 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: literal.str_to_empty + normalizedText: '"loop.delete_break"' + occurrence: 0 + testSet: 1352 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: literal.str_to_empty + normalizedText: '"loop.delete_continue"' + occurrence: 0 + testSet: 1252 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: literal.str_to_empty + normalizedText: '"stmt.delete_assign"' + occurrence: 0 + testSet: 1353 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: literal.str_to_empty + normalizedText: '"stmt.delete_assign"' + occurrence: 1 + testSet: 1354 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: literal.str_to_empty + normalizedText: '"stmt.delete_call"' + occurrence: 0 + testSet: 1355 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 1351 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: literal.str_to_xyzzy + normalizedText: '"loop.delete_break"' + occurrence: 0 + testSet: 1352 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: literal.str_to_xyzzy + normalizedText: '"loop.delete_continue"' + occurrence: 0 + testSet: 1252 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: literal.str_to_xyzzy + normalizedText: '"stmt.delete_assign"' + occurrence: 0 + testSet: 1353 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: literal.str_to_xyzzy + normalizedText: '"stmt.delete_assign"' + occurrence: 1 + testSet: 1354 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: literal.str_to_xyzzy + normalizedText: '"stmt.delete_call"' + occurrence: 0 + testSet: 1355 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: match_arm.never_matches + normalizedText: Expr::Assign(_) + occurrence: 0 + testSet: 1353 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: match_arm.never_matches + normalizedText: Expr::Call(_) | Expr::MethodCall(_) + occurrence: 0 + testSet: 1355 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: match_arm.never_matches + normalizedText: Expr::Continue(_) + occurrence: 0 + testSet: 1252 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: match_guard.always_false + normalizedText: brk.expr.is_none() + occurrence: 0 + testSet: 1246 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: match_guard.always_false + normalizedText: is_assign_op(&binary.op) + occurrence: 0 + testSet: 1354 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: match_guard.always_false + normalizedText: self.initializes_deferred(&assign.left) + occurrence: 0 + testSet: 1093 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: match_guard.always_true + normalizedText: brk.expr.is_none() + occurrence: 0 + testSet: 1246 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: match_guard.always_true + normalizedText: is_assign_op(&binary.op) + occurrence: 0 + testSet: 1354 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: match_guard.always_true + normalizedText: self.initializes_deferred(&assign.left) + occurrence: 0 + testSet: 1093 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: match_guard.negate + normalizedText: brk.expr.is_none() + occurrence: 0 + testSet: 1246 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: match_guard.negate + normalizedText: is_assign_op(&binary.op) + occurrence: 0 + testSet: 1354 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: match_guard.negate + normalizedText: self.initializes_deferred(&assign.left) + occurrence: 0 + testSet: 1093 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::statement + mutator: stmt.delete_call + normalizedText: self.emit_shaped(mutator, statement.span(), "", 0, Shape::Stmt); + occurrence: 0 + testSet: 1351 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: cond.always_false + normalizedText: '!self.wants("struct_field.omit")' + occurrence: 0 + testSet: 1356 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: cond.always_false + normalizedText: from < whole.start || to > whole.end || from >= to + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: cond.always_false + normalizedText: self.skipped(&field.attrs) + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: cond.always_false + normalizedText: whole.start >= whole.end || whole.end > self.file.text.len() + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: cond.always_true + normalizedText: '!self.wants("struct_field.omit")' + occurrence: 0 + testSet: 1356 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: cond.always_true + normalizedText: from < whole.start || to > whole.end || from >= to + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: cond.always_true + normalizedText: self.skipped(&field.attrs) + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: cond.always_true + normalizedText: whole.start >= whole.end || whole.end > self.file.text.len() + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: cond.negate + normalizedText: '!self.wants("struct_field.omit")' + occurrence: 0 + testSet: 1356 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: cond.negate + normalizedText: from < whole.start || to > whole.end || from >= to + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: cond.negate + normalizedText: self.skipped(&field.attrs) + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: cond.negate + normalizedText: whole.start >= whole.end || whole.end > self.file.text.len() + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: expr.decrement + normalizedText: from + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: expr.decrement + normalizedText: index.saturating_add(1) + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: expr.decrement + normalizedText: to + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: expr.decrement + normalizedText: u32::MAX + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: expr.increment + normalizedText: from + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: expr.increment + normalizedText: index.saturating_add(1) + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: expr.increment + normalizedText: to + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: expr.increment + normalizedText: u32::MAX + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: fn_value.unit + normalizedText: '{ if !self.wants("struct_field.omit") { return; } let Some(rest) = node.dot2_token.as_ref().map(syn::spanned::Spanned::span) + else { return; }; let whole = node.span().byte_range(); if whole.start >= whole.end || whole.end > self.file.text.len() + { return; } for (index, field) in node.fields.iter().enumerate() { if self.skipped(&field.attrs) { continue; } let + from = field.span().byte_range().start; let to = node .fields .iter() .nth(index.saturating_add(1)) .map_or_else(|| + rest.byte_range().start, |next| next.span().byte_range().start); if from < whole.start || to > whole.end || from >= + to { continue; } let head = self .file .text .get(whole.start..from) .expect("field bounds were checked above and + parser spans are UTF-8 boundaries"); let tail = self .file .text .get(to..whole.end) .expect("field bounds were checked + above and parser spans are UTF-8 boundaries"); let replacement = format_compact!("{head}{tail}"); let ordinal = u32::try_from(index).unwrap_or(u32::MAX); + self.emit_shaped("struct_field.omit", node.span(), replacement, ordinal, Shape::Expr); } }' + occurrence: 0 + testSet: 1356 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: literal.str_to_empty + normalizedText: '"struct_field.omit"' + occurrence: 0 + testSet: 1356 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: literal.str_to_empty + normalizedText: '"struct_field.omit"' + occurrence: 1 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: literal.str_to_xyzzy + normalizedText: '"struct_field.omit"' + occurrence: 0 + testSet: 1356 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: literal.str_to_xyzzy + normalizedText: '"struct_field.omit"' + occurrence: 1 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: logical.or_to_and + normalizedText: from < whole.start || to > whole.end + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: logical.or_to_and + normalizedText: from < whole.start || to > whole.end || from >= to + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: logical.or_to_and + normalizedText: whole.start >= whole.end || whole.end > self.file.text.len() + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1359 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 1360 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1359 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 1360 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: range.exclusive_to_inclusive + normalizedText: to..whole.end + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: range.exclusive_to_inclusive + normalizedText: whole.start..from + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: relational.ge_to_gt + normalizedText: from >= to + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: relational.ge_to_gt + normalizedText: whole.start >= whole.end + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: relational.ge_to_le + normalizedText: from >= to + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: relational.ge_to_le + normalizedText: whole.start >= whole.end + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: relational.gt_to_ge + normalizedText: to > whole.end + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: relational.gt_to_ge + normalizedText: whole.end > self.file.text.len() + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: relational.gt_to_lt + normalizedText: to > whole.end + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: relational.gt_to_lt + normalizedText: whole.end > self.file.text.len() + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: relational.lt_to_gt + normalizedText: from < whole.start + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: relational.lt_to_le + normalizedText: from < whole.start + occurrence: 0 + testSet: 1357 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: stmt.delete_call + normalizedText: self.emit_shaped("struct_field.omit", node.span(), replacement, ordinal, Shape::Expr); + occurrence: 0 + testSet: 1358 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: Collector<'a>::struct_fields + mutator: unary.remove_not + normalizedText: '!self.wants("struct_field.omit")' + occurrence: 0 + testSet: 1356 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: assign.add_to_sub + normalizedText: at += token.len + occurrence: 0 + testSet: 1361 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: assign_value.default + normalizedText: Some(token.kind) + occurrence: 0 + testSet: 1361 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: cond.always_false + normalizedText: 'matches!( token.kind, TokenKind::Whitespace | TokenKind::LineComment | TokenKind::BlockComment { terminated: + true } )' + occurrence: 0 + testSet: 1361 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: cond.always_false + normalizedText: previous.is_some_and(|kind| word_like(kind) && word_like(token.kind)) + occurrence: 0 + testSet: 1361 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: cond.always_true + normalizedText: 'matches!( token.kind, TokenKind::Whitespace | TokenKind::LineComment | TokenKind::BlockComment { terminated: + true } )' + occurrence: 0 + testSet: 1361 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: cond.always_true + normalizedText: previous.is_some_and(|kind| word_like(kind) && word_like(token.kind)) + occurrence: 0 + testSet: 1361 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: cond.negate + normalizedText: 'matches!( token.kind, TokenKind::Whitespace | TokenKind::LineComment | TokenKind::BlockComment { terminated: + true } )' + occurrence: 0 + testSet: 1361 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: cond.negate + normalizedText: previous.is_some_and(|kind| word_like(kind) && word_like(token.kind)) + occurrence: 0 + testSet: 1361 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: fn_value.empty_string + normalizedText: '{ let mut at = 0; let mut compact = String::with_capacity(text.len()); let mut previous = None; for + token in rustc_lexer::tokenize(text) { let start = at; at += token.len; if matches!( token.kind, TokenKind::Whitespace + | TokenKind::LineComment | TokenKind::BlockComment { terminated: true } ) { continue; } if previous.is_some_and(|kind| + word_like(kind) && word_like(token.kind)) { compact.push('' ''); } compact.push_str( text.get(start..at) .expect("rustc_lexer + token lengths preserve source byte boundaries"), ); previous = Some(token.kind); } compact }' + occurrence: 0 + testSet: 1362 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut at = 0; let mut compact = String::with_capacity(text.len()); let mut previous = None; for + token in rustc_lexer::tokenize(text) { let start = at; at += token.len; if matches!( token.kind, TokenKind::Whitespace + | TokenKind::LineComment | TokenKind::BlockComment { terminated: true } ) { continue; } if previous.is_some_and(|kind| + word_like(kind) && word_like(token.kind)) { compact.push('' ''); } compact.push_str( text.get(start..at) .expect("rustc_lexer + token lengths preserve source byte boundaries"), ); previous = Some(token.kind); } compact }' + occurrence: 0 + testSet: 1362 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1362 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: logical.and_to_or + normalizedText: word_like(kind) && word_like(token.kind) + occurrence: 0 + testSet: 1363 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1364 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1364 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: option.some_to_none + normalizedText: Some(token.kind) + occurrence: 0 + testSet: 1361 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: range.exclusive_to_inclusive + normalizedText: start..at + occurrence: 0 + testSet: 1361 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: stmt.delete_assign + normalizedText: at += token.len; + occurrence: 0 + testSet: 1361 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: stmt.delete_assign + normalizedText: previous = Some(token.kind); + occurrence: 0 + testSet: 1361 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: stmt.delete_call + normalizedText: compact.push(' '); + occurrence: 0 + testSet: 1365 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/collector.rs + item: compact_path + mutator: stmt.delete_call + normalizedText: compact.push_str( text.get(start..at) .expect("rustc_lexer token lengths preserve source byte boundaries"), + ); + occurrence: 0 + testSet: 1361 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_enum + mutator: cond.always_false + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1366 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_enum + mutator: cond.always_true + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1366 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_enum + mutator: cond.negate + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1366 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_enum + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.holds_for(&node.attrs) { return; } self.note_derive(&node.ident.to_string(), &node.attrs); + visit::visit_item_enum(self, node); }' + occurrence: 0 + testSet: 1366 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_enum + mutator: stmt.delete_call + normalizedText: self.note_derive(&node.ident.to_string(), &node.attrs); + occurrence: 0 + testSet: 1367 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_enum + mutator: stmt.delete_call + normalizedText: visit::visit_item_enum(self, node); + occurrence: 0 + testSet: 1367 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_enum + mutator: unary.remove_not + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1366 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_impl + mutator: cond.always_false + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1368 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_impl + mutator: cond.always_true + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1368 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_impl + mutator: cond.negate + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1368 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_impl + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.holds_for(&node.attrs) { return; } if let Some((path, _for)) = &node.trait_ && self.paths.is_standard_trait(path) + && let Some(name) = name_of(&node.self_ty) { let _inserted = self.defaulted.insert(name); } visit::visit_item_impl(self, + node); }' + occurrence: 0 + testSet: 1368 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_impl + mutator: stmt.delete_call + normalizedText: visit::visit_item_impl(self, node); + occurrence: 0 + testSet: 1369 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_impl + mutator: unary.remove_not + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1368 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_struct + mutator: cond.always_false + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1370 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_struct + mutator: cond.always_true + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1370 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_struct + mutator: cond.negate + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1370 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_struct + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.holds_for(&node.attrs) { return; } self.note_derive(&node.ident.to_string(), &node.attrs); + visit::visit_item_struct(self, node); }' + occurrence: 0 + testSet: 1370 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_struct + mutator: stmt.delete_call + normalizedText: self.note_derive(&node.ident.to_string(), &node.attrs); + occurrence: 0 + testSet: 1370 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_struct + mutator: stmt.delete_call + normalizedText: visit::visit_item_struct(self, node); + occurrence: 0 + testSet: 1370 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_struct + mutator: unary.remove_not + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1370 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: cond.always_false + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1371 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: cond.always_false + normalizedText: name_of(&node.ty).as_deref() == Some("Result") + occurrence: 0 + testSet: 1372 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: cond.always_true + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1371 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: cond.always_true + normalizedText: name_of(&node.ty).as_deref() == Some("Result") + occurrence: 0 + testSet: 1372 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: cond.negate + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1371 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: cond.negate + normalizedText: name_of(&node.ty).as_deref() == Some("Result") + occurrence: 0 + testSet: 1372 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.holds_for(&node.attrs) { return; } if name_of(&node.ty).as_deref() == Some("Result") + { let defaulted = node.generics.params.iter().find_map(|param| match param { GenericParam::Type(ty) => ty.default.as_ref().and_then(|(_equals, + ty)| name_of(ty)), _ => None, }); let written = payload_name(&node.ty, 1); if let Some(error) = defaulted.or(written) + { merge_alias(&mut self.result_error, node.ident.to_string(), Some(error)); } } visit::visit_item_type(self, node); + }' + occurrence: 0 + testSet: 1371 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1373 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1373 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: literal.str_to_empty + normalizedText: '"Result"' + occurrence: 0 + testSet: 1372 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: literal.str_to_xyzzy + normalizedText: '"Result"' + occurrence: 0 + testSet: 1372 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: match_arm.never_matches + normalizedText: GenericParam::Type(ty) + occurrence: 0 + testSet: 1374 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1375 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: option.some_to_none + normalizedText: Some("Result") + occurrence: 0 + testSet: 1372 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: option.some_to_none + normalizedText: Some(error) + occurrence: 0 + testSet: 1373 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: relational.eq_to_ne + normalizedText: name_of(&node.ty).as_deref() == Some("Result") + occurrence: 0 + testSet: 1372 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: stmt.delete_call + normalizedText: merge_alias(&mut self.result_error, node.ident.to_string(), Some(error)); + occurrence: 0 + testSet: 1373 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: stmt.delete_call + normalizedText: visit::visit_item_type(self, node); + occurrence: 0 + testSet: 1372 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_type + mutator: unary.remove_not + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1371 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_union + mutator: cond.always_false + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1376 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_union + mutator: cond.always_true + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1376 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_union + mutator: cond.negate + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1376 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_union + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.holds_for(&node.attrs) { return; } self.note_derive(&node.ident.to_string(), &node.attrs); + visit::visit_item_union(self, node); }' + occurrence: 0 + testSet: 1376 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_union + mutator: stmt.delete_call + normalizedText: self.note_derive(&node.ident.to_string(), &node.attrs); + occurrence: 0 + testSet: 1377 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_union + mutator: stmt.delete_call + normalizedText: visit::visit_item_union(self, node); + occurrence: 0 + testSet: 1377 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: >::visit_item_union + mutator: unary.remove_not + normalizedText: '!self.cfg.holds_for(&node.attrs)' + occurrence: 0 + testSet: 1376 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::descend_use + mutator: fn_value.unit + normalizedText: '{ match tree { UseTree::Path(path) => { prefix.push(path.ident.to_string()); self.descend_use(prefix, + &path.tree); let _popped = prefix.pop(); } UseTree::Name(name) => self.imported(name.ident.to_string(), prefix, name.ident.to_string()), + UseTree::Rename(rename) => self.imported(rename.rename.to_string(), prefix, rename.ident.to_string()), UseTree::Group(group) + => { for item in &group.items { self.descend_use(prefix, item); } } UseTree::Glob(_) => {} } }' + occurrence: 0 + testSet: 1378 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::descend_use + mutator: stmt.delete_call + normalizedText: prefix.push(path.ident.to_string()); + occurrence: 0 + testSet: 1379 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::descend_use + mutator: stmt.delete_call + normalizedText: self.descend_use(prefix, &path.tree); + occurrence: 0 + testSet: 1379 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::descend_use + mutator: stmt.delete_call + normalizedText: self.descend_use(prefix, item); + occurrence: 0 + testSet: 1380 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::expand_module_alias + mutator: expr.decrement + normalizedText: segments.len() + occurrence: 0 + testSet: 1381 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::expand_module_alias + mutator: expr.increment + normalizedText: segments.len() + occurrence: 0 + testSet: 1381 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::expand_module_alias + mutator: iter.first_to_last + normalizedText: expanded .first() + occurrence: 0 + testSet: 1381 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::expand_module_alias + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1382 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::expand_module_alias + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1381 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::expand_module_alias + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1382 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::expand_module_alias + mutator: range.exclusive_to_inclusive + normalizedText: ..1 + occurrence: 0 + testSet: 1382 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::expand_module_alias + mutator: range.exclusive_to_inclusive + normalizedText: 0..segments.len() + occurrence: 0 + testSet: 1381 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.always_false + normalizedText: binding == "Default" + occurrence: 0 + testSet: 1382 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.always_false + normalizedText: binding == "Default" + occurrence: 1 + testSet: 1383 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.always_false + normalizedText: is_standard_module_path(&path) + occurrence: 0 + testSet: 1384 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.always_false + normalizedText: is_standard_trait_path(&path) + occurrence: 0 + testSet: 1378 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.always_false + normalizedText: source != "self" + occurrence: 0 + testSet: 1378 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.always_true + normalizedText: binding == "Default" + occurrence: 0 + testSet: 1382 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.always_true + normalizedText: binding == "Default" + occurrence: 1 + testSet: 1383 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.always_true + normalizedText: is_standard_module_path(&path) + occurrence: 0 + testSet: 1384 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.always_true + normalizedText: is_standard_trait_path(&path) + occurrence: 0 + testSet: 1378 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.always_true + normalizedText: source != "self" + occurrence: 0 + testSet: 1378 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.negate + normalizedText: binding == "Default" + occurrence: 0 + testSet: 1382 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.negate + normalizedText: binding == "Default" + occurrence: 1 + testSet: 1383 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.negate + normalizedText: is_standard_module_path(&path) + occurrence: 0 + testSet: 1384 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.negate + normalizedText: is_standard_trait_path(&path) + occurrence: 0 + testSet: 1378 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: cond.negate + normalizedText: source != "self" + occurrence: 0 + testSet: 1378 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: fn_value.unit + normalizedText: '{ let mut path = prefix.to_vec(); if source != "self" { path.push(source); } let path = self.expand_module_alias(&path); + if is_standard_trait_path(&path) { let _added = self.aliases.insert(binding); } else if is_standard_module_path(&path) + { let _replaced = self.module_aliases.insert(binding.clone(), path); if binding == "Default" { let _added = self.shadows.insert(binding); + } } else if binding == "Default" { let _added = self.shadows.insert(binding.clone()); let _added = self.derive_shadows.insert(binding); + } }' + occurrence: 0 + testSet: 1378 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: literal.str_to_empty + normalizedText: '"Default"' + occurrence: 0 + testSet: 1382 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: literal.str_to_empty + normalizedText: '"Default"' + occurrence: 1 + testSet: 1383 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: literal.str_to_empty + normalizedText: '"self"' + occurrence: 0 + testSet: 1378 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: literal.str_to_xyzzy + normalizedText: '"Default"' + occurrence: 0 + testSet: 1382 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: literal.str_to_xyzzy + normalizedText: '"Default"' + occurrence: 1 + testSet: 1383 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: literal.str_to_xyzzy + normalizedText: '"self"' + occurrence: 0 + testSet: 1378 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: relational.eq_to_ne + normalizedText: binding == "Default" + occurrence: 0 + testSet: 1382 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: relational.eq_to_ne + normalizedText: binding == "Default" + occurrence: 1 + testSet: 1383 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: relational.ne_to_eq + normalizedText: source != "self" + occurrence: 0 + testSet: 1378 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::imported + mutator: stmt.delete_call + normalizedText: path.push(source); + occurrence: 0 + testSet: 1378 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: cond.always_false + normalizedText: path.segments.len() == 1 && path.segments.first().is_some_and(|segment| segment.ident == "Default") + occurrence: 0 + testSet: 1295 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: cond.always_true + normalizedText: path.segments.len() == 1 && path.segments.first().is_some_and(|segment| segment.ident == "Default") + occurrence: 0 + testSet: 1295 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: cond.negate + normalizedText: path.segments.len() == 1 && path.segments.first().is_some_and(|segment| segment.ident == "Default") + occurrence: 0 + testSet: 1295 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: fn_value.bool_false + normalizedText: '{ if path.segments.len() == 1 && path.segments.first().is_some_and(|segment| segment.ident == "Default") + { return true; } self.is_standard_trait(path) && !self.shadows.contains("Default") }' + occurrence: 0 + testSet: 1295 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: fn_value.bool_true + normalizedText: '{ if path.segments.len() == 1 && path.segments.first().is_some_and(|segment| segment.ident == "Default") + { return true; } self.is_standard_trait(path) && !self.shadows.contains("Default") }' + occurrence: 0 + testSet: 1295 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: iter.first_to_last + normalizedText: path.segments.first() + occurrence: 0 + testSet: 1385 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1317 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1295 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1295 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: literal.str_to_empty + normalizedText: '"Default"' + occurrence: 0 + testSet: 1385 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: literal.str_to_empty + normalizedText: '"Default"' + occurrence: 1 + testSet: 1386 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: literal.str_to_xyzzy + normalizedText: '"Default"' + occurrence: 0 + testSet: 1385 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: literal.str_to_xyzzy + normalizedText: '"Default"' + occurrence: 1 + testSet: 1386 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: logical.and_to_or + normalizedText: path.segments.len() == 1 && path.segments.first().is_some_and(|segment| segment.ident == "Default") + occurrence: 0 + testSet: 1295 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: logical.and_to_or + normalizedText: self.is_standard_trait(path) && !self.shadows.contains("Default") + occurrence: 0 + testSet: 1387 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: relational.eq_to_ne + normalizedText: path.segments.len() == 1 + occurrence: 0 + testSet: 1295 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: relational.eq_to_ne + normalizedText: segment.ident == "Default" + occurrence: 0 + testSet: 1385 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_fallback_trait + mutator: unary.remove_not + normalizedText: '!self.shadows.contains("Default")' + occurrence: 0 + testSet: 1386 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_callee_segments + mutator: fn_value.bool_false + normalizedText: '{ if let [name] = segments && (self.aliases.contains(name) || (name == "Default" && !self.shadows.contains(name))) + { return true; } is_standard_trait_path(&self.expand_module_alias(segments)) }' + occurrence: 0 + testSet: 1388 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_callee_segments + mutator: fn_value.bool_true + normalizedText: '{ if let [name] = segments && (self.aliases.contains(name) || (name == "Default" && !self.shadows.contains(name))) + { return true; } is_standard_trait_path(&self.expand_module_alias(segments)) }' + occurrence: 0 + testSet: 1388 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_callee_segments + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1389 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_callee_segments + mutator: literal.str_to_empty + normalizedText: '"Default"' + occurrence: 0 + testSet: 1388 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_callee_segments + mutator: literal.str_to_xyzzy + normalizedText: '"Default"' + occurrence: 0 + testSet: 1388 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_callee_segments + mutator: logical.and_to_or + normalizedText: name == "Default" && !self.shadows.contains(name) + occurrence: 0 + testSet: 1388 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_callee_segments + mutator: logical.or_to_and + normalizedText: self.aliases.contains(name) || (name == "Default" && !self.shadows.contains(name)) + occurrence: 0 + testSet: 1388 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_callee_segments + mutator: relational.eq_to_ne + normalizedText: name == "Default" + occurrence: 0 + testSet: 1388 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_callee_segments + mutator: unary.remove_not + normalizedText: '!self.shadows.contains(name)' + occurrence: 0 + testSet: 1390 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_callee + mutator: cond.always_false + normalizedText: segments.pop().as_deref() != Some("default") + occurrence: 0 + testSet: 1391 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_callee + mutator: cond.always_true + normalizedText: segments.pop().as_deref() != Some("default") + occurrence: 0 + testSet: 1391 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_callee + mutator: cond.negate + normalizedText: segments.pop().as_deref() != Some("default") + occurrence: 0 + testSet: 1391 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_callee + mutator: fn_value.bool_false + normalizedText: '{ let mut segments: Vec = path.segments.iter().map(|segment| segment.ident.to_string()).collect(); + if segments.pop().as_deref() != Some("default") { return false; } self.is_standard_callee_segments(&segments) }' + occurrence: 0 + testSet: 1391 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_callee + mutator: fn_value.bool_true + normalizedText: '{ let mut segments: Vec = path.segments.iter().map(|segment| segment.ident.to_string()).collect(); + if segments.pop().as_deref() != Some("default") { return false; } self.is_standard_callee_segments(&segments) }' + occurrence: 0 + testSet: 1391 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_callee + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1392 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_callee + mutator: literal.str_to_empty + normalizedText: '"default"' + occurrence: 0 + testSet: 1391 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_callee + mutator: literal.str_to_xyzzy + normalizedText: '"default"' + occurrence: 0 + testSet: 1391 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_callee + mutator: option.some_to_none + normalizedText: Some("default") + occurrence: 0 + testSet: 1391 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_callee + mutator: relational.ne_to_eq + normalizedText: segments.pop().as_deref() != Some("default") + occurrence: 0 + testSet: 1391 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_segments + mutator: fn_value.bool_false + normalizedText: '{ let Some((method, qualifier)) = segments.split_last() else { return false; }; method == "default" + && self.is_standard_callee_segments(qualifier) }' + occurrence: 0 + testSet: 1393 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_segments + mutator: fn_value.bool_true + normalizedText: '{ let Some((method, qualifier)) = segments.split_last() else { return false; }; method == "default" + && self.is_standard_callee_segments(qualifier) }' + occurrence: 0 + testSet: 1393 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_segments + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1394 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_segments + mutator: literal.str_to_empty + normalizedText: '"default"' + occurrence: 0 + testSet: 1393 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_segments + mutator: literal.str_to_xyzzy + normalizedText: '"default"' + occurrence: 0 + testSet: 1393 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_segments + mutator: logical.and_to_or + normalizedText: method == "default" && self.is_standard_callee_segments(qualifier) + occurrence: 0 + testSet: 1393 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_default_segments + mutator: relational.eq_to_ne + normalizedText: method == "default" + occurrence: 0 + testSet: 1393 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_derive + mutator: fn_value.bool_false + normalizedText: '{ path.is_ident("Default") && !self.derive_shadows.contains("Default") }' + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_derive + mutator: fn_value.bool_true + normalizedText: '{ path.is_ident("Default") && !self.derive_shadows.contains("Default") }' + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_derive + mutator: literal.str_to_empty + normalizedText: '"Default"' + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_derive + mutator: literal.str_to_empty + normalizedText: '"Default"' + occurrence: 1 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_derive + mutator: literal.str_to_xyzzy + normalizedText: '"Default"' + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_derive + mutator: literal.str_to_xyzzy + normalizedText: '"Default"' + occurrence: 1 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_derive + mutator: logical.and_to_or + normalizedText: path.is_ident("Default") && !self.derive_shadows.contains("Default") + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_derive + mutator: unary.remove_not + normalizedText: '!self.derive_shadows.contains("Default")' + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait + mutator: fn_value.bool_false + normalizedText: '{ let segments: Vec = path.segments.iter().map(|segment| segment.ident.to_string()).collect(); + self.is_standard_trait_segments(&segments) }' + occurrence: 0 + testSet: 1396 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait + mutator: fn_value.bool_true + normalizedText: '{ let segments: Vec = path.segments.iter().map(|segment| segment.ident.to_string()).collect(); + self.is_standard_trait_segments(&segments) }' + occurrence: 0 + testSet: 1396 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait_name + mutator: fn_value.bool_false + normalizedText: '{ self.aliases.contains(name) || (name == "Default" && !self.shadows.contains(name)) }' + occurrence: 0 + testSet: 1397 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait_name + mutator: fn_value.bool_true + normalizedText: '{ self.aliases.contains(name) || (name == "Default" && !self.shadows.contains(name)) }' + occurrence: 0 + testSet: 1397 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait_name + mutator: literal.str_to_empty + normalizedText: '"Default"' + occurrence: 0 + testSet: 1398 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait_name + mutator: literal.str_to_xyzzy + normalizedText: '"Default"' + occurrence: 0 + testSet: 1398 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait_name + mutator: logical.and_to_or + normalizedText: name == "Default" && !self.shadows.contains(name) + occurrence: 0 + testSet: 1398 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait_name + mutator: logical.or_to_and + normalizedText: self.aliases.contains(name) || (name == "Default" && !self.shadows.contains(name)) + occurrence: 0 + testSet: 1397 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait_name + mutator: relational.eq_to_ne + normalizedText: name == "Default" + occurrence: 0 + testSet: 1398 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait_name + mutator: unary.remove_not + normalizedText: '!self.shadows.contains(name)' + occurrence: 0 + testSet: 1399 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait_segments + mutator: fn_value.bool_false + normalizedText: '{ if let [name] = segments && self.is_standard_trait_name(name) { return true; } is_standard_trait_path(&self.expand_module_alias(segments)) + }' + occurrence: 0 + testSet: 1396 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait_segments + mutator: fn_value.bool_true + normalizedText: '{ if let [name] = segments && self.is_standard_trait_name(name) { return true; } is_standard_trait_path(&self.expand_module_alias(segments)) + }' + occurrence: 0 + testSet: 1396 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::is_standard_trait_segments + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1400 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::note_type_shadow + mutator: cond.always_false + normalizedText: ident == "Default" + occurrence: 0 + testSet: 1401 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::note_type_shadow + mutator: cond.always_true + normalizedText: ident == "Default" + occurrence: 0 + testSet: 1401 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::note_type_shadow + mutator: cond.negate + normalizedText: ident == "Default" + occurrence: 0 + testSet: 1401 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::note_type_shadow + mutator: fn_value.unit + normalizedText: '{ if ident == "Default" { let _added = self.shadows.insert("Default".to_owned()); } }' + occurrence: 0 + testSet: 1401 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::note_type_shadow + mutator: literal.str_to_empty + normalizedText: '"Default"' + occurrence: 0 + testSet: 1401 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::note_type_shadow + mutator: literal.str_to_empty + normalizedText: '"Default"' + occurrence: 1 + testSet: 1402 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::note_type_shadow + mutator: literal.str_to_xyzzy + normalizedText: '"Default"' + occurrence: 0 + testSet: 1401 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::note_type_shadow + mutator: literal.str_to_xyzzy + normalizedText: '"Default"' + occurrence: 1 + testSet: 1402 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::note_type_shadow + mutator: relational.eq_to_ne + normalizedText: ident == "Default" + occurrence: 0 + testSet: 1401 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + mutator: literal.str_to_empty + normalizedText: '"Default"' + occurrence: 0 + testSet: 1403 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + mutator: literal.str_to_xyzzy + normalizedText: '"Default"' + occurrence: 0 + testSet: 1403 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1404 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1404 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + mutator: match_arm.never_matches + normalizedText: syn::Item::Enum(node) + occurrence: 0 + testSet: 1405 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + mutator: match_arm.never_matches + normalizedText: syn::Item::Mod(node) + occurrence: 0 + testSet: 1406 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + mutator: match_arm.never_matches + normalizedText: syn::Item::Struct(node) + occurrence: 0 + testSet: 1407 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + mutator: match_arm.never_matches + normalizedText: syn::Item::Type(node) + occurrence: 0 + testSet: 1408 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + mutator: match_arm.never_matches + normalizedText: syn::Item::Union(node) + occurrence: 0 + testSet: 1377 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + mutator: match_arm.never_matches + normalizedText: syn::Item::Use(node) + occurrence: 0 + testSet: 1378 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + mutator: match_guard.always_false + normalizedText: node.ident == "Default" + occurrence: 0 + testSet: 1409 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + mutator: match_guard.always_true + normalizedText: node.ident == "Default" + occurrence: 0 + testSet: 1409 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: DefaultPaths::of_in + mutator: match_guard.negate + normalizedText: node.ident == "Default" + occurrence: 0 + testSet: 1409 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::absorb + mutator: fn_value.unit + normalizedText: '{ self.defined.extend(other.defined); self.defaulted.extend(other.defaulted); for (alias, error) in + other.result_error { merge_alias(&mut self.result_error, alias, error); } }' + occurrence: 0 + testSet: 1410 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::absorb + mutator: stmt.delete_call + normalizedText: merge_alias(&mut self.result_error, alias, error); + occurrence: 0 + testSet: 1411 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::absorb + mutator: stmt.delete_call + normalizedText: self.defaulted.extend(other.defaulted); + occurrence: 0 + testSet: 1410 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::absorb + mutator: stmt.delete_call + normalizedText: self.defined.extend(other.defined); + occurrence: 0 + testSet: 1410 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::aliased_error + mutator: fn_value.none + normalizedText: '{ self.result_error.get(alias)?.as_deref() }' + occurrence: 0 + testSet: 1412 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::lacks_default + mutator: fn_value.bool_false + normalizedText: '{ let Some(name) = name_of(ty) else { return false; }; self.lacks_error_default(&name) }' + occurrence: 0 + testSet: 1413 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::lacks_default + mutator: fn_value.bool_true + normalizedText: '{ let Some(name) = name_of(ty) else { return false; }; self.lacks_error_default(&name) }' + occurrence: 0 + testSet: 1413 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::lacks_default + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1159 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::lacks_error_default + mutator: fn_value.bool_false + normalizedText: '{ self.defined.contains(name) && !self.defaulted.contains(name) }' + occurrence: 0 + testSet: 1414 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::lacks_error_default + mutator: fn_value.bool_true + normalizedText: '{ self.defined.contains(name) && !self.defaulted.contains(name) }' + occurrence: 0 + testSet: 1414 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::lacks_error_default + mutator: logical.and_to_or + normalizedText: self.defined.contains(name) && !self.defaulted.contains(name) + occurrence: 0 + testSet: 1414 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::lacks_error_default + mutator: unary.remove_not + normalizedText: '!self.defaulted.contains(name)' + occurrence: 0 + testSet: 1415 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::note_derive + mutator: cond.always_false + normalizedText: derives_default(attributes, &self.paths) + occurrence: 0 + testSet: 1416 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::note_derive + mutator: cond.always_true + normalizedText: derives_default(attributes, &self.paths) + occurrence: 0 + testSet: 1416 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::note_derive + mutator: cond.negate + normalizedText: derives_default(attributes, &self.paths) + occurrence: 0 + testSet: 1416 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::note_derive + mutator: fn_value.unit + normalizedText: '{ let _inserted = self.defined.insert(name.to_owned()); if derives_default(attributes, &self.paths) + { let _inserted = self.defaulted.insert(name.to_owned()); } }' + occurrence: 0 + testSet: 1416 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::of + mutator: fn_value.default + normalizedText: '{ Self::of_in(file, &CfgSet::unconditional()) }' + occurrence: 0 + testSet: 1417 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::of_in + mutator: fn_value.default + normalizedText: '{ let mut index = Self { paths: DefaultPaths::of_in(file, cfg), cfg: cfg.clone(), ..Self::default() + }; index.visit_file(file); index }' + occurrence: 0 + testSet: 1418 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::of_in + mutator: stmt.delete_call + normalizedText: index.visit_file(file); + occurrence: 0 + testSet: 1418 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: Defaults::of_in + mutator: struct_field.omit + normalizedText: 'Self { paths: DefaultPaths::of_in(file, cfg), cfg: cfg.clone(), ..Self::default() }' + occurrence: 0 + testSet: 1418 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: cond.always_false + normalizedText: '!attribute.path().is_ident("derive")' + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: cond.always_false + normalizedText: paths.is_standard_derive(&meta.path) + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: cond.always_true + normalizedText: '!attribute.path().is_ident("derive")' + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: cond.always_true + normalizedText: paths.is_standard_derive(&meta.path) + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: cond.negate + normalizedText: '!attribute.path().is_ident("derive")' + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: cond.negate + normalizedText: paths.is_standard_derive(&meta.path) + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: fn_value.bool_false + normalizedText: '{ let mut found = false; for attribute in attributes { if !attribute.path().is_ident("derive") { continue; + } let _ignored = attribute.parse_nested_meta(|meta| { if paths.is_standard_derive(&meta.path) { found = true; } Ok(()) + }); } found }' + occurrence: 0 + testSet: 1416 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: fn_value.bool_true + normalizedText: '{ let mut found = false; for attribute in attributes { if !attribute.path().is_ident("derive") { continue; + } let _ignored = attribute.parse_nested_meta(|meta| { if paths.is_standard_derive(&meta.path) { found = true; } Ok(()) + }); } found }' + occurrence: 0 + testSet: 1416 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1416 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: literal.str_to_empty + normalizedText: '"derive"' + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: literal.str_to_xyzzy + normalizedText: '"derive"' + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1419 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1419 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: stmt.delete_assign + normalizedText: found = true; + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: derives_default + mutator: unary.remove_not + normalizedText: '!attribute.path().is_ident("derive")' + occurrence: 0 + testSet: 1395 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: impl_item_attrs + mutator: fn_value.default + normalizedText: '{ match item { ImplItem::Const(node) => &node.attrs, ImplItem::Fn(node) => &node.attrs, ImplItem::Type(node) + => &node.attrs, ImplItem::Macro(node) => &node.attrs, _ => &[], } }' + occurrence: 0 + testSet: 1420 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: impl_item_attrs + mutator: match_arm.never_matches + normalizedText: ImplItem::Const(node) + occurrence: 0 + testSet: 1421 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: impl_item_attrs + mutator: match_arm.never_matches + normalizedText: ImplItem::Fn(node) + occurrence: 0 + testSet: 1422 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: impl_item_attrs + mutator: match_arm.never_matches + normalizedText: ImplItem::Macro(node) + occurrence: 0 + testSet: 1423 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: impl_item_attrs + mutator: match_arm.never_matches + normalizedText: ImplItem::Type(node) + occurrence: 0 + testSet: 1296 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: is_standard_module_path + mutator: fn_value.bool_false + normalizedText: '{ matches!(path, [root] if matches!(root.as_str(), "std" | "core")) || matches!(path, [root, module] + if matches!(root.as_str(), "std" | "core") && module == "default") }' + occurrence: 0 + testSet: 1384 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: is_standard_module_path + mutator: fn_value.bool_true + normalizedText: '{ matches!(path, [root] if matches!(root.as_str(), "std" | "core")) || matches!(path, [root, module] + if matches!(root.as_str(), "std" | "core") && module == "default") }' + occurrence: 0 + testSet: 1384 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: is_standard_module_path + mutator: logical.or_to_and + normalizedText: matches!(path, [root] if matches!(root.as_str(), "std" | "core")) || matches!(path, [root, module] if + matches!(root.as_str(), "std" | "core") && module == "default") + occurrence: 0 + testSet: 1384 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: is_standard_trait_path + mutator: fn_value.bool_false + normalizedText: '{ matches!( path, [root, module, name] if matches!(root.as_str(), "std" | "core") && module == "default" + && name == "Default" ) }' + occurrence: 0 + testSet: 1381 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: is_standard_trait_path + mutator: fn_value.bool_true + normalizedText: '{ matches!( path, [root, module, name] if matches!(root.as_str(), "std" | "core") && module == "default" + && name == "Default" ) }' + occurrence: 0 + testSet: 1381 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::Const(node) + occurrence: 0 + testSet: 1424 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::Enum(node) + occurrence: 0 + testSet: 1425 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::ExternCrate(node) + occurrence: 0 + testSet: 1426 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::ForeignMod(node) + occurrence: 0 + testSet: 1426 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::Impl(node) + occurrence: 0 + testSet: 1427 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::Macro(node) + occurrence: 0 + testSet: 1426 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::Mod(node) + occurrence: 0 + testSet: 1428 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::Static(node) + occurrence: 0 + testSet: 1429 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::Struct(node) + occurrence: 0 + testSet: 1430 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::Trait(node) + occurrence: 0 + testSet: 1431 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::TraitAlias(node) + occurrence: 0 + testSet: 1426 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::Type(node) + occurrence: 0 + testSet: 1432 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::Union(node) + occurrence: 0 + testSet: 1433 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: item_attrs + mutator: match_arm.never_matches + normalizedText: Item::Use(node) + occurrence: 0 + testSet: 1434 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: merge_alias + mutator: assign_value.default + normalizedText: None + occurrence: 0 + testSet: 1435 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: merge_alias + mutator: cond.always_false + normalizedText: '*seen.get() != error' + occurrence: 0 + testSet: 1436 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: merge_alias + mutator: cond.always_true + normalizedText: '*seen.get() != error' + occurrence: 0 + testSet: 1436 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: merge_alias + mutator: cond.negate + normalizedText: '*seen.get() != error' + occurrence: 0 + testSet: 1436 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: merge_alias + mutator: fn_value.unit + normalizedText: '{ match into.entry(alias) { Entry::Occupied(mut seen) => { if *seen.get() != error { *seen.get_mut() + = None; } } Entry::Vacant(empty) => { let _inserted = empty.insert(error); } } }' + occurrence: 0 + testSet: 1373 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: merge_alias + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1435 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: merge_alias + mutator: relational.ne_to_eq + normalizedText: '*seen.get() != error' + occurrence: 0 + testSet: 1436 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: merge_alias + mutator: stmt.delete_assign + normalizedText: '*seen.get_mut() = None;' + occurrence: 0 + testSet: 1435 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: name_of + mutator: fn_value.none + normalizedText: '{ match ty { Type::Path(path) => path.path.segments.last().map(|segment| segment.ident.to_string()), + Type::Paren(paren) => name_of(&paren.elem), Type::Group(group) => name_of(&group.elem), _ => None, } }' + occurrence: 0 + testSet: 1437 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: name_of + mutator: iter.last_to_first + normalizedText: path.path.segments.last() + occurrence: 0 + testSet: 1438 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: name_of + mutator: match_arm.never_matches + normalizedText: Type::Group(group) + occurrence: 0 + testSet: 1439 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: name_of + mutator: match_arm.never_matches + normalizedText: Type::Paren(paren) + occurrence: 0 + testSet: 1439 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: name_of + mutator: match_arm.never_matches + normalizedText: Type::Path(path) + occurrence: 0 + testSet: 1438 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: name_of + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1159 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: payload_name + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1440 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: payload_name + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1440 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: payload_name + mutator: fn_value.none + normalizedText: '{ let Type::Path(path) = ty else { return None; }; let syn::PathArguments::AngleBracketed(args) = &path.path.segments.last()?.arguments + else { return None; }; args.args .iter() .filter_map(|arg| match arg { syn::GenericArgument::Type(ty) => Some(ty), + _ => None, }) .nth(index) .and_then(name_of) }' + occurrence: 0 + testSet: 1440 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: payload_name + mutator: iter.last_to_first + normalizedText: path.path.segments.last() + occurrence: 0 + testSet: 1440 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: payload_name + mutator: match_arm.never_matches + normalizedText: syn::GenericArgument::Type(ty) + occurrence: 0 + testSet: 1440 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: payload_name + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1441 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: payload_name + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1441 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: payload_name + mutator: option.some_to_none + normalizedText: Some(ty) + occurrence: 0 + testSet: 1440 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_default_bound + mutator: fn_value.bool_false + normalizedText: '{ matches!(bound, TypeParamBound::Trait(bound) if defaults.is_standard_trait(&bound.path)) }' + occurrence: 0 + testSet: 1442 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_default_bound + mutator: fn_value.bool_true + normalizedText: '{ matches!(bound, TypeParamBound::Trait(bound) if defaults.is_standard_trait(&bound.path)) }' + occurrence: 0 + testSet: 1442 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: cond.always_false + normalizedText: '!names.contains(&name)' + occurrence: 0 + testSet: 1443 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: cond.always_false + normalizedText: parameter.bounds.iter().any(|bound| standard_default_bound(bound, defaults)) + occurrence: 0 + testSet: 1444 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: cond.always_false + normalizedText: predicate.bounds.iter().any(|bound| standard_default_bound(bound, defaults)) + occurrence: 0 + testSet: 1443 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: cond.always_true + normalizedText: '!names.contains(&name)' + occurrence: 0 + testSet: 1443 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: cond.always_true + normalizedText: parameter.bounds.iter().any(|bound| standard_default_bound(bound, defaults)) + occurrence: 0 + testSet: 1444 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: cond.always_true + normalizedText: predicate.bounds.iter().any(|bound| standard_default_bound(bound, defaults)) + occurrence: 0 + testSet: 1443 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: cond.negate + normalizedText: '!names.contains(&name)' + occurrence: 0 + testSet: 1443 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: cond.negate + normalizedText: parameter.bounds.iter().any(|bound| standard_default_bound(bound, defaults)) + occurrence: 0 + testSet: 1444 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: cond.negate + normalizedText: predicate.bounds.iter().any(|bound| standard_default_bound(bound, defaults)) + occurrence: 0 + testSet: 1443 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: iter.any_to_all + normalizedText: parameter.bounds.iter().any(|bound| standard_default_bound(bound, defaults)) + occurrence: 0 + testSet: 1444 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: iter.any_to_all + normalizedText: predicate.bounds.iter().any(|bound| standard_default_bound(bound, defaults)) + occurrence: 0 + testSet: 1443 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: stmt.delete_call + normalizedText: names.push(name); + occurrence: 0 + testSet: 1445 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: stmt.delete_call + normalizedText: names.push(parameter.ident.to_string()); + occurrence: 0 + testSet: 1446 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: standard_defaulted_parameters + mutator: unary.remove_not + normalizedText: '!names.contains(&name)' + occurrence: 0 + testSet: 1443 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: trait_item_attrs + mutator: fn_value.default + normalizedText: '{ match item { TraitItem::Const(node) => &node.attrs, TraitItem::Fn(node) => &node.attrs, TraitItem::Type(node) + => &node.attrs, TraitItem::Macro(node) => &node.attrs, _ => &[], } }' + occurrence: 0 + testSet: 1447 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: trait_item_attrs + mutator: match_arm.never_matches + normalizedText: TraitItem::Const(node) + occurrence: 0 + testSet: 1448 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: trait_item_attrs + mutator: match_arm.never_matches + normalizedText: TraitItem::Fn(node) + occurrence: 0 + testSet: 1449 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: trait_item_attrs + mutator: match_arm.never_matches + normalizedText: TraitItem::Macro(node) + occurrence: 0 + testSet: 1423 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/defaults.rs + item: trait_item_attrs + mutator: match_arm.never_matches + normalizedText: TraitItem::Type(node) + occurrence: 0 + testSet: 1450 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/definitions.rs + item: into_definitions + mutator: assign.add_to_sub + normalizedText: '*occurrence += 1' + occurrence: 0 + testSet: 1451 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/definitions.rs + item: into_definitions + mutator: fn_value.empty_collection + normalizedText: '{ let mut occurrences: HashMap = HashMap::default(); let mut site_occurrences: HashMap<(u128, + core::ops::Range), u32> = HashMap::default(); let path: Arc = Arc::from(Utf8Path::new(file.path.as_str())); + let mut interner = Interner::default(); let mut sites: HashMap, (Arc, Arc)> + = HashMap::default(); let mut definitions = Vec::with_capacity(candidates.len()); for candidate in candidates { let + (site, normalized) = sites.entry(candidate.span.clone()).or_insert_with(|| { let original = CompactString::new(file.slice(&candidate.span)); + let (line, column) = file.location(candidate.span.start); let end_line = file.location(candidate.span.end).0; let + normalized = normalize_site_text(&original); ( Arc::new(MutationSite { span: candidate.span.clone(), line, end_line, + column, original, }), Arc::new(normalized), ) }); let site = Arc::clone(site); let normalized = Arc::clone(normalized); + let key = site_key(&candidate.item_path, candidate.mutator, &normalized); let site_key = (key, candidate.span.clone()); + let index = if let Some(index) = site_occurrences.get(&site_key) { *index } else { let occurrence = occurrences.entry(key).or_insert(0); + let index = *occurrence; *occurrence += 1; let _previous = site_occurrences.insert(site_key, index); index }; definitions.push(MutantDefinition + { id: mutant_id_with_discriminator( &file.path, &candidate.item_path, candidate.mutator, &normalized, SiteIndex::new(index, + candidate.replacement_index), (candidate.mutator == "fn_value.err_with").then_some(candidate.replacement.as_str()), + ), file: Arc::clone(&path), site, mutator: interner.text(candidate.mutator), item_path: interner.text(&candidate.item_path), + trait_impl: candidate.trait_impl, occurrence: index, replacement_index: candidate.replacement_index, replacement: + candidate.replacement, shape: candidate.shape, }); } definitions }' + occurrence: 0 + testSet: 1451 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/definitions.rs + item: into_definitions + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1451 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/definitions.rs + item: into_definitions + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1451 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/definitions.rs + item: into_definitions + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1451 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/definitions.rs + item: into_definitions + mutator: literal.str_to_empty + normalizedText: '"fn_value.err_with"' + occurrence: 0 + testSet: 1451 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/definitions.rs + item: into_definitions + mutator: literal.str_to_xyzzy + normalizedText: '"fn_value.err_with"' + occurrence: 0 + testSet: 1451 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/definitions.rs + item: into_definitions + mutator: relational.eq_to_ne + normalizedText: candidate.mutator == "fn_value.err_with" + occurrence: 0 + testSet: 1451 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/definitions.rs + item: into_definitions + mutator: stmt.delete_assign + normalizedText: '*occurrence += 1;' + occurrence: 0 + testSet: 1451 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/definitions.rs + item: into_definitions + mutator: stmt.delete_call + normalizedText: 'definitions.push(MutantDefinition { id: mutant_id_with_discriminator( &file.path, &candidate.item_path, + candidate.mutator, &normalized, SiteIndex::new(index, candidate.replacement_index), (candidate.mutator == "fn_value.err_with").then_some(candidate.replacement.as_str()), + ), file: Arc::clone(&path), site, mutator: interner.text(candidate.mutator), item_path: interner.text(&candidate.item_path), + trait_impl: candidate.trait_impl, occurrence: index, replacement_index: candidate.replacement_index, replacement: + candidate.replacement, shape: candidate.shape, });' + occurrence: 0 + testSet: 1451 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_attribute + mutator: fn_value.unit + normalizedText: '{ self.on_attribute(node); visit::visit_attribute(self, node); }' + occurrence: 0 + testSet: 1452 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_attribute + mutator: stmt.delete_call + normalizedText: self.on_attribute(node); + occurrence: 0 + testSet: 1452 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_attribute + mutator: stmt.delete_call + normalizedText: visit::visit_attribute(self, node); + occurrence: 0 + testSet: 1452 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_impl_item_fn + mutator: fn_value.unit + normalizedText: '{ self.on_impl_item_fn(node); visit::visit_impl_item_fn(self, node); }' + occurrence: 0 + testSet: 1453 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_impl_item_fn + mutator: stmt.delete_call + normalizedText: self.on_impl_item_fn(node); + occurrence: 0 + testSet: 1453 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_impl_item_fn + mutator: stmt.delete_call + normalizedText: visit::visit_impl_item_fn(self, node); + occurrence: 0 + testSet: 1453 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_item_fn + mutator: fn_value.unit + normalizedText: '{ self.on_item_fn(node); visit::visit_item_fn(self, node); }' + occurrence: 0 + testSet: 1454 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_item_fn + mutator: stmt.delete_call + normalizedText: self.on_item_fn(node); + occurrence: 0 + testSet: 1454 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_item_fn + mutator: stmt.delete_call + normalizedText: visit::visit_item_fn(self, node); + occurrence: 0 + testSet: 1454 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_trait_item_fn + mutator: fn_value.unit + normalizedText: '{ self.on_trait_item_fn(node); visit::visit_trait_item_fn(self, node); }' + occurrence: 0 + testSet: 1455 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_trait_item_fn + mutator: stmt.delete_call + normalizedText: self.on_trait_item_fn(node); + occurrence: 0 + testSet: 1455 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: >::visit_trait_item_fn + mutator: stmt.delete_call + normalizedText: visit::visit_trait_item_fn(self, node); + occurrence: 0 + testSet: 1455 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::item + mutator: cond.always_false + normalizedText: malformed + occurrence: 0 + testSet: 1456 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::item + mutator: cond.always_true + normalizedText: malformed + occurrence: 0 + testSet: 1456 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::item + mutator: cond.negate + normalizedText: malformed + occurrence: 0 + testSet: 1456 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::item + mutator: fn_value.unit + normalizedText: '{ let stated: Vec<&Attribute> = attrs.iter().filter(|attribute| is_stated_value(attribute)).collect(); + if let Some(second) = stated.get(1) { self.faults.push((second.span().byte_range(), DUPLICATED.to_owned())); } for + attribute in stated { let _claimed = self.on_functions.insert(attribute.span().byte_range().start); let malformed + = arguments(attribute).is_none_or(|tokens| syn::parse2::(tokens).is_err()); if malformed { self.faults.push((attribute.span().byte_range(), + MALFORMED.to_owned())); } else if let Some(message) = inert { self.faults.push((attribute.span().byte_range(), message.to_owned())); + } } }' + occurrence: 0 + testSet: 1457 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::item + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1457 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::item + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1457 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::item + mutator: stmt.delete_call + normalizedText: self.faults.push((attribute.span().byte_range(), MALFORMED.to_owned())); + occurrence: 0 + testSet: 1458 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::item + mutator: stmt.delete_call + normalizedText: self.faults.push((attribute.span().byte_range(), message.to_owned())); + occurrence: 0 + testSet: 1459 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::item + mutator: stmt.delete_call + normalizedText: self.faults.push((second.span().byte_range(), DUPLICATED.to_owned())); + occurrence: 0 + testSet: 1460 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_attribute + mutator: cond.always_false + normalizedText: is_stated_value(node) + occurrence: 0 + testSet: 1452 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_attribute + mutator: cond.always_true + normalizedText: is_stated_value(node) + occurrence: 0 + testSet: 1452 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_attribute + mutator: cond.negate + normalizedText: is_stated_value(node) + occurrence: 0 + testSet: 1452 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_attribute + mutator: fn_value.unit + normalizedText: '{ if is_stated_value(node) { self.stated.push(node.span().byte_range()); } }' + occurrence: 0 + testSet: 1452 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_attribute + mutator: stmt.delete_call + normalizedText: self.stated.push(node.span().byte_range()); + occurrence: 0 + testSet: 1461 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_impl_item_fn + mutator: fn_value.unit + normalizedText: '{ self.item(&node.attrs, inert_reason(node.sig.constness.is_some(), node.block.stmts.is_empty())); + }' + occurrence: 0 + testSet: 1462 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_impl_item_fn + mutator: stmt.delete_call + normalizedText: self.item(&node.attrs, inert_reason(node.sig.constness.is_some(), node.block.stmts.is_empty())); + occurrence: 0 + testSet: 1462 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_item_fn + mutator: fn_value.unit + normalizedText: '{ self.item(&node.attrs, inert_reason(node.sig.constness.is_some(), node.block.stmts.is_empty())); + }' + occurrence: 0 + testSet: 1457 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_item_fn + mutator: stmt.delete_call + normalizedText: self.item(&node.attrs, inert_reason(node.sig.constness.is_some(), node.block.stmts.is_empty())); + occurrence: 0 + testSet: 1457 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_trait_item_fn + mutator: fn_value.unit + normalizedText: '{ let Some(default) = node.default.as_ref() else { for attribute in node.attrs.iter().filter(|attribute| + is_stated_value(attribute)) { self.faults.push((attribute.span().byte_range(), BODILESS.to_owned())); let _claimed + = self.on_functions.insert(attribute.span().byte_range().start); } return; }; self.item(&node.attrs, inert_reason(node.sig.constness.is_some(), + default.stmts.is_empty())); }' + occurrence: 0 + testSet: 1463 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_trait_item_fn + mutator: stmt.delete_call + normalizedText: self.faults.push((attribute.span().byte_range(), BODILESS.to_owned())); + occurrence: 0 + testSet: 1464 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: Audit::on_trait_item_fn + mutator: stmt.delete_call + normalizedText: self.item(&node.attrs, inert_reason(node.sig.constness.is_some(), default.stmts.is_empty())); + occurrence: 0 + testSet: 1465 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: arguments + mutator: cond.always_false + normalizedText: '!is_stated_value(attribute)' + occurrence: 0 + testSet: 1466 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: arguments + mutator: cond.always_true + normalizedText: '!is_stated_value(attribute)' + occurrence: 0 + testSet: 1466 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: arguments + mutator: cond.negate + normalizedText: '!is_stated_value(attribute)' + occurrence: 0 + testSet: 1466 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: arguments + mutator: fn_value.none + normalizedText: '{ if !is_stated_value(attribute) { return None; } match &attribute.meta { Meta::List(list) if !list.tokens.is_empty() + => Some(list.tokens.clone()), _other => None, } }' + occurrence: 0 + testSet: 1466 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: arguments + mutator: match_guard.always_false + normalizedText: '!list.tokens.is_empty()' + occurrence: 0 + testSet: 1467 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: arguments + mutator: match_guard.always_true + normalizedText: '!list.tokens.is_empty()' + occurrence: 0 + testSet: 1467 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: arguments + mutator: match_guard.negate + normalizedText: '!list.tokens.is_empty()' + occurrence: 0 + testSet: 1467 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: arguments + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1468 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: arguments + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1469 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: arguments + mutator: option.some_to_none + normalizedText: Some(list.tokens.clone()) + occurrence: 0 + testSet: 1467 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: arguments + mutator: unary.remove_not + normalizedText: '!is_stated_value(attribute)' + occurrence: 0 + testSet: 1466 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: check + mutator: fn_value.ok + normalizedText: '{ let mut audit = Audit::default(); audit.visit_file(&file.ast); fault(file, audit) }' + occurrence: 0 + testSet: 1452 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: check + mutator: stmt.delete_call + normalizedText: audit.visit_file(&file.ast); + occurrence: 0 + testSet: 1452 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: fault + mutator: cond.always_false + normalizedText: '!audit.on_functions.contains(&span.start)' + occurrence: 0 + testSet: 1461 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: fault + mutator: cond.always_true + normalizedText: '!audit.on_functions.contains(&span.start)' + occurrence: 0 + testSet: 1461 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: fault + mutator: cond.negate + normalizedText: '!audit.on_functions.contains(&span.start)' + occurrence: 0 + testSet: 1461 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: fault + mutator: fn_value.ok + normalizedText: '{ for span in audit.stated { if !audit.on_functions.contains(&span.start) { audit.faults.push((span, + MISPLACED.to_owned())); } } audit.faults.sort_by_key(|(at, _message)| at.start); let Some((at, message)) = audit.faults.first() + else { return Ok(()); }; Err(Error::new(format!("{}:{}: {message}", file.path, file.line_of(at.start))).usage()) }' + occurrence: 0 + testSet: 1470 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: fault + mutator: iter.first_to_last + normalizedText: audit.faults.first() + occurrence: 0 + testSet: 1470 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: fault + mutator: iter.remove_sort + normalizedText: audit.faults.sort_by_key(|(at, _message)| at.start); + occurrence: 0 + testSet: 1470 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: fault + mutator: result.err_to_ok + normalizedText: 'Err(Error::new(format!("{}:{}: {message}", file.path, file.line_of(at.start))).usage())' + occurrence: 0 + testSet: 1471 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: fault + mutator: stmt.delete_call + normalizedText: audit.faults.push((span, MISPLACED.to_owned())); + occurrence: 0 + testSet: 1472 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: fault + mutator: unary.remove_not + normalizedText: '!audit.on_functions.contains(&span.start)' + occurrence: 0 + testSet: 1461 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: is_stated_value + mutator: fn_value.bool_false + normalizedText: '{ let mut segments = attribute.path().segments.iter(); PATH.iter() .all(|expected| segments.next().is_some_and(|segment| + segment.ident == expected)) && segments.next().is_none() }' + occurrence: 0 + testSet: 1473 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: is_stated_value + mutator: fn_value.bool_true + normalizedText: '{ let mut segments = attribute.path().segments.iter(); PATH.iter() .all(|expected| segments.next().is_some_and(|segment| + segment.ident == expected)) && segments.next().is_none() }' + occurrence: 0 + testSet: 1473 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: is_stated_value + mutator: iter.all_to_any + normalizedText: PATH.iter() .all(|expected| segments.next().is_some_and(|segment| segment.ident == expected)) + occurrence: 0 + testSet: 1473 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: is_stated_value + mutator: logical.and_to_or + normalizedText: PATH.iter() .all(|expected| segments.next().is_some_and(|segment| segment.ident == expected)) && segments.next().is_none() + occurrence: 0 + testSet: 1473 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: is_stated_value + mutator: relational.eq_to_ne + normalizedText: segment.ident == expected + occurrence: 0 + testSet: 1473 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: stated_range + mutator: cond.always_false + normalizedText: syn::parse2::(arguments.clone()).is_err() + occurrence: 0 + testSet: 1474 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: stated_range + mutator: cond.always_true + normalizedText: syn::parse2::(arguments.clone()).is_err() + occurrence: 0 + testSet: 1474 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: stated_range + mutator: cond.negate + normalizedText: syn::parse2::(arguments.clone()).is_err() + occurrence: 0 + testSet: 1474 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: stated_range + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1475 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: stated_range + mutator: range.exclusive_to_inclusive + normalizedText: first.start..last.end + occurrence: 0 + testSet: 1476 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: stated_range + mutator: relational.lt_to_gt + normalizedText: first.start < last.end + occurrence: 0 + testSet: 1476 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/stated.rs + item: stated_range + mutator: relational.lt_to_le + normalizedText: first.start < last.end + occurrence: 0 + testSet: 1476 + - site: + file: crates/cargo-gamma-engine/src/ops/collect/traversal.rs + item: check_stated_and_collect_with + mutator: fn_value.ok + normalizedText: '{ let indexes = phase_one::run(file, selection, cfg)?; let collector = Collector::with_indexes(file, + selection, selection.errors(), cfg, defaults, indexes); Ok(finish(file, collector)) }' + occurrence: 0 + testSet: 1477 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: families + mutator: cond.always_false + normalizedText: seen.insert(family) + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: families + mutator: cond.always_true + normalizedText: seen.insert(family) + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: families + mutator: cond.negate + normalizedText: seen.insert(family) + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: families + mutator: fn_value.empty_collection + normalizedText: '{ let mut seen = HashSet::default(); let mut out = Vec::new(); for mutator in REGISTRY { let family + = mutator.name.split(''.'').next().unwrap_or(mutator.name); if seen.insert(family) { out.push(family); } } out }' + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: families + mutator: fn_value.one_element + normalizedText: '{ let mut seen = HashSet::default(); let mut out = Vec::new(); for mutator in REGISTRY { let family + = mutator.name.split(''.'').next().unwrap_or(mutator.name); if seen.insert(family) { out.push(family); } } out }' + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: families + mutator: stmt.delete_call + normalizedText: out.push(family); + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: find_preset + mutator: fn_value.none + normalizedText: '{ PRESETS.iter().find(|preset| preset.name == name) }' + occurrence: 0 + testSet: 1479 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: find_preset + mutator: relational.eq_to_ne + normalizedText: preset.name == name + occurrence: 0 + testSet: 1479 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: resolve + mutator: cond.always_false + normalizedText: matched.is_empty() + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: resolve + mutator: cond.always_true + normalizedText: matched.is_empty() + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: resolve + mutator: cond.negate + normalizedText: matched.is_empty() + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: resolve + mutator: iter.any_to_all + normalizedText: m.aliases.iter().any(|alias| alias.eq_ignore_ascii_case(selector)) + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: resolve + mutator: match_arm.never_matches + normalizedText: '"@default"' + occurrence: 0 + testSet: 1480 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: resolve + mutator: result.err_to_ok + normalizedText: Err(unknown(selector)) + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: unknown + mutator: assign_value.default + normalizedText: Some((score, candidate)) + occurrence: 0 + testSet: 1481 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: unknown + mutator: cond.always_false + normalizedText: score > best.as_ref().map_or(0.85, |(previous, _)| *previous) + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: unknown + mutator: cond.always_true + normalizedText: score > best.as_ref().map_or(0.85, |(previous, _)| *previous) + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: unknown + mutator: cond.negate + normalizedText: score > best.as_ref().map_or(0.85, |(previous, _)| *previous) + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: unknown + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: unknown + mutator: option.some_to_none + normalizedText: Some((score, candidate)) + occurrence: 0 + testSet: 1481 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: unknown + mutator: relational.gt_to_ge + normalizedText: score > best.as_ref().map_or(0.85, |(previous, _)| *previous) + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: unknown + mutator: relational.gt_to_lt + normalizedText: score > best.as_ref().map_or(0.85, |(previous, _)| *previous) + occurrence: 0 + testSet: 1478 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/lookup.rs + item: unknown + mutator: stmt.delete_assign + normalizedText: best = Some((score, candidate)); + occurrence: 0 + testSet: 1481 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::apply + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1482 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::apply + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1482 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::default_preset + mutator: fn_value.default + normalizedText: '{ Self { names: REGISTRY.iter().filter(|m| m.default_on).map(|m| m.name).collect(), errors: Vec::new(), + } }' + occurrence: 0 + testSet: 1483 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::drop_errors + mutator: fn_value.unit + normalizedText: '{ let _ = self.names.remove(ERR_WITH); self.errors.clear(); }' + occurrence: 0 + testSet: 1484 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::drop_errors + mutator: stmt.delete_call + normalizedText: self.errors.clear(); + occurrence: 0 + testSet: 1484 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::everything + mutator: fn_value.default + normalizedText: '{ Self { names: REGISTRY.iter().map(|m| m.name).collect(), errors: Vec::new(), } }' + occurrence: 0 + testSet: 1485 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::remove + mutator: fn_value.ok + normalizedText: '{ for name in resolve(selector)? { let _ = self.names.remove(name); } Ok(()) }' + occurrence: 0 + testSet: 1486 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::set_errors + mutator: assign_value.default + normalizedText: errors + occurrence: 0 + testSet: 1487 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::set_errors + mutator: assign_value.default + normalizedText: errors + occurrence: 1 + testSet: 1488 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::set_errors + mutator: cond.always_false + normalizedText: errors.is_empty() + occurrence: 0 + testSet: 1489 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::set_errors + mutator: cond.always_true + normalizedText: errors.is_empty() + occurrence: 0 + testSet: 1489 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::set_errors + mutator: cond.negate + normalizedText: errors.is_empty() + occurrence: 0 + testSet: 1489 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::set_errors + mutator: fn_value.unit + normalizedText: '{ if errors.is_empty() { self.errors = errors; return; } let _ = self.names.insert(ERR_WITH); self.errors + = errors; }' + occurrence: 0 + testSet: 1489 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::set_errors + mutator: stmt.delete_assign + normalizedText: self.errors = errors; + occurrence: 0 + testSet: 1487 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::set_errors + mutator: stmt.delete_assign + normalizedText: self.errors = errors; + occurrence: 1 + testSet: 1488 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::sorted + mutator: fn_value.empty_collection + normalizedText: '{ let mut names: Vec<&''static str> = self.names.iter().copied().collect(); names.sort_unstable(); + names }' + occurrence: 0 + testSet: 1490 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::sorted + mutator: fn_value.one_element + normalizedText: '{ let mut names: Vec<&''static str> = self.names.iter().copied().collect(); names.sort_unstable(); + names }' + occurrence: 0 + testSet: 1490 + - site: + file: crates/cargo-gamma-engine/src/ops/registry/selection.rs + item: Selection::sorted + mutator: iter.remove_sort + normalizedText: names.sort_unstable(); + occurrence: 0 + testSet: 1490 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: arith.add_to_mul + normalizedText: i + 1 + occurrence: 0 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: arith.add_to_mul + normalizedText: i + 1 + occurrence: 1 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: arith.add_to_mul + normalizedText: start + 2 + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: arith.add_to_sub + normalizedText: i + 1 + occurrence: 0 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: arith.add_to_sub + normalizedText: i + 1 + occurrence: 1 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: arith.add_to_sub + normalizedText: start + 2 + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: assign.add_to_sub + normalizedText: depth += 1 + occurrence: 0 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: assign.add_to_sub + normalizedText: i += 1 + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: assign.add_to_sub + normalizedText: i += 2 + occurrence: 0 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: assign.add_to_sub + normalizedText: i += 2 + occurrence: 1 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: assign.sub_to_add + normalizedText: depth -= 1 + occurrence: 0 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: cond.always_false + normalizedText: bytes[i] == b'*' && bytes.get(i + 1) == Some(&b'/') + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: cond.always_false + normalizedText: bytes[i] == b'/' && bytes.get(i + 1) == Some(&b'*') + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: cond.always_false + normalizedText: depth == 0 + occurrence: 0 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: cond.always_true + normalizedText: bytes[i] == b'*' && bytes.get(i + 1) == Some(&b'/') + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: cond.always_true + normalizedText: bytes[i] == b'/' && bytes.get(i + 1) == Some(&b'*') + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: cond.always_true + normalizedText: depth == 0 + occurrence: 0 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: cond.negate + normalizedText: bytes[i] == b'*' && bytes.get(i + 1) == Some(&b'/') + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: cond.negate + normalizedText: bytes[i] == b'/' && bytes.get(i + 1) == Some(&b'*') + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: cond.negate + normalizedText: depth == 0 + occurrence: 0 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: cond.negate + normalizedText: i < bytes.len() + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: expr.decrement + normalizedText: bytes.len() + occurrence: 0 + testSet: 1494 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: expr.decrement + normalizedText: i + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: expr.decrement + normalizedText: i + occurrence: 1 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: expr.decrement + normalizedText: i + occurrence: 2 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: expr.decrement + normalizedText: i + 1 + occurrence: 0 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: expr.decrement + normalizedText: i + 1 + occurrence: 1 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: expr.increment + normalizedText: bytes.len() + occurrence: 0 + testSet: 1494 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: expr.increment + normalizedText: i + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: expr.increment + normalizedText: i + occurrence: 1 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: expr.increment + normalizedText: i + occurrence: 2 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: expr.increment + normalizedText: i + 1 + occurrence: 0 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: expr.increment + normalizedText: i + 1 + occurrence: 1 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: fn_value.one + normalizedText: '{ let mut i = start + 2; let mut depth = 1_usize; while i < bytes.len() { if bytes[i] == b''/'' && + bytes.get(i + 1) == Some(&b''*'') { depth += 1; i += 2; } else if bytes[i] == b''*'' && bytes.get(i + 1) == Some(&b''/'') + { depth -= 1; i += 2; if depth == 0 { return i; } } else { i += 1; } } bytes.len() }' + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: fn_value.zero + normalizedText: '{ let mut i = start + 2; let mut depth = 1_usize; while i < bytes.len() { if bytes[i] == b''/'' && + bytes.get(i + 1) == Some(&b''*'') { depth += 1; i += 2; } else if bytes[i] == b''*'' && bytes.get(i + 1) == Some(&b''/'') + { depth -= 1; i += 2; if depth == 0 { return i; } } else { i += 1; } } bytes.len() }' + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_decrement + normalizedText: 1_usize + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 1 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 2 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_increment + normalizedText: 1_usize + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_increment + normalizedText: '2' + occurrence: 1 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_increment + normalizedText: '2' + occurrence: 2 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 1 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 2 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: logical.and_to_or + normalizedText: bytes[i] == b'*' && bytes.get(i + 1) == Some(&b'/') + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: logical.and_to_or + normalizedText: bytes[i] == b'/' && bytes.get(i + 1) == Some(&b'*') + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: option.some_to_none + normalizedText: Some(&b'*') + occurrence: 0 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: option.some_to_none + normalizedText: Some(&b'/') + occurrence: 0 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: relational.eq_to_ne + normalizedText: bytes.get(i + 1) == Some(&b'*') + occurrence: 0 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: relational.eq_to_ne + normalizedText: bytes.get(i + 1) == Some(&b'/') + occurrence: 0 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: relational.eq_to_ne + normalizedText: bytes[i] == b'*' + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: relational.eq_to_ne + normalizedText: bytes[i] == b'/' + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: relational.eq_to_ne + normalizedText: depth == 0 + occurrence: 0 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: relational.lt_to_gt + normalizedText: i < bytes.len() + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: relational.lt_to_le + normalizedText: i < bytes.len() + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: stmt.delete_assign + normalizedText: depth += 1; + occurrence: 0 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: stmt.delete_assign + normalizedText: depth -= 1; + occurrence: 0 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: stmt.delete_assign + normalizedText: i += 1; + occurrence: 0 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: stmt.delete_assign + normalizedText: i += 2; + occurrence: 0 + testSet: 1491 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_end + mutator: stmt.delete_assign + normalizedText: i += 2; + occurrence: 1 + testSet: 1492 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: cond.always_false + normalizedText: raw.starts_with("/*!") + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: cond.always_false + normalizedText: raw.starts_with("/**") && !raw.starts_with("/**/") && !raw.starts_with("/***") + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: cond.always_true + normalizedText: raw.starts_with("/*!") + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: cond.always_true + normalizedText: raw.starts_with("/**") && !raw.starts_with("/**/") && !raw.starts_with("/***") + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: cond.negate + normalizedText: raw.starts_with("/*!") + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: cond.negate + normalizedText: raw.starts_with("/**") && !raw.starts_with("/**/") && !raw.starts_with("/***") + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: literal.str_to_empty + normalizedText: '"/*!"' + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: literal.str_to_empty + normalizedText: '"/**"' + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: literal.str_to_empty + normalizedText: '"/***"' + occurrence: 0 + testSet: 1496 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: literal.str_to_empty + normalizedText: '"/**/"' + occurrence: 0 + testSet: 1496 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: literal.str_to_xyzzy + normalizedText: '"/*!"' + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: literal.str_to_xyzzy + normalizedText: '"/**"' + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: literal.str_to_xyzzy + normalizedText: '"/***"' + occurrence: 0 + testSet: 1496 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: literal.str_to_xyzzy + normalizedText: '"/**/"' + occurrence: 0 + testSet: 1496 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: logical.and_to_or + normalizedText: raw.starts_with("/**") && !raw.starts_with("/**/") + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: logical.and_to_or + normalizedText: raw.starts_with("/**") && !raw.starts_with("/**/") && !raw.starts_with("/***") + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: string.starts_with_to_ends_with + normalizedText: raw.starts_with("/*!") + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: string.starts_with_to_ends_with + normalizedText: raw.starts_with("/**") + occurrence: 0 + testSet: 1495 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: string.starts_with_to_ends_with + normalizedText: raw.starts_with("/***") + occurrence: 0 + testSet: 1496 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: string.starts_with_to_ends_with + normalizedText: raw.starts_with("/**/") + occurrence: 0 + testSet: 1496 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: unary.remove_not + normalizedText: '!raw.starts_with("/***")' + occurrence: 0 + testSet: 1496 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: block_comment_kind + mutator: unary.remove_not + normalizedText: '!raw.starts_with("/**/")' + occurrence: 0 + testSet: 1496 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: arith.add_to_mul + normalizedText: line_index + 1 + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: arith.add_to_mul + normalizedText: span.start + leading + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: arith.add_to_mul + normalizedText: span.start + leading + occurrence: 1 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: arith.add_to_mul + normalizedText: span.start + leading + trimmed.len() + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: arith.add_to_sub + normalizedText: line_index + 1 + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: arith.add_to_sub + normalizedText: span.start + leading + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: arith.add_to_sub + normalizedText: span.start + leading + occurrence: 1 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: arith.add_to_sub + normalizedText: span.start + leading + trimmed.len() + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: arith.sub_to_add + normalizedText: trimmed.as_ptr() as usize - raw.as_ptr() as usize + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: arith.sub_to_div + normalizedText: trimmed.as_ptr() as usize - raw.as_ptr() as usize + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: expr.decrement + normalizedText: line_index + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: expr.decrement + normalizedText: span.start + leading + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: expr.decrement + normalizedText: span.start + leading + trimmed.len() + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: expr.increment + normalizedText: line_index + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: expr.increment + normalizedText: span.start + leading + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: expr.increment + normalizedText: span.start + leading + trimmed.len() + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1498 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1498 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: range.exclusive_to_inclusive + normalizedText: line_start..span.start + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: range.exclusive_to_inclusive + normalizedText: span.start + leading..span.start + leading + trimmed.len() + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: build_comment + mutator: unary.remove_not + normalizedText: '!before.trim().is_empty()' + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: arith.add_to_mul + normalizedText: i + 1 + occurrence: 0 + testSet: 1499 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: arith.add_to_mul + normalizedText: i + 1 + occurrence: 1 + testSet: 1500 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: arith.add_to_sub + normalizedText: i + 1 + occurrence: 0 + testSet: 1499 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: arith.add_to_sub + normalizedText: i + 1 + occurrence: 1 + testSet: 1500 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: assign_value.default + normalizedText: end + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: assign_value.default + normalizedText: end + occurrence: 1 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: assign_value.default + normalizedText: end + occurrence: 2 + testSet: 1502 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: expr.decrement + normalizedText: i + occurrence: 1 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: expr.decrement + normalizedText: i + occurrence: 2 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: expr.decrement + normalizedText: i + occurrence: 4 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: expr.decrement + normalizedText: i + occurrence: 5 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: expr.decrement + normalizedText: i + 1 + occurrence: 0 + testSet: 1499 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: expr.decrement + normalizedText: i + 1 + occurrence: 1 + testSet: 1500 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: expr.increment + normalizedText: i + occurrence: 1 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: expr.increment + normalizedText: i + occurrence: 2 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: expr.increment + normalizedText: i + occurrence: 4 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: expr.increment + normalizedText: i + occurrence: 5 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: expr.increment + normalizedText: i + 1 + occurrence: 0 + testSet: 1499 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: expr.increment + normalizedText: i + 1 + occurrence: 1 + testSet: 1500 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1499 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1500 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1499 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1500 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: option.some_to_none + normalizedText: Some(&b'*') + occurrence: 0 + testSet: 1500 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: option.some_to_none + normalizedText: Some(&b'/') + occurrence: 0 + testSet: 1499 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: range.exclusive_to_inclusive + normalizedText: i..end + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: range.exclusive_to_inclusive + normalizedText: i..end + occurrence: 1 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: relational.eq_to_ne + normalizedText: bytes.get(i + 1) == Some(&b'*') + occurrence: 0 + testSet: 1500 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: relational.eq_to_ne + normalizedText: bytes.get(i + 1) == Some(&b'/') + occurrence: 0 + testSet: 1499 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: stmt.delete_assign + normalizedText: i = end; + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: stmt.delete_assign + normalizedText: i = end; + occurrence: 1 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: stmt.delete_assign + normalizedText: i = end; + occurrence: 2 + testSet: 1502 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: stmt.delete_call + normalizedText: comments.push(i..end); + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: comment_spans + mutator: stmt.delete_call + normalizedText: comments.push(i..end); + occurrence: 1 + testSet: 1493 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: arith.add_to_mul + normalizedText: start + 2 + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: arith.add_to_sub + normalizedText: start + 2 + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: assign.add_to_sub + normalizedText: i += 1 + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: cond.negate + normalizedText: i < bytes.len() && bytes[i] != b'\n' + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: expr.decrement + normalizedText: i + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: expr.decrement + normalizedText: i + occurrence: 1 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: expr.increment + normalizedText: i + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: expr.increment + normalizedText: i + occurrence: 1 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: fn_value.one + normalizedText: '{ let mut i = start + 2; while i < bytes.len() && bytes[i] != b''\n'' { i += 1; } i }' + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: fn_value.zero + normalizedText: '{ let mut i = start + 2; while i < bytes.len() && bytes[i] != b''\n'' { i += 1; } i }' + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: logical.and_to_or + normalizedText: i < bytes.len() && bytes[i] != b'\n' + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: relational.lt_to_gt + normalizedText: i < bytes.len() + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: relational.lt_to_le + normalizedText: i < bytes.len() + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: relational.ne_to_eq + normalizedText: bytes[i] != b'\n' + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_end + mutator: stmt.delete_assign + normalizedText: i += 1; + occurrence: 0 + testSet: 1501 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: cond.always_false + normalizedText: raw.starts_with("//!") + occurrence: 0 + testSet: 1503 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: cond.always_false + normalizedText: raw.starts_with("///") && !raw.starts_with("////") + occurrence: 0 + testSet: 1503 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: cond.always_true + normalizedText: raw.starts_with("//!") + occurrence: 0 + testSet: 1503 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: cond.always_true + normalizedText: raw.starts_with("///") && !raw.starts_with("////") + occurrence: 0 + testSet: 1503 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: cond.negate + normalizedText: raw.starts_with("//!") + occurrence: 0 + testSet: 1503 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: cond.negate + normalizedText: raw.starts_with("///") && !raw.starts_with("////") + occurrence: 0 + testSet: 1503 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: literal.str_to_empty + normalizedText: '"//!"' + occurrence: 0 + testSet: 1503 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: literal.str_to_empty + normalizedText: '"///"' + occurrence: 0 + testSet: 1503 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: literal.str_to_empty + normalizedText: '"////"' + occurrence: 0 + testSet: 1504 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: literal.str_to_xyzzy + normalizedText: '"//!"' + occurrence: 0 + testSet: 1503 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: literal.str_to_xyzzy + normalizedText: '"///"' + occurrence: 0 + testSet: 1503 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: literal.str_to_xyzzy + normalizedText: '"////"' + occurrence: 0 + testSet: 1504 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: logical.and_to_or + normalizedText: raw.starts_with("///") && !raw.starts_with("////") + occurrence: 0 + testSet: 1503 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: string.starts_with_to_ends_with + normalizedText: raw.starts_with("//!") + occurrence: 0 + testSet: 1503 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: string.starts_with_to_ends_with + normalizedText: raw.starts_with("///") + occurrence: 0 + testSet: 1503 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: string.starts_with_to_ends_with + normalizedText: raw.starts_with("////") + occurrence: 0 + testSet: 1504 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: line_comment_kind + mutator: unary.remove_not + normalizedText: '!raw.starts_with("////")' + occurrence: 0 + testSet: 1504 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: arith.add_to_mul + normalizedText: start + 1 + occurrence: 0 + testSet: 1505 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: arith.add_to_sub + normalizedText: start + 1 + occurrence: 0 + testSet: 1505 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: expr.decrement + normalizedText: start + occurrence: 1 + testSet: 1506 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: expr.decrement + normalizedText: start + occurrence: 2 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: expr.decrement + normalizedText: start + occurrence: 3 + testSet: 1508 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: expr.increment + normalizedText: start + occurrence: 1 + testSet: 1506 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: expr.increment + normalizedText: start + occurrence: 2 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: expr.increment + normalizedText: start + occurrence: 3 + testSet: 1508 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1505 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1505 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: match_arm.never_matches + normalizedText: b'"' + occurrence: 0 + testSet: 1506 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: match_arm.never_matches + normalizedText: b'\'' + occurrence: 0 + testSet: 1508 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: relational.gt_to_ge + normalizedText: end > start + 1 + occurrence: 0 + testSet: 1505 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: literal_end + mutator: relational.gt_to_lt + normalizedText: end > start + 1 + occurrence: 0 + testSet: 1505 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_mul + normalizedText: i + 1 + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_mul + normalizedText: start + 1 + occurrence: 0 + testSet: 1510 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_mul + normalizedText: start + 1 + occurrence: 1 + testSet: 1511 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_mul + normalizedText: start + 1 + occurrence: 2 + testSet: 1512 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_mul + normalizedText: start + 1 + occurrence: 3 + testSet: 1513 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_mul + normalizedText: start + 1 + width + occurrence: 0 + testSet: 1512 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_mul + normalizedText: start + 1 + width + 1 + occurrence: 0 + testSet: 1512 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_mul + normalizedText: start + 3 + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_sub + normalizedText: i + 1 + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_sub + normalizedText: start + 1 + occurrence: 0 + testSet: 1510 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_sub + normalizedText: start + 1 + occurrence: 1 + testSet: 1511 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_sub + normalizedText: start + 1 + occurrence: 2 + testSet: 1512 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_sub + normalizedText: start + 1 + occurrence: 3 + testSet: 1513 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_sub + normalizedText: start + 1 + width + occurrence: 0 + testSet: 1512 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_sub + normalizedText: start + 1 + width + 1 + occurrence: 0 + testSet: 1512 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: arith.add_to_sub + normalizedText: start + 3 + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: assign.add_to_sub + normalizedText: i += 1 + occurrence: 0 + testSet: 1514 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: cond.always_false + normalizedText: bytes.get(start + 1) == Some(&b'\\') + occurrence: 0 + testSet: 1510 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: cond.always_false + normalizedText: rest.get(width) == Some(&b'\'') + occurrence: 0 + testSet: 1511 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: cond.always_true + normalizedText: bytes.get(start + 1) == Some(&b'\\') + occurrence: 0 + testSet: 1510 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: cond.always_true + normalizedText: rest.get(width) == Some(&b'\'') + occurrence: 0 + testSet: 1511 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: cond.negate + normalizedText: bytes.get(start + 1) == Some(&b'\\') + occurrence: 0 + testSet: 1510 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: cond.negate + normalizedText: i < bytes.len() && bytes[i] != b'\'' + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: cond.negate + normalizedText: rest.get(width) == Some(&b'\'') + occurrence: 0 + testSet: 1511 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.decrement + normalizedText: (i + 1).min(bytes.len()) + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.decrement + normalizedText: bytes.len() + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.decrement + normalizedText: i + occurrence: 0 + testSet: 1515 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.decrement + normalizedText: start + 1 + occurrence: 0 + testSet: 1510 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.decrement + normalizedText: start + 1 + occurrence: 1 + testSet: 1511 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.decrement + normalizedText: start + 1 + occurrence: 2 + testSet: 1513 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.decrement + normalizedText: start + 1 + width + 1 + occurrence: 0 + testSet: 1512 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.increment + normalizedText: (i + 1).min(bytes.len()) + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.increment + normalizedText: bytes.len() + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.increment + normalizedText: i + occurrence: 0 + testSet: 1515 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.increment + normalizedText: start + 1 + occurrence: 0 + testSet: 1510 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.increment + normalizedText: start + 1 + occurrence: 1 + testSet: 1511 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.increment + normalizedText: start + 1 + occurrence: 2 + testSet: 1513 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: expr.increment + normalizedText: start + 1 + width + 1 + occurrence: 0 + testSet: 1512 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: fn_value.one + normalizedText: '{ if bytes.get(start + 1) == Some(&b''\\'') { let mut i = start + 3; while i < bytes.len() && bytes[i] + != b''\'''' { i += 1; } return (i + 1).min(bytes.len()); } let rest = &bytes[start + 1..]; let width = utf8_width(rest.first().copied().unwrap_or(0)); + if rest.get(width) == Some(&b''\'''') { return start + 1 + width + 1; } start + 1 }' + occurrence: 0 + testSet: 1510 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: fn_value.zero + normalizedText: '{ if bytes.get(start + 1) == Some(&b''\\'') { let mut i = start + 3; while i < bytes.len() && bytes[i] + != b''\'''' { i += 1; } return (i + 1).min(bytes.len()); } let rest = &bytes[start + 1..]; let width = utf8_width(rest.first().copied().unwrap_or(0)); + if rest.get(width) == Some(&b''\'''') { return start + 1 + width + 1; } start + 1 }' + occurrence: 0 + testSet: 1510 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: iter.first_to_last + normalizedText: rest.first() + occurrence: 0 + testSet: 1511 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: iter.min_to_max + normalizedText: (i + 1).min(bytes.len()) + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1510 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1514 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1511 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 1512 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 5 + testSet: 1512 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 6 + testSet: 1513 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1511 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1510 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1514 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1511 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 1512 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 5 + testSet: 1512 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 6 + testSet: 1513 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: logical.and_to_or + normalizedText: i < bytes.len() && bytes[i] != b'\'' + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: option.some_to_none + normalizedText: Some(&b'\'') + occurrence: 0 + testSet: 1511 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: option.some_to_none + normalizedText: Some(&b'\\') + occurrence: 0 + testSet: 1510 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: relational.eq_to_ne + normalizedText: bytes.get(start + 1) == Some(&b'\\') + occurrence: 0 + testSet: 1510 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: relational.eq_to_ne + normalizedText: rest.get(width) == Some(&b'\'') + occurrence: 0 + testSet: 1511 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: relational.lt_to_gt + normalizedText: i < bytes.len() + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: relational.lt_to_le + normalizedText: i < bytes.len() + occurrence: 0 + testSet: 1509 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: relational.ne_to_eq + normalizedText: bytes[i] != b'\'' + occurrence: 0 + testSet: 1515 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: quote_end + mutator: stmt.delete_assign + normalizedText: i += 1; + occurrence: 0 + testSet: 1514 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: arith.add_to_mul + normalizedText: closing + hashes + occurrence: 0 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: arith.add_to_mul + normalizedText: i + 1 + occurrence: 0 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: arith.add_to_mul + normalizedText: start + 1 + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: arith.add_to_mul + normalizedText: start + 1 + occurrence: 1 + testSet: 1517 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: arith.add_to_sub + normalizedText: closing + hashes + occurrence: 0 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: arith.add_to_sub + normalizedText: i + 1 + occurrence: 0 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: arith.add_to_sub + normalizedText: start + 1 + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: arith.add_to_sub + normalizedText: start + 1 + occurrence: 1 + testSet: 1517 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: assign.add_to_sub + normalizedText: hashes += 1 + occurrence: 0 + testSet: 1518 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: assign.add_to_sub + normalizedText: i += 1 + occurrence: 0 + testSet: 1518 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: assign.add_to_sub + normalizedText: i += 1 + occurrence: 1 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: assign.add_to_sub + normalizedText: i += 1 + occurrence: 2 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: cond.always_false + normalizedText: bytes.get(i) != Some(&b'"') + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: cond.always_false + normalizedText: bytes[i] == b'"' + occurrence: 0 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: cond.always_false + normalizedText: found >= hashes + occurrence: 0 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: cond.always_true + normalizedText: bytes.get(i) != Some(&b'"') + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: cond.always_true + normalizedText: bytes[i] == b'"' + occurrence: 0 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: cond.always_true + normalizedText: found >= hashes + occurrence: 0 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: cond.negate + normalizedText: bytes.get(i) != Some(&b'"') + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: cond.negate + normalizedText: bytes.get(i) == Some(&b'#') + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: cond.negate + normalizedText: bytes[i] == b'"' + occurrence: 0 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: cond.negate + normalizedText: found >= hashes + occurrence: 0 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: cond.negate + normalizedText: i < bytes.len() + occurrence: 0 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.decrement + normalizedText: bytes.len() + occurrence: 0 + testSet: 1520 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.decrement + normalizedText: closing + occurrence: 0 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.decrement + normalizedText: closing + hashes + occurrence: 0 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.decrement + normalizedText: i + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.decrement + normalizedText: i + occurrence: 1 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.decrement + normalizedText: i + occurrence: 2 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.decrement + normalizedText: start + 1 + occurrence: 0 + testSet: 1517 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.increment + normalizedText: bytes.len() + occurrence: 0 + testSet: 1520 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.increment + normalizedText: closing + occurrence: 0 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.increment + normalizedText: closing + hashes + occurrence: 0 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.increment + normalizedText: i + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.increment + normalizedText: i + occurrence: 1 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.increment + normalizedText: i + occurrence: 2 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: expr.increment + normalizedText: start + 1 + occurrence: 0 + testSet: 1517 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: fn_value.one + normalizedText: '{ let mut hashes = 0; let mut i = start + 1; while bytes.get(i) == Some(&b''#'') { hashes += 1; i += + 1; } if bytes.get(i) != Some(&b''"'') { return start + 1; } i += 1; while i < bytes.len() { if bytes[i] == b''"'' + { let closing = i + 1; let found = bytes[closing..].iter().take_while(|b| **b == b''#'').count(); if found >= hashes + { return closing + hashes; } } i += 1; } bytes.len() }' + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: fn_value.zero + normalizedText: '{ let mut hashes = 0; let mut i = start + 1; while bytes.get(i) == Some(&b''#'') { hashes += 1; i += + 1; } if bytes.get(i) != Some(&b''"'') { return start + 1; } i += 1; while i < bytes.len() { if bytes[i] == b''"'' + { let closing = i + 1; let found = bytes[closing..].iter().take_while(|b| **b == b''#'').count(); if found >= hashes + { return closing + hashes; } } i += 1; } bytes.len() }' + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1518 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1518 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1517 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 5 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 6 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1518 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1518 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1517 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 5 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 6 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: option.some_to_none + normalizedText: Some(&b'"') + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: option.some_to_none + normalizedText: Some(&b'#') + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: relational.eq_to_ne + normalizedText: '**b == b''#''' + occurrence: 0 + testSet: 1521 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: relational.eq_to_ne + normalizedText: bytes.get(i) == Some(&b'#') + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: relational.eq_to_ne + normalizedText: bytes[i] == b'"' + occurrence: 0 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: relational.ge_to_gt + normalizedText: found >= hashes + occurrence: 0 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: relational.ge_to_le + normalizedText: found >= hashes + occurrence: 0 + testSet: 1507 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: relational.lt_to_gt + normalizedText: i < bytes.len() + occurrence: 0 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: relational.lt_to_le + normalizedText: i < bytes.len() + occurrence: 0 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: relational.ne_to_eq + normalizedText: bytes.get(i) != Some(&b'"') + occurrence: 0 + testSet: 1516 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: stmt.delete_assign + normalizedText: hashes += 1; + occurrence: 0 + testSet: 1518 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: stmt.delete_assign + normalizedText: i += 1; + occurrence: 0 + testSet: 1518 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: stmt.delete_assign + normalizedText: i += 1; + occurrence: 1 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: raw_string_end + mutator: stmt.delete_assign + normalizedText: i += 1; + occurrence: 2 + testSet: 1519 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: scan_comments + mutator: cond.always_false + normalizedText: raw.starts_with("//") + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: scan_comments + mutator: cond.always_true + normalizedText: raw.starts_with("//") + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: scan_comments + mutator: cond.negate + normalizedText: raw.starts_with("//") + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: scan_comments + mutator: literal.str_to_empty + normalizedText: '"//"' + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: scan_comments + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: scan_comments + mutator: literal.str_to_xyzzy + normalizedText: '"//"' + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: scan_comments + mutator: string.starts_with_to_ends_with + normalizedText: raw.starts_with("//") + occurrence: 0 + testSet: 1497 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: arith.add_to_mul + normalizedText: i + 1 + occurrence: 0 + testSet: 1522 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: arith.add_to_mul + normalizedText: start + 1 + occurrence: 0 + testSet: 1523 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: arith.add_to_sub + normalizedText: i + 1 + occurrence: 0 + testSet: 1522 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: arith.add_to_sub + normalizedText: start + 1 + occurrence: 0 + testSet: 1523 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: assign.add_to_sub + normalizedText: i += 1 + occurrence: 0 + testSet: 1524 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: assign.add_to_sub + normalizedText: i += 2 + occurrence: 0 + testSet: 1525 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: cond.negate + normalizedText: i < bytes.len() + occurrence: 0 + testSet: 1523 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: expr.decrement + normalizedText: bytes.len() + occurrence: 0 + testSet: 1526 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: expr.decrement + normalizedText: i + occurrence: 0 + testSet: 1523 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: expr.decrement + normalizedText: i + 1 + occurrence: 0 + testSet: 1522 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: expr.increment + normalizedText: bytes.len() + occurrence: 0 + testSet: 1526 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: expr.increment + normalizedText: i + occurrence: 0 + testSet: 1523 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: expr.increment + normalizedText: i + 1 + occurrence: 0 + testSet: 1522 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: fn_value.one + normalizedText: '{ let mut i = start + 1; while i < bytes.len() { match bytes[i] { b''\\'' => i += 2, b''"'' => return + i + 1, _ => i += 1, } } bytes.len() }' + occurrence: 0 + testSet: 1523 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: fn_value.zero + normalizedText: '{ let mut i = start + 1; while i < bytes.len() { match bytes[i] { b''\\'' => i += 2, b''"'' => return + i + 1, _ => i += 1, } } bytes.len() }' + occurrence: 0 + testSet: 1523 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1523 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1522 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1524 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1525 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1523 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1522 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1524 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1525 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1525 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: match_arm.never_matches + normalizedText: b'"' + occurrence: 0 + testSet: 1522 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: match_arm.never_matches + normalizedText: b'\\' + occurrence: 0 + testSet: 1525 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: relational.lt_to_gt + normalizedText: i < bytes.len() + occurrence: 0 + testSet: 1523 + - site: + file: crates/cargo-gamma-engine/src/parse/comment.rs + item: string_end + mutator: relational.lt_to_le + normalizedText: i < bytes.len() + occurrence: 0 + testSet: 1523 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: assign.add_to_sub + normalizedText: at += text.get(at..).and_then(|rest| rest.chars().next()).map_or(1, char::len_utf8) + occurrence: 0 + testSet: 1527 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: assign.add_to_sub + normalizedText: ladders[depth] += 1 + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: assign.add_to_sub + normalizedText: next += 1 + occurrence: 0 + testSet: 1529 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: assign_value.default + normalizedText: at.max(comment.span.end) + occurrence: 0 + testSet: 1529 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: assign_value.default + normalizedText: end + occurrence: 0 + testSet: 1530 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: cond.always_false + normalizedText: ladders[depth] > path_limit || link(&mut path, &mut peak, depth, path_limit) + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: cond.always_false + normalizedText: link(&mut path, &mut peak, depth, path_limit) + occurrence: 0 + testSet: 1531 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: cond.always_false + normalizedText: previous == Previous::Expression + occurrence: 0 + testSet: 1530 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: cond.always_true + normalizedText: ladders[depth] > path_limit || link(&mut path, &mut peak, depth, path_limit) + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: cond.always_true + normalizedText: link(&mut path, &mut peak, depth, path_limit) + occurrence: 0 + testSet: 1531 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: cond.always_true + normalizedText: previous == Previous::Expression + occurrence: 0 + testSet: 1530 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: cond.negate + normalizedText: ladders[depth] > path_limit || link(&mut path, &mut peak, depth, path_limit) + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: cond.negate + normalizedText: link(&mut path, &mut peak, depth, path_limit) + occurrence: 0 + testSet: 1531 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: cond.negate + normalizedText: previous == Previous::Expression + occurrence: 0 + testSet: 1530 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: at + occurrence: 3 + testSet: 1532 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: at + occurrence: 4 + testSet: 1533 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: at + occurrence: 6 + testSet: 1534 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: at + occurrence: 7 + testSet: 1535 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: at + occurrence: 8 + testSet: 1536 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: at + occurrence: 9 + testSet: 1537 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: at + occurrence: 10 + testSet: 1527 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 0 + testSet: 1538 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 1 + testSet: 1538 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 2 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 3 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 4 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 5 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 6 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 7 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 8 + testSet: 1531 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 9 + testSet: 1531 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 11 + testSet: 1539 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 12 + testSet: 1539 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 40 + testSet: 1540 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: depth + occurrence: 41 + testSet: 1540 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: path_limit + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.decrement + normalizedText: path_limit + occurrence: 1 + testSet: 1531 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: at + occurrence: 3 + testSet: 1532 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: at + occurrence: 4 + testSet: 1533 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: at + occurrence: 6 + testSet: 1534 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: at + occurrence: 7 + testSet: 1535 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: at + occurrence: 8 + testSet: 1536 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: at + occurrence: 9 + testSet: 1537 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: at + occurrence: 10 + testSet: 1527 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 0 + testSet: 1538 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 1 + testSet: 1538 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 2 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 3 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 4 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 5 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 6 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 7 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 8 + testSet: 1531 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 9 + testSet: 1531 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 11 + testSet: 1539 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 12 + testSet: 1539 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 40 + testSet: 1540 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: depth + occurrence: 41 + testSet: 1540 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: path_limit + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: expr.increment + normalizedText: path_limit + occurrence: 1 + testSet: 1531 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: iter.max_to_min + normalizedText: at.max(comment.span.end) + occurrence: 0 + testSet: 1529 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 1531 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 4 + testSet: 1539 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1529 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 7 + testSet: 1527 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 1539 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1529 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: literal.int_increment + normalizedText: '1' + occurrence: 7 + testSet: 1527 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: logical.or_to_and + normalizedText: ladders[depth] > path_limit || link(&mut path, &mut peak, depth, path_limit) + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1529 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 1530 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 4 + testSet: 1527 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1529 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 1530 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 4 + testSet: 1527 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: option.some_to_none + normalizedText: Some(at) + occurrence: 0 + testSet: 1532 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: option.some_to_none + normalizedText: Some(at) + occurrence: 1 + testSet: 1533 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: option.some_to_none + normalizedText: Some(at) + occurrence: 2 + testSet: 1534 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: option.some_to_none + normalizedText: Some(at) + occurrence: 3 + testSet: 1535 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: option.some_to_none + normalizedText: Some(at) + occurrence: 4 + testSet: 1536 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: option.some_to_none + normalizedText: Some(at) + occurrence: 5 + testSet: 1537 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: relational.eq_to_ne + normalizedText: previous == Previous::Expression + occurrence: 0 + testSet: 1530 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: relational.gt_to_ge + normalizedText: ladders[depth] > path_limit + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: relational.gt_to_lt + normalizedText: ladders[depth] > path_limit + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: relational.le_to_ge + normalizedText: comment.span.start <= at + occurrence: 0 + testSet: 1529 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: relational.le_to_lt + normalizedText: comment.span.start <= at + occurrence: 0 + testSet: 1529 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_assign + normalizedText: at += text.get(at..).and_then(|rest| rest.chars().next()).map_or(1, char::len_utf8); + occurrence: 0 + testSet: 1527 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_assign + normalizedText: at = at.max(comment.span.end); + occurrence: 0 + testSet: 1529 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_assign + normalizedText: at = end; + occurrence: 0 + testSet: 1530 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_assign + normalizedText: ladders[depth] += 1; + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_assign + normalizedText: next += 1; + occurrence: 0 + testSet: 1529 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_assign + normalizedText: previous = Previous::Expression; + occurrence: 0 + testSet: 1530 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_assign + normalizedText: previous = Previous::Other; + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_assign + normalizedText: previous = Previous::Other; + occurrence: 1 + testSet: 1531 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_call + normalizedText: grow(&mut ladders, depth); + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_call + normalizedText: set(&mut ladders, depth, 0); + occurrence: 0 + testSet: 1539 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_call + normalizedText: set(&mut path, depth, inherited); + occurrence: 0 + testSet: 1538 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_call + normalizedText: set(&mut path, depth, inherited); + occurrence: 5 + testSet: 1540 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_call + normalizedText: set_bool(&mut awaiting_else, depth, false); + occurrence: 0 + testSet: 1528 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_call + normalizedText: set_bool(&mut awaiting_else, depth, false); + occurrence: 1 + testSet: 1531 + - site: + file: crates/cargo-gamma-engine/src/parse/nesting.rs + item: beyond + mutator: stmt.delete_call + normalizedText: set_bool(&mut awaiting_else, depth, false); + occurrence: 2 + testSet: 1539 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::line_of + mutator: expr.decrement + normalizedText: offset + occurrence: 0 + testSet: 1471 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::line_of + mutator: expr.decrement + normalizedText: self.location(offset).0 + occurrence: 0 + testSet: 1471 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::line_of + mutator: expr.increment + normalizedText: offset + occurrence: 0 + testSet: 1471 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::line_of + mutator: expr.increment + normalizedText: self.location(offset).0 + occurrence: 0 + testSet: 1471 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::line_of + mutator: fn_value.one + normalizedText: '{ self.location(offset).0 }' + occurrence: 0 + testSet: 1471 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::line_of + mutator: fn_value.zero + normalizedText: '{ self.location(offset).0 }' + occurrence: 0 + testSet: 1471 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: arith.add_to_mul + normalizedText: column + 1 + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: arith.add_to_mul + normalizedText: line_index + 1 + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: arith.add_to_sub + normalizedText: column + 1 + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: arith.add_to_sub + normalizedText: line_index + 1 + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: expr.decrement + normalizedText: clamped + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: expr.decrement + normalizedText: line_index + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: expr.decrement + normalizedText: self.text.len() + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: expr.increment + normalizedText: clamped + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: expr.increment + normalizedText: line_index + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: expr.increment + normalizedText: self.text.len() + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: fn_value.tuple + normalizedText: '{ let line_index = match self.lines.binary_search(&offset) { Ok(exact) => exact, Err(insertion) => + insertion.saturating_sub(1), }; let line_start = self.lines.get(line_index).copied().unwrap_or(0); let clamped = offset.min(self.text.len()); + let column = self.text.get(line_start..clamped).map_or(0, |s| s.chars().count()); (line_index + 1, column + 1) }' + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: iter.min_to_max + normalizedText: offset.min(self.text.len()) + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1542 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1542 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::location + mutator: range.exclusive_to_inclusive + normalizedText: line_start..clamped + occurrence: 0 + testSet: 1541 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::parse + mutator: relational.le_to_ge + normalizedText: '*start <= at' + occurrence: 0 + testSet: 1543 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::parse + mutator: relational.le_to_lt + normalizedText: '*start <= at' + occurrence: 0 + testSet: 1543 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::slice + mutator: fn_value.empty_string + normalizedText: '{ self.text.get(span.start..span.end).unwrap_or("") }' + occurrence: 0 + testSet: 1544 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::slice + mutator: fn_value.xyzzy_string + normalizedText: '{ self.text.get(span.start..span.end).unwrap_or("") }' + occurrence: 0 + testSet: 1544 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::slice + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 1544 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: SourceFile::slice + mutator: range.exclusive_to_inclusive + normalizedText: span.start..span.end + occurrence: 0 + testSet: 1544 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: exceeds_nesting_limit + mutator: expr.decrement + normalizedText: nesting::NESTING_LIMIT + occurrence: 0 + testSet: 1545 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: exceeds_nesting_limit + mutator: expr.increment + normalizedText: nesting::NESTING_LIMIT + occurrence: 0 + testSet: 1545 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: exceeds_nesting_limit + mutator: fn_value.bool_false + normalizedText: '{ let lines = line_starts(text); let comments = comment::scan_comments(text, &lines); nesting::beyond(text, + &comments, nesting::NESTING_LIMIT).is_some() }' + occurrence: 0 + testSet: 1545 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: exceeds_nesting_limit + mutator: fn_value.bool_true + normalizedText: '{ let lines = line_starts(text); let comments = comment::scan_comments(text, &lines); nesting::beyond(text, + &comments, nesting::NESTING_LIMIT).is_some() }' + occurrence: 0 + testSet: 1545 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: strip_bom + mutator: fn_value.empty_string + normalizedText: '{ text.strip_prefix(BOM).unwrap_or(text) }' + occurrence: 0 + testSet: 1546 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: strip_bom + mutator: fn_value.xyzzy_string + normalizedText: '{ text.strip_prefix(BOM).unwrap_or(text) }' + occurrence: 0 + testSet: 1546 + - site: + file: crates/cargo-gamma-engine/src/parse/source_file.rs + item: without_bom + mutator: range.exclusive_to_inclusive + normalizedText: ..BOM.len_utf8() + occurrence: 0 + testSet: 1547 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: arith.sub_to_add + normalizedText: u32::MAX - 1 + occurrence: 0 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: arith.sub_to_div + normalizedText: u32::MAX - 1 + occurrence: 0 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: expr.decrement + normalizedText: column + occurrence: 0 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: expr.decrement + normalizedText: line + occurrence: 0 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: expr.decrement + normalizedText: u32::MAX - 1 + occurrence: 0 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: expr.decrement + normalizedText: widened.saturating_add(1) + occurrence: 0 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: expr.increment + normalizedText: column + occurrence: 0 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: expr.increment + normalizedText: line + occurrence: 0 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: expr.increment + normalizedText: u32::MAX - 1 + occurrence: 0 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: expr.increment + normalizedText: widened.saturating_add(1) + occurrence: 0 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: Position::from_zero_based + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1548 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: attach + mutator: fn_value.unit + normalizedText: '{ if let Some(parent) = stack.last_mut() { parent.children.push(node); } else { roots.push(node); } + }' + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: attach + mutator: stmt.delete_call + normalizedText: parent.children.push(node); + occurrence: 0 + testSet: 1550 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: attach + mutator: stmt.delete_call + normalizedText: roots.push(node); + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: cond.always_false + normalizedText: mutant.span.end > top.span.end + occurrence: 0 + testSet: 1551 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: cond.always_false + normalizedText: mutant.span.start < top.span.end + occurrence: 0 + testSet: 1552 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: cond.always_false + normalizedText: top.span == *mutant.span && top.shape == mutant.shape + occurrence: 0 + testSet: 1553 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: cond.always_true + normalizedText: mutant.span.end > top.span.end + occurrence: 0 + testSet: 1551 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: cond.always_true + normalizedText: mutant.span.start < top.span.end + occurrence: 0 + testSet: 1552 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: cond.always_true + normalizedText: top.span == *mutant.span && top.shape == mutant.shape + occurrence: 0 + testSet: 1553 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: cond.negate + normalizedText: mutant.span.end > top.span.end + occurrence: 0 + testSet: 1551 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: cond.negate + normalizedText: mutant.span.start < top.span.end + occurrence: 0 + testSet: 1552 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: cond.negate + normalizedText: top.span == *mutant.span && top.shape == mutant.shape + occurrence: 0 + testSet: 1553 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: fn_value.ok + normalizedText: '{ let mut roots: Vec> = Vec::with_capacity(sites.len()); let mut stack: Vec> = + Vec::with_capacity(sites.len()); for mutant in sites { while let Some(top) = stack.last() { if mutant.span.start < + top.span.end { break; } let Some(finished) = stack.pop() else { break }; attach(finished, &mut stack, &mut roots); + } if let Some(top) = stack.last_mut() { if top.span == *mutant.span && top.shape == mutant.shape { top.mutants.push((mutant.ordinal.get(), + mutant.replacement)); continue; } if mutant.span.end > top.span.end { return Err(Error::new(format!( "mutation sites + {:?} and {:?} overlap without nesting", top.span, mutant.span ))); } } stack.push(Node { span: (*mutant.span).clone(), + shape: mutant.shape, mutants: vec![(mutant.ordinal.get(), mutant.replacement)], children: Vec::new(), }); } while + let Some(finished) = stack.pop() { attach(finished, &mut stack, &mut roots); } roots.sort_by_key(|node| node.span.start); + Ok(roots) }' + occurrence: 0 + testSet: 1554 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: iter.last_to_first + normalizedText: stack.last() + occurrence: 0 + testSet: 1555 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: iter.remove_sort + normalizedText: roots.sort_by_key(|node| node.span.start); + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: logical.and_to_or + normalizedText: top.span == *mutant.span && top.shape == mutant.shape + occurrence: 0 + testSet: 1553 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 1553 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1557 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 1553 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1557 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: relational.eq_to_ne + normalizedText: top.shape == mutant.shape + occurrence: 0 + testSet: 1557 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: relational.eq_to_ne + normalizedText: top.span == *mutant.span + occurrence: 0 + testSet: 1553 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: relational.gt_to_ge + normalizedText: mutant.span.end > top.span.end + occurrence: 0 + testSet: 1551 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: relational.gt_to_lt + normalizedText: mutant.span.end > top.span.end + occurrence: 0 + testSet: 1551 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: relational.lt_to_gt + normalizedText: mutant.span.start < top.span.end + occurrence: 0 + testSet: 1552 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: relational.lt_to_le + normalizedText: mutant.span.start < top.span.end + occurrence: 0 + testSet: 1552 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: result.err_to_ok + normalizedText: Err(Error::new(format!( "mutation sites {:?} and {:?} overlap without nesting", top.span, mutant.span + ))) + occurrence: 0 + testSet: 1558 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: stmt.delete_call + normalizedText: attach(finished, &mut stack, &mut roots); + occurrence: 0 + testSet: 1559 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: stmt.delete_call + normalizedText: attach(finished, &mut stack, &mut roots); + occurrence: 1 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: stmt.delete_call + normalizedText: 'stack.push(Node { span: (*mutant.span).clone(), shape: mutant.shape, mutants: vec![(mutant.ordinal.get(), + mutant.replacement)], children: Vec::new(), });' + occurrence: 0 + testSet: 1555 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: build_tree + mutator: stmt.delete_call + normalizedText: top.mutants.push((mutant.ordinal.get(), mutant.replacement)); + occurrence: 0 + testSet: 1557 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: copy + mutator: fn_value.empty_string + normalizedText: '{ text.get(range) .expect("every range here is built from vetted endpoints in containment order") }' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: copy + mutator: fn_value.xyzzy_string + normalizedText: '{ text.get(range) .expect("every range here is built from vetted endpoints in containment order") }' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument + mutator: fn_value.ok + normalizedText: '{ instrument_with_guards(text, mutants).map(|(out, _guards)| out) }' + occurrence: 0 + testSet: 1560 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: arith.add_to_mul + normalizedText: text.len() + text.len() / 4 + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: arith.add_to_sub + normalizedText: text.len() + text.len() / 4 + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: arith.div_to_mul + normalizedText: text.len() / 4 + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: arith.div_to_rem + normalizedText: text.len() / 4 + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: assign_value.default + normalizedText: root.span.end + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: expr.decrement + normalizedText: text.len() + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: expr.increment + normalizedText: text.len() + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: iter.remove_sort + normalizedText: sites.sort_by(|left, right| { left.span .start .cmp(&right.span.start) .then_with(|| right.span.end.cmp(&left.span.end)) + .then_with(|| left.ordinal.cmp(&right.ordinal)) }); + occurrence: 0 + testSet: 1554 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: literal.int_decrement + normalizedText: '4' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: literal.int_increment + normalizedText: '4' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: literal.int_to_one + normalizedText: '4' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: literal.int_to_zero + normalizedText: '4' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: range.exclusive_to_inclusive + normalizedText: cursor..root.span.start + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: range.exclusive_to_inclusive + normalizedText: cursor..text.len() + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: stmt.delete_assign + normalizedText: cursor = root.span.end; + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: stmt.delete_call + normalizedText: out.push_str(copy(text, cursor..root.span.start)); + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: stmt.delete_call + normalizedText: out.push_str(copy(text, cursor..text.len())); + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: instrument_with_guards + mutator: stmt.delete_call + normalizedText: render(text, root, &mut out, &mut spans); + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: arith.add_to_mul + normalizedText: at + 1 + occurrence: 0 + testSet: 1561 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: arith.add_to_sub + normalizedText: at + 1 + occurrence: 0 + testSet: 1561 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: arith.div_to_mul + normalizedText: text.len() / 32 + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: arith.div_to_rem + normalizedText: text.len() / 32 + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: arith.mul_to_add + normalizedText: spans.len() * 4 + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: arith.mul_to_div + normalizedText: spans.len() * 4 + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: assign.add_to_sub + normalizedText: column += prefix.chars().count() + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: assign_value.default + normalizedText: '0' + occurrence: 0 + testSet: 1562 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: assign_value.default + normalizedText: Some(position) + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: assign_value.default + normalizedText: Some(position) + occurrence: 1 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: assign_value.default + normalizedText: Some(position) + occurrence: 2 + testSet: 1563 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: assign_value.default + normalizedText: Some(position) + occurrence: 3 + testSet: 1563 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: assign_value.default + normalizedText: containing_line + occurrence: 0 + testSet: 1562 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: assign_value.default + normalizedText: offset + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: assign_value.default + normalizedText: starts[line] + occurrence: 0 + testSet: 1562 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: cond.always_false + normalizedText: '!mutated.is_empty()' + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: cond.always_false + normalizedText: containing_line > line + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: cond.always_true + normalizedText: '!mutated.is_empty()' + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: cond.always_true + normalizedText: containing_line > line + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: cond.negate + normalizedText: '!mutated.is_empty()' + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: cond.negate + normalizedText: containing_line > line + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: expr.decrement + normalizedText: line + occurrence: 0 + testSet: 1562 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: expr.decrement + normalizedText: line + occurrence: 1 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: expr.increment + normalizedText: line + occurrence: 0 + testSet: 1562 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: expr.increment + normalizedText: line + occurrence: 1 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: iter.remove_sort + normalizedText: requests.sort_by_key(|(offset, ..)| *offset); + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1561 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_decrement + normalizedText: '32' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_decrement + normalizedText: '4' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1562 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_increment + normalizedText: 0_usize + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_increment + normalizedText: 0_usize + occurrence: 1 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_increment + normalizedText: 0_usize + occurrence: 2 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1561 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_increment + normalizedText: '32' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_increment + normalizedText: '4' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_to_one + normalizedText: '32' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_to_one + normalizedText: '4' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_to_zero + normalizedText: '32' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: literal.int_to_zero + normalizedText: '4' + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: option.some_to_none + normalizedText: Some(position) + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: option.some_to_none + normalizedText: Some(position) + occurrence: 1 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: option.some_to_none + normalizedText: Some(position) + occurrence: 2 + testSet: 1563 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: option.some_to_none + normalizedText: Some(position) + occurrence: 3 + testSet: 1563 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: range.exclusive_to_inclusive + normalizedText: cursor..offset + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: relational.gt_to_ge + normalizedText: containing_line > line + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: relational.gt_to_lt + normalizedText: containing_line > line + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: relational.le_to_ge + normalizedText: '*start <= offset' + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: relational.le_to_lt + normalizedText: '*start <= offset' + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: stmt.delete_assign + normalizedText: column += prefix.chars().count(); + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: stmt.delete_assign + normalizedText: column = 0; + occurrence: 0 + testSet: 1562 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: stmt.delete_assign + normalizedText: cursor = offset; + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: stmt.delete_assign + normalizedText: cursor = starts[line]; + occurrence: 0 + testSet: 1562 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: stmt.delete_assign + normalizedText: line = containing_line; + occurrence: 0 + testSet: 1562 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: stmt.delete_call + normalizedText: requests.push((mutated.end, *ordinal, Slot::MutatedEnd)); + occurrence: 0 + testSet: 1563 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: stmt.delete_call + normalizedText: requests.push((mutated.start, *ordinal, Slot::MutatedStart)); + occurrence: 0 + testSet: 1563 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: stmt.delete_call + normalizedText: requests.push((site.end, *ordinal, Slot::SiteEnd)); + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: stmt.delete_call + normalizedText: requests.push((site.start, *ordinal, Slot::SiteStart)); + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: stmt.delete_call + normalizedText: starts.extend(text.match_indices('\n').map(|(at, _matched)| at + 1)); + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: stmt.delete_call + normalizedText: starts.push(0); + occurrence: 0 + testSet: 1556 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: positions + mutator: unary.remove_not + normalizedText: '!mutated.is_empty()' + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: assign_value.default + normalizedText: child.span.end + occurrence: 0 + testSet: 1550 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.always_false + normalizedText: index == 0 + occurrence: 0 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.always_false + normalizedText: node.shape == Shape::Arm + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.always_false + normalizedText: node.shape == Shape::Expr + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.always_false + normalizedText: node.shape == Shape::IterBlock + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.always_false + normalizedText: node.shape == Shape::IterBlock + occurrence: 1 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.always_false + normalizedText: node.shape == Shape::IterBlock + occurrence: 2 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.always_true + normalizedText: index == 0 + occurrence: 0 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.always_true + normalizedText: node.shape == Shape::Arm + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.always_true + normalizedText: node.shape == Shape::Expr + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.always_true + normalizedText: node.shape == Shape::IterBlock + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.always_true + normalizedText: node.shape == Shape::IterBlock + occurrence: 1 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.always_true + normalizedText: node.shape == Shape::IterBlock + occurrence: 2 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.negate + normalizedText: index == 0 + occurrence: 0 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.negate + normalizedText: node.shape == Shape::Arm + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.negate + normalizedText: node.shape == Shape::Expr + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.negate + normalizedText: node.shape == Shape::IterBlock + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.negate + normalizedText: node.shape == Shape::IterBlock + occurrence: 1 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: cond.negate + normalizedText: node.shape == Shape::IterBlock + occurrence: 2 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.decrement + normalizedText: end + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.decrement + normalizedText: from + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.decrement + normalizedText: from + occurrence: 1 + testSet: 1566 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.decrement + normalizedText: node.mutants.len() + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.decrement + normalizedText: out.len() + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.decrement + normalizedText: out.len() + occurrence: 1 + testSet: 1566 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.decrement + normalizedText: out.len() + occurrence: 2 + testSet: 1567 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.decrement + normalizedText: out.len() + occurrence: 3 + testSet: 1567 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.decrement + normalizedText: out.len() + occurrence: 4 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.decrement + normalizedText: out.len() + occurrence: 5 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.decrement + normalizedText: start + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.increment + normalizedText: end + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.increment + normalizedText: from + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.increment + normalizedText: from + occurrence: 1 + testSet: 1566 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.increment + normalizedText: node.mutants.len() + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.increment + normalizedText: out.len() + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.increment + normalizedText: out.len() + occurrence: 1 + testSet: 1566 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.increment + normalizedText: out.len() + occurrence: 2 + testSet: 1567 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.increment + normalizedText: out.len() + occurrence: 3 + testSet: 1567 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.increment + normalizedText: out.len() + occurrence: 4 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.increment + normalizedText: out.len() + occurrence: 5 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: expr.increment + normalizedText: start + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: fn_value.unit + normalizedText: '{ let start = out.len(); let mut mutated = Vec::with_capacity(node.mutants.len()); for (ordinal, replacement) + in &node.mutants { match node.shape { Shape::Expr | Shape::Block | Shape::IterBlock => { let opening = if node.shape + == Shape::Expr { "(" } else { "{ " }; let _ = write!(out, "{opening}if {GUARD_PATH}({ordinal}u32) {{ "); if node.shape + == Shape::IterBlock { let _ = write!(out, "{EITHER_PATH}::L("); } let from = out.len(); out.push_str(replacement); + mutated.push((*ordinal, from..out.len())); if node.shape == Shape::IterBlock { out.push('')''); } out.push_str(" } + else { "); if node.shape == Shape::IterBlock { let _ = write!(out, "{EITHER_PATH}::R("); } } Shape::Continue | Shape::Break + => { let _ = write!(out, "{{ if {GUARD_PATH}({ordinal}u32) {{ "); let from = out.len(); out.push_str(replacement); + mutated.push((*ordinal, from..out.len())); out.push_str("; } "); } Shape::Stmt => { let _ = write!(out, "if !{GUARD_PATH}({ordinal}u32) + {{ "); mutated.push((*ordinal, out.len()..out.len())); } Shape::Arm => {} } } let mut cursor = node.span.start; for + child in &node.children { out.push_str(copy(text, cursor..child.span.start)); render(text, child, out, spans); cursor + = child.span.end; } out.push_str(copy(text, cursor..node.span.end)); if node.shape == Shape::Arm { for (index, (ordinal, + _replacement)) in node.mutants.iter().enumerate() { let joiner = if index == 0 { " if" } else { " &&" }; let _ = write!(out, + "{joiner} !{GUARD_PATH}({ordinal}u32)"); mutated.push((*ordinal, out.len()..out.len())); } } let close = match node.shape + { Shape::Expr => " })", Shape::Block => " } }", Shape::IterBlock => ") } }", Shape::Continue | Shape::Break | Shape::Stmt + => " }", Shape::Arm => "", }; for _ in 0..node.mutants.len() { out.push_str(close); } let end = out.len(); for (ordinal, + region) in mutated { let _ = spans.insert(ordinal, (start..end, region)); } }' + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_empty + normalizedText: '" &&"' + occurrence: 0 + testSet: 1568 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_empty + normalizedText: '" if"' + occurrence: 0 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_empty + normalizedText: '" } else { "' + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_empty + normalizedText: '" } }"' + occurrence: 0 + testSet: 1569 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_empty + normalizedText: '" }"' + occurrence: 0 + testSet: 1570 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_empty + normalizedText: '" })"' + occurrence: 0 + testSet: 1571 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_empty + normalizedText: '"("' + occurrence: 0 + testSet: 1571 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_empty + normalizedText: '") } }"' + occurrence: 0 + testSet: 1572 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_empty + normalizedText: '"; } "' + occurrence: 0 + testSet: 1566 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_empty + normalizedText: '"{ "' + occurrence: 0 + testSet: 1573 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_xyzzy + normalizedText: '" &&"' + occurrence: 0 + testSet: 1568 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_xyzzy + normalizedText: '" if"' + occurrence: 0 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_xyzzy + normalizedText: '" } else { "' + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_xyzzy + normalizedText: '" } }"' + occurrence: 0 + testSet: 1569 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_xyzzy + normalizedText: '" }"' + occurrence: 0 + testSet: 1570 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_xyzzy + normalizedText: '" })"' + occurrence: 0 + testSet: 1571 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_xyzzy + normalizedText: '"("' + occurrence: 0 + testSet: 1571 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_xyzzy + normalizedText: '") } }"' + occurrence: 0 + testSet: 1572 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_xyzzy + normalizedText: '"; } "' + occurrence: 0 + testSet: 1566 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: literal.str_to_xyzzy + normalizedText: '"{ "' + occurrence: 0 + testSet: 1573 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: range.exclusive_to_inclusive + normalizedText: 0..node.mutants.len() + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: range.exclusive_to_inclusive + normalizedText: cursor..child.span.start + occurrence: 0 + testSet: 1550 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: range.exclusive_to_inclusive + normalizedText: cursor..node.span.end + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: range.exclusive_to_inclusive + normalizedText: from..out.len() + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: range.exclusive_to_inclusive + normalizedText: from..out.len() + occurrence: 1 + testSet: 1566 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: range.exclusive_to_inclusive + normalizedText: out.len()..out.len() + occurrence: 0 + testSet: 1567 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: range.exclusive_to_inclusive + normalizedText: out.len()..out.len() + occurrence: 1 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: range.exclusive_to_inclusive + normalizedText: start..end + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: relational.eq_to_ne + normalizedText: index == 0 + occurrence: 0 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: relational.eq_to_ne + normalizedText: node.shape == Shape::Arm + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: relational.eq_to_ne + normalizedText: node.shape == Shape::Expr + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: relational.eq_to_ne + normalizedText: node.shape == Shape::IterBlock + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: relational.eq_to_ne + normalizedText: node.shape == Shape::IterBlock + occurrence: 1 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: relational.eq_to_ne + normalizedText: node.shape == Shape::IterBlock + occurrence: 2 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_assign + normalizedText: cursor = child.span.end; + occurrence: 0 + testSet: 1550 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_call + normalizedText: mutated.push((*ordinal, from..out.len())); + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_call + normalizedText: mutated.push((*ordinal, from..out.len())); + occurrence: 1 + testSet: 1566 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_call + normalizedText: mutated.push((*ordinal, out.len()..out.len())); + occurrence: 0 + testSet: 1567 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_call + normalizedText: mutated.push((*ordinal, out.len()..out.len())); + occurrence: 1 + testSet: 1564 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_call + normalizedText: out.push(')'); + occurrence: 0 + testSet: 1572 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_call + normalizedText: out.push_str(" } else { "); + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_call + normalizedText: out.push_str("; } "); + occurrence: 0 + testSet: 1566 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_call + normalizedText: out.push_str(close); + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_call + normalizedText: out.push_str(copy(text, cursor..child.span.start)); + occurrence: 0 + testSet: 1550 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_call + normalizedText: out.push_str(copy(text, cursor..node.span.end)); + occurrence: 0 + testSet: 1549 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_call + normalizedText: out.push_str(replacement); + occurrence: 0 + testSet: 1565 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_call + normalizedText: out.push_str(replacement); + occurrence: 1 + testSet: 1566 + - site: + file: crates/cargo-gamma-engine/src/schema.rs + item: render + mutator: stmt.delete_call + normalizedText: render(text, child, out, spans); + occurrence: 0 + testSet: 1550 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: fn_value.bool_false + normalizedText: '{ let parts: Vec<&str> = parameter.split('':'').collect(); match parts.as_slice() { [channel @ ("38" + | "48"), "5", index] => !channel.is_empty() && color_component(index), [channel @ ("38" | "48"), "2", red, green, + blue] => { !channel.is_empty() && [red, green, blue].into_iter().all(|component| color_component(component)) } [channel + @ ("38" | "48"), "2", "", red, green, blue] => { !channel.is_empty() && [red, green, blue].into_iter().all(|component| + color_component(component)) } _ => false, } }' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: fn_value.bool_true + normalizedText: '{ let parts: Vec<&str> = parameter.split('':'').collect(); match parts.as_slice() { [channel @ ("38" + | "48"), "5", index] => !channel.is_empty() && color_component(index), [channel @ ("38" | "48"), "2", red, green, + blue] => { !channel.is_empty() && [red, green, blue].into_iter().all(|component| color_component(component)) } [channel + @ ("38" | "48"), "2", "", red, green, blue] => { !channel.is_empty() && [red, green, blue].into_iter().all(|component| + color_component(component)) } _ => false, } }' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: iter.all_to_any + normalizedText: '[red, green, blue].into_iter().all(|component| color_component(component))' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: iter.all_to_any + normalizedText: '[red, green, blue].into_iter().all(|component| color_component(component))' + occurrence: 1 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: logical.and_to_or + normalizedText: '!channel.is_empty() && [red, green, blue].into_iter().all(|component| color_component(component))' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: logical.and_to_or + normalizedText: '!channel.is_empty() && [red, green, blue].into_iter().all(|component| color_component(component))' + occurrence: 1 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: logical.and_to_or + normalizedText: '!channel.is_empty() && color_component(index)' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: match_arm.never_matches + normalizedText: '[channel @ ("38" | "48"), "2", "", red, green, blue]' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: match_arm.never_matches + normalizedText: '[channel @ ("38" | "48"), "2", red, green, blue]' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: match_arm.never_matches + normalizedText: '[channel @ ("38" | "48"), "5", index]' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: unary.remove_not + normalizedText: '!channel.is_empty()' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: unary.remove_not + normalizedText: '!channel.is_empty()' + occurrence: 1 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_colon_color + mutator: unary.remove_not + normalizedText: '!channel.is_empty()' + occurrence: 2 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.always_false + normalizedText: '!allowed_colon_color(parameter)' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.always_false + normalizedText: '!parameters.next().is_some_and(color_component)' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.always_false + normalizedText: mode == 2 + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.always_false + normalizedText: mode == 5 + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.always_false + normalizedText: parameter.contains(':') + occurrence: 0 + testSet: 1576 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.always_false + normalizedText: parameters.is_empty() + occurrence: 0 + testSet: 1576 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.always_true + normalizedText: '!allowed_colon_color(parameter)' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.always_true + normalizedText: '!parameters.next().is_some_and(color_component)' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.always_true + normalizedText: mode == 2 + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.always_true + normalizedText: mode == 5 + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.always_true + normalizedText: parameter.contains(':') + occurrence: 0 + testSet: 1576 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.always_true + normalizedText: parameters.is_empty() + occurrence: 0 + testSet: 1576 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.negate + normalizedText: '!allowed_colon_color(parameter)' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.negate + normalizedText: '!parameters.next().is_some_and(color_component)' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.negate + normalizedText: mode == 2 + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.negate + normalizedText: mode == 5 + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.negate + normalizedText: parameter.contains(':') + occurrence: 0 + testSet: 1576 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: cond.negate + normalizedText: parameters.is_empty() + occurrence: 0 + testSet: 1576 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: fn_value.bool_false + normalizedText: '{ if parameters.is_empty() { return true; } let mut parameters = parameters.split('';''); while let + Some(parameter) = parameters.next() { if parameter.contains('':'') { if !allowed_colon_color(parameter) { return false; + } continue; } let Ok(code) = parameter.parse::() else { return false; }; match code { 0 | 1 | 22 | 30..=37 | + 39 | 40..=47 | 49 | 90..=97 | 100..=107 => {} 38 | 48 => { let Some(mode) = parameters.next().and_then(|value| value.parse::().ok()) + else { return false; }; let components = if mode == 5 { 1 } else if mode == 2 { 3 } else { return false; }; for _component + in 0..components { if !parameters.next().is_some_and(color_component) { return false; } } } _ => return false, } } + true }' + occurrence: 0 + testSet: 1576 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: fn_value.bool_true + normalizedText: '{ if parameters.is_empty() { return true; } let mut parameters = parameters.split('';''); while let + Some(parameter) = parameters.next() { if parameter.contains('':'') { if !allowed_colon_color(parameter) { return false; + } continue; } let Ok(code) = parameter.parse::() else { return false; }; match code { 0 | 1 | 22 | 30..=37 | + 39 | 40..=47 | 49 | 90..=97 | 100..=107 => {} 38 | 48 => { let Some(mode) = parameters.next().and_then(|value| value.parse::().ok()) + else { return false; }; let components = if mode == 5 { 1 } else if mode == 2 { 3 } else { return false; }; for _component + in 0..components { if !parameters.next().is_some_and(color_component) { return false; } } } _ => return false, } } + true }' + occurrence: 0 + testSet: 1576 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 3 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 4 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 5 + testSet: 1577 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 1578 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_decrement + normalizedText: '0' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_decrement + normalizedText: '5' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_increment + normalizedText: '5' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_to_one + normalizedText: '5' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: literal.int_to_zero + normalizedText: '5' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: match_arm.never_matches + normalizedText: 0 | 1 | 22 | 30..=37 | 39 | 40..=47 | 49 | 90..=97 | 100..=107 + occurrence: 0 + testSet: 1579 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: match_arm.never_matches + normalizedText: 38 | 48 + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: range.exclusive_to_inclusive + normalizedText: 0..components + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: relational.eq_to_ne + normalizedText: mode == 2 + occurrence: 0 + testSet: 1575 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: relational.eq_to_ne + normalizedText: mode == 5 + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: unary.remove_not + normalizedText: '!allowed_colon_color(parameter)' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: allowed_style + mutator: unary.remove_not + normalizedText: '!parameters.next().is_some_and(color_component)' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: color_component + mutator: fn_value.bool_false + normalizedText: '{ component.parse::().is_ok() }' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: color_component + mutator: fn_value.bool_true + normalizedText: '{ component.parse::().is_ok() }' + occurrence: 0 + testSet: 1574 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: arith.add_to_mul + normalizedText: cursor + 1 + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: arith.add_to_mul + normalizedText: cursor + 1 + occurrence: 1 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: arith.add_to_mul + normalizedText: text.len() + ESCAPE_HEADROOM + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: arith.add_to_mul + normalizedText: text.len() + ESCAPE_HEADROOM + occurrence: 1 + testSet: 1581 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: arith.add_to_sub + normalizedText: cursor + 1 + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: arith.add_to_sub + normalizedText: cursor + 1 + occurrence: 1 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: arith.add_to_sub + normalizedText: text.len() + ESCAPE_HEADROOM + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: arith.add_to_sub + normalizedText: text.len() + ESCAPE_HEADROOM + occurrence: 1 + testSet: 1581 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: assign.add_to_sub + normalizedText: cursor += 1 + occurrence: 0 + testSet: 1582 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: assign.add_to_sub + normalizedText: cursor += 1 + occurrence: 1 + testSet: 1583 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: assign.add_to_sub + normalizedText: cursor += 1 + occurrence: 2 + testSet: 1584 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: assign.add_to_sub + normalizedText: cursor += 2 + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: assign_value.default + normalizedText: cursor + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: assign_value.default + normalizedText: cursor + occurrence: 1 + testSet: 1584 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: assign_value.default + normalizedText: end + occurrence: 0 + testSet: 1585 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1585 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: cond.always_false + normalizedText: '!byte.is_ascii_control()' + occurrence: 0 + testSet: 1586 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: cond.always_false + normalizedText: byte == C1_LEAD && bytes.get(cursor + 1).is_some_and(|&low| (0x80..=0x9F).contains(&low)) + occurrence: 0 + testSet: 1587 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: cond.always_false + normalizedText: byte >= 0x80 + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: cond.always_false + normalizedText: preserved_style + occurrence: 0 + testSet: 1589 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: cond.always_true + normalizedText: '!byte.is_ascii_control()' + occurrence: 0 + testSet: 1586 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: cond.always_true + normalizedText: byte == C1_LEAD && bytes.get(cursor + 1).is_some_and(|&low| (0x80..=0x9F).contains(&low)) + occurrence: 0 + testSet: 1587 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: cond.always_true + normalizedText: byte >= 0x80 + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: cond.always_true + normalizedText: preserved_style + occurrence: 0 + testSet: 1589 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: cond.negate + normalizedText: '!byte.is_ascii_control()' + occurrence: 0 + testSet: 1586 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: cond.negate + normalizedText: byte == C1_LEAD && bytes.get(cursor + 1).is_some_and(|&low| (0x80..=0x9F).contains(&low)) + occurrence: 0 + testSet: 1587 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: cond.negate + normalizedText: byte >= 0x80 + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: cond.negate + normalizedText: preserved_style + occurrence: 0 + testSet: 1589 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.decrement + normalizedText: byte + occurrence: 0 + testSet: 1584 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.decrement + normalizedText: cursor + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.decrement + normalizedText: cursor + occurrence: 1 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.decrement + normalizedText: cursor + occurrence: 2 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.decrement + normalizedText: cursor + occurrence: 3 + testSet: 1584 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.decrement + normalizedText: cursor + 1 + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.decrement + normalizedText: cursor + 1 + occurrence: 1 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.increment + normalizedText: byte + occurrence: 0 + testSet: 1584 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.increment + normalizedText: cursor + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.increment + normalizedText: cursor + occurrence: 1 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.increment + normalizedText: cursor + occurrence: 2 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.increment + normalizedText: cursor + occurrence: 3 + testSet: 1584 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.increment + normalizedText: cursor + 1 + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: expr.increment + normalizedText: cursor + 1 + occurrence: 1 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: fn_value.default + normalizedText: '{ let bytes = text.as_bytes(); let mut encoded: Option = None; let mut copied = 0; let mut + cursor = 0; let mut preserved_style = false; while let Some(&byte) = bytes.get(cursor) { let before = cursor; if byte + >= 0x80 { if byte == C1_LEAD && bytes.get(cursor + 1).is_some_and(|&low| (0x80..=0x9F).contains(&low)) { let control + = char::from(bytes[cursor + 1]); let out = encoded.get_or_insert_with(|| String::with_capacity(text.len() + ESCAPE_HEADROOM)); + out.push_str(&text[copied..cursor]); push_escape(out, control); cursor += 2; copied = cursor; assert!(cursor > before, + "encoding a C1 control must advance past its UTF-8 bytes"); continue; } cursor += 1; assert!(cursor > before, "scanning + UTF-8 text must advance by one byte"); continue; } if !byte.is_ascii_control() { cursor += 1; assert!(cursor > before, + "scanning printable ASCII must advance by one byte"); continue; } if keep_color && byte == ESCAPE && let Some(end) + = style_sequence_end(bytes, cursor) { preserved_style = true; cursor = end; assert!(cursor > before, "preserving an + SGR sequence must advance past the sequence"); continue; } let out = encoded.get_or_insert_with(|| String::with_capacity(text.len() + + ESCAPE_HEADROOM)); out.push_str(&text[copied..cursor]); push_escape(out, char::from(byte)); cursor += 1; copied + = cursor; assert!(cursor > before, "encoding an ASCII control must advance by one byte"); } match encoded { Some(mut + out) => { out.push_str(&text[copied..]); if preserved_style { out.push_str(STYLE_RESET); } Cow::Owned(out) } None + if preserved_style => Cow::Owned(format!("{text}{STYLE_RESET}")), None => Cow::Borrowed(text), } }' + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1585 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_decrement + normalizedText: '0x80' + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_decrement + normalizedText: '0x80' + occurrence: 1 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_decrement + normalizedText: '0x9F' + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1582 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1583 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 1584 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_increment + normalizedText: '0x80' + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_increment + normalizedText: '0x80' + occurrence: 1 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_increment + normalizedText: '0x9F' + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1582 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1583 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 1584 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_to_one + normalizedText: '0x80' + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_to_one + normalizedText: '0x80' + occurrence: 1 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_to_one + normalizedText: '0x9F' + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_to_zero + normalizedText: '0x80' + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_to_zero + normalizedText: '0x80' + occurrence: 1 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_to_zero + normalizedText: '0x9F' + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: logical.and_to_or + normalizedText: byte == C1_LEAD && bytes.get(cursor + 1).is_some_and(|&low| (0x80..=0x9F).contains(&low)) + occurrence: 0 + testSet: 1587 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: logical.and_to_or + normalizedText: keep_color && byte == ESCAPE + occurrence: 0 + testSet: 1591 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 1582 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 2 + testSet: 1583 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 3 + testSet: 1585 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 1582 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 2 + testSet: 1583 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 3 + testSet: 1585 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: match_guard.always_false + normalizedText: preserved_style + occurrence: 0 + testSet: 1592 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: match_guard.always_true + normalizedText: preserved_style + occurrence: 0 + testSet: 1592 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: match_guard.negate + normalizedText: preserved_style + occurrence: 0 + testSet: 1592 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: range.exclusive_to_inclusive + normalizedText: copied..cursor + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: range.exclusive_to_inclusive + normalizedText: copied..cursor + occurrence: 1 + testSet: 1584 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: range.inclusive_to_exclusive + normalizedText: 0x80..=0x9F + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: relational.eq_to_ne + normalizedText: byte == C1_LEAD + occurrence: 0 + testSet: 1587 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: relational.eq_to_ne + normalizedText: byte == ESCAPE + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: relational.ge_to_gt + normalizedText: byte >= 0x80 + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: relational.ge_to_le + normalizedText: byte >= 0x80 + occurrence: 0 + testSet: 1588 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_assign + normalizedText: copied = cursor; + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_assign + normalizedText: copied = cursor; + occurrence: 1 + testSet: 1584 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_assign + normalizedText: cursor += 1; + occurrence: 0 + testSet: 1582 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_assign + normalizedText: cursor += 1; + occurrence: 1 + testSet: 1583 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_assign + normalizedText: cursor += 1; + occurrence: 2 + testSet: 1584 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_assign + normalizedText: cursor += 2; + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_assign + normalizedText: cursor = end; + occurrence: 0 + testSet: 1585 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_assign + normalizedText: preserved_style = true; + occurrence: 0 + testSet: 1585 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_call + normalizedText: out.push_str(&text[copied..]); + occurrence: 0 + testSet: 1589 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_call + normalizedText: out.push_str(&text[copied..cursor]); + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_call + normalizedText: out.push_str(&text[copied..cursor]); + occurrence: 1 + testSet: 1584 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_call + normalizedText: out.push_str(STYLE_RESET); + occurrence: 0 + testSet: 1593 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_call + normalizedText: push_escape(out, char::from(byte)); + occurrence: 0 + testSet: 1584 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: stmt.delete_call + normalizedText: push_escape(out, control); + occurrence: 0 + testSet: 1580 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode + mutator: unary.remove_not + normalizedText: '!byte.is_ascii_control()' + occurrence: 0 + testSet: 1586 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode_controls + mutator: fn_value.default + normalizedText: '{ encode(text, false) }' + occurrence: 0 + testSet: 1594 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode_controls + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1594 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode_preserving_color + mutator: fn_value.default + normalizedText: '{ encode(text, true) }' + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: encode_preserving_color + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: fn_value.unit + normalizedText: '{ match control { ''\0'' => out.push_str("\\0"), ''\t'' => out.push_str("\\t"), ''\n'' => out.push_str("\\n"), + ''\r'' => out.push_str("\\r"), ''\u{1b}'' => out.push_str("\\e"), other => { let _ = write!(out, "\\u{{{:02x}}}", + u32::from(other)); } } }' + occurrence: 0 + testSet: 1589 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: literal.str_to_empty + normalizedText: '"\\0"' + occurrence: 0 + testSet: 1595 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: literal.str_to_empty + normalizedText: '"\\e"' + occurrence: 0 + testSet: 1596 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: literal.str_to_empty + normalizedText: '"\\n"' + occurrence: 0 + testSet: 1597 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: literal.str_to_empty + normalizedText: '"\\r"' + occurrence: 0 + testSet: 1598 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: literal.str_to_empty + normalizedText: '"\\t"' + occurrence: 0 + testSet: 1595 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: literal.str_to_xyzzy + normalizedText: '"\\0"' + occurrence: 0 + testSet: 1595 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: literal.str_to_xyzzy + normalizedText: '"\\e"' + occurrence: 0 + testSet: 1596 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: literal.str_to_xyzzy + normalizedText: '"\\n"' + occurrence: 0 + testSet: 1597 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: literal.str_to_xyzzy + normalizedText: '"\\r"' + occurrence: 0 + testSet: 1598 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: literal.str_to_xyzzy + normalizedText: '"\\t"' + occurrence: 0 + testSet: 1595 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: match_arm.never_matches + normalizedText: '''\0''' + occurrence: 0 + testSet: 1595 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: match_arm.never_matches + normalizedText: '''\n''' + occurrence: 0 + testSet: 1597 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: match_arm.never_matches + normalizedText: '''\r''' + occurrence: 0 + testSet: 1598 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: match_arm.never_matches + normalizedText: '''\t''' + occurrence: 0 + testSet: 1595 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: push_escape + mutator: match_arm.never_matches + normalizedText: '''\u{1b}''' + occurrence: 0 + testSet: 1596 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: arith.add_to_mul + normalizedText: cursor + 1 + occurrence: 0 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: arith.add_to_mul + normalizedText: start + 1 + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: arith.add_to_mul + normalizedText: start + 2 + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: arith.add_to_mul + normalizedText: start + 2 + occurrence: 1 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: arith.add_to_sub + normalizedText: cursor + 1 + occurrence: 0 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: arith.add_to_sub + normalizedText: start + 1 + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: arith.add_to_sub + normalizedText: start + 2 + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: arith.add_to_sub + normalizedText: start + 2 + occurrence: 1 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: assign.add_to_sub + normalizedText: cursor += 1 + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: cond.always_false + normalizedText: bytes.get(start + 1) != Some(&b'[') + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: cond.always_true + normalizedText: bytes.get(start + 1) != Some(&b'[') + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: cond.negate + normalizedText: bytes.get(start + 1) != Some(&b'[') + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: expr.decrement + normalizedText: cursor + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: expr.decrement + normalizedText: cursor + occurrence: 1 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: expr.decrement + normalizedText: cursor + 1 + occurrence: 0 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: expr.decrement + normalizedText: start + 1 + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: expr.decrement + normalizedText: start + 2 + occurrence: 0 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: expr.increment + normalizedText: cursor + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: expr.increment + normalizedText: cursor + occurrence: 1 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: expr.increment + normalizedText: cursor + 1 + occurrence: 0 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: expr.increment + normalizedText: start + 1 + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: expr.increment + normalizedText: start + 2 + occurrence: 0 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: fn_value.none + normalizedText: '{ if bytes.get(start + 1) != Some(&b''['') { return None; } let mut cursor = start + 2; while let Some(&byte) + = bytes.get(cursor) { let before = cursor; match byte { b''0''..=b''9'' | b'';'' | b'':'' => { cursor += 1; assert!(cursor + > before, "scanning an SGR parameter must advance by one byte"); } b''m'' => { let parameters = core::str::from_utf8(&bytes[start + + 2..cursor]).ok()?; return allowed_style(parameters).then_some(cursor + 1); } _ => return None, } } None }' + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 1 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: literal.int_increment + normalizedText: '2' + occurrence: 1 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 1 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: match_arm.never_matches + normalizedText: b'0'..=b'9' | b';' | b':' + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: match_arm.never_matches + normalizedText: b'm' + occurrence: 0 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1600 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1601 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: option.none_to_some + normalizedText: None + occurrence: 2 + testSet: 1602 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: option.some_to_none + normalizedText: Some(&b'[') + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: range.exclusive_to_inclusive + normalizedText: start + 2..cursor + occurrence: 0 + testSet: 1599 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: relational.ne_to_eq + normalizedText: bytes.get(start + 1) != Some(&b'[') + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-engine/src/text.rs + item: style_sequence_end + mutator: stmt.delete_assign + normalizedText: cursor += 1; + occurrence: 0 + testSet: 1590 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze + mutator: fn_value.empty_collection + normalizedText: '{ analyze_context(mutants, timing, CargoProfile::Unknown, &[]) }' + occurrence: 0 + testSet: 1603 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze_context + mutator: fn_value.empty_collection + normalizedText: '{ let mut findings = Vec::new(); let summary = Summary::of(mutants); let executed: Duration = mutants.iter().map(|mutant| + Duration::from_millis(mutant.elapsed_ms)).sum(); if let Some(finding) = fixed_cost(timing) { findings.push(finding); + } if let Some(finding) = slow_baseline(timing, mutants, binaries) { findings.push(finding); } if let Some(finding) + = unoptimized_execution(timing, profile) { findings.push(finding); } if let Some(finding) = long_run(timing) { findings.push(finding); + } if let Some(finding) = timeouts(summary, mutants) { findings.push(finding); } if let Some(finding) = out_of_memory(summary, + mutants) { findings.push(finding); } if let Some(finding) = unviable(summary) { findings.push(finding); } findings.extend(hot_files(mutants)); + findings.extend(low_yield(mutants, executed)); if let Some(finding) = uncovered(summary) { findings.push(finding); + } findings }' + occurrence: 0 + testSet: 1604 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze_context + mutator: stmt.delete_call + normalizedText: findings.extend(hot_files(mutants)); + occurrence: 0 + testSet: 1604 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze_context + mutator: stmt.delete_call + normalizedText: findings.extend(low_yield(mutants, executed)); + occurrence: 0 + testSet: 1604 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze_context + mutator: stmt.delete_call + normalizedText: findings.push(finding); + occurrence: 0 + testSet: 1605 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze_context + mutator: stmt.delete_call + normalizedText: findings.push(finding); + occurrence: 1 + testSet: 1606 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze_context + mutator: stmt.delete_call + normalizedText: findings.push(finding); + occurrence: 3 + testSet: 1607 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze_context + mutator: stmt.delete_call + normalizedText: findings.push(finding); + occurrence: 4 + testSet: 1608 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze_context + mutator: stmt.delete_call + normalizedText: findings.push(finding); + occurrence: 5 + testSet: 1609 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze_context + mutator: stmt.delete_call + normalizedText: findings.push(finding); + occurrence: 6 + testSet: 1610 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze_context + mutator: stmt.delete_call + normalizedText: findings.push(finding); + occurrence: 7 + testSet: 1611 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: analyze_run + mutator: fn_value.empty_collection + normalizedText: '{ let profile = profile.map_or(CargoProfile::Default, CargoProfile::Named); analyze_context(mutants, + timing, profile, binaries) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: family_of + mutator: fn_value.empty_string + normalizedText: '{ mutator.split_once(''.'').map_or(mutator, |(family, _)| family) }' + occurrence: 0 + testSet: 1613 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: family_of + mutator: fn_value.xyzzy_string + normalizedText: '{ mutator.split_once(''.'').map_or(mutator, |(family, _)| family) }' + occurrence: 0 + testSet: 1613 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: arith.add_to_mul + normalizedText: timing.build.as_secs_f64() + timing.baseline.as_secs_f64() + occurrence: 0 + testSet: 1614 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: arith.add_to_sub + normalizedText: timing.build.as_secs_f64() + timing.baseline.as_secs_f64() + occurrence: 0 + testSet: 1614 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: arith.div_to_mul + normalizedText: fixed / wall + occurrence: 0 + testSet: 1614 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: arith.div_to_rem + normalizedText: fixed / wall + occurrence: 0 + testSet: 1614 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: collection.omit_element + normalizedText: vec![ format!("build {}, baseline {}", human(timing.build), human(timing.baseline)), format!( "mutant + execution {}", human(timing.wall.saturating_sub(timing.build + timing.baseline)) ), ] + occurrence: 0 + testSet: 1615 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: cond.always_false + normalizedText: wall <= 0.0 || fixed / wall < FIXED_COST_SHARE + occurrence: 0 + testSet: 1614 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: cond.always_true + normalizedText: wall <= 0.0 || fixed / wall < FIXED_COST_SHARE + occurrence: 0 + testSet: 1614 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: cond.negate + normalizedText: wall <= 0.0 || fixed / wall < FIXED_COST_SHARE + occurrence: 0 + testSet: 1614 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: fn_value.none + normalizedText: "{ let wall = timing.wall.as_secs_f64(); let fixed = timing.build.as_secs_f64() + timing.baseline.as_secs_f64();\ + \ if wall <= 0.0 || fixed / wall < FIXED_COST_SHARE { return None; } Some(Finding { code: \"fixed-cost\", headline:\ + \ format!( \"{:.0}% of the run was the build and baseline, not mutation testing\", fixed / wall * 100.0 ), detail:\ + \ vec![ format!(\"build {}, baseline {}\", human(timing.build), human(timing.baseline)), format!( \"mutant execution\ + \ {}\", human(timing.wall.saturating_sub(timing.build + timing.baseline)) ), ], remedy: \"test more mutants per build:\ + \ widen `--mutators`, or drop `--shard-count` so each run \\\n amortizes the build over more work.\ + \ A build cache such as sccache helps the build \\\n itself.\" .to_owned(), cost: \"none — this is\ + \ the one finding whose remedy costs no signal at all\".to_owned(), }) }" + occurrence: 0 + testSet: 1614 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: literal.str_to_empty + normalizedText: '"fixed-cost"' + occurrence: 0 + testSet: 1615 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: literal.str_to_empty + normalizedText: '"none — this is the one finding whose remedy costs no signal at all"' + occurrence: 0 + testSet: 1615 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: literal.str_to_empty + normalizedText: "\"test more mutants per build: widen `--mutators`, or drop `--shard-count` so each run \\\n \ + \ amortizes the build over more work. A build cache such as sccache helps the build \\\n \ + \ itself.\"" + occurrence: 0 + testSet: 1615 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: literal.str_to_xyzzy + normalizedText: '"fixed-cost"' + occurrence: 0 + testSet: 1615 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: literal.str_to_xyzzy + normalizedText: '"none — this is the one finding whose remedy costs no signal at all"' + occurrence: 0 + testSet: 1615 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: literal.str_to_xyzzy + normalizedText: "\"test more mutants per build: widen `--mutators`, or drop `--shard-count` so each run \\\n \ + \ amortizes the build over more work. A build cache such as sccache helps the build \\\n \ + \ itself.\"" + occurrence: 0 + testSet: 1615 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: logical.or_to_and + normalizedText: wall <= 0.0 || fixed / wall < FIXED_COST_SHARE + occurrence: 0 + testSet: 1614 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: option.some_to_none + normalizedText: "Some(Finding { code: \"fixed-cost\", headline: format!( \"{:.0}% of the run was the build and baseline,\ + \ not mutation testing\", fixed / wall * 100.0 ), detail: vec![ format!(\"build {}, baseline {}\", human(timing.build),\ + \ human(timing.baseline)), format!( \"mutant execution {}\", human(timing.wall.saturating_sub(timing.build + timing.baseline))\ + \ ), ], remedy: \"test more mutants per build: widen `--mutators`, or drop `--shard-count` so each run \\\n \ + \ amortizes the build over more work. A build cache such as sccache helps the build \\\n \ + \ itself.\" .to_owned(), cost: \"none — this is the one finding whose remedy costs no signal at all\".to_owned(),\ + \ })" + occurrence: 0 + testSet: 1615 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: relational.le_to_ge + normalizedText: wall <= 0.0 + occurrence: 0 + testSet: 1614 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: relational.le_to_lt + normalizedText: wall <= 0.0 + occurrence: 0 + testSet: 1614 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: relational.lt_to_gt + normalizedText: fixed / wall < FIXED_COST_SHARE + occurrence: 0 + testSet: 1614 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: fixed_cost + mutator: relational.lt_to_le + normalizedText: fixed / wall < FIXED_COST_SHARE + occurrence: 0 + testSet: 1614 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: arith.div_to_mul + normalizedText: f64::from(count) / total as f64 + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: arith.div_to_rem + normalizedText: f64::from(count) / total as f64 + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: assign.add_to_sub + normalizedText: entry.0 += 1 + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: assign.add_to_sub + normalizedText: entry.1 += 1 + occurrence: 0 + testSet: 1617 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: assign.add_to_sub + normalizedText: entry.2 += Duration::from_millis(mutant.elapsed_ms) + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: cond.always_false + normalizedText: mutant.outcome == Outcome::Survived + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: cond.always_false + normalizedText: total < MIN_POPULATION + occurrence: 0 + testSet: 1618 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: cond.always_true + normalizedText: mutant.outcome == Outcome::Survived + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: cond.always_true + normalizedText: total < MIN_POPULATION + occurrence: 0 + testSet: 1618 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: cond.negate + normalizedText: mutant.outcome == Outcome::Survived + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: cond.negate + normalizedText: total < MIN_POPULATION + occurrence: 0 + testSet: 1618 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: fn_value.empty_collection + normalizedText: "{ let total = mutants.len(); if total < MIN_POPULATION { return Vec::new(); } let mut counts: HashMap<&str,\ + \ (u32, u32, Duration)> = HashMap::default(); for mutant in mutants { let entry = counts.entry(mutant.file.as_str()).or_insert((0,\ + \ 0, Duration::ZERO)); entry.0 += 1; entry.2 += Duration::from_millis(mutant.elapsed_ms); if mutant.outcome == Outcome::Survived\ + \ { entry.1 += 1; } } let mut hot: Vec<(&str, u32, u32, Duration)> = counts .into_iter() .filter(|&(_, (count, _,\ + \ _))| f64::from(count) / total as f64 >= HOT_FILE_SHARE) .map(|(file, (count, survivors, cpu))| (file, count, survivors,\ + \ cpu)) .collect(); hot.sort_by(|left, right| right.1.cmp(&left.1).then_with(|| left.0.cmp(right.0))); hot.into_iter()\ + \ .map(|(file, count, survivors, cpu)| Finding { code: \"hot-file\", headline: format!( \"{file} alone is {:.0}% of\ + \ the population ({count} {})\", f64::from(count) / total as f64 * 100.0, plural(count, \"mutant\") ), detail: vec![format!(\ + \ \"{} of CPU time, {survivors} {} found there\", human(cpu), plural(survivors, \"survivor\") )], remedy: \"if it\ + \ is generated, tabular or macro-expanded code, exclude it with \\\n `--exclude-file` or the `exclude-files`\ + \ config key. If it is hand-written, \\\n this is not a problem — it is where the logic is.\"\ + \ .to_owned(), cost: format!( \"exactly {count} {} stop being tested, {survivors} of which are currently finding \\\ + \n gaps in the suite\", plural(count, \"mutant\") ), }) .collect() }" + occurrence: 0 + testSet: 1618 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: iter.remove_sort + normalizedText: hot.sort_by(|left, right| right.1.cmp(&left.1).then_with(|| left.0.cmp(right.0))); + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1617 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1617 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: literal.str_to_empty + normalizedText: '"hot-file"' + occurrence: 0 + testSet: 1619 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: literal.str_to_empty + normalizedText: "\"if it is generated, tabular or macro-expanded code, exclude it with \\\n `--exclude-file`\ + \ or the `exclude-files` config key. If it is hand-written, \\\n this is not a problem — it is\ + \ where the logic is.\"" + occurrence: 0 + testSet: 1619 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: literal.str_to_xyzzy + normalizedText: '"hot-file"' + occurrence: 0 + testSet: 1619 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: literal.str_to_xyzzy + normalizedText: "\"if it is generated, tabular or macro-expanded code, exclude it with \\\n `--exclude-file`\ + \ or the `exclude-files` config key. If it is hand-written, \\\n this is not a problem — it is\ + \ where the logic is.\"" + occurrence: 0 + testSet: 1619 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Survived + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: relational.ge_to_gt + normalizedText: f64::from(count) / total as f64 >= HOT_FILE_SHARE + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: relational.ge_to_le + normalizedText: f64::from(count) / total as f64 >= HOT_FILE_SHARE + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: relational.lt_to_gt + normalizedText: total < MIN_POPULATION + occurrence: 0 + testSet: 1618 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: relational.lt_to_le + normalizedText: total < MIN_POPULATION + occurrence: 0 + testSet: 1618 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: stmt.delete_assign + normalizedText: entry.0 += 1; + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: stmt.delete_assign + normalizedText: entry.1 += 1; + occurrence: 0 + testSet: 1617 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: hot_files + mutator: stmt.delete_assign + normalizedText: entry.2 += Duration::from_millis(mutant.elapsed_ms); + occurrence: 0 + testSet: 1616 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: arith.div_to_mul + normalizedText: timing.wall.as_secs_f64() / TARGET_SHARD.as_secs_f64() + occurrence: 0 + testSet: 1620 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: arith.div_to_rem + normalizedText: timing.wall.as_secs_f64() / TARGET_SHARD.as_secs_f64() + occurrence: 0 + testSet: 1620 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: cond.always_false + normalizedText: timing.wall < LONG_RUN + occurrence: 0 + testSet: 1621 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: cond.always_true + normalizedText: timing.wall < LONG_RUN + occurrence: 0 + testSet: 1621 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: cond.negate + normalizedText: timing.wall < LONG_RUN + occurrence: 0 + testSet: 1621 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: fn_value.none + normalizedText: "{ if timing.wall < LONG_RUN { return None; } let shards = (timing.wall.as_secs_f64() / TARGET_SHARD.as_secs_f64()).ceil().max(2.0);\ + \ #[expect( clippy::cast_possible_truncation, clippy::cast_sign_loss, reason = \"bounded by the ratio of two durations\"\ + \ )] let shards = shards as u32; Some(Finding { code: \"long-run\", headline: format!(\"the run took {}, which will\ + \ not fit a per-commit job\", human(timing.wall)), detail: vec![format!(\"at {} per shard that is a rotation of {shards}\"\ + , human(TARGET_SHARD))], remedy: format!( \"run one shard a night — `--shard-count {shards} --shard-index ` — and\ + \ combine the \\\n reports with `cargo gamma merge`. Shards are assigned by content, so coverage \\\n\ + \ accumulates as the code changes instead of resetting.\" ), cost: \"none in total coverage, but a verdict\ + \ is up to one rotation old rather than current\".to_owned(), }) }" + occurrence: 0 + testSet: 1621 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: iter.max_to_min + normalizedText: (timing.wall.as_secs_f64() / TARGET_SHARD.as_secs_f64()).ceil().max(2.0) + occurrence: 0 + testSet: 1620 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: literal.str_to_empty + normalizedText: '"long-run"' + occurrence: 0 + testSet: 1620 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: literal.str_to_empty + normalizedText: '"none in total coverage, but a verdict is up to one rotation old rather than current"' + occurrence: 0 + testSet: 1620 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: literal.str_to_xyzzy + normalizedText: '"long-run"' + occurrence: 0 + testSet: 1620 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: literal.str_to_xyzzy + normalizedText: '"none in total coverage, but a verdict is up to one rotation old rather than current"' + occurrence: 0 + testSet: 1620 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: option.some_to_none + normalizedText: "Some(Finding { code: \"long-run\", headline: format!(\"the run took {}, which will not fit a per-commit\ + \ job\", human(timing.wall)), detail: vec![format!(\"at {} per shard that is a rotation of {shards}\", human(TARGET_SHARD))],\ + \ remedy: format!( \"run one shard a night — `--shard-count {shards} --shard-index ` — and combine the \\\n \ + \ reports with `cargo gamma merge`. Shards are assigned by content, so coverage \\\n accumulates\ + \ as the code changes instead of resetting.\" ), cost: \"none in total coverage, but a verdict is up to one rotation\ + \ old rather than current\".to_owned(), })" + occurrence: 0 + testSet: 1620 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: relational.lt_to_gt + normalizedText: timing.wall < LONG_RUN + occurrence: 0 + testSet: 1621 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: long_run + mutator: relational.lt_to_le + normalizedText: timing.wall < LONG_RUN + occurrence: 0 + testSet: 1621 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: arith.div_to_mul + normalizedText: row.cpu.as_secs_f64() / executed.as_secs_f64() + occurrence: 0 + testSet: 1622 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: arith.div_to_rem + normalizedText: row.cpu.as_secs_f64() / executed.as_secs_f64() + occurrence: 0 + testSet: 1622 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: cond.always_true + normalizedText: executed.is_zero() + occurrence: 0 + testSet: 1623 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: cond.negate + normalizedText: executed.is_zero() + occurrence: 0 + testSet: 1623 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: fn_value.empty_collection + normalizedText: "{ if executed.is_zero() { return Vec::new(); } yields(mutants) .into_iter() .filter(|row| row.survivors\ + \ == 0) .filter(|row| row.cpu >= MIN_YIELD_CPU) .filter(|row| row.cpu.as_secs_f64() / executed.as_secs_f64() >= YIELD_FLOOR_SHARE)\ + \ .map(|row| Finding { code: \"low-yield\", headline: format!(\"the `{}` family spent {} and found no survivors\"\ + , row.family, human(row.cpu)), detail: vec![format!( \"{} {}, {:.0}% of mutant execution time\", row.mutants, plural(row.mutants,\ + \ \"mutant\"), row.cpu.as_secs_f64() / executed.as_secs_f64() * 100.0 )], remedy: format!(\"`--mutators 'all,!{}'`\ + \ drops it\", row.family), cost: \"real, and easy to underrate. A family that finds nothing today is a regression\ + \ \\\n detector for tomorrow: this says the suite currently covers it, not that it \\\n \ + \ always will\" .to_owned(), }) .collect() }" + occurrence: 0 + testSet: 1623 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1624 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: literal.str_to_empty + normalizedText: '"low-yield"' + occurrence: 0 + testSet: 1622 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: literal.str_to_empty + normalizedText: "\"real, and easy to underrate. A family that finds nothing today is a regression \\\n \ + \ detector for tomorrow: this says the suite currently covers it, not that it \\\n always will\"" + occurrence: 0 + testSet: 1622 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: literal.str_to_xyzzy + normalizedText: '"low-yield"' + occurrence: 0 + testSet: 1622 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: literal.str_to_xyzzy + normalizedText: "\"real, and easy to underrate. A family that finds nothing today is a regression \\\n \ + \ detector for tomorrow: this says the suite currently covers it, not that it \\\n always will\"" + occurrence: 0 + testSet: 1622 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: relational.eq_to_ne + normalizedText: row.survivors == 0 + occurrence: 0 + testSet: 1624 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: relational.ge_to_gt + normalizedText: row.cpu >= MIN_YIELD_CPU + occurrence: 0 + testSet: 1625 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: relational.ge_to_gt + normalizedText: row.cpu.as_secs_f64() / executed.as_secs_f64() >= YIELD_FLOOR_SHARE + occurrence: 0 + testSet: 1622 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: relational.ge_to_le + normalizedText: row.cpu >= MIN_YIELD_CPU + occurrence: 0 + testSet: 1625 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: low_yield + mutator: relational.ge_to_le + normalizedText: row.cpu.as_secs_f64() / executed.as_secs_f64() >= YIELD_FLOOR_SHARE + occurrence: 0 + testSet: 1622 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: arith.div_to_mul + normalizedText: stopped.len() as f64 / executed as f64 + occurrence: 0 + testSet: 1626 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: arith.div_to_rem + normalizedText: stopped.len() as f64 / executed as f64 + occurrence: 0 + testSet: 1626 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: collection.omit_element + normalizedText: vec![ format!("{} of CPU time spent before the kernel stopped them", human(spent)), located, ] + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: cond.always_false + normalizedText: executed >= MIN_POPULATION && stopped.len() as f64 / executed as f64 >= MEMORY_CEILING_SHARE + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: cond.always_false + normalizedText: stopped.is_empty() + occurrence: 0 + testSet: 1628 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: cond.always_true + normalizedText: executed >= MIN_POPULATION && stopped.len() as f64 / executed as f64 >= MEMORY_CEILING_SHARE + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: cond.always_true + normalizedText: stopped.is_empty() + occurrence: 0 + testSet: 1628 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: cond.negate + normalizedText: executed >= MIN_POPULATION && stopped.len() as f64 / executed as f64 >= MEMORY_CEILING_SHARE + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: cond.negate + normalizedText: stopped.is_empty() + occurrence: 0 + testSet: 1628 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: fn_value.none + normalizedText: "{ let stopped: Vec<&Mutant> = mutants.iter().filter(|mutant| mutant.outcome == Outcome::OutOfMemory).collect();\ + \ if stopped.is_empty() { return None; } let spent: Duration = stopped.iter().map(|mutant| Duration::from_millis(mutant.elapsed_ms)).sum();\ + \ let files: HashSet<&Utf8Path> = stopped.iter().map(|mutant| &*mutant.file).collect(); let located = match files.iter().copied().next()\ + \ { Some(only) if files.len() == 1 && stopped.len() == 1 => format!(\"the one is in {only}\"), Some(only) if files.len()\ + \ == 1 => format!(\"all {} are in {only}\", stopped.len()), _ => format!(\"spread across {} files, so no one site\ + \ explains them\", files.len()), }; let mut detail = vec![ format!(\"{} of CPU time spent before the kernel stopped\ + \ them\", human(spent)), located, ]; let executed = mutants.iter().filter(|mutant| ran_test_binary(mutant.outcome)).count();\ + \ if executed >= MIN_POPULATION && stopped.len() as f64 / executed as f64 >= MEMORY_CEILING_SHARE { detail.push(format!(\ + \ \"that is {:.0}% of the {executed} mutants that ran, which points at the ceiling rather \\\n than the\ + \ sites\", stopped.len() as f64 / executed as f64 * 100.0 )); } Some(Finding { code: \"out-of-memory\", headline:\ + \ format!( \"{} {} hit the memory ceiling\", summary.out_of_memory, plural(summary.out_of_memory, \"mutant\") ), detail,\ + \ remedy: \"this is the verdict most likely to be wrong, because a ceiling set too tight \\\n convicts\ + \ a healthy mutant — establish which it is before acting. `--memory \\\n measure` reports each binary's\ + \ peak without stopping anything, and \\\n `--memory-multiplier` or `--memory-headroom` widen the\ + \ ceiling if the baseline it \\\n came from was unrepresentative. A site that is genuinely allowed\ + \ to allocate this \\\n much is eligible for `cargo gamma suppress` by default.\" .to_owned(), cost:\ + \ \"a widened ceiling stops bounding the runaway allocation it was there to catch, and a \\\n suppressed\ + \ site stops being retested, so a later edit that makes it allocate without \\\n bound goes unnoticed\"\ + \ .to_owned(), }) }" + occurrence: 0 + testSet: 1628 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: literal.str_to_empty + normalizedText: "\"a widened ceiling stops bounding the runaway allocation it was there to catch, and a \\\n \ + \ suppressed site stops being retested, so a later edit that makes it allocate without \\\n bound\ + \ goes unnoticed\"" + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: literal.str_to_empty + normalizedText: '"out-of-memory"' + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: literal.str_to_empty + normalizedText: "\"this is the verdict most likely to be wrong, because a ceiling set too tight \\\n \ + \ convicts a healthy mutant — establish which it is before acting. `--memory \\\n measure` reports\ + \ each binary's peak without stopping anything, and \\\n `--memory-multiplier` or `--memory-headroom`\ + \ widen the ceiling if the baseline it \\\n came from was unrepresentative. A site that is genuinely\ + \ allowed to allocate this \\\n much is eligible for `cargo gamma suppress` by default.\"" + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: literal.str_to_xyzzy + normalizedText: "\"a widened ceiling stops bounding the runaway allocation it was there to catch, and a \\\n \ + \ suppressed site stops being retested, so a later edit that makes it allocate without \\\n bound\ + \ goes unnoticed\"" + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: literal.str_to_xyzzy + normalizedText: '"out-of-memory"' + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: literal.str_to_xyzzy + normalizedText: "\"this is the verdict most likely to be wrong, because a ceiling set too tight \\\n \ + \ convicts a healthy mutant — establish which it is before acting. `--memory \\\n measure` reports\ + \ each binary's peak without stopping anything, and \\\n `--memory-multiplier` or `--memory-headroom`\ + \ widen the ceiling if the baseline it \\\n came from was unrepresentative. A site that is genuinely\ + \ allowed to allocate this \\\n much is eligible for `cargo gamma suppress` by default.\"" + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: logical.and_to_or + normalizedText: executed >= MIN_POPULATION && stopped.len() as f64 / executed as f64 >= MEMORY_CEILING_SHARE + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: match_guard.always_false + normalizedText: files.len() == 1 + occurrence: 0 + testSet: 1629 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: match_guard.always_false + normalizedText: files.len() == 1 && stopped.len() == 1 + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: match_guard.always_true + normalizedText: files.len() == 1 + occurrence: 0 + testSet: 1629 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: match_guard.always_true + normalizedText: files.len() == 1 && stopped.len() == 1 + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: match_guard.negate + normalizedText: files.len() == 1 + occurrence: 0 + testSet: 1629 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: match_guard.negate + normalizedText: files.len() == 1 && stopped.len() == 1 + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: option.some_to_none + normalizedText: "Some(Finding { code: \"out-of-memory\", headline: format!( \"{} {} hit the memory ceiling\", summary.out_of_memory,\ + \ plural(summary.out_of_memory, \"mutant\") ), detail, remedy: \"this is the verdict most likely to be wrong, because\ + \ a ceiling set too tight \\\n convicts a healthy mutant — establish which it is before acting. `--memory\ + \ \\\n measure` reports each binary's peak without stopping anything, and \\\n `--memory-multiplier`\ + \ or `--memory-headroom` widen the ceiling if the baseline it \\\n came from was unrepresentative.\ + \ A site that is genuinely allowed to allocate this \\\n much is eligible for `cargo gamma suppress`\ + \ by default.\" .to_owned(), cost: \"a widened ceiling stops bounding the runaway allocation it was there to catch,\ + \ and a \\\n suppressed site stops being retested, so a later edit that makes it allocate without \\\ + \n bound goes unnoticed\" .to_owned(), })" + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::OutOfMemory + occurrence: 0 + testSet: 1628 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: relational.ge_to_gt + normalizedText: executed >= MIN_POPULATION + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: relational.ge_to_gt + normalizedText: stopped.len() as f64 / executed as f64 >= MEMORY_CEILING_SHARE + occurrence: 0 + testSet: 1626 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: relational.ge_to_le + normalizedText: executed >= MIN_POPULATION + occurrence: 0 + testSet: 1627 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: relational.ge_to_le + normalizedText: stopped.len() as f64 / executed as f64 >= MEMORY_CEILING_SHARE + occurrence: 0 + testSet: 1626 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: out_of_memory + mutator: stmt.delete_call + normalizedText: "detail.push(format!( \"that is {:.0}% of the {executed} mutants that ran, which points at the ceiling\ + \ rather \\\n than the sites\", stopped.len() as f64 / executed as f64 * 100.0 ));" + occurrence: 0 + testSet: 1626 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: collection.omit_element + normalizedText: 'vec![ format!("every one of the {live} tested mutants pays that cost"), format!("floor for this run + at {} jobs: {}", timing.jobs, human(projected)), ]' + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: cond.always_false + normalizedText: timing.baseline < SLOW_BASELINE + occurrence: 0 + testSet: 1631 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: cond.always_true + normalizedText: timing.baseline < SLOW_BASELINE + occurrence: 0 + testSet: 1631 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: cond.negate + normalizedText: timing.baseline < SLOW_BASELINE + occurrence: 0 + testSet: 1631 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: fn_value.none + normalizedText: "{ if timing.baseline < SLOW_BASELINE { return None; } let live = mutants.iter().filter(|mutant| ran_test_binary(mutant.outcome)).count();\ + \ let projected = timing.baseline.mul_f64(live as f64).div_f64(timing.jobs.max(1) as f64); let mut detail = vec![\ + \ format!(\"every one of the {live} tested mutants pays that cost\"), format!(\"floor for this run at {} jobs: {}\"\ + , timing.jobs, human(projected)), ]; let mut slowest: Vec<&TestBinary> = binaries.iter().filter(|binary| !binary.baseline.is_zero()).collect();\ + \ slowest.sort_by(|left, right| { right .baseline .cmp(&left.baseline) .then_with(|| left.package.cmp(&right.package))\ + \ .then_with(|| left.target.cmp(&right.target)) }); for binary in slowest.into_iter().take(3) { let tests = binary.tests.map_or_else(String::new,\ + \ |tests| format!(\", {tests} tests\")); detail.push(format!( \"test target `{}::{}`: {} baseline{tests}\", binary.package,\ + \ binary.target, human(binary.baseline) )); } Some(Finding { code: \"slow-baseline\", headline: format!(\"the suite\ + \ takes {} with no mutant active\", human(timing.baseline)), detail, remedy: \"profile the named test targets and\ + \ shorten repeated fixture setup, sleeps, network \\\n calls, and oversized inputs. Split performance\ + \ or load checks from correctness \\\n assertions so mutation runs can keep the fast oracle; if a\ + \ target carries no \\\n mutation-relevant assertions, omit it with `--exclude-test `.\" .to_owned(),\ + \ cost: \"optimizing or splitting tests preserves signal; `--exclude-test` removes every \\\n assertion\ + \ in that target from mutation verdicts\" .to_owned(), }) }" + occurrence: 0 + testSet: 1631 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: iter.max_to_min + normalizedText: timing.jobs.max(1) + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: iter.remove_sort + normalizedText: slowest.sort_by(|left, right| { right .baseline .cmp(&left.baseline) .then_with(|| left.package.cmp(&right.package)) + .then_with(|| left.target.cmp(&right.target)) }); + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: literal.str_to_empty + normalizedText: "\"optimizing or splitting tests preserves signal; `--exclude-test` removes every \\\n \ + \ assertion in that target from mutation verdicts\"" + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: literal.str_to_empty + normalizedText: "\"profile the named test targets and shorten repeated fixture setup, sleeps, network \\\n \ + \ calls, and oversized inputs. Split performance or load checks from correctness \\\n assertions\ + \ so mutation runs can keep the fast oracle; if a target carries no \\\n mutation-relevant assertions,\ + \ omit it with `--exclude-test `.\"" + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: literal.str_to_empty + normalizedText: '"slow-baseline"' + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: literal.str_to_xyzzy + normalizedText: "\"optimizing or splitting tests preserves signal; `--exclude-test` removes every \\\n \ + \ assertion in that target from mutation verdicts\"" + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: literal.str_to_xyzzy + normalizedText: "\"profile the named test targets and shorten repeated fixture setup, sleeps, network \\\n \ + \ calls, and oversized inputs. Split performance or load checks from correctness \\\n assertions\ + \ so mutation runs can keep the fast oracle; if a target carries no \\\n mutation-relevant assertions,\ + \ omit it with `--exclude-test `.\"" + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: literal.str_to_xyzzy + normalizedText: '"slow-baseline"' + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: option.some_to_none + normalizedText: "Some(Finding { code: \"slow-baseline\", headline: format!(\"the suite takes {} with no mutant active\"\ + , human(timing.baseline)), detail, remedy: \"profile the named test targets and shorten repeated fixture setup, sleeps,\ + \ network \\\n calls, and oversized inputs. Split performance or load checks from correctness \\\n\ + \ assertions so mutation runs can keep the fast oracle; if a target carries no \\\n \ + \ mutation-relevant assertions, omit it with `--exclude-test `.\" .to_owned(), cost: \"optimizing or splitting\ + \ tests preserves signal; `--exclude-test` removes every \\\n assertion in that target from mutation\ + \ verdicts\" .to_owned(), })" + occurrence: 0 + testSet: 1630 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: relational.lt_to_gt + normalizedText: timing.baseline < SLOW_BASELINE + occurrence: 0 + testSet: 1631 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: relational.lt_to_le + normalizedText: timing.baseline < SLOW_BASELINE + occurrence: 0 + testSet: 1631 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: stmt.delete_call + normalizedText: 'detail.push(format!( "test target `{}::{}`: {} baseline{tests}", binary.package, binary.target, human(binary.baseline) + ));' + occurrence: 0 + testSet: 1632 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: slow_baseline + mutator: unary.remove_not + normalizedText: '!binary.baseline.is_zero()' + occurrence: 0 + testSet: 1632 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: cond.always_false + normalizedText: summary.timeout == 0 + occurrence: 0 + testSet: 1604 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: cond.always_true + normalizedText: summary.timeout == 0 + occurrence: 0 + testSet: 1604 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: cond.negate + normalizedText: summary.timeout == 0 + occurrence: 0 + testSet: 1604 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: fn_value.none + normalizedText: "{ if summary.timeout == 0 { return None; } let spent: Duration = mutants .iter() .filter(|mutant| mutant.outcome\ + \ == Outcome::Timeout) .map(|mutant| Duration::from_millis(mutant.elapsed_ms)) .sum(); Some(Finding { code: \"timeouts\"\ + , headline: format!( \"{} {} ran out their whole budget\", summary.timeout, plural(summary.timeout, \"mutant\") ),\ + \ detail: vec![format!(\"{} of CPU time spent waiting for them\", human(spent))], remedy: \"a mutant that hangs is\ + \ a mutant the suite detected, so this is signal, not \\\n failure — it is just expensive signal.\ + \ `cargo gamma suppress` writes suppressions \\\n for them so the next run does not pay again.\" .to_owned(),\ + \ cost: \"a suppressed timeout leaves the score unchanged today, but stops being retested, so \\\n a\ + \ later edit that makes it terminate goes unnoticed\" .to_owned(), }) }" + occurrence: 0 + testSet: 1604 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1604 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: literal.str_to_empty + normalizedText: "\"a mutant that hangs is a mutant the suite detected, so this is signal, not \\\n failure\ + \ — it is just expensive signal. `cargo gamma suppress` writes suppressions \\\n for them so the next\ + \ run does not pay again.\"" + occurrence: 0 + testSet: 1608 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: literal.str_to_empty + normalizedText: "\"a suppressed timeout leaves the score unchanged today, but stops being retested, so \\\n \ + \ a later edit that makes it terminate goes unnoticed\"" + occurrence: 0 + testSet: 1608 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: literal.str_to_empty + normalizedText: '"timeouts"' + occurrence: 0 + testSet: 1608 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: literal.str_to_xyzzy + normalizedText: "\"a mutant that hangs is a mutant the suite detected, so this is signal, not \\\n failure\ + \ — it is just expensive signal. `cargo gamma suppress` writes suppressions \\\n for them so the next\ + \ run does not pay again.\"" + occurrence: 0 + testSet: 1608 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: literal.str_to_xyzzy + normalizedText: "\"a suppressed timeout leaves the score unchanged today, but stops being retested, so \\\n \ + \ a later edit that makes it terminate goes unnoticed\"" + occurrence: 0 + testSet: 1608 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: literal.str_to_xyzzy + normalizedText: '"timeouts"' + occurrence: 0 + testSet: 1608 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: option.some_to_none + normalizedText: "Some(Finding { code: \"timeouts\", headline: format!( \"{} {} ran out their whole budget\", summary.timeout,\ + \ plural(summary.timeout, \"mutant\") ), detail: vec![format!(\"{} of CPU time spent waiting for them\", human(spent))],\ + \ remedy: \"a mutant that hangs is a mutant the suite detected, so this is signal, not \\\n failure\ + \ — it is just expensive signal. `cargo gamma suppress` writes suppressions \\\n for them so the next\ + \ run does not pay again.\" .to_owned(), cost: \"a suppressed timeout leaves the score unchanged today, but stops\ + \ being retested, so \\\n a later edit that makes it terminate goes unnoticed\" .to_owned(), })" + occurrence: 0 + testSet: 1608 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Timeout + occurrence: 0 + testSet: 1608 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: timeouts + mutator: relational.eq_to_ne + normalizedText: summary.timeout == 0 + occurrence: 0 + testSet: 1604 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: arith.div_to_mul + normalizedText: f64::from(summary.uncovered) / f64::from(valid) + occurrence: 0 + testSet: 1633 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: arith.div_to_rem + normalizedText: f64::from(summary.uncovered) / f64::from(valid) + occurrence: 0 + testSet: 1633 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: cond.always_false + normalizedText: usize::try_from(valid).unwrap_or(usize::MAX) < MIN_POPULATION || f64::from(summary.uncovered) / f64::from(valid) + < UNCOVERED_SHARE + occurrence: 0 + testSet: 1634 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: cond.always_true + normalizedText: usize::try_from(valid).unwrap_or(usize::MAX) < MIN_POPULATION || f64::from(summary.uncovered) / f64::from(valid) + < UNCOVERED_SHARE + occurrence: 0 + testSet: 1634 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: cond.negate + normalizedText: usize::try_from(valid).unwrap_or(usize::MAX) < MIN_POPULATION || f64::from(summary.uncovered) / f64::from(valid) + < UNCOVERED_SHARE + occurrence: 0 + testSet: 1634 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: expr.increment + normalizedText: usize::MAX + occurrence: 0 + testSet: 1634 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: fn_value.none + normalizedText: "{ let valid = summary.valid(); if usize::try_from(valid).unwrap_or(usize::MAX) < MIN_POPULATION ||\ + \ f64::from(summary.uncovered) / f64::from(valid) < UNCOVERED_SHARE { return None; } Some(Finding { code: \"uncovered\"\ + , headline: format!( \"{} of {valid} mutants ({:.0}%) sit in code no test reaches\", summary.uncovered, f64::from(summary.uncovered)\ + \ / f64::from(valid) * 100.0 ), detail: vec![\"they count against the score, because untested code is the finding\"\ + .to_owned()], remedy: \"this is not a performance problem and there is nothing to tune. Write tests, or \\\n \ + \ delete the code.\" .to_owned(), cost: \"—\".to_owned(), }) }" + occurrence: 0 + testSet: 1634 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: literal.str_to_empty + normalizedText: "\"this is not a performance problem and there is nothing to tune. Write tests, or \\\n \ + \ delete the code.\"" + occurrence: 0 + testSet: 1635 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: literal.str_to_empty + normalizedText: '"uncovered"' + occurrence: 0 + testSet: 1635 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: literal.str_to_empty + normalizedText: '"—"' + occurrence: 0 + testSet: 1635 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: literal.str_to_xyzzy + normalizedText: "\"this is not a performance problem and there is nothing to tune. Write tests, or \\\n \ + \ delete the code.\"" + occurrence: 0 + testSet: 1635 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: literal.str_to_xyzzy + normalizedText: '"uncovered"' + occurrence: 0 + testSet: 1635 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: literal.str_to_xyzzy + normalizedText: '"—"' + occurrence: 0 + testSet: 1635 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: logical.or_to_and + normalizedText: usize::try_from(valid).unwrap_or(usize::MAX) < MIN_POPULATION || f64::from(summary.uncovered) / f64::from(valid) + < UNCOVERED_SHARE + occurrence: 0 + testSet: 1634 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: option.some_to_none + normalizedText: "Some(Finding { code: \"uncovered\", headline: format!( \"{} of {valid} mutants ({:.0}%) sit in code\ + \ no test reaches\", summary.uncovered, f64::from(summary.uncovered) / f64::from(valid) * 100.0 ), detail: vec![\"\ + they count against the score, because untested code is the finding\".to_owned()], remedy: \"this is not a performance\ + \ problem and there is nothing to tune. Write tests, or \\\n delete the code.\" .to_owned(), cost:\ + \ \"—\".to_owned(), })" + occurrence: 0 + testSet: 1635 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: relational.lt_to_gt + normalizedText: f64::from(summary.uncovered) / f64::from(valid) < UNCOVERED_SHARE + occurrence: 0 + testSet: 1633 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: relational.lt_to_gt + normalizedText: usize::try_from(valid).unwrap_or(usize::MAX) < MIN_POPULATION + occurrence: 0 + testSet: 1634 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: relational.lt_to_le + normalizedText: f64::from(summary.uncovered) / f64::from(valid) < UNCOVERED_SHARE + occurrence: 0 + testSet: 1633 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: uncovered + mutator: relational.lt_to_le + normalizedText: usize::try_from(valid).unwrap_or(usize::MAX) < MIN_POPULATION + occurrence: 0 + testSet: 1634 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: arith.add_to_sub + normalizedText: timing.build + timing.baseline + occurrence: 0 + testSet: 1636 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: arith.div_to_mul + normalizedText: executed.as_secs_f64() / timing.wall.as_secs_f64() + occurrence: 0 + testSet: 1636 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: arith.div_to_rem + normalizedText: executed.as_secs_f64() / timing.wall.as_secs_f64() + occurrence: 0 + testSet: 1636 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: collection.omit_element + normalizedText: vec![ format!("mutant execution {}, build {}", human(executed), human(timing.build)), "the build is + paid once, while the selected test code is executed for every mutant".to_owned(), ] + occurrence: 0 + testSet: 1637 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: cond.always_false + normalizedText: share < EXECUTION_DOMINANT_SHARE + occurrence: 0 + testSet: 1636 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: cond.always_false + normalizedText: timing.wall.is_zero() + occurrence: 0 + testSet: 1636 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: cond.always_true + normalizedText: share < EXECUTION_DOMINANT_SHARE + occurrence: 0 + testSet: 1636 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: cond.always_true + normalizedText: timing.wall.is_zero() + occurrence: 0 + testSet: 1636 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: cond.negate + normalizedText: share < EXECUTION_DOMINANT_SHARE + occurrence: 0 + testSet: 1636 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: cond.negate + normalizedText: timing.wall.is_zero() + occurrence: 0 + testSet: 1636 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: fn_value.none + normalizedText: "{ let profile = match profile { CargoProfile::Default => \"Cargo's default test profile\", CargoProfile::Named(profile\ + \ @ (\"dev\" | \"test\")) => profile, CargoProfile::Unknown | CargoProfile::Named(_) => return None, }; if timing.wall.is_zero()\ + \ { return None; } let executed = timing.wall.saturating_sub(timing.build + timing.baseline); let share = executed.as_secs_f64()\ + \ / timing.wall.as_secs_f64(); if share < EXECUTION_DOMINANT_SHARE { return None; } Some(Finding { code: \"unoptimized-execution\"\ + , headline: format!(\"{:.0}% of the run was mutant execution under {profile}\", share * 100.0), detail: vec![ format!(\"\ + mutant execution {}, build {}\", human(executed), human(timing.build)), \"the build is paid once, while the selected\ + \ test code is executed for every mutant\".to_owned(), ], remedy: \"if the named test targets are CPU-bound, compare\ + \ a representative shard with the \\\n documented optimized profile: `cargo gamma run --profile gamma`.\ + \ Keep that profile \\\n fixed for every shard whose reports will be merged.\" .to_owned(), cost:\ + \ \"optimization makes the build slower, does not help I/O-bound tests, and can change \\\n verdicts\ + \ through code generation; scores from different profiles are not comparable\" .to_owned(), }) }" + occurrence: 0 + testSet: 1638 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: literal.str_to_empty + normalizedText: '"Cargo''s default test profile"' + occurrence: 0 + testSet: 1636 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: literal.str_to_empty + normalizedText: "\"if the named test targets are CPU-bound, compare a representative shard with the \\\n \ + \ documented optimized profile: `cargo gamma run --profile gamma`. Keep that profile \\\n fixed\ + \ for every shard whose reports will be merged.\"" + occurrence: 0 + testSet: 1637 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: literal.str_to_empty + normalizedText: "\"optimization makes the build slower, does not help I/O-bound tests, and can change \\\n \ + \ verdicts through code generation; scores from different profiles are not comparable\"" + occurrence: 0 + testSet: 1637 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: literal.str_to_empty + normalizedText: '"unoptimized-execution"' + occurrence: 0 + testSet: 1637 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo''s default test profile"' + occurrence: 0 + testSet: 1636 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: literal.str_to_xyzzy + normalizedText: "\"if the named test targets are CPU-bound, compare a representative shard with the \\\n \ + \ documented optimized profile: `cargo gamma run --profile gamma`. Keep that profile \\\n fixed\ + \ for every shard whose reports will be merged.\"" + occurrence: 0 + testSet: 1637 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: literal.str_to_xyzzy + normalizedText: "\"optimization makes the build slower, does not help I/O-bound tests, and can change \\\n \ + \ verdicts through code generation; scores from different profiles are not comparable\"" + occurrence: 0 + testSet: 1637 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: literal.str_to_xyzzy + normalizedText: '"unoptimized-execution"' + occurrence: 0 + testSet: 1637 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: option.some_to_none + normalizedText: "Some(Finding { code: \"unoptimized-execution\", headline: format!(\"{:.0}% of the run was mutant execution\ + \ under {profile}\", share * 100.0), detail: vec![ format!(\"mutant execution {}, build {}\", human(executed), human(timing.build)),\ + \ \"the build is paid once, while the selected test code is executed for every mutant\".to_owned(), ], remedy: \"\ + if the named test targets are CPU-bound, compare a representative shard with the \\\n documented optimized\ + \ profile: `cargo gamma run --profile gamma`. Keep that profile \\\n fixed for every shard whose reports\ + \ will be merged.\" .to_owned(), cost: \"optimization makes the build slower, does not help I/O-bound tests, and can\ + \ change \\\n verdicts through code generation; scores from different profiles are not comparable\"\ + \ .to_owned(), })" + occurrence: 0 + testSet: 1637 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: relational.lt_to_gt + normalizedText: share < EXECUTION_DOMINANT_SHARE + occurrence: 0 + testSet: 1636 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unoptimized_execution + mutator: relational.lt_to_le + normalizedText: share < EXECUTION_DOMINANT_SHARE + occurrence: 0 + testSet: 1636 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: arith.add_to_mul + normalizedText: summary.valid() + summary.unviable + occurrence: 0 + testSet: 1639 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: arith.add_to_mul + normalizedText: summary.valid() + summary.unviable + summary.ignored + occurrence: 0 + testSet: 1639 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: arith.add_to_sub + normalizedText: summary.valid() + summary.unviable + occurrence: 0 + testSet: 1639 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: arith.add_to_sub + normalizedText: summary.valid() + summary.unviable + summary.ignored + occurrence: 0 + testSet: 1639 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: arith.div_to_mul + normalizedText: f64::from(summary.unviable) / f64::from(total) + occurrence: 0 + testSet: 1640 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: arith.div_to_rem + normalizedText: f64::from(summary.unviable) / f64::from(total) + occurrence: 0 + testSet: 1640 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: collection.omit_element + normalizedText: vec![ "each withdrawal round is a full rebuild of the instrumented tree".to_owned(), "they are excluded + from the score, so the cost bought nothing".to_owned(), ] + occurrence: 0 + testSet: 1641 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: cond.always_false + normalizedText: usize::try_from(total).unwrap_or(usize::MAX) < MIN_POPULATION || f64::from(summary.unviable) / f64::from(total) + < UNVIABLE_SHARE + occurrence: 0 + testSet: 1639 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: cond.always_true + normalizedText: usize::try_from(total).unwrap_or(usize::MAX) < MIN_POPULATION || f64::from(summary.unviable) / f64::from(total) + < UNVIABLE_SHARE + occurrence: 0 + testSet: 1639 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: cond.negate + normalizedText: usize::try_from(total).unwrap_or(usize::MAX) < MIN_POPULATION || f64::from(summary.unviable) / f64::from(total) + < UNVIABLE_SHARE + occurrence: 0 + testSet: 1639 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: expr.increment + normalizedText: usize::MAX + occurrence: 0 + testSet: 1639 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: fn_value.none + normalizedText: "{ let total = summary.valid() + summary.unviable + summary.ignored; if usize::try_from(total).unwrap_or(usize::MAX)\ + \ < MIN_POPULATION || f64::from(summary.unviable) / f64::from(total) < UNVIABLE_SHARE { return None; } Some(Finding\ + \ { code: \"unviable\", headline: format!( \"{} of {total} mutants could not compile ({:.0}%)\", summary.unviable,\ + \ f64::from(summary.unviable) / f64::from(total) * 100.0 ), detail: vec![ \"each withdrawal round is a full rebuild\ + \ of the instrumented tree\".to_owned(), \"they are excluded from the score, so the cost bought nothing\".to_owned(),\ + \ ], remedy: \"`cargo gamma suppress --eligible unviable` records them in the source so later runs \\\n \ + \ skip them without discovering their unviability again. If they cluster in one \\\n operator,\ + \ narrow `--mutators` instead.\" .to_owned(), cost: \"none — an unviable mutant never contributed to the score\".to_owned(),\ + \ }) }" + occurrence: 0 + testSet: 1639 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: literal.str_to_empty + normalizedText: "\"`cargo gamma suppress --eligible unviable` records them in the source so later runs \\\n \ + \ skip them without discovering their unviability again. If they cluster in one \\\n operator,\ + \ narrow `--mutators` instead.\"" + occurrence: 0 + testSet: 1641 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: literal.str_to_empty + normalizedText: '"none — an unviable mutant never contributed to the score"' + occurrence: 0 + testSet: 1641 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: literal.str_to_empty + normalizedText: '"unviable"' + occurrence: 0 + testSet: 1641 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: literal.str_to_xyzzy + normalizedText: "\"`cargo gamma suppress --eligible unviable` records them in the source so later runs \\\n \ + \ skip them without discovering their unviability again. If they cluster in one \\\n operator,\ + \ narrow `--mutators` instead.\"" + occurrence: 0 + testSet: 1641 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: literal.str_to_xyzzy + normalizedText: '"none — an unviable mutant never contributed to the score"' + occurrence: 0 + testSet: 1641 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: literal.str_to_xyzzy + normalizedText: '"unviable"' + occurrence: 0 + testSet: 1641 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: logical.or_to_and + normalizedText: usize::try_from(total).unwrap_or(usize::MAX) < MIN_POPULATION || f64::from(summary.unviable) / f64::from(total) + < UNVIABLE_SHARE + occurrence: 0 + testSet: 1639 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: option.some_to_none + normalizedText: "Some(Finding { code: \"unviable\", headline: format!( \"{} of {total} mutants could not compile ({:.0}%)\"\ + , summary.unviable, f64::from(summary.unviable) / f64::from(total) * 100.0 ), detail: vec![ \"each withdrawal round\ + \ is a full rebuild of the instrumented tree\".to_owned(), \"they are excluded from the score, so the cost bought\ + \ nothing\".to_owned(), ], remedy: \"`cargo gamma suppress --eligible unviable` records them in the source so later\ + \ runs \\\n skip them without discovering their unviability again. If they cluster in one \\\n \ + \ operator, narrow `--mutators` instead.\" .to_owned(), cost: \"none — an unviable mutant never contributed\ + \ to the score\".to_owned(), })" + occurrence: 0 + testSet: 1641 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: relational.lt_to_gt + normalizedText: f64::from(summary.unviable) / f64::from(total) < UNVIABLE_SHARE + occurrence: 0 + testSet: 1640 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: relational.lt_to_gt + normalizedText: usize::try_from(total).unwrap_or(usize::MAX) < MIN_POPULATION + occurrence: 0 + testSet: 1639 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: relational.lt_to_le + normalizedText: f64::from(summary.unviable) / f64::from(total) < UNVIABLE_SHARE + occurrence: 0 + testSet: 1640 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: unviable + mutator: relational.lt_to_le + normalizedText: usize::try_from(total).unwrap_or(usize::MAX) < MIN_POPULATION + occurrence: 0 + testSet: 1639 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: assign.add_to_sub + normalizedText: entry.cpu += Duration::from_millis(mutant.elapsed_ms) + occurrence: 0 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: assign.add_to_sub + normalizedText: entry.mutants += 1 + occurrence: 0 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: assign.add_to_sub + normalizedText: entry.survivors += 1 + occurrence: 0 + testSet: 1643 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: cond.always_false + normalizedText: mutant.outcome == Outcome::Survived + occurrence: 0 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: cond.always_true + normalizedText: mutant.outcome == Outcome::Survived + occurrence: 0 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: cond.negate + normalizedText: mutant.outcome == Outcome::Survived + occurrence: 0 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: fn_value.empty_collection + normalizedText: '{ let mut buckets: HashMap = HashMap::default(); for mutant in mutants { let family + = family_of(&mutant.mutator).to_owned(); let entry = buckets.entry(family.clone()).or_insert_with(|| Yield { family, + mutants: 0, cpu: Duration::ZERO, survivors: 0, }); entry.mutants += 1; entry.cpu += Duration::from_millis(mutant.elapsed_ms); + if mutant.outcome == Outcome::Survived { entry.survivors += 1; } } let mut rows: Vec = buckets.into_values().collect(); + rows.sort_by(|left, right| { right .per_cpu_hour() .partial_cmp(&left.per_cpu_hour()) .unwrap_or(Ordering::Equal) + .then_with(|| left.family.cmp(&right.family)) }); rows }' + occurrence: 0 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: iter.remove_sort + normalizedText: rows.sort_by(|left, right| { right .per_cpu_hour() .partial_cmp(&left.per_cpu_hour()) .unwrap_or(Ordering::Equal) + .then_with(|| left.family.cmp(&right.family)) }); + occurrence: 0 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1643 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1643 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Survived + occurrence: 0 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: stmt.delete_assign + normalizedText: entry.cpu += Duration::from_millis(mutant.elapsed_ms); + occurrence: 0 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: stmt.delete_assign + normalizedText: entry.mutants += 1; + occurrence: 0 + testSet: 1642 + - site: + file: crates/cargo-gamma-lib/src/advise/analysis.rs + item: yields + mutator: stmt.delete_assign + normalizedText: entry.survivors += 1; + occurrence: 0 + testSet: 1643 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: finding_heading + mutator: fn_value.empty_string + normalizedText: '{ format!("{}. {}", index + 1, sentence(&finding.headline)) }' + occurrence: 0 + testSet: 1644 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: finding_heading + mutator: fn_value.xyzzy_string + normalizedText: '{ format!("{}. {}", index + 1, sentence(&finding.headline)) }' + occurrence: 0 + testSet: 1644 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: cond.always_false + normalizedText: layout == Layout::Document + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: cond.always_true + normalizedText: layout == Layout::Document + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: cond.negate + normalizedText: layout == Layout::Document + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: fn_value.empty_string + normalizedText: "{ let mut out = String::new(); if layout == Layout::Document { out.push_str(\"# Mutation testing advice\\\ + n\\n\"); out.push_str( \"What this run cost, what it found, and what could be changed — with the signal cost \\\n\ + \ of every change stated alongside it.\\n\\n\", ); write_contents(&mut out, findings, rows); write_outcome(&mut\ + \ out, summary, timing); } write_findings(&mut out, findings, layout); write_yields(&mut out, rows, layout); write_glossary(&mut\ + \ out, layout); out }" + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: fn_value.xyzzy_string + normalizedText: "{ let mut out = String::new(); if layout == Layout::Document { out.push_str(\"# Mutation testing advice\\\ + n\\n\"); out.push_str( \"What this run cost, what it found, and what could be changed — with the signal cost \\\n\ + \ of every change stated alongside it.\\n\\n\", ); write_contents(&mut out, findings, rows); write_outcome(&mut\ + \ out, summary, timing); } write_findings(&mut out, findings, layout); write_yields(&mut out, rows, layout); write_glossary(&mut\ + \ out, layout); out }" + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: literal.str_to_empty + normalizedText: '"# Mutation testing advice\n\n"' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: literal.str_to_empty + normalizedText: "\"What this run cost, what it found, and what could be changed — with the signal cost \\\n \ + \ of every change stated alongside it.\\n\\n\"" + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: literal.str_to_xyzzy + normalizedText: '"# Mutation testing advice\n\n"' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: literal.str_to_xyzzy + normalizedText: "\"What this run cost, what it found, and what could be changed — with the signal cost \\\n \ + \ of every change stated alongside it.\\n\\n\"" + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: relational.eq_to_ne + normalizedText: layout == Layout::Document + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: stmt.delete_call + normalizedText: "out.push_str( \"What this run cost, what it found, and what could be changed — with the signal cost\ + \ \\\n of every change stated alongside it.\\n\\n\", );" + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: stmt.delete_call + normalizedText: out.push_str("# Mutation testing advice\n\n"); + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: stmt.delete_call + normalizedText: write_contents(&mut out, findings, rows); + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: stmt.delete_call + normalizedText: write_findings(&mut out, findings, layout); + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: stmt.delete_call + normalizedText: write_glossary(&mut out, layout); + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: stmt.delete_call + normalizedText: write_outcome(&mut out, summary, timing); + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: render_markdown + mutator: stmt.delete_call + normalizedText: write_yields(&mut out, rows, layout); + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_contents + mutator: cond.always_false + normalizedText: '!rows.is_empty()' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_contents + mutator: cond.always_true + normalizedText: '!rows.is_empty()' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_contents + mutator: cond.negate + normalizedText: '!rows.is_empty()' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_contents + mutator: fn_value.unit + normalizedText: '{ out.push_str("## Contents\n\n"); let _ = writeln!(out, "- [{RUN_HEADING}](#{})", slug(RUN_HEADING)); + let _ = writeln!(out, "- [{FINDINGS_HEADING}](#{})", slug(FINDINGS_HEADING)); for (index, finding) in findings.iter().enumerate() + { let heading = finding_heading(index, finding); let _ = writeln!(out, " - [{heading}](#{})", slug(&heading)); } + if !rows.is_empty() { let _ = writeln!(out, "- [{YIELD_HEADING}](#{})", slug(YIELD_HEADING)); } let _ = writeln!(out, + "- [{GLOSSARY_HEADING}](#{})\n", slug(GLOSSARY_HEADING)); }' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_contents + mutator: literal.str_to_empty + normalizedText: '"## Contents\n\n"' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_contents + mutator: literal.str_to_xyzzy + normalizedText: '"## Contents\n\n"' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_contents + mutator: stmt.delete_call + normalizedText: out.push_str("## Contents\n\n"); + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_contents + mutator: unary.remove_not + normalizedText: '!rows.is_empty()' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: cond.always_false + normalizedText: '!finding.detail.is_empty()' + occurrence: 0 + testSet: 1647 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: cond.always_false + normalizedText: findings.is_empty() + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: cond.always_true + normalizedText: '!finding.detail.is_empty()' + occurrence: 0 + testSet: 1647 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: cond.always_true + normalizedText: findings.is_empty() + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: cond.negate + normalizedText: '!finding.detail.is_empty()' + occurrence: 0 + testSet: 1647 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: cond.negate + normalizedText: findings.is_empty() + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: fn_value.unit + normalizedText: "{ let _ = writeln!(out, \"{} {FINDINGS_HEADING}\\n\", layout.section()); if findings.is_empty() { out.push_str(\ + \ \"Nothing crossed its threshold. Every check this tool makes looks for a cost that is \\\n large enough\ + \ to be worth trading signal for, and none of them fired.\\n\\n\", ); return; } out.push_str( \"Findings follow a\ + \ fixed diagnostic order: run-wide costs first, then costly verdicts, \\\n population concentration, mutator\ + \ yield, and uncovered code.\\n\\n\", ); for (index, finding) in findings.iter().enumerate() { let _ = writeln!(out,\ + \ \"{} {}\\n\", layout.subsection(), finding_heading(index, finding)); let _ = writeln!(out, \"Finding code: `{}`\\\ + n\", finding.code); if !finding.detail.is_empty() { out.push_str(\"What was measured:\\n\\n\"); for line in &finding.detail\ + \ { let _ = writeln!(out, \"- {line}\"); } out.push('\\n'); } let _ = writeln!(out, \"> **Remedy.** {}\\n>\", sentence(&finding.remedy));\ + \ let _ = writeln!(out, \"> **Costs.** {}\\n\", sentence(&finding.cost)); } }" + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: literal.str_to_empty + normalizedText: "\"Findings follow a fixed diagnostic order: run-wide costs first, then costly verdicts, \\\n \ + \ population concentration, mutator yield, and uncovered code.\\n\\n\"" + occurrence: 0 + testSet: 1647 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: literal.str_to_empty + normalizedText: "\"Nothing crossed its threshold. Every check this tool makes looks for a cost that is \\\n \ + \ large enough to be worth trading signal for, and none of them fired.\\n\\n\"" + occurrence: 0 + testSet: 1648 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: literal.str_to_empty + normalizedText: '"What was measured:\n\n"' + occurrence: 0 + testSet: 1649 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: literal.str_to_xyzzy + normalizedText: "\"Findings follow a fixed diagnostic order: run-wide costs first, then costly verdicts, \\\n \ + \ population concentration, mutator yield, and uncovered code.\\n\\n\"" + occurrence: 0 + testSet: 1647 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: literal.str_to_xyzzy + normalizedText: "\"Nothing crossed its threshold. Every check this tool makes looks for a cost that is \\\n \ + \ large enough to be worth trading signal for, and none of them fired.\\n\\n\"" + occurrence: 0 + testSet: 1648 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: literal.str_to_xyzzy + normalizedText: '"What was measured:\n\n"' + occurrence: 0 + testSet: 1649 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 0 + testSet: 1649 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: stmt.delete_call + normalizedText: "out.push_str( \"Findings follow a fixed diagnostic order: run-wide costs first, then costly verdicts,\ + \ \\\n population concentration, mutator yield, and uncovered code.\\n\\n\", );" + occurrence: 0 + testSet: 1647 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: stmt.delete_call + normalizedText: "out.push_str( \"Nothing crossed its threshold. Every check this tool makes looks for a cost that is\ + \ \\\n large enough to be worth trading signal for, and none of them fired.\\n\\n\", );" + occurrence: 0 + testSet: 1648 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: stmt.delete_call + normalizedText: out.push_str("What was measured:\n\n"); + occurrence: 0 + testSet: 1649 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_findings + mutator: unary.remove_not + normalizedText: '!finding.detail.is_empty()' + occurrence: 0 + testSet: 1647 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: fn_value.unit + normalizedText: '{ let _ = writeln!(out, "{} {GLOSSARY_HEADING}\n", layout.section()); for (term, meaning) in [ ( "Killed", + "a test failed while the mutant was active, which is the outcome you want.", ), ( "Survived", "every test still passed + with the mutant active, so nothing asserted on the behaviour it changed.", ), ( "Timed out", "the suite never finished + with the mutant active. Counted as undetected because no assertion rejected the change.", ), ( "Out of memory", "the + suite crossed its memory ceiling with the mutant active. Counted as undetected because no assertion rejected the change.", + ), ( "Uncovered", "no test reaches the code at all. Counted against the score exactly as a survivor is.", ), ( "Unviable", + "the mutant did not compile, so it says nothing about the tests and is left out of the score.", ), ( "Baseline", "how + long the suite takes with no mutant active. Every mutant pays this, so it multiplies by the population.", ), ] { let + _ = writeln!(out, "- **{term}** — {meaning}"); } out.push(''\n''); }' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"Baseline"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"Killed"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"Out of memory"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"Survived"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"Timed out"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"Uncovered"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"Unviable"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"a test failed while the mutant was active, which is the outcome you want."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"every test still passed with the mutant active, so nothing asserted on the behaviour it changed."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"how long the suite takes with no mutant active. Every mutant pays this, so it multiplies by the population."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"no test reaches the code at all. Counted against the score exactly as a survivor is."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"the mutant did not compile, so it says nothing about the tests and is left out of the score."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"the suite crossed its memory ceiling with the mutant active. Counted as undetected because no assertion + rejected the change."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_empty + normalizedText: '"the suite never finished with the mutant active. Counted as undetected because no assertion rejected + the change."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"Baseline"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"Killed"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"Out of memory"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"Survived"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"Timed out"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"Uncovered"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"Unviable"' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"a test failed while the mutant was active, which is the outcome you want."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"every test still passed with the mutant active, so nothing asserted on the behaviour it changed."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"how long the suite takes with no mutant active. Every mutant pays this, so it multiplies by the population."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"no test reaches the code at all. Counted against the score exactly as a survivor is."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"the mutant did not compile, so it says nothing about the tests and is left out of the score."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"the suite crossed its memory ceiling with the mutant active. Counted as undetected because no assertion + rejected the change."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: literal.str_to_xyzzy + normalizedText: '"the suite never finished with the mutant active. Counted as undetected because no assertion rejected + the change."' + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_glossary + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: arith.add_to_sub + normalizedText: timing.build + timing.baseline + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: cond.always_false + normalizedText: count == 0 + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: cond.always_false + normalizedText: outcome.is_valid() + occurrence: 0 + testSet: 1650 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: cond.always_true + normalizedText: count == 0 + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: cond.always_true + normalizedText: outcome.is_valid() + occurrence: 0 + testSet: 1650 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: cond.negate + normalizedText: count == 0 + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: cond.negate + normalizedText: outcome.is_valid() + occurrence: 0 + testSet: 1650 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: expr.decrement + normalizedText: summary.valid().max(1) + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: expr.increment + normalizedText: summary.valid().max(1) + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: fn_value.unit + normalizedText: '{ let _ = writeln!(out, "## {RUN_HEADING}\n"); let _ = writeln!(out, "| Verdict | Mutants | Share of + score |\n|---|---:|---:|"); let valid = f64::from(summary.valid().max(1)); for outcome in Outcome::ALL { let count + = summary.count(outcome); if count == 0 { continue; } let share = if outcome.is_valid() { format!("{:.1}%", f64::from(count) + * 100.0 / valid) } else { "not scored".to_owned() }; let _ = writeln!(out, "| {} | {count} | {share} |", verdict_label(outcome)); + } let _ = writeln!(out, "| **Score** | | **{:.1}%** |\n", summary.score()); let executed = timing.wall.saturating_sub(timing.build + + timing.baseline); let _ = writeln!(out, "| Cost | Time | Share of run |\n|---|---:|---:|"); for (label, spent) in + [ ("Build", timing.build), ("Baseline", timing.baseline), ("Testing mutants", executed), ] { let _ = writeln!(out, + "| {label} | {} | {} |", human(spent), share(spent, timing.wall)); } let _ = writeln!(out, "| **Total** | **{}** | + at {} jobs |\n", human(timing.wall), timing.jobs); }' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: iter.max_to_min + normalizedText: summary.valid().max(1) + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: literal.str_to_empty + normalizedText: '"Baseline"' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: literal.str_to_empty + normalizedText: '"Build"' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: literal.str_to_empty + normalizedText: '"Testing mutants"' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: literal.str_to_empty + normalizedText: '"not scored"' + occurrence: 0 + testSet: 1651 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: literal.str_to_xyzzy + normalizedText: '"Baseline"' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: literal.str_to_xyzzy + normalizedText: '"Build"' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: literal.str_to_xyzzy + normalizedText: '"Testing mutants"' + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: literal.str_to_xyzzy + normalizedText: '"not scored"' + occurrence: 0 + testSet: 1651 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1652 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1652 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_outcome + mutator: relational.eq_to_ne + normalizedText: count == 0 + occurrence: 0 + testSet: 1646 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_yields + mutator: cond.always_false + normalizedText: rows.is_empty() + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_yields + mutator: cond.always_true + normalizedText: rows.is_empty() + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_yields + mutator: cond.negate + normalizedText: rows.is_empty() + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_yields + mutator: fn_value.unit + normalizedText: "{ if rows.is_empty() { return; } let _ = writeln!(out, \"{} {YIELD_HEADING}\\n\", layout.section());\ + \ out.push_str( \"Survivors per CPU-hour is what makes families comparable: it is the rate at which a \\\n \ + \ family bought the only thing a mutation run produces. A family near the bottom of this \\\n table is the\ + \ cheapest thing to turn off, and the last column says what turning it off \\\n would have cost this run.\\\ + n\\n\", ); out.push_str(\"| Family | Mutants | CPU | Survivors | Survivors/CPU-h |\\n|---|---:|---:|---:|---:|\\n\"\ + ); for row in rows { let _ = writeln!( out, \"| `{}` | {} | {} | {} | {:.1} |\", row.family, row.mutants, human(row.cpu),\ + \ row.survivors, row.per_cpu_hour() ); } out.push('\\n'); }" + occurrence: 0 + testSet: 1645 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_yields + mutator: literal.str_to_empty + normalizedText: "\"Survivors per CPU-hour is what makes families comparable: it is the rate at which a \\\n \ + \ family bought the only thing a mutation run produces. A family near the bottom of this \\\n table is the\ + \ cheapest thing to turn off, and the last column says what turning it off \\\n would have cost this run.\\\ + n\\n\"" + occurrence: 0 + testSet: 1653 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_yields + mutator: literal.str_to_empty + normalizedText: '"| Family | Mutants | CPU | Survivors | Survivors/CPU-h |\n|---|---:|---:|---:|---:|\n"' + occurrence: 0 + testSet: 1653 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_yields + mutator: literal.str_to_xyzzy + normalizedText: "\"Survivors per CPU-hour is what makes families comparable: it is the rate at which a \\\n \ + \ family bought the only thing a mutation run produces. A family near the bottom of this \\\n table is the\ + \ cheapest thing to turn off, and the last column says what turning it off \\\n would have cost this run.\\\ + n\\n\"" + occurrence: 0 + testSet: 1653 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_yields + mutator: literal.str_to_xyzzy + normalizedText: '"| Family | Mutants | CPU | Survivors | Survivors/CPU-h |\n|---|---:|---:|---:|---:|\n"' + occurrence: 0 + testSet: 1653 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_yields + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 0 + testSet: 1653 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_yields + mutator: stmt.delete_call + normalizedText: "out.push_str( \"Survivors per CPU-hour is what makes families comparable: it is the rate at which a\ + \ \\\n family bought the only thing a mutation run produces. A family near the bottom of this \\\n \ + \ table is the cheapest thing to turn off, and the last column says what turning it off \\\n would have cost\ + \ this run.\\n\\n\", );" + occurrence: 0 + testSet: 1653 + - site: + file: crates/cargo-gamma-lib/src/advise/render.rs + item: write_yields + mutator: stmt.delete_call + normalizedText: out.push_str("| Family | Mutants | CPU | Survivors | Survivors/CPU-h |\n|---|---:|---:|---:|---:|\n"); + occurrence: 0 + testSet: 1653 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: arith.div_to_mul + normalizedText: seconds / 60.0 + occurrence: 0 + testSet: 1654 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: arith.div_to_rem + normalizedText: seconds / 60.0 + occurrence: 0 + testSet: 1654 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: cond.always_false + normalizedText: minutes < 90.0 + occurrence: 0 + testSet: 1654 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: cond.always_false + normalizedText: seconds < 1.0 + occurrence: 0 + testSet: 1655 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: cond.always_false + normalizedText: seconds < 90.0 + occurrence: 0 + testSet: 1656 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: cond.always_true + normalizedText: minutes < 90.0 + occurrence: 0 + testSet: 1654 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: cond.always_true + normalizedText: seconds < 1.0 + occurrence: 0 + testSet: 1655 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: cond.always_true + normalizedText: seconds < 90.0 + occurrence: 0 + testSet: 1656 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: cond.negate + normalizedText: minutes < 90.0 + occurrence: 0 + testSet: 1654 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: cond.negate + normalizedText: seconds < 1.0 + occurrence: 0 + testSet: 1655 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: cond.negate + normalizedText: seconds < 90.0 + occurrence: 0 + testSet: 1656 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: fn_value.empty_string + normalizedText: '{ let seconds = duration.as_secs_f64(); if seconds < 1.0 { return format!("{}ms", duration.as_millis()); + } if seconds < 90.0 { return format!("{seconds:.1}s"); } let minutes = seconds / 60.0; if minutes < 90.0 { return + format!("{minutes:.0}m"); } format!("{:.1}h", minutes / 60.0) }' + occurrence: 0 + testSet: 1655 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: fn_value.xyzzy_string + normalizedText: '{ let seconds = duration.as_secs_f64(); if seconds < 1.0 { return format!("{}ms", duration.as_millis()); + } if seconds < 90.0 { return format!("{seconds:.1}s"); } let minutes = seconds / 60.0; if minutes < 90.0 { return + format!("{minutes:.0}m"); } format!("{:.1}h", minutes / 60.0) }' + occurrence: 0 + testSet: 1655 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: relational.lt_to_gt + normalizedText: minutes < 90.0 + occurrence: 0 + testSet: 1654 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: relational.lt_to_gt + normalizedText: seconds < 1.0 + occurrence: 0 + testSet: 1655 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: relational.lt_to_gt + normalizedText: seconds < 90.0 + occurrence: 0 + testSet: 1656 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: relational.lt_to_le + normalizedText: minutes < 90.0 + occurrence: 0 + testSet: 1654 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: relational.lt_to_le + normalizedText: seconds < 1.0 + occurrence: 0 + testSet: 1655 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: human + mutator: relational.lt_to_le + normalizedText: seconds < 90.0 + occurrence: 0 + testSet: 1656 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: plural + mutator: cond.always_false + normalizedText: count == 1 + occurrence: 0 + testSet: 1657 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: plural + mutator: cond.always_true + normalizedText: count == 1 + occurrence: 0 + testSet: 1657 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: plural + mutator: cond.negate + normalizedText: count == 1 + occurrence: 0 + testSet: 1657 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: plural + mutator: fn_value.empty_string + normalizedText: '{ if count == 1 { noun.to_owned() } else { format!("{noun}s") } }' + occurrence: 0 + testSet: 1657 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: plural + mutator: fn_value.xyzzy_string + normalizedText: '{ if count == 1 { noun.to_owned() } else { format!("{noun}s") } }' + occurrence: 0 + testSet: 1657 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: plural + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1657 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: plural + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1657 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: plural + mutator: relational.eq_to_ne + normalizedText: count == 1 + occurrence: 0 + testSet: 1657 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: sentence + mutator: fn_value.empty_string + normalizedText: '{ let mut chars = text.chars(); chars .next() .map_or_else(String::new, |first| first.to_uppercase().collect::() + + chars.as_str()) }' + occurrence: 0 + testSet: 1658 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: sentence + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut chars = text.chars(); chars .next() .map_or_else(String::new, |first| first.to_uppercase().collect::() + + chars.as_str()) }' + occurrence: 0 + testSet: 1658 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: share + mutator: cond.always_false + normalizedText: whole.is_zero() + occurrence: 0 + testSet: 1659 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: share + mutator: cond.always_true + normalizedText: whole.is_zero() + occurrence: 0 + testSet: 1659 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: share + mutator: cond.negate + normalizedText: whole.is_zero() + occurrence: 0 + testSet: 1659 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: share + mutator: fn_value.empty_string + normalizedText: '{ if whole.is_zero() { return "—".to_owned(); } format!("{:.0}%", part.as_secs_f64() * 100.0 / whole.as_secs_f64()) + }' + occurrence: 0 + testSet: 1659 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: share + mutator: fn_value.xyzzy_string + normalizedText: '{ if whole.is_zero() { return "—".to_owned(); } format!("{:.0}%", part.as_secs_f64() * 100.0 / whole.as_secs_f64()) + }' + occurrence: 0 + testSet: 1659 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: share + mutator: literal.str_to_empty + normalizedText: '"—"' + occurrence: 0 + testSet: 1660 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: share + mutator: literal.str_to_xyzzy + normalizedText: '"—"' + occurrence: 0 + testSet: 1660 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: slug + mutator: cond.always_false + normalizedText: character == ' ' || character == '-' + occurrence: 0 + testSet: 1661 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: slug + mutator: cond.always_false + normalizedText: character.is_alphanumeric() + occurrence: 0 + testSet: 1661 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: slug + mutator: cond.always_true + normalizedText: character == ' ' || character == '-' + occurrence: 0 + testSet: 1661 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: slug + mutator: cond.always_true + normalizedText: character.is_alphanumeric() + occurrence: 0 + testSet: 1661 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: slug + mutator: cond.negate + normalizedText: character == ' ' || character == '-' + occurrence: 0 + testSet: 1661 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: slug + mutator: cond.negate + normalizedText: character.is_alphanumeric() + occurrence: 0 + testSet: 1661 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: slug + mutator: fn_value.empty_string + normalizedText: '{ let mut anchor = String::with_capacity(heading.len()); for character in heading.chars() { if character.is_alphanumeric() + { anchor.extend(character.to_lowercase()); } else if character == '' '' || character == ''-'' { anchor.push(''-''); + } } anchor }' + occurrence: 0 + testSet: 1661 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: slug + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut anchor = String::with_capacity(heading.len()); for character in heading.chars() { if character.is_alphanumeric() + { anchor.extend(character.to_lowercase()); } else if character == '' '' || character == ''-'' { anchor.push(''-''); + } } anchor }' + occurrence: 0 + testSet: 1661 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: slug + mutator: logical.or_to_and + normalizedText: character == ' ' || character == '-' + occurrence: 0 + testSet: 1661 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: slug + mutator: relational.eq_to_ne + normalizedText: character == ' ' + occurrence: 0 + testSet: 1661 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: slug + mutator: relational.eq_to_ne + normalizedText: character == '-' + occurrence: 0 + testSet: 1662 + - site: + file: crates/cargo-gamma-lib/src/advise/text.rs + item: slug + mutator: stmt.delete_call + normalizedText: anchor.push('-'); + occurrence: 0 + testSet: 1661 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: arith.div_to_mul + normalizedText: f64::from(self.survivors) / hours + occurrence: 0 + testSet: 1663 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: arith.div_to_mul + normalizedText: self.cpu.as_secs_f64() / 3600.0 + occurrence: 0 + testSet: 1664 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: arith.div_to_rem + normalizedText: f64::from(self.survivors) / hours + occurrence: 0 + testSet: 1663 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: arith.div_to_rem + normalizedText: self.cpu.as_secs_f64() / 3600.0 + occurrence: 0 + testSet: 1664 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: cond.always_false + normalizedText: hours <= 0.0 + occurrence: 0 + testSet: 1664 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: cond.always_true + normalizedText: hours <= 0.0 + occurrence: 0 + testSet: 1664 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: cond.negate + normalizedText: hours <= 0.0 + occurrence: 0 + testSet: 1664 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: expr.decrement + normalizedText: self.survivors + occurrence: 0 + testSet: 1663 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: expr.increment + normalizedText: self.survivors + occurrence: 0 + testSet: 1663 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: fn_value.minus_one + normalizedText: '{ let hours = self.cpu.as_secs_f64() / 3600.0; if hours <= 0.0 { return 0.0; } f64::from(self.survivors) + / hours }' + occurrence: 0 + testSet: 1664 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: fn_value.one + normalizedText: '{ let hours = self.cpu.as_secs_f64() / 3600.0; if hours <= 0.0 { return 0.0; } f64::from(self.survivors) + / hours }' + occurrence: 0 + testSet: 1664 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: fn_value.zero + normalizedText: '{ let hours = self.cpu.as_secs_f64() / 3600.0; if hours <= 0.0 { return 0.0; } f64::from(self.survivors) + / hours }' + occurrence: 0 + testSet: 1664 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: relational.le_to_ge + normalizedText: hours <= 0.0 + occurrence: 0 + testSet: 1664 + - site: + file: crates/cargo-gamma-lib/src/advise/yield_.rs + item: Yield::per_cpu_hour + mutator: relational.le_to_lt + normalizedText: hours <= 0.0 + occurrence: 0 + testSet: 1664 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: factor + mutator: cond.always_false + normalizedText: value > MOST_FACTOR + occurrence: 0 + testSet: 1665 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: factor + mutator: cond.always_true + normalizedText: value > MOST_FACTOR + occurrence: 0 + testSet: 1665 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: factor + mutator: cond.negate + normalizedText: value > MOST_FACTOR + occurrence: 0 + testSet: 1665 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: factor + mutator: fn_value.err_default + normalizedText: '{ let value = positive(text, value)?; if value > MOST_FACTOR { return Err(format!("`{text}` is unreasonably + large; the most is {MOST_FACTOR}")); } Ok(value) }' + occurrence: 0 + testSet: 1666 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: factor + mutator: fn_value.ok + normalizedText: '{ let value = positive(text, value)?; if value > MOST_FACTOR { return Err(format!("`{text}` is unreasonably + large; the most is {MOST_FACTOR}")); } Ok(value) }' + occurrence: 0 + testSet: 1666 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: factor + mutator: relational.gt_to_ge + normalizedText: value > MOST_FACTOR + occurrence: 0 + testSet: 1665 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: factor + mutator: relational.gt_to_lt + normalizedText: value > MOST_FACTOR + occurrence: 0 + testSet: 1665 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: factor + mutator: result.err_to_ok + normalizedText: Err(format!("`{text}` is unreasonably large; the most is {MOST_FACTOR}")) + occurrence: 0 + testSet: 1667 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: factor + mutator: result.ok_to_err + normalizedText: Ok(value) + occurrence: 0 + testSet: 1668 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: percentage + mutator: cond.always_false + normalizedText: '!value.is_finite() || !(0.0..=100.0).contains(&value)' + occurrence: 0 + testSet: 1669 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: percentage + mutator: cond.always_true + normalizedText: '!value.is_finite() || !(0.0..=100.0).contains(&value)' + occurrence: 0 + testSet: 1669 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: percentage + mutator: cond.negate + normalizedText: '!value.is_finite() || !(0.0..=100.0).contains(&value)' + occurrence: 0 + testSet: 1669 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: percentage + mutator: fn_value.err_default + normalizedText: '{ if !value.is_finite() || !(0.0..=100.0).contains(&value) { return Err(format!("`{text}` is not a + percentage between 0 and 100")); } Ok(value) }' + occurrence: 0 + testSet: 1669 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: percentage + mutator: fn_value.ok + normalizedText: '{ if !value.is_finite() || !(0.0..=100.0).contains(&value) { return Err(format!("`{text}` is not a + percentage between 0 and 100")); } Ok(value) }' + occurrence: 0 + testSet: 1669 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: percentage + mutator: logical.or_to_and + normalizedText: '!value.is_finite() || !(0.0..=100.0).contains(&value)' + occurrence: 0 + testSet: 1669 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: percentage + mutator: result.err_to_ok + normalizedText: Err(format!("`{text}` is not a percentage between 0 and 100")) + occurrence: 0 + testSet: 1670 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: percentage + mutator: result.ok_to_err + normalizedText: Ok(value) + occurrence: 0 + testSet: 1669 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: percentage + mutator: unary.remove_not + normalizedText: '!(0.0..=100.0).contains(&value)' + occurrence: 0 + testSet: 1669 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: percentage + mutator: unary.remove_not + normalizedText: '!value.is_finite()' + occurrence: 0 + testSet: 1669 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: positive + mutator: cond.always_false + normalizedText: '!value.is_finite() || value <= 0.0' + occurrence: 0 + testSet: 1671 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: positive + mutator: cond.always_true + normalizedText: '!value.is_finite() || value <= 0.0' + occurrence: 0 + testSet: 1671 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: positive + mutator: cond.negate + normalizedText: '!value.is_finite() || value <= 0.0' + occurrence: 0 + testSet: 1671 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: positive + mutator: fn_value.err_default + normalizedText: '{ if !value.is_finite() || value <= 0.0 { return Err(format!("`{text}` must be a number greater than + zero")); } Ok(value) }' + occurrence: 0 + testSet: 1671 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: positive + mutator: fn_value.ok + normalizedText: '{ if !value.is_finite() || value <= 0.0 { return Err(format!("`{text}` must be a number greater than + zero")); } Ok(value) }' + occurrence: 0 + testSet: 1671 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: positive + mutator: logical.or_to_and + normalizedText: '!value.is_finite() || value <= 0.0' + occurrence: 0 + testSet: 1671 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: positive + mutator: relational.le_to_ge + normalizedText: value <= 0.0 + occurrence: 0 + testSet: 1671 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: positive + mutator: relational.le_to_lt + normalizedText: value <= 0.0 + occurrence: 0 + testSet: 1671 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: positive + mutator: result.err_to_ok + normalizedText: Err(format!("`{text}` must be a number greater than zero")) + occurrence: 0 + testSet: 1672 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: positive + mutator: result.ok_to_err + normalizedText: Ok(value) + occurrence: 0 + testSet: 1673 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: positive + mutator: unary.remove_not + normalizedText: '!value.is_finite()' + occurrence: 0 + testSet: 1671 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: seconds + mutator: cond.always_false + normalizedText: value > MOST_SECONDS_F64 + occurrence: 0 + testSet: 1674 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: seconds + mutator: cond.always_true + normalizedText: value > MOST_SECONDS_F64 + occurrence: 0 + testSet: 1674 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: seconds + mutator: cond.negate + normalizedText: value > MOST_SECONDS_F64 + occurrence: 0 + testSet: 1674 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: seconds + mutator: fn_value.err_default + normalizedText: '{ let value = positive(text, value)?; if value > MOST_SECONDS_F64 { return Err(format!("`{text}` is + unreasonably large; the most is {MOST_SECONDS} seconds")); } Duration::try_from_secs_f64(value) .map(|_duration| value) + .map_err(|_cause| format!("`{text}` is too large to be a duration")) }' + occurrence: 0 + testSet: 1674 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: seconds + mutator: fn_value.ok + normalizedText: '{ let value = positive(text, value)?; if value > MOST_SECONDS_F64 { return Err(format!("`{text}` is + unreasonably large; the most is {MOST_SECONDS} seconds")); } Duration::try_from_secs_f64(value) .map(|_duration| value) + .map_err(|_cause| format!("`{text}` is too large to be a duration")) }' + occurrence: 0 + testSet: 1674 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: seconds + mutator: relational.gt_to_ge + normalizedText: value > MOST_SECONDS_F64 + occurrence: 0 + testSet: 1674 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: seconds + mutator: relational.gt_to_lt + normalizedText: value > MOST_SECONDS_F64 + occurrence: 0 + testSet: 1674 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: seconds + mutator: result.err_to_ok + normalizedText: Err(format!("`{text}` is unreasonably large; the most is {MOST_SECONDS} seconds")) + occurrence: 0 + testSet: 1674 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_add + normalizedText: 1024 * 1024 + occurrence: 0 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_add + normalizedText: 1024 * 1024 + occurrence: 1 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_add + normalizedText: 1024 * 1024 + occurrence: 2 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_add + normalizedText: 1024 * 1024 * 1024 + occurrence: 0 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_add + normalizedText: 1024 * 1024 * 1024 + occurrence: 1 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_add + normalizedText: 1024 * 1024 * 1024 * 1024 + occurrence: 0 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_add + normalizedText: count * scale as f64 + occurrence: 0 + testSet: 1677 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_div + normalizedText: 1024 * 1024 + occurrence: 0 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_div + normalizedText: 1024 * 1024 + occurrence: 1 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_div + normalizedText: 1024 * 1024 + occurrence: 2 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_div + normalizedText: 1024 * 1024 * 1024 + occurrence: 0 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_div + normalizedText: 1024 * 1024 * 1024 + occurrence: 1 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_div + normalizedText: 1024 * 1024 * 1024 * 1024 + occurrence: 0 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: arith.mul_to_div + normalizedText: count * scale as f64 + occurrence: 0 + testSet: 1677 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: cond.always_false + normalizedText: bytes < 1.0 + occurrence: 0 + testSet: 1678 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: cond.always_false + normalizedText: bytes >= most + occurrence: 0 + testSet: 1677 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: cond.always_true + normalizedText: bytes < 1.0 + occurrence: 0 + testSet: 1678 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: cond.always_true + normalizedText: bytes >= most + occurrence: 0 + testSet: 1677 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: cond.negate + normalizedText: bytes < 1.0 + occurrence: 0 + testSet: 1678 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: cond.negate + normalizedText: bytes >= most + occurrence: 0 + testSet: 1677 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: expr.decrement + normalizedText: bytes + occurrence: 0 + testSet: 1678 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: expr.increment + normalizedText: bytes + occurrence: 0 + testSet: 1678 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: fn_value.err_default + normalizedText: '{ let trimmed = text.trim(); let digits = trimmed.trim_end_matches(|character: char| character.is_ascii_alphabetic()); + let suffix = trimmed.strip_prefix(digits).unwrap_or_default(); let scale: u64 = match suffix.to_ascii_lowercase().as_str() + { "" | "b" => 1, "k" | "kb" | "kib" => 1024, "m" | "mb" | "mib" => 1024 * 1024, "g" | "gb" | "gib" => 1024 * 1024 + * 1024, "t" | "tb" | "tib" => 1024 * 1024 * 1024 * 1024, _other => return Err(format!("`{text}` does not end in a + size unit such as `KiB`, `MiB` or `GiB`")), }; let count: f64 = digits .trim() .parse() .map_err(|_cause| format!("`{text}` + is not a number of bytes"))?; let _positive = positive(text, count)?; #[expect(clippy::cast_precision_loss, reason + = "the comparison only needs to be right near the boundary")] let bytes = count * scale as f64; #[expect(clippy::cast_precision_loss, + reason = "as above")] let most = u64::MAX as f64; if bytes >= most { return Err(format!("`{text}` is too large to + be a number of bytes")); } if bytes < 1.0 { return Err(format!("`{text}` is less than one byte")); } #[expect( clippy::cast_possible_truncation, + clippy::cast_sign_loss, reason = "the value is finite, positive and below `u64::MAX` by the checks above" )] let bytes + = bytes as u64; Ok(bytes) }' + occurrence: 0 + testSet: 1679 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: fn_value.ok + normalizedText: '{ let trimmed = text.trim(); let digits = trimmed.trim_end_matches(|character: char| character.is_ascii_alphabetic()); + let suffix = trimmed.strip_prefix(digits).unwrap_or_default(); let scale: u64 = match suffix.to_ascii_lowercase().as_str() + { "" | "b" => 1, "k" | "kb" | "kib" => 1024, "m" | "mb" | "mib" => 1024 * 1024, "g" | "gb" | "gib" => 1024 * 1024 + * 1024, "t" | "tb" | "tib" => 1024 * 1024 * 1024 * 1024, _other => return Err(format!("`{text}` does not end in a + size unit such as `KiB`, `MiB` or `GiB`")), }; let count: f64 = digits .trim() .parse() .map_err(|_cause| format!("`{text}` + is not a number of bytes"))?; let _positive = positive(text, count)?; #[expect(clippy::cast_precision_loss, reason + = "the comparison only needs to be right near the boundary")] let bytes = count * scale as f64; #[expect(clippy::cast_precision_loss, + reason = "as above")] let most = u64::MAX as f64; if bytes >= most { return Err(format!("`{text}` is too large to + be a number of bytes")); } if bytes < 1.0 { return Err(format!("`{text}` is less than one byte")); } #[expect( clippy::cast_possible_truncation, + clippy::cast_sign_loss, reason = "the value is finite, positive and below `u64::MAX` by the checks above" )] let bytes + = bytes as u64; Ok(bytes) }' + occurrence: 0 + testSet: 1679 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1680 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 0 + testSet: 1681 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 1 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 2 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 3 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 4 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 5 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 6 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 7 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 8 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_decrement + normalizedText: '1024' + occurrence: 9 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1680 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 0 + testSet: 1681 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 1 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 2 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 3 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 4 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 5 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 6 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 7 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 8 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_increment + normalizedText: '1024' + occurrence: 9 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 0 + testSet: 1681 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 1 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 2 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 3 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 4 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 5 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 6 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 7 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 8 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_one + normalizedText: '1024' + occurrence: 9 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 0 + testSet: 1681 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 1 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 2 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 3 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 4 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 5 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 6 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 7 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 8 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: literal.int_to_zero + normalizedText: '1024' + occurrence: 9 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: match_arm.never_matches + normalizedText: '"" | "b"' + occurrence: 0 + testSet: 1680 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: match_arm.never_matches + normalizedText: '"g" | "gb" | "gib"' + occurrence: 0 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: match_arm.never_matches + normalizedText: '"k" | "kb" | "kib"' + occurrence: 0 + testSet: 1681 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: match_arm.never_matches + normalizedText: '"m" | "mb" | "mib"' + occurrence: 0 + testSet: 1675 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: match_arm.never_matches + normalizedText: '"t" | "tb" | "tib"' + occurrence: 0 + testSet: 1676 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: relational.ge_to_gt + normalizedText: bytes >= most + occurrence: 0 + testSet: 1677 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: relational.ge_to_le + normalizedText: bytes >= most + occurrence: 0 + testSet: 1677 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: relational.lt_to_gt + normalizedText: bytes < 1.0 + occurrence: 0 + testSet: 1678 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: relational.lt_to_le + normalizedText: bytes < 1.0 + occurrence: 0 + testSet: 1678 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: result.err_to_ok + normalizedText: Err(format!("`{text}` does not end in a size unit such as `KiB`, `MiB` or `GiB`")) + occurrence: 0 + testSet: 1682 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: result.err_to_ok + normalizedText: Err(format!("`{text}` is less than one byte")) + occurrence: 0 + testSet: 1683 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: result.err_to_ok + normalizedText: Err(format!("`{text}` is too large to be a number of bytes")) + occurrence: 0 + testSet: 1684 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: result.ok_to_err + normalizedText: Ok(bytes) + occurrence: 0 + testSet: 1678 + - site: + file: crates/cargo-gamma-lib/src/bounds.rs + item: size + mutator: string.lower_to_upper + normalizedText: suffix.to_ascii_lowercase() + occurrence: 0 + testSet: 1679 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: collection.omit_element + normalizedText: vec!["--print".to_owned(), "cfg".to_owned()] + occurrence: 0 + testSet: 1685 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: fn_value.empty_collection + normalizedText: '{ let mut args = vec!["--print".to_owned(), "cfg".to_owned()]; if let Some(target) = self.target.as_ref() + { args.push("--target".to_owned()); args.push(target.clone()); } if let Some(on) = self.debug_assertions { args.push("-C".to_owned()); + args.push(format!("debug-assertions={}", if on { "on" } else { "off" })); } for option in &self.codegen { args.push("-C".to_owned()); + args.push(option.clone()); } for predicate in &self.cfgs { args.push("--cfg".to_owned()); args.push(predicate.clone()); + } args }' + occurrence: 0 + testSet: 1685 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: fn_value.one_element + normalizedText: '{ let mut args = vec!["--print".to_owned(), "cfg".to_owned()]; if let Some(target) = self.target.as_ref() + { args.push("--target".to_owned()); args.push(target.clone()); } if let Some(on) = self.debug_assertions { args.push("-C".to_owned()); + args.push(format!("debug-assertions={}", if on { "on" } else { "off" })); } for option in &self.codegen { args.push("-C".to_owned()); + args.push(option.clone()); } for predicate in &self.cfgs { args.push("--cfg".to_owned()); args.push(predicate.clone()); + } args }' + occurrence: 0 + testSet: 1685 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: literal.str_to_empty + normalizedText: '"--cfg"' + occurrence: 0 + testSet: 1686 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: literal.str_to_empty + normalizedText: '"--target"' + occurrence: 0 + testSet: 1687 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: literal.str_to_empty + normalizedText: '"-C"' + occurrence: 0 + testSet: 1688 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: literal.str_to_empty + normalizedText: '"-C"' + occurrence: 1 + testSet: 1689 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: literal.str_to_xyzzy + normalizedText: '"--cfg"' + occurrence: 0 + testSet: 1686 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: literal.str_to_xyzzy + normalizedText: '"--target"' + occurrence: 0 + testSet: 1687 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: literal.str_to_xyzzy + normalizedText: '"-C"' + occurrence: 0 + testSet: 1688 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: literal.str_to_xyzzy + normalizedText: '"-C"' + occurrence: 1 + testSet: 1689 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: stmt.delete_call + normalizedText: args.push("--cfg".to_owned()); + occurrence: 0 + testSet: 1686 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: stmt.delete_call + normalizedText: args.push("--target".to_owned()); + occurrence: 0 + testSet: 1687 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: stmt.delete_call + normalizedText: args.push("-C".to_owned()); + occurrence: 0 + testSet: 1688 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: stmt.delete_call + normalizedText: args.push("-C".to_owned()); + occurrence: 1 + testSet: 1689 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: stmt.delete_call + normalizedText: args.push(format!("debug-assertions={}", if on { "on" } else { "off" })); + occurrence: 0 + testSet: 1688 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: stmt.delete_call + normalizedText: args.push(option.clone()); + occurrence: 0 + testSet: 1689 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: stmt.delete_call + normalizedText: args.push(predicate.clone()); + occurrence: 0 + testSet: 1686 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::probe_args + mutator: stmt.delete_call + normalizedText: args.push(target.clone()); + occurrence: 0 + testSet: 1687 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::requested_targets + mutator: assign_value.default + normalizedText: configured.map(ToOwned::to_owned).into_iter().collect() + occurrence: 0 + testSet: 1690 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::requested_targets + mutator: cond.always_false + normalizedText: named.is_empty() + occurrence: 0 + testSet: 1691 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::requested_targets + mutator: cond.always_true + normalizedText: named.is_empty() + occurrence: 0 + testSet: 1691 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::requested_targets + mutator: cond.negate + normalizedText: named.is_empty() + occurrence: 0 + testSet: 1691 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::requested_targets + mutator: fn_value.empty_collection + normalizedText: '{ let mut named = valued(extra, "--target"); if named.is_empty() { named = configured.map(ToOwned::to_owned).into_iter().collect(); + } named.sort(); named.dedup(); named }' + occurrence: 0 + testSet: 1691 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::requested_targets + mutator: fn_value.one_element + normalizedText: '{ let mut named = valued(extra, "--target"); if named.is_empty() { named = configured.map(ToOwned::to_owned).into_iter().collect(); + } named.sort(); named.dedup(); named }' + occurrence: 0 + testSet: 1691 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::requested_targets + mutator: iter.remove_dedup + normalizedText: named.dedup(); + occurrence: 0 + testSet: 1691 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::requested_targets + mutator: iter.remove_sort + normalizedText: named.sort(); + occurrence: 0 + testSet: 1691 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::requested_targets + mutator: literal.str_to_empty + normalizedText: '"--target"' + occurrence: 0 + testSet: 1691 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::requested_targets + mutator: literal.str_to_xyzzy + normalizedText: '"--target"' + occurrence: 0 + testSet: 1691 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::requested_targets + mutator: stmt.delete_assign + normalizedText: named = configured.map(ToOwned::to_owned).into_iter().collect(); + occurrence: 0 + testSet: 1690 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::resolve + mutator: fn_value.default + normalizedText: '{ Self::resolve_in(root, profile, extra, &Environment::ambient()) }' + occurrence: 0 + testSet: 1692 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::resolve_in + mutator: fn_value.default + normalizedText: '{ let config = CargoConfig::load(root, environment); let (target, several_targets) = target(extra, + environment, &config); let (flags, undecided) = rustflags(environment, &config, target.as_deref()); let profile = + named_profile(extra).or_else(|| profile.map(ToOwned::to_owned)); Self { debug_assertions: assertions(&flags).or_else(|| + profile_assertions(root, &config, profile.as_deref())), cfgs: valued(&flags, "--cfg"), codegen: codegen(&flags), target, + undecided, several_targets, } }' + occurrence: 0 + testSet: 1693 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::resolve_in + mutator: literal.str_to_empty + normalizedText: '"--cfg"' + occurrence: 0 + testSet: 1693 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::resolve_in + mutator: literal.str_to_xyzzy + normalizedText: '"--cfg"' + occurrence: 0 + testSet: 1693 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings + mutator: fn_value.empty_collection + normalizedText: '{ Self::settings_in(root, &Environment::ambient()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings + mutator: fn_value.one_element + normalizedText: '{ Self::settings_in(root, &Environment::ambient()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings_in + mutator: fn_value.empty_collection + normalizedText: '{ let config = CargoConfig::load(root, environment); let mut parts = Vec::new(); parts.extend(config.sources.iter().cloned()); + if let Some(target) = config.string(&["build", "target"]) { parts.push(format!("build.target={target}")); } for flag + in config.strings(&["build", "rustflags"]) { parts.push(format!("build.rustflags={flag}")); } for table in config.keys(&["target"]) + { for flag in config.strings(&["target", &table, "rustflags"]) { parts.push(format!("target.{table}.rustflags={flag}")); + } } let manifest = read_table(&root.join("Cargo.toml")); for table in config.tables.iter().chain(manifest.as_ref()) + { if let Some(profiles) = table.get("profile") { parts.push(format!("profile={profiles}")); } } parts }' + occurrence: 0 + testSet: 1694 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings_in + mutator: fn_value.one_element + normalizedText: '{ let config = CargoConfig::load(root, environment); let mut parts = Vec::new(); parts.extend(config.sources.iter().cloned()); + if let Some(target) = config.string(&["build", "target"]) { parts.push(format!("build.target={target}")); } for flag + in config.strings(&["build", "rustflags"]) { parts.push(format!("build.rustflags={flag}")); } for table in config.keys(&["target"]) + { for flag in config.strings(&["target", &table, "rustflags"]) { parts.push(format!("target.{table}.rustflags={flag}")); + } } let manifest = read_table(&root.join("Cargo.toml")); for table in config.tables.iter().chain(manifest.as_ref()) + { if let Some(profiles) = table.get("profile") { parts.push(format!("profile={profiles}")); } } parts }' + occurrence: 0 + testSet: 1694 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings_in + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 1694 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings_in + mutator: literal.str_to_empty + normalizedText: '"profile"' + occurrence: 0 + testSet: 1695 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings_in + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 1694 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings_in + mutator: literal.str_to_xyzzy + normalizedText: '"profile"' + occurrence: 0 + testSet: 1695 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings_in + mutator: stmt.delete_call + normalizedText: parts.extend(config.sources.iter().cloned()); + occurrence: 0 + testSet: 1694 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings_in + mutator: stmt.delete_call + normalizedText: parts.push(format!("build.rustflags={flag}")); + occurrence: 0 + testSet: 1696 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings_in + mutator: stmt.delete_call + normalizedText: parts.push(format!("build.target={target}")); + occurrence: 0 + testSet: 1697 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings_in + mutator: stmt.delete_call + normalizedText: parts.push(format!("profile={profiles}")); + occurrence: 0 + testSet: 1697 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Build::settings_in + mutator: stmt.delete_call + normalizedText: parts.push(format!("target.{table}.rustflags={flag}")); + occurrence: 0 + testSet: 1697 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::include + mutator: fn_value.bool_false + normalizedText: '{ let bytes = match fs::read(path.as_std_path()) { Ok(bytes) => bytes, Err(error) if error.kind() == + std::io::ErrorKind::NotFound => return false, Err(error) => { self.sources.push(format!("cargo-config:{path}:unreadable:{:?}", + error.kind())); return true; } }; self.sources.push(format!("cargo-config:{path}:{}", blake3::hash(&bytes).to_hex())); + if let Ok(text) = core::str::from_utf8(&bytes) && let Ok(table) = toml::from_str(text) { self.tables.push(table); + } true }' + occurrence: 0 + testSet: 1698 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::include + mutator: fn_value.bool_true + normalizedText: '{ let bytes = match fs::read(path.as_std_path()) { Ok(bytes) => bytes, Err(error) if error.kind() == + std::io::ErrorKind::NotFound => return false, Err(error) => { self.sources.push(format!("cargo-config:{path}:unreadable:{:?}", + error.kind())); return true; } }; self.sources.push(format!("cargo-config:{path}:{}", blake3::hash(&bytes).to_hex())); + if let Ok(text) = core::str::from_utf8(&bytes) && let Ok(table) = toml::from_str(text) { self.tables.push(table); + } true }' + occurrence: 0 + testSet: 1698 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::include + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1699 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::include + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1700 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::include + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 1701 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::include + mutator: match_guard.always_false + normalizedText: error.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 1698 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::include + mutator: match_guard.always_true + normalizedText: error.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 1698 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::include + mutator: match_guard.negate + normalizedText: error.kind() == std::io::ErrorKind::NotFound + occurrence: 0 + testSet: 1698 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::include + mutator: stmt.delete_call + normalizedText: self.sources.push(format!("cargo-config:{path}:unreadable:{:?}", error.kind())); + occurrence: 0 + testSet: 1700 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::include + mutator: stmt.delete_call + normalizedText: self.sources.push(format!("cargo-config:{path}:{}", blake3::hash(&bytes).to_hex())); + occurrence: 0 + testSet: 1701 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::include + mutator: stmt.delete_call + normalizedText: self.tables.push(table); + occurrence: 0 + testSet: 1702 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::keys + mutator: fn_value.empty_collection + normalizedText: '{ let mut names: Vec = self .tables .iter() .filter_map(|table| lookup(table, path)?.as_table()) + .flat_map(|table| table.keys().cloned()) .collect(); names.sort(); names.dedup(); names }' + occurrence: 0 + testSet: 1703 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::keys + mutator: fn_value.one_element + normalizedText: '{ let mut names: Vec = self .tables .iter() .filter_map(|table| lookup(table, path)?.as_table()) + .flat_map(|table| table.keys().cloned()) .collect(); names.sort(); names.dedup(); names }' + occurrence: 0 + testSet: 1703 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::keys + mutator: iter.remove_dedup + normalizedText: names.dedup(); + occurrence: 0 + testSet: 1703 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::keys + mutator: iter.remove_sort + normalizedText: names.sort(); + occurrence: 0 + testSet: 1703 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: assign_value.default + normalizedText: directory.parent() + occurrence: 0 + testSet: 1704 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: cond.always_false + normalizedText: config.include(&path) + occurrence: 0 + testSet: 1704 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: cond.always_false + normalizedText: config.include(&path) + occurrence: 1 + testSet: 1705 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: cond.always_true + normalizedText: config.include(&path) + occurrence: 0 + testSet: 1704 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: cond.always_true + normalizedText: config.include(&path) + occurrence: 1 + testSet: 1705 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: cond.negate + normalizedText: config.include(&path) + occurrence: 0 + testSet: 1704 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: cond.negate + normalizedText: config.include(&path) + occurrence: 1 + testSet: 1705 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: fn_value.default + normalizedText: '{ let mut config = Self::default(); let mut at = Some(dir); while let Some(directory) = at { for name + in ["config.toml", "config"] { let path = directory.join(".cargo").join(name); if config.include(&path) { break; } + } at = directory.parent(); } if let Some(home) = environment.cargo_home.as_ref() && !cargo_home_was_walked(dir, home) + { for name in ["config.toml", "config"] { let path = home.join(name); if config.include(&path) { break; } } } config + }' + occurrence: 0 + testSet: 1704 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: literal.str_to_empty + normalizedText: '".cargo"' + occurrence: 0 + testSet: 1704 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: literal.str_to_empty + normalizedText: '"config"' + occurrence: 0 + testSet: 1704 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: literal.str_to_empty + normalizedText: '"config"' + occurrence: 1 + testSet: 1705 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: literal.str_to_empty + normalizedText: '"config.toml"' + occurrence: 0 + testSet: 1704 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: literal.str_to_empty + normalizedText: '"config.toml"' + occurrence: 1 + testSet: 1705 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: literal.str_to_xyzzy + normalizedText: '".cargo"' + occurrence: 0 + testSet: 1704 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: literal.str_to_xyzzy + normalizedText: '"config"' + occurrence: 0 + testSet: 1704 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: literal.str_to_xyzzy + normalizedText: '"config"' + occurrence: 1 + testSet: 1705 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: literal.str_to_xyzzy + normalizedText: '"config.toml"' + occurrence: 0 + testSet: 1704 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: literal.str_to_xyzzy + normalizedText: '"config.toml"' + occurrence: 1 + testSet: 1705 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 1706 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: loop.break_to_continue + normalizedText: break + occurrence: 1 + testSet: 1707 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 1706 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: loop.delete_break + normalizedText: break; + occurrence: 1 + testSet: 1707 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: option.some_to_none + normalizedText: Some(dir) + occurrence: 0 + testSet: 1704 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::load + mutator: unary.remove_not + normalizedText: '!cargo_home_was_walked(dir, home)' + occurrence: 0 + testSet: 1704 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::string + mutator: fn_value.none + normalizedText: '{ self.tables.iter().find_map(|table| lookup(table, path)?.as_str()) }' + occurrence: 0 + testSet: 1708 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::strings + mutator: fn_value.empty_collection + normalizedText: '{ self.tables .iter() .filter_map(|table| lookup(table, path)) .flat_map(|value| match value { Value::String(one) + => vec![one.clone()], Value::Array(many) => many.iter().filter_map(|entry| entry.as_str().map(ToOwned::to_owned)).collect(), + _other => Vec::new(), }) .collect() }' + occurrence: 0 + testSet: 1709 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::strings + mutator: fn_value.one_element + normalizedText: '{ self.tables .iter() .filter_map(|table| lookup(table, path)) .flat_map(|value| match value { Value::String(one) + => vec![one.clone()], Value::Array(many) => many.iter().filter_map(|entry| entry.as_str().map(ToOwned::to_owned)).collect(), + _other => Vec::new(), }) .collect() }' + occurrence: 0 + testSet: 1709 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::strings + mutator: match_arm.never_matches + normalizedText: Value::Array(many) + occurrence: 0 + testSet: 1710 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: CargoConfig::strings + mutator: match_arm.never_matches + normalizedText: Value::String(one) + occurrence: 0 + testSet: 1711 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: fn_value.default + normalizedText: '{ let home = get("CARGO_HOME").ok().map(Utf8PathBuf::from).or_else(|| { get("HOME") .or_else(|_absent| + get("USERPROFILE")) .ok() .map(|home| Utf8PathBuf::from(home).join(".cargo")) }); let target = get("CARGO_BUILD_TARGET").ok(); + let encoded_rustflags = get("CARGO_ENCODED_RUSTFLAGS").ok(); let rustflags = get("RUSTFLAGS").ok(); let build_rustflags + = get("CARGO_BUILD_RUSTFLAGS").ok(); let target_rustflags = names .into_iter() .filter_map(|name| { let component + = name.strip_prefix("CARGO_TARGET_")?.strip_suffix("_RUSTFLAGS")?.to_owned(); Some((component, get(&name).ok()?)) + }) .collect(); Self { target, encoded_rustflags, rustflags, build_rustflags, target_rustflags, cargo_home: home, } + }' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_empty + normalizedText: '".cargo"' + occurrence: 0 + testSet: 1713 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_empty + normalizedText: '"CARGO_BUILD_RUSTFLAGS"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_empty + normalizedText: '"CARGO_BUILD_TARGET"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_empty + normalizedText: '"CARGO_ENCODED_RUSTFLAGS"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_empty + normalizedText: '"CARGO_HOME"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_empty + normalizedText: '"CARGO_TARGET_"' + occurrence: 0 + testSet: 1714 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_empty + normalizedText: '"HOME"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_empty + normalizedText: '"RUSTFLAGS"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_empty + normalizedText: '"USERPROFILE"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_empty + normalizedText: '"_RUSTFLAGS"' + occurrence: 0 + testSet: 1715 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_xyzzy + normalizedText: '".cargo"' + occurrence: 0 + testSet: 1713 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_BUILD_RUSTFLAGS"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_BUILD_TARGET"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_ENCODED_RUSTFLAGS"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_HOME"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_TARGET_"' + occurrence: 0 + testSet: 1714 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_xyzzy + normalizedText: '"HOME"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_xyzzy + normalizedText: '"RUSTFLAGS"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_xyzzy + normalizedText: '"USERPROFILE"' + occurrence: 0 + testSet: 1712 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: literal.str_to_xyzzy + normalizedText: '"_RUSTFLAGS"' + occurrence: 0 + testSet: 1715 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::read + mutator: option.some_to_none + normalizedText: Some((component, get(&name).ok()?)) + occurrence: 0 + testSet: 1715 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: Environment::target_flags + mutator: fn_value.none + normalizedText: '{ self.target_rustflags.get(&variable_component(triple)).map(String::as_str) }' + occurrence: 0 + testSet: 1716 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: fn_value.none + normalizedText: '{ options(flags) .filter_map(|option| option.strip_prefix("debug-assertions")) .filter_map(|rest| match + rest { "" => Some(Some(true)), _other => rest.strip_prefix(''='').map(|value| match value.trim() { "y" | "yes" | "on" + | "true" => Some(true), "n" | "no" | "off" | "false" => Some(false), _unrecognised => None, }), }) .last() .flatten() + }' + occurrence: 0 + testSet: 1717 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1718 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1719 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 1720 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: literal.str_to_empty + normalizedText: '"debug-assertions"' + occurrence: 0 + testSet: 1721 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: literal.str_to_xyzzy + normalizedText: '"debug-assertions"' + occurrence: 0 + testSet: 1721 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: match_arm.never_matches + normalizedText: '""' + occurrence: 0 + testSet: 1719 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: match_arm.never_matches + normalizedText: '"n" | "no" | "off" | "false"' + occurrence: 0 + testSet: 1718 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: match_arm.never_matches + normalizedText: '"y" | "yes" | "on" | "true"' + occurrence: 0 + testSet: 1720 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1720 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: option.some_to_none + normalizedText: Some(Some(true)) + occurrence: 0 + testSet: 1719 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: option.some_to_none + normalizedText: Some(false) + occurrence: 0 + testSet: 1718 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: option.some_to_none + normalizedText: Some(true) + occurrence: 0 + testSet: 1719 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: assertions + mutator: option.some_to_none + normalizedText: Some(true) + occurrence: 1 + testSet: 1720 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: cargo_home_was_walked + mutator: fn_value.bool_false + normalizedText: '{ home.file_name() == Some(".cargo") && home.parent().is_some_and(|parent| dir.starts_with(parent)) + }' + occurrence: 0 + testSet: 1722 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: cargo_home_was_walked + mutator: fn_value.bool_true + normalizedText: '{ home.file_name() == Some(".cargo") && home.parent().is_some_and(|parent| dir.starts_with(parent)) + }' + occurrence: 0 + testSet: 1722 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: cargo_home_was_walked + mutator: literal.str_to_empty + normalizedText: '".cargo"' + occurrence: 0 + testSet: 1722 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: cargo_home_was_walked + mutator: literal.str_to_xyzzy + normalizedText: '".cargo"' + occurrence: 0 + testSet: 1722 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: cargo_home_was_walked + mutator: logical.and_to_or + normalizedText: home.file_name() == Some(".cargo") && home.parent().is_some_and(|parent| dir.starts_with(parent)) + occurrence: 0 + testSet: 1722 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: cargo_home_was_walked + mutator: option.some_to_none + normalizedText: Some(".cargo") + occurrence: 0 + testSet: 1722 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: cargo_home_was_walked + mutator: relational.eq_to_ne + normalizedText: home.file_name() == Some(".cargo") + occurrence: 0 + testSet: 1722 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: cargo_home_was_walked + mutator: string.starts_with_to_ends_with + normalizedText: dir.starts_with(parent) + occurrence: 0 + testSet: 1723 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: codegen + mutator: fn_value.empty_collection + normalizedText: '{ options(flags) .filter(|option| option.starts_with("target-feature=") || option.starts_with("panic=")) + .map(ToOwned::to_owned) .collect() }' + occurrence: 0 + testSet: 1724 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: codegen + mutator: fn_value.one_element + normalizedText: '{ options(flags) .filter(|option| option.starts_with("target-feature=") || option.starts_with("panic=")) + .map(ToOwned::to_owned) .collect() }' + occurrence: 0 + testSet: 1724 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: codegen + mutator: literal.str_to_empty + normalizedText: '"panic="' + occurrence: 0 + testSet: 1725 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: codegen + mutator: literal.str_to_empty + normalizedText: '"target-feature="' + occurrence: 0 + testSet: 1725 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: codegen + mutator: literal.str_to_xyzzy + normalizedText: '"panic="' + occurrence: 0 + testSet: 1725 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: codegen + mutator: literal.str_to_xyzzy + normalizedText: '"target-feature="' + occurrence: 0 + testSet: 1725 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: codegen + mutator: logical.or_to_and + normalizedText: option.starts_with("target-feature=") || option.starts_with("panic=") + occurrence: 0 + testSet: 1725 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: codegen + mutator: string.starts_with_to_ends_with + normalizedText: option.starts_with("panic=") + occurrence: 0 + testSet: 1725 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: codegen + mutator: string.starts_with_to_ends_with + normalizedText: option.starts_with("target-feature=") + occurrence: 0 + testSet: 1725 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: cond.always_false + normalizedText: option .strip_prefix("debug-assertions") .is_some_and(|rest| rest.is_empty() || rest.starts_with('=')) + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: cond.always_false + normalizedText: option.starts_with("panic=") + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: cond.always_false + normalizedText: option.starts_with("target-feature=") + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: cond.always_true + normalizedText: option .strip_prefix("debug-assertions") .is_some_and(|rest| rest.is_empty() || rest.starts_with('=')) + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: cond.always_true + normalizedText: option.starts_with("panic=") + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: cond.always_true + normalizedText: option.starts_with("target-feature=") + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: cond.negate + normalizedText: option .strip_prefix("debug-assertions") .is_some_and(|rest| rest.is_empty() || rest.starts_with('=')) + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: cond.negate + normalizedText: option.starts_with("panic=") + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: cond.negate + normalizedText: option.starts_with("target-feature=") + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: fn_value.empty_collection + normalizedText: '{ let mut names: Vec = valued(flags, "--cfg").into_iter().map(|predicate| name_of(&predicate)).collect(); + for option in options(flags) { if option .strip_prefix("debug-assertions") .is_some_and(|rest| rest.is_empty() || + rest.starts_with(''='')) { names.push("debug_assertions".to_owned()); } else if option.starts_with("panic=") { names.push("panic".to_owned()); + } else if option.starts_with("target-feature=") { names.push("target_feature".to_owned()); } } names }' + occurrence: 0 + testSet: 1727 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: fn_value.one_element + normalizedText: '{ let mut names: Vec = valued(flags, "--cfg").into_iter().map(|predicate| name_of(&predicate)).collect(); + for option in options(flags) { if option .strip_prefix("debug-assertions") .is_some_and(|rest| rest.is_empty() || + rest.starts_with(''='')) { names.push("debug_assertions".to_owned()); } else if option.starts_with("panic=") { names.push("panic".to_owned()); + } else if option.starts_with("target-feature=") { names.push("target_feature".to_owned()); } } names }' + occurrence: 0 + testSet: 1727 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_empty + normalizedText: '"--cfg"' + occurrence: 0 + testSet: 1727 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_empty + normalizedText: '"debug-assertions"' + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_empty + normalizedText: '"debug_assertions"' + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_empty + normalizedText: '"panic"' + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_empty + normalizedText: '"panic="' + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_empty + normalizedText: '"target-feature="' + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_empty + normalizedText: '"target_feature"' + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_xyzzy + normalizedText: '"--cfg"' + occurrence: 0 + testSet: 1727 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_xyzzy + normalizedText: '"debug-assertions"' + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_xyzzy + normalizedText: '"debug_assertions"' + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_xyzzy + normalizedText: '"panic"' + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_xyzzy + normalizedText: '"panic="' + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_xyzzy + normalizedText: '"target-feature="' + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: literal.str_to_xyzzy + normalizedText: '"target_feature"' + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: logical.or_to_and + normalizedText: rest.is_empty() || rest.starts_with('=') + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: stmt.delete_call + normalizedText: names.push("debug_assertions".to_owned()); + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: stmt.delete_call + normalizedText: names.push("panic".to_owned()); + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: stmt.delete_call + normalizedText: names.push("target_feature".to_owned()); + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: string.starts_with_to_ends_with + normalizedText: option.starts_with("panic=") + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: string.starts_with_to_ends_with + normalizedText: option.starts_with("target-feature=") + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: decided_names + mutator: string.starts_with_to_ends_with + normalizedText: rest.starts_with('=') + occurrence: 0 + testSet: 1726 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: host_triple + mutator: cond.always_false + normalizedText: '!asked_about && config.keys(&["target"]).is_empty()' + occurrence: 0 + testSet: 1728 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: host_triple + mutator: cond.always_true + normalizedText: '!asked_about && config.keys(&["target"]).is_empty()' + occurrence: 0 + testSet: 1728 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: host_triple + mutator: cond.negate + normalizedText: '!asked_about && config.keys(&["target"]).is_empty()' + occurrence: 0 + testSet: 1728 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: host_triple + mutator: fn_value.none + normalizedText: '{ use std::sync::OnceLock; static HOST: OnceLock> = OnceLock::new(); if !asked_about + && config.keys(&["target"]).is_empty() { return None; } HOST.get_or_init(|| { let program = env::var("RUSTC").unwrap_or_else(|_absent| + "rustc".to_owned()); let output = Command::new(program).arg("-vV").output().ok()?; let printed = String::from_utf8_lossy(&output.stdout).into_owned(); + parse_host(&printed) }) .as_deref() }' + occurrence: 0 + testSet: 1728 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: host_triple + mutator: literal.str_to_empty + normalizedText: '"-vV"' + occurrence: 0 + testSet: 1729 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: host_triple + mutator: literal.str_to_xyzzy + normalizedText: '"-vV"' + occurrence: 0 + testSet: 1729 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: host_triple + mutator: logical.and_to_or + normalizedText: '!asked_about && config.keys(&["target"]).is_empty()' + occurrence: 0 + testSet: 1728 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: host_triple + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1730 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: host_triple + mutator: unary.remove_not + normalizedText: '!asked_about' + occurrence: 0 + testSet: 1728 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: lookup + mutator: fn_value.none + normalizedText: '{ let (last, leading) = path.split_last()?; let mut at = table; for name in leading { at = at.get(*name)?.as_table()?; + } at.get(*last) }' + occurrence: 0 + testSet: 1731 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: lookup + mutator: stmt.delete_assign + normalizedText: at = at.get(*name)?.as_table()?; + occurrence: 0 + testSet: 1732 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: lookup_bool + mutator: fn_value.none + normalizedText: '{ let path = ["profile", profile, key]; config .tables .iter() .find_map(|table| lookup(table, &path)?.as_bool()) + .or_else(|| lookup(manifest?, &path)?.as_bool()) }' + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: lookup_bool + mutator: literal.str_to_empty + normalizedText: '"profile"' + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: lookup_bool + mutator: literal.str_to_xyzzy + normalizedText: '"profile"' + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: name_of + mutator: fn_value.empty_string + normalizedText: '{ predicate.split_once(''='').map_or(predicate, |(name, _value)| name).trim().to_owned() }' + occurrence: 0 + testSet: 1734 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: name_of + mutator: fn_value.xyzzy_string + normalizedText: '{ predicate.split_once(''='').map_or(predicate, |(name, _value)| name).trim().to_owned() }' + occurrence: 0 + testSet: 1734 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: cond.always_false + normalizedText: extra.iter().any(|argument| argument == "--release" || argument == "-r") + occurrence: 0 + testSet: 1735 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: cond.always_true + normalizedText: extra.iter().any(|argument| argument == "--release" || argument == "-r") + occurrence: 0 + testSet: 1735 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: cond.negate + normalizedText: extra.iter().any(|argument| argument == "--release" || argument == "-r") + occurrence: 0 + testSet: 1735 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: fn_value.none + normalizedText: '{ if extra.iter().any(|argument| argument == "--release" || argument == "-r") { return Some("release".to_owned()); + } valued(extra, "--profile").pop() }' + occurrence: 0 + testSet: 1735 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: iter.any_to_all + normalizedText: extra.iter().any(|argument| argument == "--release" || argument == "-r") + occurrence: 0 + testSet: 1735 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: literal.str_to_empty + normalizedText: '"--profile"' + occurrence: 0 + testSet: 1735 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: literal.str_to_empty + normalizedText: '"--release"' + occurrence: 0 + testSet: 1736 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: literal.str_to_empty + normalizedText: '"-r"' + occurrence: 0 + testSet: 1736 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: literal.str_to_empty + normalizedText: '"release"' + occurrence: 0 + testSet: 1737 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: literal.str_to_xyzzy + normalizedText: '"--profile"' + occurrence: 0 + testSet: 1735 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: literal.str_to_xyzzy + normalizedText: '"--release"' + occurrence: 0 + testSet: 1736 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: literal.str_to_xyzzy + normalizedText: '"-r"' + occurrence: 0 + testSet: 1736 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: literal.str_to_xyzzy + normalizedText: '"release"' + occurrence: 0 + testSet: 1737 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: logical.or_to_and + normalizedText: argument == "--release" || argument == "-r" + occurrence: 0 + testSet: 1736 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: option.some_to_none + normalizedText: Some("release".to_owned()) + occurrence: 0 + testSet: 1737 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: relational.eq_to_ne + normalizedText: argument == "--release" + occurrence: 0 + testSet: 1736 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: named_profile + mutator: relational.eq_to_ne + normalizedText: argument == "-r" + occurrence: 0 + testSet: 1736 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1738 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: cond.always_false + normalizedText: expecting + occurrence: 0 + testSet: 1739 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: cond.always_false + normalizedText: flag == "-C" || flag == "--codegen" + occurrence: 0 + testSet: 1739 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: cond.always_true + normalizedText: expecting + occurrence: 0 + testSet: 1739 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: cond.always_true + normalizedText: flag == "-C" || flag == "--codegen" + occurrence: 0 + testSet: 1739 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: cond.negate + normalizedText: expecting + occurrence: 0 + testSet: 1739 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: cond.negate + normalizedText: flag == "-C" || flag == "--codegen" + occurrence: 0 + testSet: 1739 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: fn_value.empty_collection + normalizedText: '{ let mut expecting = false; flags.iter().filter_map(move |flag| { if expecting { expecting = false; + return Some(flag.as_str()); } if flag == "-C" || flag == "--codegen" { expecting = true; return None; } flag.strip_prefix("-C").or_else(|| + flag.strip_prefix("--codegen=")) }) }' + occurrence: 0 + testSet: 1717 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: fn_value.one_element + normalizedText: '{ let mut expecting = false; flags.iter().filter_map(move |flag| { if expecting { expecting = false; + return Some(flag.as_str()); } if flag == "-C" || flag == "--codegen" { expecting = true; return None; } flag.strip_prefix("-C").or_else(|| + flag.strip_prefix("--codegen=")) }) }' + occurrence: 0 + testSet: 1717 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1717 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1738 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1738 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: literal.str_to_empty + normalizedText: '"--codegen"' + occurrence: 0 + testSet: 1740 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: literal.str_to_empty + normalizedText: '"--codegen="' + occurrence: 0 + testSet: 1741 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: literal.str_to_empty + normalizedText: '"-C"' + occurrence: 0 + testSet: 1739 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: literal.str_to_empty + normalizedText: '"-C"' + occurrence: 1 + testSet: 1740 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: literal.str_to_xyzzy + normalizedText: '"--codegen"' + occurrence: 0 + testSet: 1740 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: literal.str_to_xyzzy + normalizedText: '"--codegen="' + occurrence: 0 + testSet: 1741 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: literal.str_to_xyzzy + normalizedText: '"-C"' + occurrence: 0 + testSet: 1739 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: literal.str_to_xyzzy + normalizedText: '"-C"' + occurrence: 1 + testSet: 1740 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: logical.or_to_and + normalizedText: flag == "-C" || flag == "--codegen" + occurrence: 0 + testSet: 1739 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1738 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: option.some_to_none + normalizedText: Some(flag.as_str()) + occurrence: 0 + testSet: 1738 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: relational.eq_to_ne + normalizedText: flag == "--codegen" + occurrence: 0 + testSet: 1740 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: relational.eq_to_ne + normalizedText: flag == "-C" + occurrence: 0 + testSet: 1739 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: stmt.delete_assign + normalizedText: expecting = false; + occurrence: 0 + testSet: 1738 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: options + mutator: stmt.delete_assign + normalizedText: expecting = true; + occurrence: 0 + testSet: 1738 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: parse_host + mutator: fn_value.none + normalizedText: '{ printed .lines() .find_map(|line| line.strip_prefix("host: ")) .map(|triple| triple.trim().to_owned()) + }' + occurrence: 0 + testSet: 1742 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: parse_host + mutator: literal.str_to_empty + normalizedText: '"host: "' + occurrence: 0 + testSet: 1742 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: parse_host + mutator: literal.str_to_xyzzy + normalizedText: '"host: "' + occurrence: 0 + testSet: 1742 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: predicate_of + mutator: fn_value.none + normalizedText: '{ table.strip_prefix("cfg(")?.strip_suffix('')'') }' + occurrence: 0 + testSet: 1743 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: predicate_of + mutator: literal.str_to_empty + normalizedText: '"cfg("' + occurrence: 0 + testSet: 1743 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: predicate_of + mutator: literal.str_to_xyzzy + normalizedText: '"cfg("' + occurrence: 0 + testSet: 1743 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: probe_cfgs + mutator: fn_value.none + normalizedText: '{ let program = env::var("RUSTC").unwrap_or_else(|_absent| "rustc".to_owned()); let mut command = Command::new(program); + let _builder = command.arg("--print").arg("cfg"); if let Some(triple) = target { let _builder = command.arg("--target").arg(triple); + } let output = command.output().ok().filter(|output| output.status.success())?; Some(CfgSet::parse(&String::from_utf8_lossy(&output.stdout))) + }' + occurrence: 0 + testSet: 1744 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: probe_cfgs + mutator: literal.str_to_empty + normalizedText: '"--print"' + occurrence: 0 + testSet: 1744 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: probe_cfgs + mutator: literal.str_to_empty + normalizedText: '"--target"' + occurrence: 0 + testSet: 1745 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: probe_cfgs + mutator: literal.str_to_empty + normalizedText: '"RUSTC"' + occurrence: 0 + testSet: 1744 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: probe_cfgs + mutator: literal.str_to_empty + normalizedText: '"cfg"' + occurrence: 0 + testSet: 1744 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: probe_cfgs + mutator: literal.str_to_empty + normalizedText: '"rustc"' + occurrence: 0 + testSet: 1744 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: probe_cfgs + mutator: literal.str_to_xyzzy + normalizedText: '"--print"' + occurrence: 0 + testSet: 1744 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: probe_cfgs + mutator: literal.str_to_xyzzy + normalizedText: '"--target"' + occurrence: 0 + testSet: 1745 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: probe_cfgs + mutator: literal.str_to_xyzzy + normalizedText: '"RUSTC"' + occurrence: 0 + testSet: 1744 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: probe_cfgs + mutator: literal.str_to_xyzzy + normalizedText: '"cfg"' + occurrence: 0 + testSet: 1744 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: probe_cfgs + mutator: literal.str_to_xyzzy + normalizedText: '"rustc"' + occurrence: 0 + testSet: 1744 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: probe_cfgs + mutator: option.some_to_none + normalizedText: Some(CfgSet::parse(&String::from_utf8_lossy(&output.stdout))) + occurrence: 0 + testSet: 1744 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: assign_value.default + normalizedText: parent + occurrence: 0 + testSet: 1746 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: expr.decrement + normalizedText: PROFILE_DEPTH + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: expr.increment + normalizedText: PROFILE_DEPTH + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: fn_value.none + normalizedText: '{ let manifest = read_table(&root.join("Cargo.toml")); let declared = |name: &str, key: &str| { config.string(&["profile", + name, key]).map(ToOwned::to_owned).or_else(|| { manifest .as_ref() .and_then(|table| lookup(table, &["profile", name, + key]))? .as_str() .map(ToOwned::to_owned) }) }; let switched = |name: &str| { ["debug-assertions", "debug_assertions"] + .into_iter() .find_map(|key| lookup_bool(config, manifest.as_ref(), name, key)) }; let mut current = profile.unwrap_or("test").to_owned(); + for _hop in 0..PROFILE_DEPTH { if let Some(on) = switched(¤t) { return Some(on); } match current.as_str() { + "dev" => return Some(true), "release" => return Some(false), _custom => {} } let parent = declared(¤t, "inherits").or_else(|| + match current.as_str() { "test" => Some("dev".to_owned()), "bench" => Some("release".to_owned()), _custom => None, + })?; current = parent; } None }' + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1747 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1748 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_empty + normalizedText: '"debug-assertions"' + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_empty + normalizedText: '"debug_assertions"' + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_empty + normalizedText: '"dev"' + occurrence: 0 + testSet: 1749 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_empty + normalizedText: '"inherits"' + occurrence: 0 + testSet: 1750 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_empty + normalizedText: '"release"' + occurrence: 0 + testSet: 1751 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_empty + normalizedText: '"test"' + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_xyzzy + normalizedText: '"debug-assertions"' + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_xyzzy + normalizedText: '"debug_assertions"' + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_xyzzy + normalizedText: '"dev"' + occurrence: 0 + testSet: 1749 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_xyzzy + normalizedText: '"inherits"' + occurrence: 0 + testSet: 1750 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_xyzzy + normalizedText: '"release"' + occurrence: 0 + testSet: 1751 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: literal.str_to_xyzzy + normalizedText: '"test"' + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: match_arm.never_matches + normalizedText: '"bench"' + occurrence: 0 + testSet: 1751 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: match_arm.never_matches + normalizedText: '"dev"' + occurrence: 0 + testSet: 1748 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: match_arm.never_matches + normalizedText: '"release"' + occurrence: 0 + testSet: 1747 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: match_arm.never_matches + normalizedText: '"test"' + occurrence: 0 + testSet: 1749 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1752 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1753 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: option.some_to_none + normalizedText: Some("dev".to_owned()) + occurrence: 0 + testSet: 1749 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: option.some_to_none + normalizedText: Some("release".to_owned()) + occurrence: 0 + testSet: 1751 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: option.some_to_none + normalizedText: Some(false) + occurrence: 0 + testSet: 1747 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: option.some_to_none + normalizedText: Some(on) + occurrence: 0 + testSet: 1754 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: option.some_to_none + normalizedText: Some(true) + occurrence: 0 + testSet: 1748 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: range.exclusive_to_inclusive + normalizedText: 0..PROFILE_DEPTH + occurrence: 0 + testSet: 1733 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: profile_assertions + mutator: stmt.delete_assign + normalizedText: current = parent; + occurrence: 0 + testSet: 1746 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: read_table + mutator: fn_value.none + normalizedText: '{ let text = fs::read_to_string(path.as_std_path()).ok()?; toml::from_str(&text).ok() }' + occurrence: 0 + testSet: 1755 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: cond.always_false + normalizedText: reading_tables && *applies == Verdict::Yes + occurrence: 0 + testSet: 1756 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: cond.always_true + normalizedText: reading_tables && *applies == Verdict::Yes + occurrence: 0 + testSet: 1756 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: cond.negate + normalizedText: reading_tables && *applies == Verdict::Yes + occurrence: 0 + testSet: 1756 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: fn_value.tuple + normalizedText: '{ let tables = target_tables(config, target, environment); let joined: Vec = tables .iter() + .filter(|(applies, _flags)| *applies == Verdict::Yes) .flat_map(|(_applies, flags)| flags.iter().cloned()) .collect(); + let ambient = environment .encoded_rustflags .as_ref() .map(|encoded| { encoded .split(''\u{1f}'') .filter(|flag| + !flag.is_empty()) .map(ToOwned::to_owned) .collect() }) .or_else(|| environment.rustflags.as_ref().map(|flags| split(flags))); + let reading_tables = ambient.is_none() && !joined.is_empty(); let chosen = ambient .or_else(|| reading_tables.then(|| + joined.clone())) .or_else(|| environment.build_rustflags.as_ref().map(|flags| split(flags))) .or_else(|| { let flags + = config.strings(&["build", "rustflags"]); (!flags.is_empty()).then_some(flags) }) .unwrap_or_default(); let mut undecided: + Vec = Vec::new(); for (applies, flags) in &tables { if reading_tables && *applies == Verdict::Yes { continue; + } undecided.extend(decided_names(flags)); } undecided.sort(); undecided.dedup(); (chosen, undecided) }' + occurrence: 0 + testSet: 1693 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: iter.remove_dedup + normalizedText: undecided.dedup(); + occurrence: 0 + testSet: 1693 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: logical.and_to_or + normalizedText: ambient.is_none() && !joined.is_empty() + occurrence: 0 + testSet: 1693 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: logical.and_to_or + normalizedText: reading_tables && *applies == Verdict::Yes + occurrence: 0 + testSet: 1756 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1757 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1757 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: relational.eq_to_ne + normalizedText: '*applies == Verdict::Yes' + occurrence: 0 + testSet: 1756 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: relational.eq_to_ne + normalizedText: '*applies == Verdict::Yes' + occurrence: 1 + testSet: 1757 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: stmt.delete_call + normalizedText: undecided.extend(decided_names(flags)); + occurrence: 0 + testSet: 1727 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: unary.remove_not + normalizedText: '!flag.is_empty()' + occurrence: 0 + testSet: 1758 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: unary.remove_not + normalizedText: '!flags.is_empty()' + occurrence: 0 + testSet: 1759 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: rustflags + mutator: unary.remove_not + normalizedText: '!joined.is_empty()' + occurrence: 0 + testSet: 1760 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: split + mutator: fn_value.empty_collection + normalizedText: '{ flags.split_whitespace().map(ToOwned::to_owned).collect() }' + occurrence: 0 + testSet: 1761 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: split + mutator: fn_value.one_element + normalizedText: '{ flags.split_whitespace().map(ToOwned::to_owned).collect() }' + occurrence: 0 + testSet: 1761 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: assign_value.default + normalizedText: config.strings(&["build", "target"]) + occurrence: 0 + testSet: 1762 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: cond.always_false + normalizedText: named.is_empty() + occurrence: 0 + testSet: 1763 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: cond.always_true + normalizedText: named.is_empty() + occurrence: 0 + testSet: 1763 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: cond.negate + normalizedText: named.is_empty() + occurrence: 0 + testSet: 1763 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: fn_value.tuple + normalizedText: '{ let mut named = Build::requested_targets(extra, environment.target.as_deref()); if named.is_empty() + { named = config.strings(&["build", "target"]); } named.sort(); named.dedup(); match named.len() { 0 => (None, false), + 1 => (named.pop(), false), _several => (None, true), } }' + occurrence: 0 + testSet: 1763 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: iter.remove_dedup + normalizedText: named.dedup(); + occurrence: 0 + testSet: 1763 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1764 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1765 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1766 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: match_arm.never_matches + normalizedText: '0' + occurrence: 0 + testSet: 1764 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: match_arm.never_matches + normalizedText: '1' + occurrence: 0 + testSet: 1765 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1764 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1766 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target + mutator: stmt.delete_assign + normalizedText: named = config.strings(&["build", "target"]); + occurrence: 0 + testSet: 1762 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target_tables + mutator: fn_value.empty_collection + normalizedText: '{ let names = config.keys(&["target"]); let asked_about = names.iter().next().or_else(|| environment.target_rustflags.keys().next()).is_some(); + let triple = || target.or_else(|| host_triple(config, asked_about)); let mut cfgs: Option> = None; + let mut tables: Vec<(Verdict, Vec)> = names .iter() .map(|name| { let applies = predicate_of(name).map_or_else( + || triple().map_or(Verdict::Unknown, |triple| Verdict::from(triple == name)), |predicate| { cfgs.get_or_insert_with(|| + probe_cfgs(target)) .as_ref() .map_or(Verdict::Unknown, |cfgs| cfgs.decide_str(predicate)) }, ); let flags = predicate_of(name) + .is_none() .then(|| environment.target_flags(name).map(split)) .flatten() .unwrap_or_else(|| config.strings(&["target", + name, "rustflags"])); (applies, flags) }) .collect(); if let Some(triple) = triple() && !names.iter().any(|name| name + == triple) && let Some(flags) = environment.target_flags(triple) { tables.push((Verdict::Yes, split(flags))); } tables + }' + occurrence: 0 + testSet: 1693 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target_tables + mutator: iter.any_to_all + normalizedText: names.iter().any(|name| name == triple) + occurrence: 0 + testSet: 1767 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target_tables + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1693 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target_tables + mutator: relational.eq_to_ne + normalizedText: name == triple + occurrence: 0 + testSet: 1743 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target_tables + mutator: relational.eq_to_ne + normalizedText: triple == name + occurrence: 0 + testSet: 1768 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target_tables + mutator: stmt.delete_call + normalizedText: tables.push((Verdict::Yes, split(flags))); + occurrence: 0 + testSet: 1769 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: target_tables + mutator: unary.remove_not + normalizedText: '!names.iter().any(|name| name == triple)' + occurrence: 0 + testSet: 1767 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1770 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: cond.always_false + normalizedText: argument == flag + occurrence: 0 + testSet: 1771 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: cond.always_false + normalizedText: expecting + occurrence: 0 + testSet: 1771 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: cond.always_true + normalizedText: argument == flag + occurrence: 0 + testSet: 1771 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: cond.always_true + normalizedText: expecting + occurrence: 0 + testSet: 1771 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: cond.negate + normalizedText: argument == flag + occurrence: 0 + testSet: 1771 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: cond.negate + normalizedText: expecting + occurrence: 0 + testSet: 1771 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: fn_value.empty_collection + normalizedText: '{ let mut found = Vec::new(); let mut expecting = false; for argument in args { if expecting { found.push(argument.clone()); + expecting = false; continue; } if argument == flag { expecting = true; } else if let Some(value) = argument.strip_prefix(flag).and_then(|rest| + rest.strip_prefix(''='')) { found.push(value.to_owned()); } } found }' + occurrence: 0 + testSet: 1772 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: fn_value.one_element + normalizedText: '{ let mut found = Vec::new(); let mut expecting = false; for argument in args { if expecting { found.push(argument.clone()); + expecting = false; continue; } if argument == flag { expecting = true; } else if let Some(value) = argument.strip_prefix(flag).and_then(|rest| + rest.strip_prefix(''='')) { found.push(value.to_owned()); } } found }' + occurrence: 0 + testSet: 1772 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1772 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1770 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1770 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1770 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1770 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: relational.eq_to_ne + normalizedText: argument == flag + occurrence: 0 + testSet: 1771 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: stmt.delete_assign + normalizedText: expecting = false; + occurrence: 0 + testSet: 1770 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: stmt.delete_assign + normalizedText: expecting = true; + occurrence: 0 + testSet: 1770 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: stmt.delete_call + normalizedText: found.push(argument.clone()); + occurrence: 0 + testSet: 1770 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: valued + mutator: stmt.delete_call + normalizedText: found.push(value.to_owned()); + occurrence: 0 + testSet: 1773 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: variable_component + mutator: fn_value.empty_string + normalizedText: '{ triple.to_uppercase().replace([''-'', ''.''], "_") }' + occurrence: 0 + testSet: 1774 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: variable_component + mutator: fn_value.xyzzy_string + normalizedText: '{ triple.to_uppercase().replace([''-'', ''.''], "_") }' + occurrence: 0 + testSet: 1774 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: variable_component + mutator: literal.str_to_empty + normalizedText: '"_"' + occurrence: 0 + testSet: 1774 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: variable_component + mutator: literal.str_to_xyzzy + normalizedText: '"_"' + occurrence: 0 + testSet: 1774 + - site: + file: crates/cargo-gamma-lib/src/cfg/build.rs + item: variable_component + mutator: string.upper_to_lower + normalizedText: triple.to_uppercase() + occurrence: 0 + testSet: 1774 + - site: + file: crates/cargo-gamma-lib/src/cfg/cfgs.rs + item: Cfgs::for_package + mutator: fn_value.default + normalizedText: '{ self.per_package.get(package).unwrap_or(&self.fallback) }' + occurrence: 0 + testSet: 1775 + - site: + file: crates/cargo-gamma-lib/src/cfg/cfgs.rs + item: Cfgs::new + mutator: fn_value.default + normalizedText: '{ let per_package = features .iter() .map(|(package, enabled)| (package.clone(), target.clone().with_features(enabled.iter().cloned()).with_test())) + .collect(); Self { per_package, fallback: CfgSet::unconditional(), } }' + occurrence: 0 + testSet: 1776 + - site: + file: crates/cargo-gamma-lib/src/cfg/cfgs.rs + item: Cfgs::unconditional + mutator: fn_value.default + normalizedText: '{ Self::default() }' + occurrence: 0 + testSet: 1777 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: apply_worklist + mutator: cond.always_false + normalizedText: entry.starts_with("dep:") + occurrence: 0 + testSet: 1778 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: apply_worklist + mutator: cond.always_true + normalizedText: entry.starts_with("dep:") + occurrence: 0 + testSet: 1778 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: apply_worklist + mutator: cond.negate + normalizedText: entry.starts_with("dep:") + occurrence: 0 + testSet: 1778 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: apply_worklist + mutator: fn_value.none + normalizedText: '{ if entry.starts_with("dep:") { return None; } match entry.split_once(''/'') { Some((token, feature)) + => { let token = token.trim_end_matches(''?''); let package = renames .get(owner) .and_then(|by_alias| by_alias.get(token)) + .map_or(token, String::as_str); turn_on(package, feature, on).then(|| (package.to_owned(), feature.to_owned())) } + None => turn_on(owner, entry, on).then(|| (owner.to_owned(), entry.to_owned())), } }' + occurrence: 0 + testSet: 1778 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: apply_worklist + mutator: literal.str_to_empty + normalizedText: '"dep:"' + occurrence: 0 + testSet: 1778 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: apply_worklist + mutator: literal.str_to_xyzzy + normalizedText: '"dep:"' + occurrence: 0 + testSet: 1778 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: apply_worklist + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1779 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: apply_worklist + mutator: string.starts_with_to_ends_with + normalizedText: entry.starts_with("dep:") + occurrence: 0 + testSet: 1778 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: enabled + mutator: fn_value.one_element + normalizedText: '{ let members: Vec<&Package> = metadata.workspace_packages(); let named = requested(args); let renames + = renames(&members); let mut on: HashMap> = HashMap::default(); for package in &members { + let _old = on.insert(package.name.as_str().to_owned(), seed(package, args, &named)); } propagate_worklist(&members, + &renames, &mut on); on.into_iter() .map(|(package, features)| { let mut sorted: Vec = features.into_iter().collect(); + sorted.sort(); (package, sorted) }) .collect() }' + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: enabled + mutator: iter.remove_sort + normalizedText: sorted.sort(); + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: enabled + mutator: stmt.delete_call + normalizedText: propagate_worklist(&members, &renames, &mut on); + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: assign_value.default + normalizedText: 'false' + occurrence: 0 + testSet: 1781 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1782 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: assign_value.default + normalizedText: 'true' + occurrence: 1 + testSet: 1782 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: assign_value.default + normalizedText: 'true' + occurrence: 2 + testSet: 1781 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: cond.always_false + normalizedText: expecting + occurrence: 0 + testSet: 1783 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: cond.always_true + normalizedText: expecting + occurrence: 0 + testSet: 1783 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: cond.negate + normalizedText: expecting + occurrence: 0 + testSet: 1783 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: fn_value.default + normalizedText: '{ let mut widened = args.clone(); let mut expecting = false; for argument in extra { if expecting { + widened.features.push(argument.clone()); expecting = false; continue; } match argument.as_str() { "--all-features" + => widened.all_features = true, "--no-default-features" => widened.no_default_features = true, "--features" | "-F" + => expecting = true, other => { if let Some(value) = other .strip_prefix("--features=") .or_else(|| other.strip_prefix("-F=")) + .or_else(|| other.strip_prefix("-F")) { widened.features.push(value.to_owned()); } } } } widened }' + occurrence: 0 + testSet: 1784 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1784 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1781 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1782 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 1782 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 2 + testSet: 1781 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: literal.str_to_empty + normalizedText: '"--features="' + occurrence: 0 + testSet: 1785 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: literal.str_to_empty + normalizedText: '"-F"' + occurrence: 0 + testSet: 1785 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: literal.str_to_empty + normalizedText: '"-F="' + occurrence: 0 + testSet: 1785 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: literal.str_to_xyzzy + normalizedText: '"--features="' + occurrence: 0 + testSet: 1785 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: literal.str_to_xyzzy + normalizedText: '"-F"' + occurrence: 0 + testSet: 1785 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: literal.str_to_xyzzy + normalizedText: '"-F="' + occurrence: 0 + testSet: 1785 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1781 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1781 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: match_arm.never_matches + normalizedText: '"--all-features"' + occurrence: 0 + testSet: 1782 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: match_arm.never_matches + normalizedText: '"--features" | "-F"' + occurrence: 0 + testSet: 1781 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: match_arm.never_matches + normalizedText: '"--no-default-features"' + occurrence: 0 + testSet: 1782 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: stmt.delete_assign + normalizedText: expecting = false; + occurrence: 0 + testSet: 1781 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: stmt.delete_call + normalizedText: widened.features.push(argument.clone()); + occurrence: 0 + testSet: 1781 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: from_extra + mutator: stmt.delete_call + normalizedText: widened.features.push(value.to_owned()); + occurrence: 0 + testSet: 1782 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: cond.always_false + normalizedText: '!on.contains_key(target)' + occurrence: 0 + testSet: 1786 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: cond.always_false + normalizedText: dependency.uses_default_features && turn_on(target, "default", on) + occurrence: 0 + testSet: 1787 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: cond.always_false + normalizedText: matches!(dependency.kind, DependencyKind::Unknown) + occurrence: 0 + testSet: 1788 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: cond.always_false + normalizedText: turn_on(target, feature, on) + occurrence: 0 + testSet: 1789 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: cond.always_true + normalizedText: '!on.contains_key(target)' + occurrence: 0 + testSet: 1786 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: cond.always_true + normalizedText: dependency.uses_default_features && turn_on(target, "default", on) + occurrence: 0 + testSet: 1787 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: cond.always_true + normalizedText: matches!(dependency.kind, DependencyKind::Unknown) + occurrence: 0 + testSet: 1788 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: cond.always_true + normalizedText: turn_on(target, feature, on) + occurrence: 0 + testSet: 1789 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: cond.negate + normalizedText: '!on.contains_key(target)' + occurrence: 0 + testSet: 1786 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: cond.negate + normalizedText: dependency.uses_default_features && turn_on(target, "default", on) + occurrence: 0 + testSet: 1787 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: cond.negate + normalizedText: matches!(dependency.kind, DependencyKind::Unknown) + occurrence: 0 + testSet: 1788 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: cond.negate + normalizedText: turn_on(target, feature, on) + occurrence: 0 + testSet: 1789 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: literal.str_to_empty + normalizedText: '"default"' + occurrence: 0 + testSet: 1790 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: literal.str_to_empty + normalizedText: '"default"' + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: literal.str_to_xyzzy + normalizedText: '"default"' + occurrence: 0 + testSet: 1790 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: literal.str_to_xyzzy + normalizedText: '"default"' + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: logical.and_to_or + normalizedText: dependency.uses_default_features && turn_on(target, "default", on) + occurrence: 0 + testSet: 1787 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1792 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 1793 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1792 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 1793 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: stmt.delete_call + normalizedText: queue.push_back((package.clone(), feature.clone())); + occurrence: 0 + testSet: 1794 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: stmt.delete_call + normalizedText: queue.push_back((pkg, feat)); + occurrence: 0 + testSet: 1795 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: stmt.delete_call + normalizedText: queue.push_back((target.to_owned(), "default".to_owned())); + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: stmt.delete_call + normalizedText: queue.push_back((target.to_owned(), feature.clone())); + occurrence: 0 + testSet: 1789 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: propagate_worklist + mutator: unary.remove_not + normalizedText: '!on.contains_key(target)' + occurrence: 0 + testSet: 1786 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: renames + mutator: fn_value.default + normalizedText: '{ members .iter() .filter_map(|package| { let mapped: HashMap = package .dependencies + .iter() .filter_map(|dependency| { dependency .rename .as_ref() .map(|alias| (alias.clone(), dependency.name.as_str().to_owned())) + }) .collect(); (!mapped.is_empty()).then(|| (package.name.as_str().to_owned(), mapped)) }) .collect() }' + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: renames + mutator: unary.remove_not + normalizedText: '!mapped.is_empty()' + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: requested + mutator: fn_value.empty_collection + normalizedText: '{ args.features .iter() .flat_map(|entry| entry.split(['','', '' ''])) .filter(|entry| !entry.is_empty()) + .map(|entry| match entry.split_once(''/'') { Some((package, feature)) => (Some(package.to_owned()), feature.to_owned()), + None => (None, entry.to_owned()), }) .collect() }' + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: requested + mutator: fn_value.one_element + normalizedText: '{ args.features .iter() .flat_map(|entry| entry.split(['','', '' ''])) .filter(|entry| !entry.is_empty()) + .map(|entry| match entry.split_once(''/'') { Some((package, feature)) => (Some(package.to_owned()), feature.to_owned()), + None => (None, entry.to_owned()), }) .collect() }' + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: requested + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1796 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: requested + mutator: option.some_to_none + normalizedText: Some(package.to_owned()) + occurrence: 0 + testSet: 1797 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: requested + mutator: unary.remove_not + normalizedText: '!entry.is_empty()' + occurrence: 0 + testSet: 1798 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: cond.always_false + normalizedText: '!args.no_default_features && package.features.contains_key("default")' + occurrence: 0 + testSet: 1799 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: cond.always_false + normalizedText: args.all_features + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: cond.always_false + normalizedText: mine && package.features.contains_key(feature) + occurrence: 0 + testSet: 1798 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: cond.always_true + normalizedText: '!args.no_default_features && package.features.contains_key("default")' + occurrence: 0 + testSet: 1799 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: cond.always_true + normalizedText: args.all_features + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: cond.always_true + normalizedText: mine && package.features.contains_key(feature) + occurrence: 0 + testSet: 1798 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: cond.negate + normalizedText: '!args.no_default_features && package.features.contains_key("default")' + occurrence: 0 + testSet: 1799 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: cond.negate + normalizedText: args.all_features + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: cond.negate + normalizedText: mine && package.features.contains_key(feature) + occurrence: 0 + testSet: 1798 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: fn_value.one_element + normalizedText: '{ let mut on: HashSet = HashSet::default(); if args.all_features { on.extend(package.features.keys().cloned()); + return on; } if !args.no_default_features && package.features.contains_key("default") { let _added = on.insert("default".to_owned()); + } for (owner, feature) in named { let mine = owner.as_ref().is_none_or(|owner| owner == package.name.as_str()); if + mine && package.features.contains_key(feature) { let _added = on.insert(feature.clone()); } } on }' + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: literal.str_to_empty + normalizedText: '"default"' + occurrence: 0 + testSet: 1800 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: literal.str_to_empty + normalizedText: '"default"' + occurrence: 1 + testSet: 1801 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: literal.str_to_xyzzy + normalizedText: '"default"' + occurrence: 0 + testSet: 1800 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: literal.str_to_xyzzy + normalizedText: '"default"' + occurrence: 1 + testSet: 1801 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: logical.and_to_or + normalizedText: '!args.no_default_features && package.features.contains_key("default")' + occurrence: 0 + testSet: 1799 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: logical.and_to_or + normalizedText: mine && package.features.contains_key(feature) + occurrence: 0 + testSet: 1798 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: relational.eq_to_ne + normalizedText: owner == package.name.as_str() + occurrence: 0 + testSet: 1797 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: stmt.delete_call + normalizedText: on.extend(package.features.keys().cloned()); + occurrence: 0 + testSet: 1802 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: seed + mutator: unary.remove_not + normalizedText: '!args.no_default_features' + occurrence: 0 + testSet: 1799 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: turn_on + mutator: fn_value.bool_false + normalizedText: '{ on.get_mut(package).is_some_and(|features| features.insert(feature.to_owned())) }' + occurrence: 0 + testSet: 1803 + - site: + file: crates/cargo-gamma-lib/src/cfg/features.rs + item: turn_on + mutator: fn_value.bool_true + normalizedText: '{ on.get_mut(package).is_some_and(|features| features.insert(feature.to_owned())) }' + occurrence: 0 + testSet: 1803 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build + mutator: cond.always_false + normalizedText: build.several_targets + occurrence: 0 + testSet: 1804 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build + mutator: cond.always_true + normalizedText: build.several_targets + occurrence: 0 + testSet: 1804 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build + mutator: cond.negate + normalizedText: build.several_targets + occurrence: 0 + testSet: 1804 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build + mutator: fn_value.ok + normalizedText: '{ if build.several_targets { return Ok(CfgSet::unconditional()); } let program = rustc_program(|name| + std::env::var(name)); for_build_with(build, &program) }' + occurrence: 0 + testSet: 1804 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + mutator: assign_value.default + normalizedText: set.with_undecided(["debug_assertions".to_owned()]) + occurrence: 0 + testSet: 1805 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + mutator: cond.always_false + normalizedText: '!output.status.success()' + occurrence: 0 + testSet: 1806 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + mutator: cond.always_false + normalizedText: build.debug_assertions.is_none() + occurrence: 0 + testSet: 1807 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + mutator: cond.always_true + normalizedText: '!output.status.success()' + occurrence: 0 + testSet: 1806 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + mutator: cond.always_true + normalizedText: build.debug_assertions.is_none() + occurrence: 0 + testSet: 1807 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + mutator: cond.negate + normalizedText: '!output.status.success()' + occurrence: 0 + testSet: 1806 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + mutator: cond.negate + normalizedText: build.debug_assertions.is_none() + occurrence: 0 + testSet: 1807 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + mutator: fn_value.ok + normalizedText: '{ let mut command = Command::new(program); let _builder = command.args(build.probe_args()); let output + = command .output() .map_err(|cause| error!("could not run `rustc --print cfg`").caused_by(cause))?; if !output.status.success() + { return Err(error!( "`rustc --print cfg` failed: {}", String::from_utf8_lossy(&output.stderr).trim() )); } let mut + set = CfgSet::parse(&String::from_utf8_lossy(&output.stdout)); if build.debug_assertions.is_none() { set = set.with_undecided(["debug_assertions".to_owned()]); + } Ok(set.with_undecided(build.undecided.iter().cloned())) }' + occurrence: 0 + testSet: 1806 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + mutator: literal.str_to_empty + normalizedText: '"debug_assertions"' + occurrence: 0 + testSet: 1805 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + mutator: literal.str_to_xyzzy + normalizedText: '"debug_assertions"' + occurrence: 0 + testSet: 1805 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + mutator: result.err_to_ok + normalizedText: 'Err(error!( "`rustc --print cfg` failed: {}", String::from_utf8_lossy(&output.stderr).trim() ))' + occurrence: 0 + testSet: 1808 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + mutator: stmt.delete_assign + normalizedText: set = set.with_undecided(["debug_assertions".to_owned()]); + occurrence: 0 + testSet: 1805 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: for_build_with + mutator: unary.remove_not + normalizedText: '!output.status.success()' + occurrence: 0 + testSet: 1806 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: rustc_program + mutator: fn_value.empty_string + normalizedText: '{ get("RUSTC").unwrap_or_else(|_| "rustc".to_owned()) }' + occurrence: 0 + testSet: 1809 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: rustc_program + mutator: fn_value.xyzzy_string + normalizedText: '{ get("RUSTC").unwrap_or_else(|_| "rustc".to_owned()) }' + occurrence: 0 + testSet: 1809 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: rustc_program + mutator: literal.str_to_empty + normalizedText: '"RUSTC"' + occurrence: 0 + testSet: 1809 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: rustc_program + mutator: literal.str_to_empty + normalizedText: '"rustc"' + occurrence: 0 + testSet: 1807 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: rustc_program + mutator: literal.str_to_xyzzy + normalizedText: '"RUSTC"' + occurrence: 0 + testSet: 1809 + - site: + file: crates/cargo-gamma-lib/src/cfg/probe.rs + item: rustc_program + mutator: literal.str_to_xyzzy + normalizedText: '"rustc"' + occurrence: 0 + testSet: 1807 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: annotations + mutator: cond.always_false + normalizedText: survivors.len() > ANNOTATION_LIMIT + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: annotations + mutator: cond.always_true + normalizedText: survivors.len() > ANNOTATION_LIMIT + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: annotations + mutator: cond.negate + normalizedText: survivors.len() > ANNOTATION_LIMIT + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: annotations + mutator: expr.decrement + normalizedText: ANNOTATION_LIMIT + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: annotations + mutator: expr.increment + normalizedText: ANNOTATION_LIMIT + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: annotations + mutator: fn_value.empty_collection + normalizedText: "{ let survivors = findings(mutants); let mut lines: Vec = survivors .iter() .take(ANNOTATION_LIMIT)\ + \ .map(|mutant| { let file = relative(&mutant.file, root); let title = format!(\"Surviving mutant ({})\", mutant.mutator);\ + \ let message = describe(mutant); format!( \"::warning file={},line={},col={},title={}::{}\", escape_property(&file),\ + \ mutant.line, mutant.column, escape_property(&title), escape_data(&message) ) }) .collect(); if survivors.len() >\ + \ ANNOTATION_LIMIT { lines.push(format!( \"::notice title=Surviving mutants::{} of {} findings annotated, which is\ + \ all GitHub keeps per step; \\\n the rest are in the report\", ANNOTATION_LIMIT, survivors.len() ));\ + \ } lines }" + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: annotations + mutator: fn_value.one_element + normalizedText: "{ let survivors = findings(mutants); let mut lines: Vec = survivors .iter() .take(ANNOTATION_LIMIT)\ + \ .map(|mutant| { let file = relative(&mutant.file, root); let title = format!(\"Surviving mutant ({})\", mutant.mutator);\ + \ let message = describe(mutant); format!( \"::warning file={},line={},col={},title={}::{}\", escape_property(&file),\ + \ mutant.line, mutant.column, escape_property(&title), escape_data(&message) ) }) .collect(); if survivors.len() >\ + \ ANNOTATION_LIMIT { lines.push(format!( \"::notice title=Surviving mutants::{} of {} findings annotated, which is\ + \ all GitHub keeps per step; \\\n the rest are in the report\", ANNOTATION_LIMIT, survivors.len() ));\ + \ } lines }" + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: annotations + mutator: relational.gt_to_ge + normalizedText: survivors.len() > ANNOTATION_LIMIT + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: annotations + mutator: relational.gt_to_lt + normalizedText: survivors.len() > ANNOTATION_LIMIT + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: annotations + mutator: stmt.delete_call + normalizedText: "lines.push(format!( \"::notice title=Surviving mutants::{} of {} findings annotated, which is all GitHub\ + \ keeps per step; \\\n the rest are in the report\", ANNOTATION_LIMIT, survivors.len() ));" + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_data + mutator: fn_value.empty_string + normalizedText: '{ encode_controls(text).replace(''%'', "%25").replace(''\r'', "%0D").replace(''\n'', "%0A") }' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_data + mutator: fn_value.xyzzy_string + normalizedText: '{ encode_controls(text).replace(''%'', "%25").replace(''\r'', "%0D").replace(''\n'', "%0A") }' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_data + mutator: literal.str_to_empty + normalizedText: '"%0A"' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_data + mutator: literal.str_to_empty + normalizedText: '"%0D"' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_data + mutator: literal.str_to_empty + normalizedText: '"%25"' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_data + mutator: literal.str_to_xyzzy + normalizedText: '"%0A"' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_data + mutator: literal.str_to_xyzzy + normalizedText: '"%0D"' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_data + mutator: literal.str_to_xyzzy + normalizedText: '"%25"' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_property + mutator: fn_value.empty_string + normalizedText: '{ escape_data(text).replace('':'', "%3A").replace('','', "%2C") }' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_property + mutator: fn_value.xyzzy_string + normalizedText: '{ escape_data(text).replace('':'', "%3A").replace('','', "%2C") }' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_property + mutator: literal.str_to_empty + normalizedText: '"%2C"' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_property + mutator: literal.str_to_empty + normalizedText: '"%3A"' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_property + mutator: literal.str_to_xyzzy + normalizedText: '"%2C"' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/annotations.rs + item: escape_property + mutator: literal.str_to_xyzzy + normalizedText: '"%3A"' + occurrence: 0 + testSet: 1810 + - site: + file: crates/cargo-gamma-lib/src/ci/finding.rs + item: describe + mutator: fn_value.empty_string + normalizedText: '{ match mutant.outcome { Outcome::NoCoverage => format!("No test reaches this code: {}.", mutant.summary()), + Outcome::Timeout => format!("{} and the test run timed out before an assertion rejected it.", mutant.summary()), Outcome::OutOfMemory + => { format!( "{} and the test run exceeded its memory limit before an assertion rejected it.", mutant.summary() ) + } _other => format!("{} and no test failed.", mutant.summary()), } }' + occurrence: 0 + testSet: 1811 + - site: + file: crates/cargo-gamma-lib/src/ci/finding.rs + item: describe + mutator: fn_value.xyzzy_string + normalizedText: '{ match mutant.outcome { Outcome::NoCoverage => format!("No test reaches this code: {}.", mutant.summary()), + Outcome::Timeout => format!("{} and the test run timed out before an assertion rejected it.", mutant.summary()), Outcome::OutOfMemory + => { format!( "{} and the test run exceeded its memory limit before an assertion rejected it.", mutant.summary() ) + } _other => format!("{} and no test failed.", mutant.summary()), } }' + occurrence: 0 + testSet: 1811 + - site: + file: crates/cargo-gamma-lib/src/ci/finding.rs + item: describe + mutator: match_arm.never_matches + normalizedText: Outcome::NoCoverage + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/ci/finding.rs + item: findings + mutator: fn_value.empty_collection + normalizedText: '{ mutants .iter() .filter(|mutant| { matches!( mutant.outcome, Outcome::Survived | Outcome::Timeout + | Outcome::OutOfMemory | Outcome::NoCoverage ) }) .collect() }' + occurrence: 0 + testSet: 1813 + - site: + file: crates/cargo-gamma-lib/src/ci/finding.rs + item: relative + mutator: fn_value.empty_string + normalizedText: '{ let path = path.strip_prefix(root).unwrap_or(path).as_str(); #[cfg(windows)] let relative = path.replace(''\\'', + "/"); #[cfg(not(windows))] let relative = path.to_owned(); relative }' + occurrence: 0 + testSet: 1811 + - site: + file: crates/cargo-gamma-lib/src/ci/finding.rs + item: relative + mutator: fn_value.xyzzy_string + normalizedText: '{ let path = path.strip_prefix(root).unwrap_or(path).as_str(); #[cfg(windows)] let relative = path.replace(''\\'', + "/"); #[cfg(not(windows))] let relative = path.to_owned(); relative }' + occurrence: 0 + testSet: 1811 + - site: + file: crates/cargo-gamma-lib/src/ci/finding.rs + item: relative + mutator: literal.str_to_empty + normalizedText: '"/"' + occurrence: 0 + testSet: 1811 + - site: + file: crates/cargo-gamma-lib/src/ci/finding.rs + item: relative + mutator: literal.str_to_xyzzy + normalizedText: '"/"' + occurrence: 0 + testSet: 1811 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: ::write + mutator: assign.add_to_sub + normalizedText: self.bytes += buffer.len() + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: ::write + mutator: expr.decrement + normalizedText: buffer.len() + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: ::write + mutator: expr.increment + normalizedText: buffer.len() + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: ::write + mutator: fn_value.ok + normalizedText: '{ self.bytes += buffer.len(); Ok(buffer.len()) }' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: ::write + mutator: stmt.delete_assign + normalizedText: self.bytes += buffer.len(); + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: arith.div_to_mul + normalizedText: '*length / 2' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: arith.div_to_rem + normalizedText: '*length / 2' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: expr.decrement + normalizedText: '*length / 2' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: expr.decrement + normalizedText: length + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: expr.increment + normalizedText: '*length / 2' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: expr.increment + normalizedText: length + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: fn_value.empty_collection + normalizedText: '{ core::iter::successors(Some(length), |length| (*length > 0).then_some(*length / 2)) }' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: fn_value.one_element + normalizedText: '{ core::iter::successors(Some(length), |length| (*length > 0).then_some(*length / 2)) }' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: option.some_to_none + normalizedText: Some(length) + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: relational.gt_to_ge + normalizedText: '*length > 0' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: candidate_lengths + mutator: relational.gt_to_lt + normalizedText: '*length > 0' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: log + mutator: literal.str_to_empty + normalizedText: '"2.1.0"' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: log + mutator: literal.str_to_empty + normalizedText: '"https://json.schemastore.org/sarif-2.1.0.json"' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: log + mutator: literal.str_to_xyzzy + normalizedText: '"2.1.0"' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: log + mutator: literal.str_to_xyzzy + normalizedText: '"https://json.schemastore.org/sarif-2.1.0.json"' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: measure + mutator: expr.decrement + normalizedText: counter.bytes + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: measure + mutator: expr.increment + normalizedText: counter.bytes + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: measure + mutator: fn_value.ok + normalizedText: '{ let mut counter = Counted::default(); serde_json::to_writer_pretty(&mut counter, log) .map_err(|cause| + crate::error::error!("could not serialize the SARIF log").caused_by(cause))?; Ok(counter.bytes) }' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: results + mutator: fn_value.empty_collection + normalizedText: '{ kept.iter() .map(|mutant| { let mut fingerprints = HashMap::default(); let _previous = fingerprints.insert(format!("gammaMutantId/v{}", + crate::model::MUTANT_ID_VERSION), mutant.id.to_string()); Finding { rule_id: mutant.mutator.to_string(), level: level.as_str(), + message: Text { text: describe(mutant) }, locations: vec![Location { physical_location: Physical { artifact_location: + Artifact { uri: relative(&mutant.file, root), }, region: Region { start_line: mutant.line, start_column: mutant.column, + }, }, }], partial_fingerprints: fingerprints, } }) .collect() }' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: rules + mutator: cond.always_false + normalizedText: '!seen.insert(mutant.mutator.to_string())' + occurrence: 0 + testSet: 1815 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: rules + mutator: cond.always_true + normalizedText: '!seen.insert(mutant.mutator.to_string())' + occurrence: 0 + testSet: 1815 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: rules + mutator: cond.negate + normalizedText: '!seen.insert(mutant.mutator.to_string())' + occurrence: 0 + testSet: 1815 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: rules + mutator: fn_value.empty_collection + normalizedText: "{ let mut seen = HashSet::default(); let mut rules = Vec::new(); for mutant in kept { if !seen.insert(mutant.mutator.to_string())\ + \ { continue; } rules.push(Rule { id: mutant.mutator.to_string(), name: mutant.mutator.to_string(), short_description:\ + \ Text { text: format!(\"Surviving mutant: {}\", mutant.mutator), }, full_description: Text { text: format!( \"The\ + \ {} mutation was applied and the test suite still passed, so nothing asserts on the \\\n behavior\ + \ it changed.\", mutant.mutator ), }, default_configuration: Configuration { level: level.as_str() }, }); } rules.sort_by(|left,\ + \ right| left.id.cmp(&right.id)); rules }" + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: rules + mutator: iter.remove_sort + normalizedText: rules.sort_by(|left, right| left.id.cmp(&right.id)); + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: rules + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1816 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: rules + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1816 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: rules + mutator: stmt.delete_call + normalizedText: "rules.push(Rule { id: mutant.mutator.to_string(), name: mutant.mutator.to_string(), short_description:\ + \ Text { text: format!(\"Surviving mutant: {}\", mutant.mutator), }, full_description: Text { text: format!( \"The\ + \ {} mutation was applied and the test suite still passed, so nothing asserts on the \\\n behavior\ + \ it changed.\", mutant.mutator ), }, default_configuration: Configuration { level: level.as_str() }, });" + occurrence: 0 + testSet: 1815 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: rules + mutator: unary.remove_not + normalizedText: '!seen.insert(mutant.mutator.to_string())' + occurrence: 0 + testSet: 1815 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: cond.always_false + normalizedText: fits(measure(&log)?) || length == 0 + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: cond.always_true + normalizedText: fits(measure(&log)?) || length == 0 + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: cond.negate + normalizedText: fits(measure(&log)?) || length == 0 + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: expr.decrement + normalizedText: SARIF_LIMIT + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: expr.decrement + normalizedText: results.len() + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: expr.increment + normalizedText: SARIF_LIMIT + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: expr.increment + normalizedText: results.len() + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: fn_value.ok + normalizedText: '{ let survivors = findings(mutants); let found = survivors.len(); let kept: Vec<&Mutant> = survivors.into_iter().take(SARIF_LIMIT).collect(); + let results = results(&kept, root, level); for length in candidate_lengths(results.len()) { let rules = rules(&kept[..length], + level); let log = log(&results[..length], rules); if fits(measure(&log)?) || length == 0 { let text = serde_json::to_string_pretty(&log) + .map_err(|cause| crate::error::error!("could not serialize the SARIF log").caused_by(cause))?; let truncation = (found + > length).then_some(Truncation { found, written: length }); return Ok((text, truncation)); } } unreachable!("the zero-length + SARIF document always fits"); }' + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1816 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: logical.or_to_and + normalizedText: fits(measure(&log)?) || length == 0 + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: range.exclusive_to_inclusive + normalizedText: ..length + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: range.exclusive_to_inclusive + normalizedText: ..length + occurrence: 1 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: relational.eq_to_ne + normalizedText: length == 0 + occurrence: 0 + testSet: 1816 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: relational.gt_to_ge + normalizedText: found > length + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/ci/sarif.rs + item: sarif + mutator: relational.gt_to_lt + normalizedText: found > length + occurrence: 0 + testSet: 1814 + - site: + file: crates/cargo-gamma-lib/src/commands/clean.rs + item: clean + mutator: cond.always_false + normalizedText: cleaned + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/commands/clean.rs + item: clean + mutator: cond.always_true + normalizedText: cleaned + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/commands/clean.rs + item: clean + mutator: cond.negate + normalizedText: cleaned + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/commands/clean.rs + item: clean + mutator: expr.decrement + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/commands/clean.rs + item: clean + mutator: expr.increment + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/commands/clean.rs + item: clean + mutator: fn_value.ok + normalizedText: '{ let metadata = load_metadata(&args.dir, &FeatureArgs::default())?; let root = camino::Utf8Path::new(metadata.workspace_root.as_str()); + let base = gamma_base(root, None); let cleaned = clean_cache(root)?; if cleaned { writeln!(host.error(), "{} `{}`", + styler.verb("Cleaned"), encode_controls(base.as_str()))?; } else { writeln!( host.error(), "{} no cached data under + `{}`", styler.verb("Finished"), encode_controls(base.as_str()) )?; } Ok(EXIT_OK) }' + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: ::default + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1818 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: ::default + mutator: literal.str_to_empty + normalizedText: '"."' + occurrence: 0 + testSet: 1818 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: ::default + mutator: literal.str_to_xyzzy + normalizedText: '"."' + occurrence: 0 + testSet: 1818 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: ::default + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1818 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: ::default + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1818 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: ::default + mutator: option.none_to_some + normalizedText: None + occurrence: 2 + testSet: 1818 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: ::default + mutator: option.none_to_some + normalizedText: None + occurrence: 3 + testSet: 1818 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: FeatureArgs::to_cargo_args + mutator: cond.always_false + normalizedText: '!self.features.is_empty()' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: FeatureArgs::to_cargo_args + mutator: cond.always_false + normalizedText: self.all_features + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: FeatureArgs::to_cargo_args + mutator: cond.always_false + normalizedText: self.no_default_features + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: FeatureArgs::to_cargo_args + mutator: cond.always_true + normalizedText: '!self.features.is_empty()' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: FeatureArgs::to_cargo_args + mutator: cond.always_true + normalizedText: self.all_features + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: FeatureArgs::to_cargo_args + mutator: cond.always_true + normalizedText: self.no_default_features + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: FeatureArgs::to_cargo_args + mutator: cond.negate + normalizedText: '!self.features.is_empty()' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: FeatureArgs::to_cargo_args + mutator: cond.negate + normalizedText: self.all_features + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: FeatureArgs::to_cargo_args + mutator: cond.negate + normalizedText: self.no_default_features + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: FeatureArgs::to_cargo_args + mutator: fn_value.empty_collection + normalizedText: '{ let mut args = Vec::new(); if self.all_features { args.push("--all-features".to_owned()); } if self.no_default_features + { args.push("--no-default-features".to_owned()); } if !self.features.is_empty() { args.push("--features".to_owned()); + args.push(self.features.join(",")); } args }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: FeatureArgs::to_cargo_args + mutator: fn_value.one_element + normalizedText: '{ let mut args = Vec::new(); if self.all_features { args.push("--all-features".to_owned()); } if self.no_default_features + { args.push("--no-default-features".to_owned()); } if !self.features.is_empty() { args.push("--features".to_owned()); + args.push(self.features.join(",")); } args }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: FeatureArgs::to_cargo_args + mutator: unary.remove_not + normalizedText: '!self.features.is_empty()' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::selection + mutator: cond.always_false + normalizedText: self.mutators.is_some() && !self.errors.is_empty() && !selection.contains("fn_value.err_with") + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::selection + mutator: cond.always_true + normalizedText: self.mutators.is_some() && !self.errors.is_empty() && !selection.contains("fn_value.err_with") + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::selection + mutator: cond.negate + normalizedText: self.mutators.is_some() && !self.errors.is_empty() && !selection.contains("fn_value.err_with") + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::selection + mutator: fn_value.ok + normalizedText: '{ let mut selection = self .mutators .as_deref() .map_or_else(|| Ok(Selection::default_preset()), Selection::parse)?; + if self.mutators.is_some() && !self.errors.is_empty() && !selection.contains("fn_value.err_with") { selection.drop_errors(); + return Ok(selection); } selection.set_errors(self.errors.clone()); Ok(selection) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::selection + mutator: logical.and_to_or + normalizedText: self.mutators.is_some() && !self.errors.is_empty() + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::selection + mutator: logical.and_to_or + normalizedText: self.mutators.is_some() && !self.errors.is_empty() && !selection.contains("fn_value.err_with") + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::selection + mutator: stmt.delete_call + normalizedText: selection.set_errors(self.errors.clone()); + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::selection + mutator: unary.remove_not + normalizedText: '!self.errors.is_empty()' + occurrence: 0 + testSet: 1821 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: cond.always_false + normalizedText: count == 0 + occurrence: 0 + testSet: 1822 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: cond.always_false + normalizedText: count > crate::merge::MAX_SHARDS + occurrence: 0 + testSet: 1823 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: cond.always_false + normalizedText: index >= count + occurrence: 0 + testSet: 1823 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: cond.always_true + normalizedText: count == 0 + occurrence: 0 + testSet: 1822 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: cond.always_true + normalizedText: count > crate::merge::MAX_SHARDS + occurrence: 0 + testSet: 1823 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: cond.always_true + normalizedText: index >= count + occurrence: 0 + testSet: 1823 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: cond.negate + normalizedText: count == 0 + occurrence: 0 + testSet: 1822 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: cond.negate + normalizedText: count > crate::merge::MAX_SHARDS + occurrence: 0 + testSet: 1823 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: cond.negate + normalizedText: index >= count + occurrence: 0 + testSet: 1823 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: fn_value.ok + normalizedText: '{ match (self.shard_count, self.shard_index) { (None, None) => Ok(None), (Some(count), None) => Err(error!( + "a shard count of {count} was set without a shard index; a shard is both, so pass `--shard-index` or set `index` in + the `[shard]` table" ) .usage()), (None, Some(index)) => Err(error!( "a shard index of {index} was set without a shard + count; a shard is both, so pass `--shard-count` or set `count` in the `[shard]` table" ) .usage()), (Some(count), + Some(index)) => { if count == 0 { return Err(error!("a shard count of 0 divides the population into nothing; it must + be at least 1").usage()); } if count > crate::merge::MAX_SHARDS { return Err(error!( "a shard count of {count} is + more than the {} a merge will account for; a rotation that large cannot be merged back together", crate::merge::MAX_SHARDS + ) .usage()); } if index >= count { return Err(error!( "shard index {index} is out of range for a shard count of {count}; + valid indices are 0..{}", count - 1 ) .usage()); } Ok(Some((count, index))) } } }' + occurrence: 0 + testSet: 1824 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1822 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: option.some_to_none + normalizedText: Some((count, index)) + occurrence: 0 + testSet: 1825 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: relational.eq_to_ne + normalizedText: count == 0 + occurrence: 0 + testSet: 1822 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: relational.ge_to_gt + normalizedText: index >= count + occurrence: 0 + testSet: 1823 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: relational.ge_to_le + normalizedText: index >= count + occurrence: 0 + testSet: 1823 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: relational.gt_to_ge + normalizedText: count > crate::merge::MAX_SHARDS + occurrence: 0 + testSet: 1823 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: relational.gt_to_lt + normalizedText: count > crate::merge::MAX_SHARDS + occurrence: 0 + testSet: 1823 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: result.err_to_ok + normalizedText: Err(error!( "a shard count of {count} was set without a shard index; a shard is both, so pass `--shard-index` + or set `index` in the `[shard]` table" ) .usage()) + occurrence: 0 + testSet: 1826 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: result.err_to_ok + normalizedText: Err(error!( "a shard index of {index} was set without a shard count; a shard is both, so pass `--shard-count` + or set `count` in the `[shard]` table" ) .usage()) + occurrence: 0 + testSet: 1827 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: result.err_to_ok + normalizedText: Err(error!( "shard index {index} is out of range for a shard count of {count}; valid indices are 0..{}", + count - 1 ) .usage()) + occurrence: 0 + testSet: 1828 + - site: + file: crates/cargo-gamma-lib/src/commands/cli.rs + item: SelectArgs::shard + mutator: result.err_to_ok + normalizedText: Err(error!("a shard count of 0 divides the population into nothing; it must be at least 1").usage()) + occurrence: 0 + testSet: 1829 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::begin + mutator: fn_value.unit + normalizedText: '{ self.progress.begin(self.host, active, completed, detail); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::begin + mutator: stmt.delete_call + normalizedText: self.progress.begin(self.host, active, completed, detail); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::build_finished + mutator: fn_value.unit + normalizedText: '{ self.progress.restore(self.host); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::build_finished + mutator: stmt.delete_call + normalizedText: self.progress.restore(self.host); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::build_output + mutator: cond.always_false + normalizedText: '!self.show_build' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::build_output + mutator: cond.always_true + normalizedText: '!self.show_build' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::build_output + mutator: cond.negate + normalizedText: '!self.show_build' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::build_output + mutator: fn_value.unit + normalizedText: '{ if !self.show_build { return; } self.progress.relay(self.host, &crate::report::continuation(), line); + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::build_output + mutator: unary.remove_not + normalizedText: '!self.show_build' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::build_progress + mutator: cond.always_false + normalizedText: self.show_build + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::build_progress + mutator: cond.always_true + normalizedText: self.show_build + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::build_progress + mutator: cond.negate + normalizedText: self.show_build + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::build_progress + mutator: fn_value.unit + normalizedText: '{ if self.show_build { return; } self.progress.borrowed(self.host, bar); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::build_progress + mutator: stmt.delete_call + normalizedText: self.progress.borrowed(self.host, bar); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::complete + mutator: fn_value.unit + normalizedText: '{ self.progress.complete(self.host, detail); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::complete + mutator: stmt.delete_call + normalizedText: self.progress.complete(self.host, detail); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::end + mutator: fn_value.unit + normalizedText: '{ self.progress.end(self.host, detail); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::end + mutator: stmt.delete_call + normalizedText: self.progress.end(self.host, detail); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: cond.always_false + normalizedText: '!self.estimate' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: cond.always_false + normalizedText: mutant.outcome != Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: cond.always_true + normalizedText: '!self.estimate' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: cond.always_true + normalizedText: mutant.outcome != Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: cond.negate + normalizedText: '!self.estimate' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: cond.negate + normalizedText: mutant.outcome != Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: expr.decrement + normalizedText: live + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: expr.increment + normalizedText: live + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: fn_value.unit + normalizedText: '{ for mutant in &plan.mutants { if mutant.outcome != Outcome::Pending { self.verdict_log.record(mutant); + } } let live = plan.mutants.iter().filter(|mutant| mutant.ordinal > 0).count(); self.progress.set_total(live); if + !self.estimate { return; } self.progress.clear(self.host); let projection = format!("{} {}", self.styler.verb("Estimate"), + crate::estimate::render(estimate)); let mut stream = self.host.error(); let _ = writeln!(stream, "{projection}"); + let _ = stream.flush(); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: relational.gt_to_ge + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: relational.gt_to_lt + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: relational.ne_to_eq + normalizedText: mutant.outcome != Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: stmt.delete_call + normalizedText: self.progress.set_total(live); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::measured + mutator: unary.remove_not + normalizedText: '!self.estimate' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::mutant + mutator: fn_value.unit + normalizedText: '{ self.verdict_log.record(mutant); match mutant.outcome { Outcome::Survived => { let label = self.styler.outcome(Outcome::Survived); + self.progress.labelled(self.host, &label, &mutant.describe()); } outcome @ (Outcome::Timeout | Outcome::OutOfMemory) + => { let label = self.styler.outcome(outcome); let detail = mutant_detail(mutant); self.progress.labelled(self.host, + &label, &detail); } _ => {} } self.progress.record(mutant.outcome); self.progress.tick(self.host); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::mutant + mutator: match_arm.never_matches + normalizedText: Outcome::Survived + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::mutant + mutator: stmt.delete_call + normalizedText: self.progress.labelled(self.host, &label, &mutant.describe()); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::mutant + mutator: stmt.delete_call + normalizedText: self.progress.record(mutant.outcome); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::mutant + mutator: stmt.delete_call + normalizedText: self.progress.tick(self.host); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::mutant + mutator: stmt.delete_call + normalizedText: self.verdict_log.record(mutant); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::phase_progress + mutator: expr.decrement + normalizedText: completed + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::phase_progress + mutator: expr.decrement + normalizedText: total + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::phase_progress + mutator: expr.increment + normalizedText: completed + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::phase_progress + mutator: expr.increment + normalizedText: total + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::phase_progress + mutator: fn_value.unit + normalizedText: '{ self.progress.phase_progress(self.host, completed, total, unit); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::phase_progress + mutator: stmt.delete_call + normalizedText: self.progress.phase_progress(self.host, completed, total, unit); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::testing_log + mutator: fn_value.ok + normalizedText: '{ self.verdict_log.start(scratch) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::wants_build_output + mutator: fn_value.bool_false + normalizedText: '{ self.show_build }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: as crate::exec::Events>::wants_build_output + mutator: fn_value.bool_true + normalizedText: '{ self.show_build }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: ConsoleEvents<'_,H>::finish_verdict_log + mutator: fn_value.ok + normalizedText: '{ self.verdict_log.finish() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: mutant_detail + mutator: cond.always_false + normalizedText: mutant.outcome == Outcome::Timeout + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: mutant_detail + mutator: cond.always_true + normalizedText: mutant.outcome == Outcome::Timeout + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: mutant_detail + mutator: cond.negate + normalizedText: mutant.outcome == Outcome::Timeout + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: mutant_detail + mutator: fn_value.empty_string + normalizedText: '{ let mut detail = match mutant.outcome { Outcome::Timeout | Outcome::OutOfMemory | Outcome::Flaky + => mutant .note .as_deref() .map_or_else(|| mutant.describe(), |note| format!("{}: {note}", mutant.describe())), _ + => mutant.describe(), }; if mutant.outcome == Outcome::Timeout { let _ = write!(detail, " (after {})", crate::advise::human(mutant.elapsed())); + } detail }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: mutant_detail + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut detail = match mutant.outcome { Outcome::Timeout | Outcome::OutOfMemory | Outcome::Flaky + => mutant .note .as_deref() .map_or_else(|| mutant.describe(), |note| format!("{}: {note}", mutant.describe())), _ + => mutant.describe(), }; if mutant.outcome == Outcome::Timeout { let _ = write!(detail, " (after {})", crate::advise::human(mutant.elapsed())); + } detail }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/console_events.rs + item: mutant_detail + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Timeout + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: check_shard + mutator: fn_value.ok + normalizedText: '{ let _shard = select.shard()?; Ok(()) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatch + mutator: fn_value.ok + normalizedText: '{ match cli.command { Command::Run(mut args) => { configure(host, &mut args, styler)?; check_shard(&args.select)?; + #[cfg(target_os = "linux")] if let Some(code) = relaunch_for_memory_control(host, &args) { return Ok(code); } run_session(host, + &args, cli.progress, styler) } Command::List(mut args) => { let config = Config::resolve(&args.select)?; let cargo + = config.cargo_options(); config.apply_selection(&mut args.select)?; check_shard(&args.select)?; list_with_cargo(host, + &args, styler, &cargo) } Command::Explain(args) => explain(host, &args), Command::Suppress(mut args) => { configure(host, + &mut args.run, styler)?; check_shard(&args.run.select)?; #[cfg(target_os = "linux")] if let Some(code) = relaunch_for_memory_control(host, + &args.run) { return Ok(code); } suppress(host, &args, cli.progress, styler) } Command::Unsuppress(mut args) => { let + config = Config::resolve(&args.select)?; let cargo = config.cargo_options(); config.apply_selection(&mut args.select)?; + check_shard(&args.select)?; unsuppress_with_cargo(host, &args, styler, &cargo) } Command::Merge(args) => merge(host, + &args, styler), Command::Hints(mut args) => { refuse_shard(&args.select)?; let config = Config::resolve(&args.select)?; + let cargo = config.cargo_options(); config.apply_selection(&mut args.select)?; hints_with_cargo(host, &args, styler, + &cargo) } Command::Clean(args) => clean(host, &args, styler), Command::Completions(args) => Ok(completions(host, &args)), + } }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: cond.always_false + normalizedText: cause.is_usage() + occurrence: 0 + testSet: 1831 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: cond.always_false + normalizedText: is_help + occurrence: 0 + testSet: 1832 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: cond.always_true + normalizedText: cause.is_usage() + occurrence: 0 + testSet: 1831 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: cond.always_true + normalizedText: is_help + occurrence: 0 + testSet: 1832 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: cond.negate + normalizedText: cause.is_usage() + occurrence: 0 + testSet: 1831 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: cond.negate + normalizedText: is_help + occurrence: 0 + testSet: 1832 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: expr.decrement + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1833 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: expr.decrement + normalizedText: EXIT_USAGE + occurrence: 0 + testSet: 1834 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: expr.decrement + normalizedText: code + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: expr.increment + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1833 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: expr.increment + normalizedText: EXIT_USAGE + occurrence: 0 + testSet: 1834 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: expr.increment + normalizedText: code + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: fn_value.minus_one + normalizedText: '{ let normalized = normalize(args); let cli = match Cli::try_parse_from(normalized) { Ok(cli) => cli, + Err(cause) => { let is_help = matches!(cause.kind(), ErrorKind::DisplayHelp | ErrorKind::DisplayVersion); let text + = cause.render().ansi().to_string(); if is_help { let _ = write!(host.output(), "{text}"); return EXIT_OK; } let _ + = write!(host.error(), "{text}"); return EXIT_USAGE; } }; let styler = Styler::new(cli.color.resolve(host.is_terminal())); + let code = match dispatch(host, cli, styler) { Ok(code) => code, Err(cause) => { let code = if cause.is_usage() { + EXIT_USAGE } else { EXIT_CANNOT_PROCEED }; let label = styler.error("error:"); let mut stream = host.error(); let + _ = writeln!(stream, "{label} {cause}"); code } }; say_notes(host, styler); code }' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: fn_value.one + normalizedText: '{ let normalized = normalize(args); let cli = match Cli::try_parse_from(normalized) { Ok(cli) => cli, + Err(cause) => { let is_help = matches!(cause.kind(), ErrorKind::DisplayHelp | ErrorKind::DisplayVersion); let text + = cause.render().ansi().to_string(); if is_help { let _ = write!(host.output(), "{text}"); return EXIT_OK; } let _ + = write!(host.error(), "{text}"); return EXIT_USAGE; } }; let styler = Styler::new(cli.color.resolve(host.is_terminal())); + let code = match dispatch(host, cli, styler) { Ok(code) => code, Err(cause) => { let code = if cause.is_usage() { + EXIT_USAGE } else { EXIT_CANNOT_PROCEED }; let label = styler.error("error:"); let mut stream = host.error(); let + _ = writeln!(stream, "{label} {cause}"); code } }; say_notes(host, styler); code }' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: fn_value.zero + normalizedText: '{ let normalized = normalize(args); let cli = match Cli::try_parse_from(normalized) { Ok(cli) => cli, + Err(cause) => { let is_help = matches!(cause.kind(), ErrorKind::DisplayHelp | ErrorKind::DisplayVersion); let text + = cause.render().ansi().to_string(); if is_help { let _ = write!(host.output(), "{text}"); return EXIT_OK; } let _ + = write!(host.error(), "{text}"); return EXIT_USAGE; } }; let styler = Styler::new(cli.color.resolve(host.is_terminal())); + let code = match dispatch(host, cli, styler) { Ok(code) => code, Err(cause) => { let code = if cause.is_usage() { + EXIT_USAGE } else { EXIT_CANNOT_PROCEED }; let label = styler.error("error:"); let mut stream = host.error(); let + _ = writeln!(stream, "{label} {cause}"); code } }; say_notes(host, styler); code }' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: literal.str_to_empty + normalizedText: '"error:"' + occurrence: 0 + testSet: 1831 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: literal.str_to_xyzzy + normalizedText: '"error:"' + occurrence: 0 + testSet: 1831 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: dispatched + mutator: stmt.delete_call + normalizedText: say_notes(host, styler); + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: cond.always_false + normalizedText: GLOBAL_OPTIONS .iter() .any(|option| first.strip_prefix(option).is_some_and(|rest| rest.starts_with('='))) + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: cond.always_false + normalizedText: GLOBAL_OPTIONS.contains(&first) + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: cond.always_true + normalizedText: GLOBAL_OPTIONS .iter() .any(|option| first.strip_prefix(option).is_some_and(|rest| rest.starts_with('='))) + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: cond.always_true + normalizedText: GLOBAL_OPTIONS.contains(&first) + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: cond.negate + normalizedText: GLOBAL_OPTIONS .iter() .any(|option| first.strip_prefix(option).is_some_and(|rest| rest.starts_with('='))) + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: cond.negate + normalizedText: GLOBAL_OPTIONS.contains(&first) + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: fn_value.bool_false + normalizedText: '{ let mut rest = args; while let Some(first) = rest.first().and_then(|entry| entry.to_str()) { if GLOBAL_OPTIONS + .iter() .any(|option| first.strip_prefix(option).is_some_and(|rest| rest.starts_with(''=''))) { rest = &rest[1..]; + } else if GLOBAL_OPTIONS.contains(&first) { rest = rest.get(2..).unwrap_or_default(); } else { break; } } let Some(first) + = rest.first().and_then(|entry| entry.to_str()) else { return true; }; first.starts_with(''-'') && !matches!(first, + "-h" | "--help" | "-V" | "--version") }' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: fn_value.bool_true + normalizedText: '{ let mut rest = args; while let Some(first) = rest.first().and_then(|entry| entry.to_str()) { if GLOBAL_OPTIONS + .iter() .any(|option| first.strip_prefix(option).is_some_and(|rest| rest.starts_with(''=''))) { rest = &rest[1..]; + } else if GLOBAL_OPTIONS.contains(&first) { rest = rest.get(2..).unwrap_or_default(); } else { break; } } let Some(first) + = rest.first().and_then(|entry| entry.to_str()) else { return true; }; first.starts_with(''-'') && !matches!(first, + "-h" | "--help" | "-V" | "--version") }' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: iter.any_to_all + normalizedText: GLOBAL_OPTIONS .iter() .any(|option| first.strip_prefix(option).is_some_and(|rest| rest.starts_with('='))) + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: iter.first_to_last + normalizedText: rest.first() + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: iter.first_to_last + normalizedText: rest.first() + occurrence: 1 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: logical.and_to_or + normalizedText: first.starts_with('-') && !matches!(first, "-h" | "--help" | "-V" | "--version") + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: string.starts_with_to_ends_with + normalizedText: first.starts_with('-') + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: implies_run + mutator: unary.remove_not + normalizedText: '!matches!(first, "-h" | "--help" | "-V" | "--version")' + occurrence: 0 + testSet: 1836 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: cond.always_false + normalizedText: '!normalized.is_empty() && implies_run(normalized.get(1..).unwrap_or_default())' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: cond.always_false + normalizedText: normalized.get(1).is_some_and(|entry| entry == "gamma") + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: cond.always_true + normalizedText: '!normalized.is_empty() && implies_run(normalized.get(1..).unwrap_or_default())' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: cond.always_true + normalizedText: normalized.get(1).is_some_and(|entry| entry == "gamma") + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: cond.negate + normalizedText: '!normalized.is_empty() && implies_run(normalized.get(1..).unwrap_or_default())' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: cond.negate + normalizedText: normalized.get(1).is_some_and(|entry| entry == "gamma") + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: fn_value.empty_collection + normalizedText: '{ let mut normalized: Vec = args.into_iter().map(Into::into).collect(); if normalized.get(1).is_some_and(|entry| + entry == "gamma") { let _ = normalized.remove(1); } if !normalized.is_empty() && implies_run(normalized.get(1..).unwrap_or_default()) + { normalized.insert(1, "run".into()); } normalized }' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: fn_value.one_element + normalizedText: '{ let mut normalized: Vec = args.into_iter().map(Into::into).collect(); if normalized.get(1).is_some_and(|entry| + entry == "gamma") { let _ = normalized.remove(1); } if !normalized.is_empty() && implies_run(normalized.get(1..).unwrap_or_default()) + { normalized.insert(1, "run".into()); } normalized }' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1837 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1837 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: literal.str_to_empty + normalizedText: '"gamma"' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: literal.str_to_empty + normalizedText: '"run"' + occurrence: 0 + testSet: 1837 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: literal.str_to_xyzzy + normalizedText: '"gamma"' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: literal.str_to_xyzzy + normalizedText: '"run"' + occurrence: 0 + testSet: 1837 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: logical.and_to_or + normalizedText: '!normalized.is_empty() && implies_run(normalized.get(1..).unwrap_or_default())' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: relational.eq_to_ne + normalizedText: entry == "gamma" + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: stmt.delete_call + normalizedText: normalized.insert(1, "run".into()); + occurrence: 0 + testSet: 1837 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: normalize + mutator: unary.remove_not + normalizedText: '!normalized.is_empty()' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: refuse_shard + mutator: cond.always_false + normalizedText: select.shard_count.is_none() && select.shard_index.is_none() + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: refuse_shard + mutator: cond.always_true + normalizedText: select.shard_count.is_none() && select.shard_index.is_none() + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: refuse_shard + mutator: cond.negate + normalizedText: select.shard_count.is_none() && select.shard_index.is_none() + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: refuse_shard + mutator: fn_value.ok + normalizedText: '{ if select.shard_count.is_none() && select.shard_index.is_none() { return Ok(()); } Err(error!( "`hints` + is deliberately unsharded: it promotes from the whole population, because a shard sees a fraction of it and every + job in the matrix would race to overwrite the artifact. Drop `--shard-count` and `--shard-index`, and promote from + one job rather than all of them" ) .usage()) }' + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: refuse_shard + mutator: logical.and_to_or + normalizedText: select.shard_count.is_none() && select.shard_index.is_none() + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: run + mutator: expr.decrement + normalizedText: match panic::catch_unwind(AssertUnwindSafe(|| dispatched(host, args))) { Ok(code) => code, Err(_payload) + => EXIT_INTERNAL, } + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: run + mutator: expr.increment + normalizedText: match panic::catch_unwind(AssertUnwindSafe(|| dispatched(host, args))) { Ok(code) => code, Err(_payload) + => EXIT_INTERNAL, } + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: run + mutator: fn_value.minus_one + normalizedText: '{ #[cfg(windows)] cargo_gamma_unsafe::job::suppress_error_dialogs(); let notes = crate::notes::Run::new(); + let _notes = crate::notes::enter(Some(¬es)); match panic::catch_unwind(AssertUnwindSafe(|| dispatched(host, args))) + { Ok(code) => code, Err(_payload) => EXIT_INTERNAL, } }' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: run + mutator: fn_value.one + normalizedText: '{ #[cfg(windows)] cargo_gamma_unsafe::job::suppress_error_dialogs(); let notes = crate::notes::Run::new(); + let _notes = crate::notes::enter(Some(¬es)); match panic::catch_unwind(AssertUnwindSafe(|| dispatched(host, args))) + { Ok(code) => code, Err(_payload) => EXIT_INTERNAL, } }' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: run + mutator: fn_value.zero + normalizedText: '{ #[cfg(windows)] cargo_gamma_unsafe::job::suppress_error_dialogs(); let notes = crate::notes::Run::new(); + let _notes = crate::notes::enter(Some(¬es)); match panic::catch_unwind(AssertUnwindSafe(|| dispatched(host, args))) + { Ok(code) => code, Err(_payload) => EXIT_INTERNAL, } }' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: run + mutator: option.some_to_none + normalizedText: Some(¬es) + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: run + mutator: stmt.delete_call + normalizedText: '#[cfg(windows)] cargo_gamma_unsafe::job::suppress_error_dialogs();' + occurrence: 0 + testSet: 1835 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: say_notes + mutator: cond.always_true + normalizedText: notes.is_empty() + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: say_notes + mutator: cond.negate + normalizedText: notes.is_empty() + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/dispatch.rs + item: say_notes + mutator: fn_value.unit + normalizedText: '{ let notes = crate::notes::drain(); if notes.is_empty() { return; } let label = styler.warning(); + let mut stream = host.error(); for note in notes { let _ = writeln!(stream, "{label} {note}"); } }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/explain.rs + item: explain + mutator: cond.always_false + normalizedText: '!mutator.aliases.is_empty()' + occurrence: 0 + testSet: 1839 + - site: + file: crates/cargo-gamma-lib/src/commands/explain.rs + item: explain + mutator: cond.always_true + normalizedText: '!mutator.aliases.is_empty()' + occurrence: 0 + testSet: 1839 + - site: + file: crates/cargo-gamma-lib/src/commands/explain.rs + item: explain + mutator: cond.negate + normalizedText: '!mutator.aliases.is_empty()' + occurrence: 0 + testSet: 1839 + - site: + file: crates/cargo-gamma-lib/src/commands/explain.rs + item: explain + mutator: expr.decrement + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1839 + - site: + file: crates/cargo-gamma-lib/src/commands/explain.rs + item: explain + mutator: expr.increment + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1839 + - site: + file: crates/cargo-gamma-lib/src/commands/explain.rs + item: explain + mutator: unary.remove_not + normalizedText: '!mutator.aliases.is_empty()' + occurrence: 0 + testSet: 1839 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: cond.always_false + normalizedText: args.dry_run + occurrence: 0 + testSet: 1840 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: cond.always_false + normalizedText: promoted.is_empty() + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: cond.always_false + normalizedText: promotion.changed + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: cond.always_true + normalizedText: args.dry_run + occurrence: 0 + testSet: 1840 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: cond.always_true + normalizedText: promoted.is_empty() + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: cond.always_true + normalizedText: promotion.changed + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: cond.negate + normalizedText: args.dry_run + occurrence: 0 + testSet: 1840 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: cond.negate + normalizedText: promoted.is_empty() + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: cond.negate + normalizedText: promotion.changed + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: expr.decrement + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1842 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: expr.decrement + normalizedText: EXIT_OK + occurrence: 1 + testSet: 1843 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: expr.decrement + normalizedText: EXIT_OK + occurrence: 2 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: expr.increment + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1842 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: expr.increment + normalizedText: EXIT_OK + occurrence: 1 + testSet: 1843 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: expr.increment + normalizedText: EXIT_OK + occurrence: 2 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: fn_value.ok + normalizedText: '{ let selection = args.select.selection()?; let plan = crate::discover::plan_for_build(&args.select, + &selection, None, cargo, &mut |_| {})?; let base = gamma_base(&plan.root, args.cache_dir.as_deref()); let record = + RunRecord::load(&base); let promoted = Hints::promoted(&record, &plan.mutants); if promoted.is_empty() { writeln!( + host.error(), "{} nothing to promote: no run under `{base}` has recorded a killing test, build-order hint, or generalized + test-order hint for the current population", styler.verb("Finished") )?; return Ok(EXIT_OK); } let path = hints_path(&plan.root); + if args.dry_run { let counts = promoted.counts(); writeln!( host.error(), "{} `{path}` would carry {}, {}, and {} + generalized hints, for {}", styler.verb("Preview"), quantity(counts.probes, "killing test"), quantity(counts.ordering, + "build-order hint"), counts.generalized, quantity(counts.mutants, "mutant") )?; return Ok(EXIT_OK); } let promotion + = promoted.write(&path)?; let verb = if promotion.changed { "Wrote" } else { "Unchanged" }; writeln!( host.error(), + "{} `{path}`: {}, {}, and {} generalized hints, for {}", styler.verb(verb), quantity(promotion.probes, "killing test"), + quantity(promotion.ordering, "build-order hint"), promotion.generalized, quantity(promotion.mutants, "mutant") )?; + Ok(EXIT_OK) }' + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: literal.str_to_empty + normalizedText: '"Unchanged"' + occurrence: 0 + testSet: 1844 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: literal.str_to_empty + normalizedText: '"Wrote"' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: literal.str_to_xyzzy + normalizedText: '"Unchanged"' + occurrence: 0 + testSet: 1844 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: literal.str_to_xyzzy + normalizedText: '"Wrote"' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/commands/hints.rs + item: hints_with_cargo + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/commands/host.rs + item: as Write>::write + mutator: fn_value.ok + normalizedText: '{ match self.0.write(buf) { Err(cause) if cause.kind() == io::ErrorKind::BrokenPipe => Ok(buf.len()), + outcome => outcome, } }' + occurrence: 0 + testSet: 1845 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: describe_for_listing + mutator: fn_value.empty_string + normalizedText: '{ let Some(channel) = mutant .suppression .as_ref() .filter(|_| mutant.outcome == crate::model::Outcome::Ignored) + .map(|suppression| suppression.channel.as_str()) else { return mutant.describe(); }; format!("{} [suppressed: {channel}]", + mutant.describe()) }' + occurrence: 0 + testSet: 1846 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: describe_for_listing + mutator: fn_value.xyzzy_string + normalizedText: '{ let Some(channel) = mutant .suppression .as_ref() .filter(|_| mutant.outcome == crate::model::Outcome::Ignored) + .map(|suppression| suppression.channel.as_str()) else { return mutant.describe(); }; format!("{} [suppressed: {channel}]", + mutant.describe()) }' + occurrence: 0 + testSet: 1846 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: describe_for_listing + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == crate::model::Outcome::Ignored + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_files + mutator: cond.always_false + normalizedText: args.json + occurrence: 0 + testSet: 1848 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_files + mutator: cond.always_true + normalizedText: args.json + occurrence: 0 + testSet: 1848 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_files + mutator: cond.negate + normalizedText: args.json + occurrence: 0 + testSet: 1848 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_files + mutator: expr.decrement + normalizedText: EXIT_OK + occurrence: 1 + testSet: 1848 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_files + mutator: expr.increment + normalizedText: EXIT_OK + occurrence: 1 + testSet: 1848 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_files + mutator: fn_value.ok + normalizedText: '{ let selection = args.select.selection()?; let plan = crate::discover::plan_for_build(&args.select, + &selection, args.select.shard()?, cargo, &mut |_| {})?; crate::report::skipped(host, &plan, styler)?; let mut stream + = host.results(); if args.json { let paths: Vec<&Utf8PathBuf> = plan.files.iter().map(|file| &file.path).collect(); + write_pretty_json(&mut stream, &paths, "the file list")?; return Ok(EXIT_OK); } for file in &plan.files { writeln!(stream, + "{}", encode_controls(file.path.as_str()))?; } Ok(EXIT_OK) }' + occurrence: 0 + testSet: 1848 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: cond.always_false + normalizedText: args.json + occurrence: 0 + testSet: 1849 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: cond.always_false + normalizedText: suppressed > 0 + occurrence: 0 + testSet: 1850 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: cond.always_true + normalizedText: args.json + occurrence: 0 + testSet: 1849 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: cond.always_true + normalizedText: suppressed > 0 + occurrence: 0 + testSet: 1850 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: cond.negate + normalizedText: args.json + occurrence: 0 + testSet: 1849 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: cond.negate + normalizedText: suppressed > 0 + occurrence: 0 + testSet: 1850 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: expr.decrement + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1851 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: expr.decrement + normalizedText: EXIT_OK + occurrence: 1 + testSet: 1850 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: expr.increment + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1851 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: expr.increment + normalizedText: EXIT_OK + occurrence: 1 + testSet: 1850 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: fn_value.ok + normalizedText: '{ let selection = args.select.selection()?; let shard = args.select.shard()?; let plan = crate::discover::plan_for_build(&args.select, + &selection, shard, cargo, &mut |_| {})?; crate::report::skipped(host, &plan, styler)?; if let Some(path) = args.json_report.as_ref() + { write_population(host, &plan, shard, path)?; } let mut stream = host.results(); if args.json { write_pretty_json(&mut + stream, &plan.mutants, "the mutant list")?; return Ok(EXIT_OK); } for mutant in &plan.mutants { writeln!(stream, "{}", + encode_controls(&describe_for_listing(mutant)))?; } let suppressed = plan .mutants .iter() .filter(|mutant| mutant.outcome + == crate::model::Outcome::Ignored) .count(); if suppressed > 0 { writeln!(stream)?; writeln!(stream, "{suppressed} + suppressed")?; } Ok(EXIT_OK) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1850 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: literal.str_to_empty + normalizedText: '"the mutant list"' + occurrence: 0 + testSet: 1851 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: literal.str_to_xyzzy + normalizedText: '"the mutant list"' + occurrence: 0 + testSet: 1851 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == crate::model::Outcome::Ignored + occurrence: 0 + testSet: 1846 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: relational.gt_to_ge + normalizedText: suppressed > 0 + occurrence: 0 + testSet: 1850 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutants + mutator: relational.gt_to_lt + normalizedText: suppressed > 0 + occurrence: 0 + testSet: 1850 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: cond.always_false + normalizedText: args.json + occurrence: 0 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: cond.always_false + normalizedText: selection.contains(mutator.name) + occurrence: 0 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: cond.always_true + normalizedText: args.json + occurrence: 0 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: cond.always_true + normalizedText: selection.contains(mutator.name) + occurrence: 0 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: cond.negate + normalizedText: args.json + occurrence: 0 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: cond.negate + normalizedText: selection.contains(mutator.name) + occurrence: 0 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: expr.decrement + normalizedText: EXIT_OK + occurrence: 1 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: expr.increment + normalizedText: EXIT_OK + occurrence: 1 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: fn_value.ok + normalizedText: '{ let selection = args.select.selection()?; let mut stream = host.results(); if args.json { let entries: + Vec = registry::REGISTRY .iter() .map(|mutator| { serde_json::json!({ "name": mutator.name, "description": + mutator.description, "default": mutator.default_on, "enabled": selection.contains(mutator.name), "aliases": mutator.aliases, + }) }) .collect(); write_pretty_json(&mut stream, &entries, "the mutator registry")?; return Ok(EXIT_OK); } let width + = registry::REGISTRY.iter().map(|m| m.name.len()).max().unwrap_or(0); for mutator in registry::REGISTRY { let mark + = if selection.contains(mutator.name) { "*" } else { " " }; writeln!(stream, "{mark} {:width$} {}", mutator.name, + mutator.description)?; } writeln!(stream)?; writeln!(stream, "* = enabled by the current selection")?; Ok(EXIT_OK) + }' + occurrence: 0 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: iter.max_to_min + normalizedText: registry::REGISTRY.iter().map(|m| m.name.len()).max() + occurrence: 0 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: literal.str_to_empty + normalizedText: '" "' + occurrence: 0 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: literal.str_to_empty + normalizedText: '"*"' + occurrence: 0 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: literal.str_to_xyzzy + normalizedText: '" "' + occurrence: 0 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_mutators + mutator: literal.str_to_xyzzy + normalizedText: '"*"' + occurrence: 0 + testSet: 1852 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: list_with_cargo + mutator: fn_value.ok + normalizedText: '{ match args.what { ListKind::Mutators => list_mutators(host, args), ListKind::Files => list_files(host, + args, styler, cargo), ListKind::Mutants => list_mutants(host, args, styler, cargo), ListKind::Presets => list_presets(host, + args), } }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/commands/list.rs + item: write_pretty_json + mutator: fn_value.ok + normalizedText: '{ serde_json::to_writer_pretty(&mut *stream, entries).map_err(|cause| error!("could not write {what} + as JSON").caused_by(cause))?; writeln!(stream).map_err(|cause| error!("could not write {what} as JSON").caused_by(cause))?; + Ok(()) }' + occurrence: 0 + testSet: 1851 + - site: + file: crates/cargo-gamma-lib/src/commands/merge.rs + item: merge_at + mutator: expr.decrement + normalizedText: EXIT_GATE_FAILED + occurrence: 2 + testSet: 1853 + - site: + file: crates/cargo-gamma-lib/src/commands/merge.rs + item: merge_at + mutator: expr.decrement + normalizedText: EXIT_GATE_FAILED + occurrence: 3 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/merge.rs + item: merge_at + mutator: expr.decrement + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1855 + - site: + file: crates/cargo-gamma-lib/src/commands/merge.rs + item: merge_at + mutator: expr.increment + normalizedText: EXIT_GATE_FAILED + occurrence: 2 + testSet: 1853 + - site: + file: crates/cargo-gamma-lib/src/commands/merge.rs + item: merge_at + mutator: expr.increment + normalizedText: EXIT_GATE_FAILED + occurrence: 3 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/merge.rs + item: merge_at + mutator: expr.increment + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1855 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::directory + mutator: fn_value.default + normalizedText: '{ args.artifact_dir.clone().unwrap_or_else(|| root.join("target/cargo-gamma")) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::directory + mutator: literal.str_to_empty + normalizedText: '"target/cargo-gamma"' + occurrence: 0 + testSet: 1856 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::directory + mutator: literal.str_to_xyzzy + normalizedText: '"target/cargo-gamma"' + occurrence: 0 + testSet: 1856 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::resolve + mutator: literal.str_to_empty + normalizedText: '"gamma-diagnostics.json"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::resolve + mutator: literal.str_to_empty + normalizedText: '"gamma-perf-advice.md"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::resolve + mutator: literal.str_to_empty + normalizedText: '"gamma-report.html"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::resolve + mutator: literal.str_to_empty + normalizedText: '"gamma-report.json"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::resolve + mutator: literal.str_to_empty + normalizedText: '"gamma-report.sarif"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::resolve + mutator: literal.str_to_xyzzy + normalizedText: '"gamma-diagnostics.json"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::resolve + mutator: literal.str_to_xyzzy + normalizedText: '"gamma-perf-advice.md"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::resolve + mutator: literal.str_to_xyzzy + normalizedText: '"gamma-report.html"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::resolve + mutator: literal.str_to_xyzzy + normalizedText: '"gamma-report.json"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: Documents::resolve + mutator: literal.str_to_xyzzy + normalizedText: '"gamma-report.sarif"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: cond.always_false + normalizedText: '!mode.is_enabled()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: cond.always_false + normalizedText: '!recorded.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: cond.always_false + normalizedText: record.holds_unviability() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: cond.always_true + normalizedText: '!mode.is_enabled()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: cond.always_true + normalizedText: '!recorded.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: cond.always_true + normalizedText: record.holds_unviability() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: cond.negate + normalizedText: '!mode.is_enabled()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: cond.negate + normalizedText: '!recorded.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: cond.negate + normalizedText: record.holds_unviability() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: match_guard.always_false + normalizedText: '!args.dry_run' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: match_guard.always_true + normalizedText: '!args.dry_run' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: match_guard.negate + normalizedText: '!args.dry_run' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: unary.remove_not + normalizedText: '!mode.is_enabled()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopt + mutator: unary.remove_not + normalizedText: '!recorded.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopted_from_cache + mutator: expr.decrement + normalizedText: plan.mutants .iter() .filter(|mutant| mutant.outcome == Outcome::CompileError && cached.contains_key(&mutant.id)) + .count() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopted_from_cache + mutator: expr.increment + normalizedText: plan.mutants .iter() .filter(|mutant| mutant.outcome == Outcome::CompileError && cached.contains_key(&mutant.id)) + .count() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopted_from_cache + mutator: fn_value.one + normalizedText: '{ plan.mutants .iter() .filter(|mutant| mutant.outcome == Outcome::CompileError && cached.contains_key(&mutant.id)) + .count() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopted_from_cache + mutator: fn_value.zero + normalizedText: '{ plan.mutants .iter() .filter(|mutant| mutant.outcome == Outcome::CompileError && cached.contains_key(&mutant.id)) + .count() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopted_from_cache + mutator: logical.and_to_or + normalizedText: mutant.outcome == Outcome::CompileError && cached.contains_key(&mutant.id) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: adopted_from_cache + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::CompileError + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: advice_markdown + mutator: fn_value.empty_string + normalizedText: '{ let timing = crate::advise::Timing { build: session.build, baseline: session.baseline_wall, wall, + jobs: exec::resolve_jobs(args.measure.jobs), }; let findings = crate::advise::analyze_run(&plan.mutants, &timing, + args.measure.profile.as_deref(), &session.binaries); let summary = crate::model::Summary::of(&plan.mutants); crate::advise::render_markdown(&findings, + &crate::advise::yields(&plan.mutants), summary, &timing, layout) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: advice_markdown + mutator: fn_value.xyzzy_string + normalizedText: '{ let timing = crate::advise::Timing { build: session.build, baseline: session.baseline_wall, wall, + jobs: exec::resolve_jobs(args.measure.jobs), }; let findings = crate::advise::analyze_run(&plan.mutants, &timing, + args.measure.profile.as_deref(), &session.binaries); let summary = crate::model::Summary::of(&plan.mutants); crate::advise::render_markdown(&findings, + &crate::advise::yields(&plan.mutants), summary, &timing, layout) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: cache_context + mutator: fn_value.none + normalizedText: '{ let features = &args.select.features; let toolchain = crate::discover::toolchain(); let rustflags + = crate::discover::rustflags(); crate::discover::record_context(&crate::discover::RecordContext { features: &features.features, + all_features: features.all_features, no_default_features: features.no_default_features, profile: args.measure.profile.as_deref(), + extra: &args.measure.cargo_args, rustflags: rustflags.as_deref(), toolchain: toolchain.as_deref(), test_packages: + &args.measure.test_packages, include_tests: &args.measure.include_tests, exclude_tests: &args.measure.exclude_tests, + test_workspace: args.measure.test_workspace, whole_test_binaries: args.measure.whole_test_binaries, nextest: args.measure.nextest, + cargo_test_args: &args.measure.cargo_test_args, test_args: &args.measure.test_args, baseline: !args.no_baseline, confirm: + !args.no_confirm, stall: !args.no_stall_detection, test_timeout_multiplier: args.measure.test_timeout_multiplier, + minimum_test_timeout: args.measure.minimum_test_timeout, memory: args.measure.memory, memory_multiplier: args.measure.memory_multiplier, + memory_headroom: args.measure.memory_headroom, memory_limit: args.measure.memory_limit, baseline_memory_limit: args.measure.baseline_memory_limit, + no_relaunch: args.measure.no_relaunch, copy_ignored: args.measure.copy_ignored, jobs: args.measure.jobs, build_timeout: + args.limits.build_timeout, build_timeout_multiplier: args.limits.build_timeout_multiplier, rollback_rounds: args.limits.rollback_rounds, + }) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: cache_context + mutator: unary.remove_not + normalizedText: '!args.no_baseline' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: cache_context + mutator: unary.remove_not + normalizedText: '!args.no_confirm' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: cache_context + mutator: unary.remove_not + normalizedText: '!args.no_stall_detection' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: configure + mutator: cond.always_false + normalizedText: Config::foreign_present(&args.select.dir) && !args.select.config.no_config && args.select.config.path.is_none() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: configure + mutator: cond.always_true + normalizedText: Config::foreign_present(&args.select.dir) && !args.select.config.no_config && args.select.config.path.is_none() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: configure + mutator: cond.negate + normalizedText: Config::foreign_present(&args.select.dir) && !args.select.config.no_config && args.select.config.path.is_none() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: configure + mutator: fn_value.ok + normalizedText: '{ if Config::foreign_present(&args.select.dir) && !args.select.config.no_config && args.select.config.path.is_none() + { let hint = styler.note("Hint"); writeln!( host.error(), "{hint} .cargo/mutants.toml is not supported or read; configure + gamma.toml explicitly" )?; } Config::resolve(&args.select)?.apply(args)?; Ok(()) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: configure + mutator: logical.and_to_or + normalizedText: Config::foreign_present(&args.select.dir) && !args.select.config.no_config + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: configure + mutator: logical.and_to_or + normalizedText: Config::foreign_present(&args.select.dir) && !args.select.config.no_config && args.select.config.path.is_none() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: distinguish + mutator: cond.always_false + normalizedText: shown_score != shown_minimum + occurrence: 0 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: distinguish + mutator: cond.always_true + normalizedText: shown_score != shown_minimum + occurrence: 0 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: distinguish + mutator: cond.negate + normalizedText: shown_score != shown_minimum + occurrence: 0 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: distinguish + mutator: fn_value.tuple + normalizedText: '{ for precision in 1..=12 { let shown_score = format!("{score:.precision$}"); let shown_minimum = format!("{minimum:.precision$}"); + if shown_score != shown_minimum { return (shown_score, shown_minimum); } } (format!("{score}"), format!("{minimum}")) + }' + occurrence: 0 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: distinguish + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: distinguish + mutator: literal.int_decrement + normalizedText: '12' + occurrence: 0 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: distinguish + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: distinguish + mutator: literal.int_increment + normalizedText: '12' + occurrence: 0 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: distinguish + mutator: literal.int_to_one + normalizedText: '12' + occurrence: 0 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: distinguish + mutator: literal.int_to_zero + normalizedText: '12' + occurrence: 0 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: distinguish + mutator: range.inclusive_to_exclusive + normalizedText: 1..=12 + occurrence: 0 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: distinguish + mutator: relational.ne_to_eq + normalizedText: shown_score != shown_minimum + occurrence: 0 + testSet: 1854 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: dropped_panel + mutator: cond.always_false + normalizedText: dropped.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: dropped_panel + mutator: cond.always_true + normalizedText: dropped.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: dropped_panel + mutator: cond.negate + normalizedText: dropped.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: dropped_panel + mutator: fn_value.none + normalizedText: '{ if dropped.is_empty() { return None; } Some(format!( "### Test packages dropped from this run\n\n These + packages do not compile in this workspace, and neither the selected packages nor the whole workspace would + check while they were in it. The run went ahead over the packages being mutated instead of refusing to start.\n\n Their + test targets were not built and did not run, so any mutant they would have killed is reported here as a survivor. + Fix them, or narrow the run yourself with `--test-package`, before reading this score against one taken over + the whole workspace.\n\n```\n{}\n```\n", dropped.join("\n") )) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: dropped_panel + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: emit_advice + mutator: fn_value.ok + normalizedText: '{ let path = Documents::resolve(args, &plan.root).advice; let advice = advice_markdown(args, plan, + session, wall, crate::advise::Layout::Document); crate::elements::write(&path, &advice) .map_err(|cause| crate::error::error!("could + not write the advice to `{path}`").caused_by(cause))?; writeln!(host.error(), "{} {path}", styler.verb("Wrote"))?; + Ok(()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: emit_diag + mutator: cond.always_false + normalizedText: args.diag + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: emit_diag + mutator: cond.always_true + normalizedText: args.diag + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: emit_diag + mutator: cond.negate + normalizedText: args.diag + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: emit_diag + mutator: fn_value.ok + normalizedText: '{ let jobs = exec::resolve_jobs(args.measure.jobs); if args.diag { write!(host.error(), "\n{}", crate::diag::render(plan, + session, jobs, started.elapsed()))?; } emit_diag_bundle(host, args, plan, session, jobs, started, styler) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: emit_diag_bundle + mutator: fn_value.ok + normalizedText: '{ let path = Documents::resolve(args, &plan.root).diag; let context = crate::diag::Context { cores: + exec::available_parallelism(), jobs, wall: started.elapsed(), mutators: args.select.selection().map(|selection| selection.sorted()).unwrap_or_default(), + shard: args.select.shard().ok().flatten(), scratch_bytes: session .filter(|_measured| args.diag) .map(|session| exec::footprint(&session.scratch)), + redaction: args.diag_names, version: env!("CARGO_PKG_VERSION"), }; let bundle = crate::diag::bundle(plan, session, + &context); crate::elements::write(&path, &crate::diag::to_json(&bundle)?) .map_err(|cause| crate::error::error!("could + not write the diagnostics bundle to `{path}`").caused_by(cause))?; writeln!(host.error(), "{} {}", styler.verb("Wrote"), + path)?; Ok(()) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: emit_reports + mutator: option.some_to_none + normalizedText: Some(run_info(args, tests, dropped)) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: incremental_context + mutator: fn_value.none + normalizedText: '{ let mode = args.incremental.unwrap_or(exec::IncrementalMode::Build); (!args.dry_run && mode.is_enabled()).then(|| + cache_context(args)).flatten() }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: incremental_context + mutator: logical.and_to_or + normalizedText: '!args.dry_run && mode.is_enabled()' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: incremental_context + mutator: unary.remove_not + normalizedText: '!args.dry_run' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_false + normalizedText: args.dry_run + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_false + normalizedText: args.leak_dirs + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_false + normalizedText: built.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_false + normalizedText: built.is_some() || record_locks.is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_false + normalizedText: outcome.is_err() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_false + normalizedText: plan.mutants.is_empty() + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_false + normalizedText: plan.mutants.is_empty() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_false + normalizedText: should_claim_cache(incremental.is_some(), args.dry_run) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_true + normalizedText: args.dry_run + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_true + normalizedText: args.leak_dirs + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_true + normalizedText: built.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_true + normalizedText: built.is_some() || record_locks.is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_true + normalizedText: outcome.is_err() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_true + normalizedText: plan.mutants.is_empty() + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_true + normalizedText: plan.mutants.is_empty() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.always_true + normalizedText: should_claim_cache(incremental.is_some(), args.dry_run) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.negate + normalizedText: args.dry_run + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.negate + normalizedText: args.leak_dirs + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.negate + normalizedText: built.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.negate + normalizedText: built.is_some() || record_locks.is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.negate + normalizedText: outcome.is_err() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.negate + normalizedText: plan.mutants.is_empty() + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.negate + normalizedText: plan.mutants.is_empty() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: cond.negate + normalizedText: should_claim_cache(incremental.is_some(), args.dry_run) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: iter.any_to_all + normalizedText: plan .mutants .iter() .any(|mutant| matches!(mutant.outcome, Outcome::Timeout | Outcome::OutOfMemory)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: literal.str_to_empty + normalizedText: '"Analyzing"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: literal.str_to_empty + normalizedText: '"the workspace"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: literal.str_to_xyzzy + normalizedText: '"Analyzing"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: literal.str_to_xyzzy + normalizedText: '"the workspace"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: logical.or_to_and + normalizedText: built.is_some() || record_locks.is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: option.none_to_some + normalizedText: None + occurrence: 3 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: option.none_to_some + normalizedText: None + occurrence: 4 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: option.some_to_none + normalizedText: Some(&built.session) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: option.some_to_none + normalizedText: Some(&panel) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: option.some_to_none + normalizedText: Some(&prepared.context) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: option.some_to_none + normalizedText: Some(exec::claim_cache(&survey.root, args.measure.cache_dir.as_deref())?) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: option.some_to_none + normalizedText: Some(plan) + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: option.some_to_none + normalizedText: Some(plan) + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: stmt.delete_call + normalizedText: pause_after_cache_adoption(&survey.root, lock_identity); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: stmt.delete_call + normalizedText: progress.finish(host); + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: stmt.delete_call + normalizedText: progress.finish(host); + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: stmt.delete_call + normalizedText: progress.status(host, "Analyzing", "the workspace"); + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: stmt.delete_call + normalizedText: record.store(&base, &plan.root); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: measured + mutator: stmt.delete_call + normalizedText: warn_auxiliary(host, log_failure.as_ref(), styler); + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: memory_policy + mutator: cond.always_false + normalizedText: stated.is_some() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: memory_policy + mutator: cond.always_true + normalizedText: stated.is_some() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: memory_policy + mutator: cond.negate + normalizedText: stated.is_some() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: memory_policy + mutator: expr.decrement + normalizedText: exec::DEFAULT_HEADROOM + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: memory_policy + mutator: expr.increment + normalizedText: exec::DEFAULT_HEADROOM + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: memory_policy + mutator: fn_value.default + normalizedText: '{ let implied = exec::implied_memory_control(args.measure.memory_limit, args.measure.baseline_memory_limit); + let stated = args.measure.memory.or(implied); let demand = if stated.is_some() { exec::Demand::Stated } else { exec::Demand::Inherited + }; exec::MemoryPolicy { control: stated.unwrap_or_default(), demand, multiplier: args.measure.memory_multiplier.unwrap_or(exec::DEFAULT_MULTIPLIER), + headroom: args.measure.memory_headroom.unwrap_or(exec::DEFAULT_HEADROOM), limit: args.measure.memory_limit, baseline_limit: + args.measure.baseline_memory_limit, } }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: missing_hints + mutator: fn_value.bool_false + normalizedText: '{ mode.is_enabled() && crate::discover::Hints::is_missing(root) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: missing_hints + mutator: fn_value.bool_true + normalizedText: '{ mode.is_enabled() && crate::discover::Hints::is_missing(root) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: missing_hints + mutator: logical.and_to_or + normalizedText: mode.is_enabled() && crate::discover::Hints::is_missing(root) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: pending_fails_gate + mutator: fn_value.bool_false + normalizedText: '{ args.min_score.is_some() && pending > 0 }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: pending_fails_gate + mutator: fn_value.bool_true + normalizedText: '{ args.min_score.is_some() && pending > 0 }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: pending_fails_gate + mutator: logical.and_to_or + normalizedText: args.min_score.is_some() && pending > 0 + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_cache + mutator: cond.always_false + normalizedText: adopted == 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_cache + mutator: cond.always_true + normalizedText: adopted == 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_cache + mutator: cond.negate + normalizedText: adopted == 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_cache + mutator: fn_value.ok + normalizedText: '{ if adopted == 0 { return Ok(()); } writeln!( host.error(), "{} {} known not to compile, carried forward + rather than rebuilt", styler.verb("Cached"), quantity(adopted, "mutant") )?; Ok(()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_cache + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_cache + mutator: relational.eq_to_ne + normalizedText: adopted == 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_context + mutator: fn_value.ok + normalizedText: '{ let Some(first) = moved.first() else { return Ok(()); }; let named: Vec<&str> = moved.iter().map(|term| + term.name()).collect(); let axes = if moved.len() == 1 { first.name().to_owned() } else { named.join(", ") }; writeln!( + host.error(), "{} the record''s unviability: {} differs from the run that wrote it. Its build order is still used, + so the mutants that failed last time are compiled first", styler.note("Rebuilding"), axes )?; Ok(()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_context + mutator: iter.first_to_last + normalizedText: moved.first() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_dropped + mutator: cond.always_false + normalizedText: dropped.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_dropped + mutator: cond.always_true + normalizedText: dropped.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_dropped + mutator: cond.negate + normalizedText: dropped.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_dropped + mutator: fn_value.ok + normalizedText: "{ if dropped.is_empty() { return Ok(()); } writeln!( host.error(), \"{} these packages do not compile,\ + \ so their tests were neither built nor run and could \\\n convict nothing: {}. Mutants they would have killed\ + \ are reported as survivors.\", styler.warning(), dropped.join(\", \") )?; Ok(()) }" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_idle + mutator: cond.always_false + normalizedText: plan.idle.is_empty() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_idle + mutator: cond.always_true + normalizedText: plan.idle.is_empty() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_idle + mutator: cond.negate + normalizedText: plan.idle.is_empty() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_idle + mutator: fn_value.ok + normalizedText: '{ if plan.idle.is_empty() { return Ok(()); } writeln!( host.error(), "{} {} suppressed nothing and + may no longer be needed", styler.verb("Unused"), quantity(plan.idle.len(), "skip directive") )?; for idle in &plan.idle + { let reason = idle.reason.as_ref().map_or_else(String::new, |reason| format!(" — {reason}")); writeln!(host.error(), + " {}:{}: skip({}){reason}", idle.file, idle.line, idle.selectors)?; } Ok(()) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: report_stuck + mutator: fn_value.ok + normalizedText: '{ for reason in stuck { writeln!(host.error(), "{} {reason}", styler.error("error:"))?; } Ok(()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_config + mutator: fn_value.default + normalizedText: '{ exec::Config { jobs: exec::resolve_jobs(args.measure.jobs), test_timeout_multiplier: args.measure.test_timeout_multiplier.unwrap_or(DEFAULT_TEST_TIMEOUT_MULTIPLIER), + baseline: !args.no_baseline, confirm: !args.no_confirm, stall: !args.no_stall_detection, cargo: exec::CargoOptions + { features: args.select.features.to_cargo_args(), profile: args.measure.profile.clone(), extra: args.measure.cargo_args.clone(), + test_args: test_arguments(args), color: styler.enabled(), }, memory: memory_policy(args), build: exec::BuildLimits + { timeout: args.limits.build_timeout.map(Duration::from_secs_f64), multiplier: args.limits.build_timeout_multiplier, + rollback_rounds: args.limits.rollback_rounds, }, leak_dirs: args.leak_dirs, cache_dir: args.measure.cache_dir.clone(), + copy_ignored: args.measure.copy_ignored, test_packages: args.measure.test_packages.clone(), include_tests: args.measure.include_tests.clone(), + exclude_tests: args.measure.exclude_tests.clone(), test_workspace: args.measure.test_workspace, whole_test_binaries: + args.measure.whole_test_binaries, nextest: args.measure.nextest, incremental: args.incremental.unwrap_or(exec::IncrementalMode::Build), + timeout_floor: args .measure .minimum_test_timeout .map_or_else(|| exec::Config::default().timeout_floor, Duration::from_secs_f64), + ..exec::Config::default() } }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_config + mutator: struct_field.omit + normalizedText: 'exec::Config { jobs: exec::resolve_jobs(args.measure.jobs), test_timeout_multiplier: args.measure.test_timeout_multiplier.unwrap_or(DEFAULT_TEST_TIMEOUT_MULTIPLIER), + baseline: !args.no_baseline, confirm: !args.no_confirm, stall: !args.no_stall_detection, cargo: exec::CargoOptions + { features: args.select.features.to_cargo_args(), profile: args.measure.profile.clone(), extra: args.measure.cargo_args.clone(), + test_args: test_arguments(args), color: styler.enabled(), }, memory: memory_policy(args), build: exec::BuildLimits + { timeout: args.limits.build_timeout.map(Duration::from_secs_f64), multiplier: args.limits.build_timeout_multiplier, + rollback_rounds: args.limits.rollback_rounds, }, leak_dirs: args.leak_dirs, cache_dir: args.measure.cache_dir.clone(), + copy_ignored: args.measure.copy_ignored, test_packages: args.measure.test_packages.clone(), include_tests: args.measure.include_tests.clone(), + exclude_tests: args.measure.exclude_tests.clone(), test_workspace: args.measure.test_workspace, whole_test_binaries: + args.measure.whole_test_binaries, nextest: args.measure.nextest, incremental: args.incremental.unwrap_or(exec::IncrementalMode::Build), + timeout_floor: args .measure .minimum_test_timeout .map_or_else(|| exec::Config::default().timeout_floor, Duration::from_secs_f64), + ..exec::Config::default() }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_config + mutator: unary.remove_not + normalizedText: '!args.no_baseline' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_config + mutator: unary.remove_not + normalizedText: '!args.no_confirm' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_config + mutator: unary.remove_not + normalizedText: '!args.no_stall_detection' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_info + mutator: expr.decrement + normalizedText: crate::model::MUTANT_ID_VERSION + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_info + mutator: expr.increment + normalizedText: crate::model::MUTANT_ID_VERSION + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_info + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_info + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_info + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_info + mutator: option.some_to_none + normalizedText: Some(crate::model::MUTANT_ID_VERSION) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: cond.always_false + normalizedText: '!broken.is_empty()' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: cond.always_false + normalizedText: '!stuck.is_empty()' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: cond.always_false + normalizedText: pending_fails_gate(args, summary.pending) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: cond.always_true + normalizedText: '!broken.is_empty()' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: cond.always_true + normalizedText: '!stuck.is_empty()' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: cond.always_true + normalizedText: pending_fails_gate(args, summary.pending) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: cond.negate + normalizedText: '!broken.is_empty()' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: cond.negate + normalizedText: '!stuck.is_empty()' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: cond.negate + normalizedText: pending_fails_gate(args, summary.pending) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: expr.decrement + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: expr.increment + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: fn_value.ok + normalizedText: '{ let Executed { plan, stuck } = measured(host, args, progress_when, styler)?; if !stuck.is_empty() + { return Ok(EXIT_CANNOT_PROCEED); } let Some(plan) = plan else { return Ok(ungraded(host, args, styler, false)); }; + let summary = crate::model::Summary::of(&plan.mutants); let broken = broken_expectations(&plan.mutants); if !broken.is_empty() + { let mut stream = host.error(); for (mutant, wanted) in &broken { let line = mutant.expectation.as_ref().map_or(mutant.line, + |expectation| expectation.line); let was = mutant.outcome; let _ = writeln!( stream, "{} {}:{line}: `{}` expected + {wanted}, but this mutant was {was}", styler.error("error:"), mutant.file, mutant.mutator ); } let count = broken.len(); + let _ = writeln!( stream, "{} {count} {} not hold", styler.error("error:"), if count == 1 { "expectation did" } else + { "expectations did" } ); return Ok(EXIT_GATE_FAILED); } if pending_fails_gate(args, summary.pending) { let _ = writeln!( + host.error(), "{} {} {} still pending, so the `--min-score` gate cannot evaluate the complete population", styler.error("error:"), + summary.pending, if summary.pending == 1 { "mutant is" } else { "mutants are" } ); return Ok(EXIT_GATE_FAILED); } + let Some(score) = summary.scored() else { return Ok(ungraded( host, args, styler, plan.mutants.iter().any(|mutant| + mutant.expectation.is_some()), )); }; if let Some(minimum) = args.min_score && score < minimum { let (shown_score, + shown_minimum) = distinguish(score, minimum); let mut stream = host.error(); let _ = writeln!( stream, "{} mutation + score {shown_score}% is below the required {shown_minimum}%", styler.error("error:") ); return Ok(EXIT_GATE_FAILED); + } Ok(EXIT_OK) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: iter.any_to_all + normalizedText: plan.mutants.iter().any(|mutant| mutant.expectation.is_some()) + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: unary.remove_not + normalizedText: '!broken.is_empty()' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: run_session + mutator: unary.remove_not + normalizedText: '!stuck.is_empty()' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: seconds_since_epoch + mutator: expr.decrement + normalizedText: Duration::ZERO.as_secs() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: seconds_since_epoch + mutator: expr.decrement + normalizedText: at.duration_since(UNIX_EPOCH) .map_or(Duration::ZERO.as_secs(), |since| since.as_secs()) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: seconds_since_epoch + mutator: expr.increment + normalizedText: Duration::ZERO.as_secs() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: seconds_since_epoch + mutator: expr.increment + normalizedText: at.duration_since(UNIX_EPOCH) .map_or(Duration::ZERO.as_secs(), |since| since.as_secs()) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: seconds_since_epoch + mutator: fn_value.one + normalizedText: '{ at.duration_since(UNIX_EPOCH) .map_or(Duration::ZERO.as_secs(), |since| since.as_secs()) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: seconds_since_epoch + mutator: fn_value.zero + normalizedText: '{ at.duration_since(UNIX_EPOCH) .map_or(Duration::ZERO.as_secs(), |since| since.as_secs()) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: should_claim_cache + mutator: fn_value.bool_false + normalizedText: '{ incremental && !dry_run }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: should_claim_cache + mutator: fn_value.bool_true + normalizedText: '{ incremental && !dry_run }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: should_claim_cache + mutator: logical.and_to_or + normalizedText: incremental && !dry_run + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: should_claim_cache + mutator: unary.remove_not + normalizedText: '!dry_run' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: stuck_panel + mutator: cond.always_false + normalizedText: stuck.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: stuck_panel + mutator: cond.always_true + normalizedText: stuck.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: stuck_panel + mutator: cond.negate + normalizedText: stuck.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: stuck_panel + mutator: fn_value.none + normalizedText: '{ if stuck.is_empty() { return None; } let mut panel = "### Builds that could not be made to compile\n\n".to_owned(); + for reason in stuck { panel.push_str("```\n"); panel.push_str(reason); panel.push_str("\n```\n"); } Some(panel) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: stuck_panel + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: summary_panel + mutator: fn_value.empty_string + normalizedText: '{ let mut panel = advice_markdown(args, plan, session, wall, crate::advise::Layout::Embedded); for + section in [stuck_panel(stuck), dropped_panel(dropped)].into_iter().flatten() { panel.push(''\n''); panel.push_str(§ion); + } panel }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: summary_panel + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut panel = advice_markdown(args, plan, session, wall, crate::advise::Layout::Embedded); for + section in [stuck_panel(stuck), dropped_panel(dropped)].into_iter().flatten() { panel.push(''\n''); panel.push_str(§ion); + } panel }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: test_arguments + mutator: fn_value.empty_collection + normalizedText: '{ let mut collected = args.measure.cargo_test_args.clone(); collected.extend(args.measure.test_args.iter().cloned()); + collected }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: test_arguments + mutator: fn_value.one_element + normalizedText: '{ let mut collected = args.measure.cargo_test_args.clone(); collected.extend(args.measure.test_args.iter().cloned()); + collected }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: test_arguments + mutator: stmt.delete_call + normalizedText: collected.extend(args.measure.test_args.iter().cloned()); + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: ungraded + mutator: cond.always_false + normalizedText: args.min_score.is_some() + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: ungraded + mutator: cond.always_false + normalizedText: expectations + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: ungraded + mutator: cond.always_true + normalizedText: args.min_score.is_some() + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: ungraded + mutator: cond.always_true + normalizedText: expectations + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: ungraded + mutator: cond.negate + normalizedText: args.min_score.is_some() + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: ungraded + mutator: cond.negate + normalizedText: expectations + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: ungraded + mutator: expr.decrement + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: ungraded + mutator: expr.increment + normalizedText: EXIT_OK + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: ungraded + mutator: fn_value.minus_one + normalizedText: "{ let gate = if args.min_score.is_some() { \"the `--min-score` gate\" } else if expectations { \"the\ + \ expectations this run carried\" } else { return EXIT_OK; }; let _ = writeln!( host.error(), \"{} no mutant counted\ + \ toward the score, so {gate} was never evaluated; \\\n check that the selection — `--in-diff`, `--exclude-file`,\ + \ `--shard-count`/`--shard-index`, `--incremental` — leaves something to test\", styler.error(\"error:\") ); EXIT_GATE_FAILED\ + \ }" + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: ungraded + mutator: fn_value.one + normalizedText: "{ let gate = if args.min_score.is_some() { \"the `--min-score` gate\" } else if expectations { \"the\ + \ expectations this run carried\" } else { return EXIT_OK; }; let _ = writeln!( host.error(), \"{} no mutant counted\ + \ toward the score, so {gate} was never evaluated; \\\n check that the selection — `--in-diff`, `--exclude-file`,\ + \ `--shard-count`/`--shard-index`, `--incremental` — leaves something to test\", styler.error(\"error:\") ); EXIT_GATE_FAILED\ + \ }" + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: ungraded + mutator: fn_value.zero + normalizedText: "{ let gate = if args.min_score.is_some() { \"the `--min-score` gate\" } else if expectations { \"the\ + \ expectations this run carried\" } else { return EXIT_OK; }; let _ = writeln!( host.error(), \"{} no mutant counted\ + \ toward the score, so {gate} was never evaluated; \\\n check that the selection — `--in-diff`, `--exclude-file`,\ + \ `--shard-count`/`--shard-index`, `--incremental` — leaves something to test\", styler.error(\"error:\") ); EXIT_GATE_FAILED\ + \ }" + occurrence: 0 + testSet: 1857 + - site: + file: crates/cargo-gamma-lib/src/commands/run.rs + item: warn_auxiliary + mutator: fn_value.unit + normalizedText: '{ if let Some(failure) = failure { let _ = writeln!(host.error(), "{} {failure}", styler.warning()); + } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/verdict_log.rs + item: VerdictLog::finish + mutator: fn_value.ok + normalizedText: '{ let previous = core::mem::take(self); match previous { Self::Failed { path, cause } => Err(error!("could + not write the testing progress log at `{path}`").caused_by(cause)), Self::Disabled | Self::Writing { .. } => Ok(()), + } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/verdict_log.rs + item: VerdictLog::record + mutator: fn_value.unit + normalizedText: '{ let failed = match self { Self::Writing { file, .. } => { let label = Styler::new(false).outcome(mutant.outcome); + let detail = mutant_detail(mutant); writeln!(file, "{label} {detail}").and_then(|()| file.flush()).err() } Self::Disabled + | Self::Failed { .. } => None, }; let Some(cause) = failed else { return }; let path = match self { Self::Writing + { path, .. } => path.clone(), Self::Disabled | Self::Failed { .. } => return, }; *self = Self::Failed { path, cause + }; }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/verdict_log.rs + item: VerdictLog::record + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/verdict_log.rs + item: VerdictLog::start + mutator: assign_value.default + normalizedText: Self::Writing { file, path } + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/verdict_log.rs + item: VerdictLog::start + mutator: fn_value.ok + normalizedText: '{ let path = scratch.join(TESTING_PROGRESS_LOG); let file = File::create(path.as_std_path()) .map_err(|cause| + error!("could not create the testing progress log at `{path}`").caused_by(cause))?; *self = Self::Writing { file, + path }; Ok(()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/commands/verdict_log.rs + item: VerdictLog::start + mutator: stmt.delete_assign + normalizedText: '*self = Self::Writing { file, path };' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args .measure .baseline_memory_limit .or_else(|| size(self.baseline_memory_limit.as_deref())) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.artifact_dir.take().or_else(|| self.artifact_dir.clone()) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.incremental.or(self.incremental) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.limits.build_timeout.or(self.build_timeout) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.limits.build_timeout_multiplier.or(self.build_timeout_multiplier) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.measure.jobs.or(self.jobs) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.measure.memory.or(implied_by_cli).or(self.memory) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.measure.memory_headroom.or_else(|| size(self.memory_headroom.as_deref())) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.measure.memory_limit.or_else(|| size(self.memory_limit.as_deref())) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.measure.memory_multiplier.or(self.memory_multiplier) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.measure.minimum_test_timeout.or(self.minimum_test_timeout) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.measure.nextest || self.nextest.unwrap_or(false) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.measure.profile.take().or_else(|| self.profile.clone()) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.measure.test_timeout_multiplier.or(self.test_timeout_multiplier) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.measure.test_workspace || self.test_workspace.unwrap_or(false) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.measure.whole_test_binaries || self.whole_test_binaries.unwrap_or(false) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.min_score.or(self.min_score) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.no_baseline || self.no_baseline.unwrap_or(false) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: assign_value.default + normalizedText: args.no_confirm || self.no_confirm.unwrap_or(false) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: cond.always_false + normalizedText: '!args.measure.test_packages.is_empty() && args.measure.test_workspace' + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: cond.always_true + normalizedText: '!args.measure.test_packages.is_empty() && args.measure.test_workspace' + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: cond.negate + normalizedText: '!args.measure.test_packages.is_empty() && args.measure.test_workspace' + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: fn_value.ok + normalizedText: '{ self.apply_selection(&mut args.select)?; let implied_by_cli = crate::exec::implied_memory_control(args.measure.memory_limit, + args.measure.baseline_memory_limit); args.min_score = args.min_score.or(self.min_score); args.measure.jobs = args.measure.jobs.or(self.jobs); + args.measure.test_timeout_multiplier = args.measure.test_timeout_multiplier.or(self.test_timeout_multiplier); args.measure.minimum_test_timeout + = args.measure.minimum_test_timeout.or(self.minimum_test_timeout); args.measure.nextest = args.measure.nextest || + self.nextest.unwrap_or(false); args.measure.memory = args.measure.memory.or(implied_by_cli).or(self.memory); args.measure.memory_multiplier + = args.measure.memory_multiplier.or(self.memory_multiplier); args.measure.memory_headroom = args.measure.memory_headroom.or_else(|| + size(self.memory_headroom.as_deref())); args.measure.memory_limit = args.measure.memory_limit.or_else(|| size(self.memory_limit.as_deref())); + args.measure.baseline_memory_limit = args .measure .baseline_memory_limit .or_else(|| size(self.baseline_memory_limit.as_deref())); + args.limits.build_timeout = args.limits.build_timeout.or(self.build_timeout); args.limits.build_timeout_multiplier + = args.limits.build_timeout_multiplier.or(self.build_timeout_multiplier); args.incremental = args.incremental.or(self.incremental); + args.measure.profile = args.measure.profile.take().or_else(|| self.profile.clone()); args.measure.cargo_args.extend(self.cargo_args.iter().cloned()); + args.measure.cargo_test_args.extend(self.cargo_test_args.iter().cloned()); args.measure.test_packages.extend(self.test_packages.iter().cloned()); + args.measure.test_workspace = args.measure.test_workspace || self.test_workspace.unwrap_or(false); args.measure.whole_test_binaries + = args.measure.whole_test_binaries || self.whole_test_binaries.unwrap_or(false); args.measure.include_tests.extend(self.include_tests.iter().cloned()); + args.measure.exclude_tests.extend(self.exclude_tests.iter().cloned()); args.no_baseline = args.no_baseline || self.no_baseline.unwrap_or(false); + args.no_confirm = args.no_confirm || self.no_confirm.unwrap_or(false); args.artifact_dir = args.artifact_dir.take().or_else(|| + self.artifact_dir.clone()); if !args.measure.test_packages.is_empty() && args.measure.test_workspace { return Err(contradiction( + "test-packages", !self.test_packages.is_empty(), "test-workspace", self.test_workspace == Some(true), )); } Ok(()) + }' + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1859 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 1860 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 3 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 4 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1861 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: literal.str_to_empty + normalizedText: '"test-packages"' + occurrence: 0 + testSet: 1861 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: literal.str_to_empty + normalizedText: '"test-workspace"' + occurrence: 0 + testSet: 1861 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: literal.str_to_xyzzy + normalizedText: '"test-packages"' + occurrence: 0 + testSet: 1861 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: literal.str_to_xyzzy + normalizedText: '"test-workspace"' + occurrence: 0 + testSet: 1861 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: logical.and_to_or + normalizedText: '!args.measure.test_packages.is_empty() && args.measure.test_workspace' + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: logical.or_to_and + normalizedText: args.measure.nextest || self.nextest.unwrap_or(false) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: logical.or_to_and + normalizedText: args.measure.test_workspace || self.test_workspace.unwrap_or(false) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: logical.or_to_and + normalizedText: args.measure.whole_test_binaries || self.whole_test_binaries.unwrap_or(false) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: logical.or_to_and + normalizedText: args.no_baseline || self.no_baseline.unwrap_or(false) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: logical.or_to_and + normalizedText: args.no_confirm || self.no_confirm.unwrap_or(false) + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: option.some_to_none + normalizedText: Some(true) + occurrence: 0 + testSet: 1861 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: relational.eq_to_ne + normalizedText: self.test_workspace == Some(true) + occurrence: 0 + testSet: 1861 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: result.err_to_ok + normalizedText: Err(contradiction( "test-packages", !self.test_packages.is_empty(), "test-workspace", self.test_workspace + == Some(true), )) + occurrence: 0 + testSet: 1861 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.artifact_dir = args.artifact_dir.take().or_else(|| self.artifact_dir.clone()); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.incremental = args.incremental.or(self.incremental); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.limits.build_timeout = args.limits.build_timeout.or(self.build_timeout); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.limits.build_timeout_multiplier = args.limits.build_timeout_multiplier.or(self.build_timeout_multiplier); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.measure.baseline_memory_limit = args .measure .baseline_memory_limit .or_else(|| size(self.baseline_memory_limit.as_deref())); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.measure.jobs = args.measure.jobs.or(self.jobs); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.measure.memory = args.measure.memory.or(implied_by_cli).or(self.memory); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.measure.memory_headroom = args.measure.memory_headroom.or_else(|| size(self.memory_headroom.as_deref())); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.measure.memory_limit = args.measure.memory_limit.or_else(|| size(self.memory_limit.as_deref())); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.measure.memory_multiplier = args.measure.memory_multiplier.or(self.memory_multiplier); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.measure.minimum_test_timeout = args.measure.minimum_test_timeout.or(self.minimum_test_timeout); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.measure.nextest = args.measure.nextest || self.nextest.unwrap_or(false); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.measure.profile = args.measure.profile.take().or_else(|| self.profile.clone()); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.measure.test_timeout_multiplier = args.measure.test_timeout_multiplier.or(self.test_timeout_multiplier); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.measure.test_workspace = args.measure.test_workspace || self.test_workspace.unwrap_or(false); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.measure.whole_test_binaries = args.measure.whole_test_binaries || self.whole_test_binaries.unwrap_or(false); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.min_score = args.min_score.or(self.min_score); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.no_baseline = args.no_baseline || self.no_baseline.unwrap_or(false); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_assign + normalizedText: args.no_confirm = args.no_confirm || self.no_confirm.unwrap_or(false); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_call + normalizedText: args.measure.cargo_args.extend(self.cargo_args.iter().cloned()); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_call + normalizedText: args.measure.cargo_test_args.extend(self.cargo_test_args.iter().cloned()); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_call + normalizedText: args.measure.exclude_tests.extend(self.exclude_tests.iter().cloned()); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_call + normalizedText: args.measure.include_tests.extend(self.include_tests.iter().cloned()); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: stmt.delete_call + normalizedText: args.measure.test_packages.extend(self.test_packages.iter().cloned()); + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: unary.remove_not + normalizedText: '!args.measure.test_packages.is_empty()' + occurrence: 0 + testSet: 1858 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply + mutator: unary.remove_not + normalizedText: '!self.test_packages.is_empty()' + occurrence: 0 + testSet: 1861 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: assign_value.default + normalizedText: Some(selectors.join(",")) + occurrence: 0 + testSet: 1862 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: assign_value.default + normalizedText: select.features.all_features || self.all_features.unwrap_or(false) + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: assign_value.default + normalizedText: select.features.no_default_features || self.no_default_features.unwrap_or(false) + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: assign_value.default + normalizedText: select.shard_count.or(self.shard.count) + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: assign_value.default + normalizedText: select.shard_index.or(self.shard.index) + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: fn_value.ok + normalizedText: '{ if select.mutators.is_none() && let Some(selectors) = self.mutators.as_ref() { select.mutators = + Some(selectors.join(",")); } select.files.extend(self.files.iter().cloned()); select.exclude_files.extend(self.exclude_files.iter().cloned()); + select.exclude_trait_impls.extend(self.exclude_trait_impls.iter().cloned()); select.packages.extend(self.packages.iter().cloned()); + select.errors.extend(self.errors.iter().cloned()); select.features.features.extend(self.features.iter().cloned()); + select.features.all_features = select.features.all_features || self.all_features.unwrap_or(false); select.features.no_default_features + = select.features.no_default_features || self.no_default_features.unwrap_or(false); select.shard_count = select.shard_count.or(self.shard.count); + select.shard_index = select.shard_index.or(self.shard.index); self.validate_effective(select) }' + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: literal.str_to_empty + normalizedText: '","' + occurrence: 0 + testSet: 1862 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: literal.str_to_xyzzy + normalizedText: '","' + occurrence: 0 + testSet: 1862 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: logical.or_to_and + normalizedText: select.features.all_features || self.all_features.unwrap_or(false) + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: logical.or_to_and + normalizedText: select.features.no_default_features || self.no_default_features.unwrap_or(false) + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: option.some_to_none + normalizedText: Some(selectors.join(",")) + occurrence: 0 + testSet: 1862 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: stmt.delete_assign + normalizedText: select.features.all_features = select.features.all_features || self.all_features.unwrap_or(false); + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: stmt.delete_assign + normalizedText: select.features.no_default_features = select.features.no_default_features || self.no_default_features.unwrap_or(false); + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: stmt.delete_assign + normalizedText: select.mutators = Some(selectors.join(",")); + occurrence: 0 + testSet: 1862 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: stmt.delete_assign + normalizedText: select.shard_count = select.shard_count.or(self.shard.count); + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: stmt.delete_assign + normalizedText: select.shard_index = select.shard_index.or(self.shard.index); + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: stmt.delete_call + normalizedText: select.errors.extend(self.errors.iter().cloned()); + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: stmt.delete_call + normalizedText: select.exclude_files.extend(self.exclude_files.iter().cloned()); + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: stmt.delete_call + normalizedText: select.exclude_trait_impls.extend(self.exclude_trait_impls.iter().cloned()); + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: stmt.delete_call + normalizedText: select.features.features.extend(self.features.iter().cloned()); + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: stmt.delete_call + normalizedText: select.files.extend(self.files.iter().cloned()); + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::apply_selection + mutator: stmt.delete_call + normalizedText: select.packages.extend(self.packages.iter().cloned()); + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::cargo_options + mutator: fn_value.default + normalizedText: '{ crate::exec::CargoOptions { profile: self.profile.clone(), extra: self.cargo_args.clone(), ..crate::exec::CargoOptions::default() + } }' + occurrence: 0 + testSet: 1864 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::cargo_options + mutator: struct_field.omit + normalizedText: 'crate::exec::CargoOptions { profile: self.profile.clone(), extra: self.cargo_args.clone(), ..crate::exec::CargoOptions::default() + }' + occurrence: 0 + testSet: 1864 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::foreign_present + mutator: fn_value.bool_false + normalizedText: '{ dir.join(FOREIGN_PATH).is_file() && !dir.join(RELATIVE_PATH).is_file() }' + occurrence: 0 + testSet: 1865 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::foreign_present + mutator: fn_value.bool_true + normalizedText: '{ dir.join(FOREIGN_PATH).is_file() && !dir.join(RELATIVE_PATH).is_file() }' + occurrence: 0 + testSet: 1865 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::foreign_present + mutator: logical.and_to_or + normalizedText: dir.join(FOREIGN_PATH).is_file() && !dir.join(RELATIVE_PATH).is_file() + occurrence: 0 + testSet: 1865 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::foreign_present + mutator: unary.remove_not + normalizedText: '!dir.join(RELATIVE_PATH).is_file()' + occurrence: 0 + testSet: 1866 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::load + mutator: fn_value.ok + normalizedText: '{ let path = dir.join(RELATIVE_PATH); let text = match fs::read_to_string(&path) { Ok(text) => text, + Err(cause) if cause.kind() == ErrorKind::NotFound => return Ok(Self::default()), Err(cause) => return Err(error!("could + not read `{path}`").caused_by(cause)), }; Self::parse(&text).map_err(|cause| error!("{path}: {cause}").usage()) }' + occurrence: 0 + testSet: 1867 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::load + mutator: match_guard.always_false + normalizedText: cause.kind() == ErrorKind::NotFound + occurrence: 0 + testSet: 1868 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::load + mutator: match_guard.always_true + normalizedText: cause.kind() == ErrorKind::NotFound + occurrence: 0 + testSet: 1868 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::load + mutator: match_guard.negate + normalizedText: cause.kind() == ErrorKind::NotFound + occurrence: 0 + testSet: 1868 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::load + mutator: result.err_to_ok + normalizedText: Err(error!("could not read `{path}`").caused_by(cause)) + occurrence: 0 + testSet: 1869 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::parse + mutator: fn_value.err_default + normalizedText: '{ let config: Self = toml::from_str(text).map_err(|cause| { cause.message().to_owned() })?; config.validate()?; + Ok(config) }' + occurrence: 0 + testSet: 1870 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::parse + mutator: fn_value.ok + normalizedText: '{ let config: Self = toml::from_str(text).map_err(|cause| { cause.message().to_owned() })?; config.validate()?; + Ok(config) }' + occurrence: 0 + testSet: 1870 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::parse + mutator: result.ok_to_err + normalizedText: Ok(config) + occurrence: 0 + testSet: 1871 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::resolve + mutator: cond.always_false + normalizedText: select.config.no_config + occurrence: 0 + testSet: 1872 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::resolve + mutator: cond.always_true + normalizedText: select.config.no_config + occurrence: 0 + testSet: 1872 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::resolve + mutator: cond.negate + normalizedText: select.config.no_config + occurrence: 0 + testSet: 1872 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::resolve + mutator: fn_value.ok + normalizedText: '{ if select.config.no_config { return Ok(Self::default()); } let Some(path) = select.config.path.as_ref() + else { return Self::load(&select.dir); }; let text = fs::read_to_string(path).map_err(|cause| error!("could not read + `{path}`").caused_by(cause))?; Self::parse(&text).map_err(|cause| error!("{path}: {cause}").usage()) }' + occurrence: 0 + testSet: 1872 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: fn_value.err_default + normalizedText: '{ type Check = (&''static str, Option, fn(&str, f64) -> Result); let checks: [Check; + 6] = [ ("test-timeout-multiplier", self.test_timeout_multiplier, bounds::factor), ("minimum-test-timeout", self.minimum_test_timeout, + bounds::seconds), ("build-timeout", self.build_timeout, bounds::seconds), ("build-timeout-multiplier", self.build_timeout_multiplier, + bounds::factor), ("min-score", self.min_score, bounds::percentage), ("memory-multiplier", self.memory_multiplier, + bounds::factor), ]; for (key, value, check) in checks { if let Some(value) = value { let _checked = check(&value.to_string(), + value).map_err(|cause| format!("{key}: {cause}"))?; } } let sizes = [ ("memory-headroom", self.memory_headroom.as_deref()), + ("memory-limit", self.memory_limit.as_deref()), ("baseline-memory-limit", self.baseline_memory_limit.as_deref()), + ]; for (key, value) in sizes { if let Some(value) = value { let _checked = bounds::size(value).map_err(|cause| format!("{key}: + {cause}"))?; } } if let Some(name) = self .exclude_trait_impls .iter() .find(|name| syn::parse_str::(name).is_err()) + { return Err(format!("exclude-trait-impls entry `{name}` must be an unqualified Rust identifier")); } Ok(()) }' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: fn_value.ok + normalizedText: '{ type Check = (&''static str, Option, fn(&str, f64) -> Result); let checks: [Check; + 6] = [ ("test-timeout-multiplier", self.test_timeout_multiplier, bounds::factor), ("minimum-test-timeout", self.minimum_test_timeout, + bounds::seconds), ("build-timeout", self.build_timeout, bounds::seconds), ("build-timeout-multiplier", self.build_timeout_multiplier, + bounds::factor), ("min-score", self.min_score, bounds::percentage), ("memory-multiplier", self.memory_multiplier, + bounds::factor), ]; for (key, value, check) in checks { if let Some(value) = value { let _checked = check(&value.to_string(), + value).map_err(|cause| format!("{key}: {cause}"))?; } } let sizes = [ ("memory-headroom", self.memory_headroom.as_deref()), + ("memory-limit", self.memory_limit.as_deref()), ("baseline-memory-limit", self.baseline_memory_limit.as_deref()), + ]; for (key, value) in sizes { if let Some(value) = value { let _checked = bounds::size(value).map_err(|cause| format!("{key}: + {cause}"))?; } } if let Some(name) = self .exclude_trait_impls .iter() .find(|name| syn::parse_str::(name).is_err()) + { return Err(format!("exclude-trait-impls entry `{name}` must be an unqualified Rust identifier")); } Ok(()) }' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_empty + normalizedText: '"baseline-memory-limit"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_empty + normalizedText: '"build-timeout"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_empty + normalizedText: '"build-timeout-multiplier"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_empty + normalizedText: '"memory-headroom"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_empty + normalizedText: '"memory-limit"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_empty + normalizedText: '"memory-multiplier"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_empty + normalizedText: '"min-score"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_empty + normalizedText: '"minimum-test-timeout"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_empty + normalizedText: '"test-timeout-multiplier"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_xyzzy + normalizedText: '"baseline-memory-limit"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_xyzzy + normalizedText: '"build-timeout"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_xyzzy + normalizedText: '"build-timeout-multiplier"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_xyzzy + normalizedText: '"memory-headroom"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_xyzzy + normalizedText: '"memory-limit"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_xyzzy + normalizedText: '"memory-multiplier"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_xyzzy + normalizedText: '"min-score"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_xyzzy + normalizedText: '"minimum-test-timeout"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: literal.str_to_xyzzy + normalizedText: '"test-timeout-multiplier"' + occurrence: 0 + testSet: 1873 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: result.err_to_ok + normalizedText: Err(format!("exclude-trait-impls entry `{name}` must be an unqualified Rust identifier")) + occurrence: 0 + testSet: 1874 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1871 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + mutator: cond.always_false + normalizedText: '!select.packages.is_empty() && select.workspace' + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + mutator: cond.always_true + normalizedText: '!select.packages.is_empty() && select.workspace' + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + mutator: cond.negate + normalizedText: '!select.packages.is_empty() && select.workspace' + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + mutator: fn_value.ok + normalizedText: '{ if !select.packages.is_empty() && select.workspace { return Err(contradiction("packages", !self.packages.is_empty(), + "workspace", false)); } Ok(()) }' + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1875 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + mutator: literal.str_to_empty + normalizedText: '"packages"' + occurrence: 0 + testSet: 1875 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1875 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + mutator: literal.str_to_xyzzy + normalizedText: '"packages"' + occurrence: 0 + testSet: 1875 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1875 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + mutator: logical.and_to_or + normalizedText: '!select.packages.is_empty() && select.workspace' + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + mutator: result.err_to_ok + normalizedText: Err(contradiction("packages", !self.packages.is_empty(), "workspace", false)) + occurrence: 0 + testSet: 1875 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + mutator: unary.remove_not + normalizedText: '!select.packages.is_empty()' + occurrence: 0 + testSet: 1863 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: Config::validate_effective + mutator: unary.remove_not + normalizedText: '!self.packages.is_empty()' + occurrence: 0 + testSet: 1875 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: contradiction + mutator: cond.always_false + normalizedText: from_file + occurrence: 0 + testSet: 1876 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: contradiction + mutator: cond.always_true + normalizedText: from_file + occurrence: 0 + testSet: 1876 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: contradiction + mutator: cond.negate + normalizedText: from_file + occurrence: 0 + testSet: 1876 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: contradiction + mutator: literal.str_to_empty + normalizedText: '"the command line"' + occurrence: 0 + testSet: 1877 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: contradiction + mutator: literal.str_to_xyzzy + normalizedText: '"the command line"' + occurrence: 0 + testSet: 1877 + - site: + file: crates/cargo-gamma-lib/src/config.rs + item: size + mutator: fn_value.none + normalizedText: '{ let text = text?; bounds::size(text).ok() }' + occurrence: 0 + testSet: 1878 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: Redaction::apply + mutator: expr.decrement + normalizedText: HASH_WIDTH + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: Redaction::apply + mutator: expr.increment + normalizedText: HASH_WIDTH + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: Redaction::apply + mutator: fn_value.none + normalizedText: '{ match self { Self::Names => Some(name.to_owned()), Self::Omitted => None, Self::Hashed => { let digest + = blake3::hash(name.as_bytes()).to_hex(); Some(digest.get(..HASH_WIDTH).unwrap_or(&digest).to_owned()) } } }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: Redaction::apply + mutator: option.some_to_none + normalizedText: Some(digest.get(..HASH_WIDTH).unwrap_or(&digest).to_owned()) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: Redaction::apply + mutator: option.some_to_none + normalizedText: Some(name.to_owned()) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: Redaction::apply + mutator: range.exclusive_to_inclusive + normalizedText: ..HASH_WIDTH + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: binaries_of + mutator: expr.decrement + normalizedText: TOP + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: binaries_of + mutator: expr.increment + normalizedText: TOP + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: binaries_of + mutator: fn_value.empty_collection + normalizedText: '{ let mut binaries: Vec<&crate::exec::TestBinary> = session.binaries.iter().collect(); binaries.sort_by_key(|binary| + core::cmp::Reverse(binary.baseline)); binaries .into_iter() .take(TOP) .map(|binary| Binary { package: redaction.apply(&binary.package), + target: redaction.apply(&binary.target), baseline_ms: millis(binary.baseline), budget_ms: binary.budget.map(millis), + peak_bytes: binary.peak, ceiling_bytes: binary.memory, }) .collect() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: binaries_of + mutator: iter.remove_sort + normalizedText: binaries.sort_by_key(|binary| core::cmp::Reverse(binary.baseline)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: assign.add_to_sub + normalizedText: entry.mutants += 1 + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: assign.add_to_sub + normalizedText: entry.survivors += 1 + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: assign_value.default + normalizedText: entry.cpu_ms.saturating_add(mutant.elapsed_ms) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: expr.decrement + normalizedText: TOP + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: expr.decrement + normalizedText: mutant.elapsed_ms + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: expr.increment + normalizedText: TOP + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: expr.increment + normalizedText: mutant.elapsed_ms + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: fn_value.empty_collection + normalizedText: '{ let mut buckets: crate::HashMap = crate::HashMap::default(); for mutant in mutants + { let entry = buckets.entry(key(mutant)).or_insert_with(|| Breakdown { name: None, mutants: 0, cpu_ms: 0, survivors: + 0, unviable: 0, }); entry.mutants += 1; entry.cpu_ms = entry.cpu_ms.saturating_add(mutant.elapsed_ms); match mutant.outcome + { Outcome::Survived => entry.survivors += 1, Outcome::CompileError => entry.unviable += 1, _other => {} } } let mut + rows: Vec<(String, Breakdown)> = buckets.into_iter().collect(); rows.sort_by(|(left_name, left), (right_name, right)| + right.cpu_ms.cmp(&left.cpu_ms).then_with(|| left_name.cmp(right_name))); rows.into_iter() .take(TOP) .map(|(name, + row)| Breakdown { name: redaction.apply(&name), ..row }) .collect() }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: iter.remove_sort + normalizedText: rows.sort_by(|(left_name, left), (right_name, right)| right.cpu_ms.cmp(&left.cpu_ms).then_with(|| left_name.cmp(right_name))); + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: match_arm.never_matches + normalizedText: Outcome::Survived + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: stmt.delete_assign + normalizedText: entry.cpu_ms = entry.cpu_ms.saturating_add(mutant.elapsed_ms); + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: stmt.delete_assign + normalizedText: entry.mutants += 1; + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: breakdown + mutator: struct_field.omit + normalizedText: 'Breakdown { name: redaction.apply(&name), ..row }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: build_of + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: build_of + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: build_of + mutator: logical.or_to_and + normalizedText: session.ordering.rounds > 0 || session.ordering.offered > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: build_of + mutator: relational.gt_to_ge + normalizedText: session.ordering.offered > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: build_of + mutator: relational.gt_to_ge + normalizedText: session.ordering.rounds > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: build_of + mutator: relational.gt_to_lt + normalizedText: session.ordering.offered > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: build_of + mutator: relational.gt_to_lt + normalizedText: session.ordering.rounds > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: bundle + mutator: arith.add_to_sub + normalizedText: session.build + session.baseline_wall + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: bundle + mutator: expr.decrement + normalizedText: mutant.elapsed_ms + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: bundle + mutator: expr.increment + normalizedText: mutant.elapsed_ms + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: bundle + mutator: literal.str_to_empty + normalizedText: '"cargo-gamma"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: bundle + mutator: literal.str_to_empty + normalizedText: '"hashed"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: bundle + mutator: literal.str_to_xyzzy + normalizedText: '"cargo-gamma"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: bundle + mutator: literal.str_to_xyzzy + normalizedText: '"hashed"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + mutator: cond.always_false + normalizedText: spent.is_empty() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + mutator: cond.always_true + normalizedText: spent.is_empty() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + mutator: cond.negate + normalizedText: spent.is_empty() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + mutator: fn_value.none + normalizedText: '{ let mut spent: Vec = mutants .iter() .map(|mutant| mutant.elapsed_ms) .filter(|elapsed| *elapsed + > 0) .collect(); if spent.is_empty() { return None; } spent.sort_unstable(); Some(Durations { evaluated: spent.len(), + min_ms: spent.first().copied().unwrap_or(0), p50_ms: percentile(&spent, 0.50), p90_ms: percentile(&spent, 0.90), p99_ms: + percentile(&spent, 0.99), max_ms: spent.last().copied().unwrap_or(0), }) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + mutator: iter.first_to_last + normalizedText: spent.first() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + mutator: iter.last_to_first + normalizedText: spent.last() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + mutator: iter.remove_sort + normalizedText: spent.sort_unstable(); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + mutator: option.some_to_none + normalizedText: 'Some(Durations { evaluated: spent.len(), min_ms: spent.first().copied().unwrap_or(0), p50_ms: percentile(&spent, + 0.50), p90_ms: percentile(&spent, 0.90), p99_ms: percentile(&spent, 0.99), max_ms: spent.last().copied().unwrap_or(0), + })' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + mutator: relational.gt_to_ge + normalizedText: '*elapsed > 0' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: durations_of + mutator: relational.gt_to_lt + normalizedText: '*elapsed > 0' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: effective + mutator: arith.div_to_mul + normalizedText: (cpu.as_secs_f64() / testing.as_secs_f64() * 10.0).round() / 10.0 + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: effective + mutator: arith.div_to_mul + normalizedText: cpu.as_secs_f64() / testing.as_secs_f64() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: effective + mutator: arith.div_to_rem + normalizedText: (cpu.as_secs_f64() / testing.as_secs_f64() * 10.0).round() / 10.0 + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: effective + mutator: arith.div_to_rem + normalizedText: cpu.as_secs_f64() / testing.as_secs_f64() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: effective + mutator: arith.mul_to_add + normalizedText: cpu.as_secs_f64() / testing.as_secs_f64() * 10.0 + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: effective + mutator: arith.mul_to_div + normalizedText: cpu.as_secs_f64() / testing.as_secs_f64() * 10.0 + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: effective + mutator: cond.always_false + normalizedText: testing.is_zero() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: effective + mutator: cond.always_true + normalizedText: testing.is_zero() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: effective + mutator: cond.negate + normalizedText: testing.is_zero() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: effective + mutator: fn_value.minus_one + normalizedText: '{ if testing.is_zero() { return 0.0; } (cpu.as_secs_f64() / testing.as_secs_f64() * 10.0).round() / + 10.0 }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: effective + mutator: fn_value.one + normalizedText: '{ if testing.is_zero() { return 0.0; } (cpu.as_secs_f64() / testing.as_secs_f64() * 10.0).round() / + 10.0 }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: effective + mutator: fn_value.zero + normalizedText: '{ if testing.is_zero() { return 0.0; } (cpu.as_secs_f64() / testing.as_secs_f64() * 10.0).round() / + 10.0 }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: millis + mutator: expr.decrement + normalizedText: duration.as_millis() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: millis + mutator: expr.decrement + normalizedText: u64::MAX + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: millis + mutator: expr.decrement + normalizedText: u64::try_from(duration.as_millis()).unwrap_or(u64::MAX) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: millis + mutator: expr.increment + normalizedText: duration.as_millis() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: millis + mutator: expr.increment + normalizedText: u64::MAX + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: millis + mutator: expr.increment + normalizedText: u64::try_from(duration.as_millis()).unwrap_or(u64::MAX) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: millis + mutator: fn_value.one + normalizedText: '{ u64::try_from(duration.as_millis()).unwrap_or(u64::MAX) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: millis + mutator: fn_value.zero + normalizedText: '{ u64::try_from(duration.as_millis()).unwrap_or(u64::MAX) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: arith.mul_to_add + normalizedText: (ascending.len() as f64 - 1.0) * fraction + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: arith.mul_to_div + normalizedText: (ascending.len() as f64 - 1.0) * fraction + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: arith.sub_to_add + normalizedText: ascending.len() as f64 - 1.0 + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: arith.sub_to_div + normalizedText: ascending.len() as f64 - 1.0 + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: cond.always_false + normalizedText: ascending.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: cond.always_true + normalizedText: ascending.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: cond.negate + normalizedText: ascending.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: expr.decrement + normalizedText: ascending.get(index).copied().unwrap_or(0) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: expr.increment + normalizedText: ascending.get(index).copied().unwrap_or(0) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: fn_value.one + normalizedText: '{ if ascending.is_empty() { return 0; } #[expect(clippy::cast_precision_loss, reason = "a population + that large has other problems")] #[expect( clippy::cast_possible_truncation, clippy::cast_sign_loss, reason = "a fraction + of a non-negative length" )] let index = ((ascending.len() as f64 - 1.0) * fraction).round() as usize; ascending.get(index).copied().unwrap_or(0) + }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: fn_value.zero + normalizedText: '{ if ascending.is_empty() { return 0; } #[expect(clippy::cast_precision_loss, reason = "a population + that large has other problems")] #[expect( clippy::cast_possible_truncation, clippy::cast_sign_loss, reason = "a fraction + of a non-negative length" )] let index = ((ascending.len() as f64 - 1.0) * fraction).round() as usize; ascending.get(index).copied().unwrap_or(0) + }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: percentile + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: fn_value.none + normalizedText: '{ let toolchain = toolchain?; Some( toolchain .lines() .filter_map(|line| { let (key, value) = ["rustc=", + "cargo=", "rustc_wrapper=", "rustc_workspace_wrapper="] .into_iter() .find_map(|key| line.strip_prefix(key).map(|value| + (key, value)))?; match redaction { Redaction::Names => Some(line.to_owned()), Redaction::Hashed => redaction.apply(value).map(|value| + format!("{key}{value}")), Redaction::Omitted => None, } }) .chain( toolchain .lines() .filter(|line| { !["rustc=", + "cargo=", "rustc_wrapper=", "rustc_workspace_wrapper="] .into_iter() .any(|key| line.starts_with(key)) }) .map(str::to_owned), + ) .collect::>() .join("\n"), ) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: iter.any_to_all + normalizedText: '["rustc=", "cargo=", "rustc_wrapper=", "rustc_workspace_wrapper="] .into_iter() .any(|key| line.starts_with(key))' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_empty + normalizedText: '"\n"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_empty + normalizedText: '"cargo="' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_empty + normalizedText: '"cargo="' + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_empty + normalizedText: '"rustc="' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_empty + normalizedText: '"rustc="' + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_empty + normalizedText: '"rustc_workspace_wrapper="' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_empty + normalizedText: '"rustc_workspace_wrapper="' + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_empty + normalizedText: '"rustc_wrapper="' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_empty + normalizedText: '"rustc_wrapper="' + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"\n"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"cargo="' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"cargo="' + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"rustc="' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"rustc="' + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"rustc_workspace_wrapper="' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"rustc_workspace_wrapper="' + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"rustc_wrapper="' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"rustc_wrapper="' + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: option.some_to_none + normalizedText: Some( toolchain .lines() .filter_map(|line| { let (key, value) = ["rustc=", "cargo=", "rustc_wrapper=", + "rustc_workspace_wrapper="] .into_iter() .find_map(|key| line.strip_prefix(key).map(|value| (key, value)))?; match + redaction { Redaction::Names => Some(line.to_owned()), Redaction::Hashed => redaction.apply(value).map(|value| format!("{key}{value}")), + Redaction::Omitted => None, } }) .chain( toolchain .lines() .filter(|line| { !["rustc=", "cargo=", "rustc_wrapper=", + "rustc_workspace_wrapper="] .into_iter() .any(|key| line.starts_with(key)) }) .map(str::to_owned), ) .collect::>() + .join("\n"), ) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: string.starts_with_to_ends_with + normalizedText: line.starts_with(key) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: redact_toolchain + mutator: unary.remove_not + normalizedText: '!["rustc=", "cargo=", "rustc_wrapper=", "rustc_workspace_wrapper="] .into_iter() .any(|key| line.starts_with(key))' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/diag/bundle.rs + item: to_json + mutator: fn_value.ok + normalizedText: '{ serde_json::to_string_pretty(bundle) .map_err(|cause| crate::error::error!("could not serialize the + diagnostics bundle").caused_by(cause)) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/compile_fail.rs + item: advice + mutator: cond.always_false + normalizedText: targets.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/compile_fail.rs + item: advice + mutator: cond.always_true + normalizedText: targets.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/compile_fail.rs + item: advice + mutator: cond.negate + normalizedText: targets.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/compile_fail.rs + item: advice + mutator: fn_value.none + normalizedText: "{ if targets.is_empty() { return None; } let named: Vec = targets .iter() .map(|target| format!(\"\ + `{}` in {} ({})\", target.target, target.package, target.harness)) .collect(); let flags: Vec = targets.iter().map(|target|\ + \ format!(\"--exclude-test {}\", target.target)).collect(); Some(format!( \"{} {} the compiler once per case, so every\ + \ mutant pays for a full rustc run and almost none are convicted by it: {}.\\n\\\n If {} is not part of what\ + \ should be judging these mutants, exclude it with `{}`.\\n\\\n Left in, it is likely to make this run take\ + \ hours.\", crate::report::quantity(targets.len(), \"test target\"), if targets.len() == 1 { \"invokes\" } else {\ + \ \"invoke\" }, named.join(\", \"), if targets.len() == 1 { \"it\" } else { \"any of them\" }, flags.join(\" \"),\ + \ )) }" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/compile_fail.rs + item: advice + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/compile_fail.rs + item: compile_fail_targets + mutator: relational.eq_to_ne + normalizedText: dependency.kind == DependencyKind::Development + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: Glob::matches + mutator: cond.always_false + normalizedText: self.basename_only + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: Glob::matches + mutator: cond.always_true + normalizedText: self.basename_only + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: Glob::matches + mutator: cond.negate + normalizedText: self.basename_only + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: Glob::matches + mutator: fn_value.bool_false + normalizedText: '{ let path = normalized(path); let text = if self.basename_only { path.rsplit(''/'').next().unwrap_or(&path) + } else { &path }; SCRATCH.with_borrow_mut(|scratch| glob_match(&self.tokens, text, scratch)) }' + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: Glob::matches + mutator: fn_value.bool_true + normalizedText: '{ let path = normalized(path); let text = if self.basename_only { path.rsplit(''/'').next().unwrap_or(&path) + } else { &path }; SCRATCH.with_borrow_mut(|scratch| glob_match(&self.tokens, text, scratch)) }' + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: Glob::new + mutator: unary.remove_not + normalizedText: '!pattern.contains(''/'')' + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: arith.add_to_mul + normalizedText: index + 1 + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: arith.add_to_mul + normalizedText: index + 1 + occurrence: 1 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: arith.add_to_mul + normalizedText: index + 1 + occurrence: 2 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: arith.add_to_mul + normalizedText: index + 1 + occurrence: 3 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: arith.add_to_mul + normalizedText: index + 1 + occurrence: 4 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: arith.add_to_mul + normalizedText: scratch.text.len() + 1 + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: arith.add_to_sub + normalizedText: index + 1 + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: arith.add_to_sub + normalizedText: index + 1 + occurrence: 1 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: arith.add_to_sub + normalizedText: index + 1 + occurrence: 2 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: arith.add_to_sub + normalizedText: index + 1 + occurrence: 3 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: arith.add_to_sub + normalizedText: index + 1 + occurrence: 4 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: arith.add_to_sub + normalizedText: scratch.text.len() + 1 + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: assign_value.default + normalizedText: '*character != ''/'' && scratch.next[index + 1]' + occurrence: 0 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: assign_value.default + normalizedText: character == expected && scratch.next[index + 1] + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: assign_value.default + normalizedText: scratch.next[index] || (index < scratch.text.len() && scratch.current[index + 1]) + occurrence: 0 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: assign_value.default + normalizedText: scratch.next[index] || (index < scratch.text.len() && scratch.text[index] != '/' && scratch.current[index + + 1]) + occurrence: 0 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: assign_value.default + normalizedText: scratch.next[index] || directory_match + occurrence: 0 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: assign_value.default + normalizedText: 'true' + occurrence: 1 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: cond.always_false + normalizedText: index < scratch.text.len() && scratch.text[index] == '/' && scratch.next[index + 1] + occurrence: 0 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: cond.always_true + normalizedText: index < scratch.text.len() && scratch.text[index] == '/' && scratch.next[index + 1] + occurrence: 0 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: cond.negate + normalizedText: index < scratch.text.len() && scratch.text[index] == '/' && scratch.next[index + 1] + occurrence: 0 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + occurrence: 1 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + occurrence: 2 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + occurrence: 3 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + occurrence: 4 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + occurrence: 5 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + occurrence: 6 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + occurrence: 7 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + occurrence: 8 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + occurrence: 9 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + 1 + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + 1 + occurrence: 1 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + 1 + occurrence: 2 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + 1 + occurrence: 3 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: index + 1 + occurrence: 4 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: scratch.text.len() + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: scratch.text.len() + occurrence: 1 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: scratch.text.len() + occurrence: 2 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: scratch.text.len() + occurrence: 3 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: width + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.decrement + normalizedText: width + occurrence: 1 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + occurrence: 1 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + occurrence: 2 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + occurrence: 3 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + occurrence: 4 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + occurrence: 5 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + occurrence: 6 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + occurrence: 7 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + occurrence: 8 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + occurrence: 9 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + 1 + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + 1 + occurrence: 1 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + 1 + occurrence: 2 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + 1 + occurrence: 3 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: index + 1 + occurrence: 4 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: scratch.text.len() + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: scratch.text.len() + occurrence: 1 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: scratch.text.len() + occurrence: 2 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: scratch.text.len() + occurrence: 3 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: width + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: expr.increment + normalizedText: width + occurrence: 1 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: fn_value.bool_false + normalizedText: '{ scratch.text.clear(); scratch.text.extend(text.chars()); let width = scratch.text.len() + 1; scratch.next.clear(); + scratch.next.resize(width, false); scratch.current.clear(); scratch.current.resize(width, false); scratch.next[scratch.text.len()] + = true; for token in tokens.iter().rev() { scratch.current.fill(false); match token { Token::Literal(expected) => + { for (index, character) in scratch.text.iter().enumerate() { scratch.current[index] = character == expected && scratch.next[index + + 1]; } } Token::One => { for (index, character) in scratch.text.iter().enumerate() { scratch.current[index] = *character + != ''/'' && scratch.next[index + 1]; } } Token::Star => { for index in (0..=scratch.text.len()).rev() { scratch.current[index] + = scratch.next[index] || (index < scratch.text.len() && scratch.text[index] != ''/'' && scratch.current[index + 1]); + } } Token::RecursiveStar => { for index in (0..=scratch.text.len()).rev() { scratch.current[index] = scratch.next[index] + || (index < scratch.text.len() && scratch.current[index + 1]); } } Token::RecursivePrefix => { let mut directory_match + = false; for index in (0..=scratch.text.len()).rev() { if index < scratch.text.len() && scratch.text[index] == ''/'' + && scratch.next[index + 1] { directory_match = true; } scratch.current[index] = scratch.next[index] || directory_match; + } } } core::mem::swap(&mut scratch.next, &mut scratch.current); } scratch.next[0] }' + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: fn_value.bool_true + normalizedText: '{ scratch.text.clear(); scratch.text.extend(text.chars()); let width = scratch.text.len() + 1; scratch.next.clear(); + scratch.next.resize(width, false); scratch.current.clear(); scratch.current.resize(width, false); scratch.next[scratch.text.len()] + = true; for token in tokens.iter().rev() { scratch.current.fill(false); match token { Token::Literal(expected) => + { for (index, character) in scratch.text.iter().enumerate() { scratch.current[index] = character == expected && scratch.next[index + + 1]; } } Token::One => { for (index, character) in scratch.text.iter().enumerate() { scratch.current[index] = *character + != ''/'' && scratch.next[index + 1]; } } Token::Star => { for index in (0..=scratch.text.len()).rev() { scratch.current[index] + = scratch.next[index] || (index < scratch.text.len() && scratch.text[index] != ''/'' && scratch.current[index + 1]); + } } Token::RecursiveStar => { for index in (0..=scratch.text.len()).rev() { scratch.current[index] = scratch.next[index] + || (index < scratch.text.len() && scratch.current[index + 1]); } } Token::RecursivePrefix => { let mut directory_match + = false; for index in (0..=scratch.text.len()).rev() { if index < scratch.text.len() && scratch.text[index] == ''/'' + && scratch.next[index + 1] { directory_match = true; } scratch.current[index] = scratch.next[index] || directory_match; + } } } core::mem::swap(&mut scratch.next, &mut scratch.current); } scratch.next[0] }' + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 3 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 5 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: literal.int_increment + normalizedText: '1' + occurrence: 5 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: logical.and_to_or + normalizedText: '*character != ''/'' && scratch.next[index + 1]' + occurrence: 0 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: logical.and_to_or + normalizedText: character == expected && scratch.next[index + 1] + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: logical.and_to_or + normalizedText: index < scratch.text.len() && scratch.current[index + 1] + occurrence: 0 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: logical.and_to_or + normalizedText: index < scratch.text.len() && scratch.text[index] != '/' + occurrence: 0 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: logical.and_to_or + normalizedText: index < scratch.text.len() && scratch.text[index] != '/' && scratch.current[index + 1] + occurrence: 0 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: logical.and_to_or + normalizedText: index < scratch.text.len() && scratch.text[index] == '/' + occurrence: 0 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: logical.and_to_or + normalizedText: index < scratch.text.len() && scratch.text[index] == '/' && scratch.next[index + 1] + occurrence: 0 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: logical.or_to_and + normalizedText: scratch.next[index] || (index < scratch.text.len() && scratch.current[index + 1]) + occurrence: 0 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: logical.or_to_and + normalizedText: scratch.next[index] || (index < scratch.text.len() && scratch.text[index] != '/' && scratch.current[index + + 1]) + occurrence: 0 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: logical.or_to_and + normalizedText: scratch.next[index] || directory_match + occurrence: 0 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: range.inclusive_to_exclusive + normalizedText: 0..=scratch.text.len() + occurrence: 0 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: range.inclusive_to_exclusive + normalizedText: 0..=scratch.text.len() + occurrence: 1 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: range.inclusive_to_exclusive + normalizedText: 0..=scratch.text.len() + occurrence: 2 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: relational.eq_to_ne + normalizedText: character == expected + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: relational.eq_to_ne + normalizedText: scratch.text[index] == '/' + occurrence: 0 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: relational.lt_to_gt + normalizedText: index < scratch.text.len() + occurrence: 0 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: relational.lt_to_gt + normalizedText: index < scratch.text.len() + occurrence: 1 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: relational.lt_to_gt + normalizedText: index < scratch.text.len() + occurrence: 2 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: relational.lt_to_le + normalizedText: index < scratch.text.len() + occurrence: 0 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: relational.lt_to_le + normalizedText: index < scratch.text.len() + occurrence: 1 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: relational.lt_to_le + normalizedText: index < scratch.text.len() + occurrence: 2 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: relational.ne_to_eq + normalizedText: '*character != ''/''' + occurrence: 0 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: relational.ne_to_eq + normalizedText: scratch.text[index] != '/' + occurrence: 0 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_assign + normalizedText: directory_match = true; + occurrence: 0 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_assign + normalizedText: scratch.current[index] = *character != '/' && scratch.next[index + 1]; + occurrence: 0 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_assign + normalizedText: scratch.current[index] = character == expected && scratch.next[index + 1]; + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_assign + normalizedText: scratch.current[index] = scratch.next[index] || (index < scratch.text.len() && scratch.current[index + + 1]); + occurrence: 0 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_assign + normalizedText: scratch.current[index] = scratch.next[index] || (index < scratch.text.len() && scratch.text[index] != + '/' && scratch.current[index + 1]); + occurrence: 0 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_assign + normalizedText: scratch.current[index] = scratch.next[index] || directory_match; + occurrence: 0 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_assign + normalizedText: scratch.next[scratch.text.len()] = true; + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_call + normalizedText: core::mem::swap(&mut scratch.next, &mut scratch.current); + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_call + normalizedText: scratch.current.clear(); + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_call + normalizedText: scratch.current.fill(false); + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_call + normalizedText: scratch.current.resize(width, false); + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_call + normalizedText: scratch.next.clear(); + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_call + normalizedText: scratch.next.resize(width, false); + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_call + normalizedText: scratch.text.clear(); + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: glob_match + mutator: stmt.delete_call + normalizedText: scratch.text.extend(text.chars()); + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: matches_glob + mutator: fn_value.bool_false + normalizedText: '{ Glob::new(pattern).matches(path) }' + occurrence: 0 + testSet: 1884 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: matches_glob + mutator: fn_value.bool_true + normalizedText: '{ Glob::new(pattern).matches(path) }' + occurrence: 0 + testSet: 1884 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: normalize_separators + mutator: fn_value.empty_string + normalizedText: '{ normalized(text).into_owned() }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: normalize_separators + mutator: fn_value.xyzzy_string + normalizedText: '{ normalized(text).into_owned() }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: normalized + mutator: cond.always_false + normalizedText: cfg!(windows) + occurrence: 0 + testSet: 1885 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: normalized + mutator: cond.negate + normalizedText: cfg!(windows) + occurrence: 0 + testSet: 1885 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: normalized + mutator: fn_value.default + normalizedText: '{ if cfg!(windows) { Cow::Owned(text.replace(''\\'', "/")) } else { Cow::Borrowed(text) } }' + occurrence: 0 + testSet: 1885 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: normalized + mutator: literal.str_to_empty + normalizedText: '"/"' + occurrence: 0 + testSet: 1885 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: normalized + mutator: literal.str_to_xyzzy + normalizedText: '"/"' + occurrence: 0 + testSet: 1885 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: arith.sub_to_add + normalizedText: index - start + occurrence: 0 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: arith.sub_to_div + normalizedText: index - start + occurrence: 0 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: assign.add_to_sub + normalizedText: index += 1 + occurrence: 0 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: assign.add_to_sub + normalizedText: index += 1 + occurrence: 1 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: assign.add_to_sub + normalizedText: index += 1 + occurrence: 2 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: assign.add_to_sub + normalizedText: index += 1 + occurrence: 3 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: cond.always_false + normalizedText: characters.get(index) == Some(&'/') + occurrence: 0 + testSet: 1887 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: cond.always_false + normalizedText: index - start == 1 + occurrence: 0 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: cond.always_true + normalizedText: characters.get(index) == Some(&'/') + occurrence: 0 + testSet: 1887 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: cond.always_true + normalizedText: index - start == 1 + occurrence: 0 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: cond.negate + normalizedText: characters.get(index) == Some(&'/') + occurrence: 0 + testSet: 1887 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: cond.negate + normalizedText: index - start == 1 + occurrence: 0 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: cond.negate + normalizedText: index < characters.len() + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: cond.negate + normalizedText: index < characters.len() && characters[index] == '*' + occurrence: 0 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: expr.decrement + normalizedText: index + occurrence: 1 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: expr.decrement + normalizedText: index + occurrence: 2 + testSet: 1887 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: expr.increment + normalizedText: index + occurrence: 1 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: expr.increment + normalizedText: index + occurrence: 2 + testSet: 1887 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: fn_value.empty_collection + normalizedText: '{ let characters: Vec<_> = pattern.chars().collect(); let mut tokens = Vec::with_capacity(characters.len()); + let mut index = 0; while index < characters.len() { match characters[index] { ''?'' => { tokens.push(Token::One); + index += 1; } ''*'' => { let start = index; while index < characters.len() && characters[index] == ''*'' { index += + 1; } if index - start == 1 { tokens.push(Token::Star); } else if characters.get(index) == Some(&''/'') { tokens.push(Token::RecursivePrefix); + index += 1; } else { tokens.push(Token::RecursiveStar); } } literal => { tokens.push(Token::Literal(literal)); index + += 1; } } } tokens }' + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: logical.and_to_or + normalizedText: index < characters.len() && characters[index] == '*' + occurrence: 0 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: match_arm.never_matches + normalizedText: '''*''' + occurrence: 0 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: match_arm.never_matches + normalizedText: '''?''' + occurrence: 0 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: option.some_to_none + normalizedText: Some(&'/') + occurrence: 0 + testSet: 1887 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: relational.eq_to_ne + normalizedText: characters.get(index) == Some(&'/') + occurrence: 0 + testSet: 1887 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: relational.eq_to_ne + normalizedText: characters[index] == '*' + occurrence: 0 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: relational.eq_to_ne + normalizedText: index - start == 1 + occurrence: 0 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: relational.lt_to_gt + normalizedText: index < characters.len() + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: relational.lt_to_gt + normalizedText: index < characters.len() + occurrence: 1 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: relational.lt_to_le + normalizedText: index < characters.len() + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: relational.lt_to_le + normalizedText: index < characters.len() + occurrence: 1 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: stmt.delete_assign + normalizedText: index += 1; + occurrence: 0 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: stmt.delete_assign + normalizedText: index += 1; + occurrence: 1 + testSet: 1886 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: stmt.delete_assign + normalizedText: index += 1; + occurrence: 2 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: stmt.delete_assign + normalizedText: index += 1; + occurrence: 3 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: stmt.delete_call + normalizedText: tokens.push(Token::Literal(literal)); + occurrence: 0 + testSet: 1879 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: stmt.delete_call + normalizedText: tokens.push(Token::One); + occurrence: 0 + testSet: 1880 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: stmt.delete_call + normalizedText: tokens.push(Token::RecursivePrefix); + occurrence: 0 + testSet: 1883 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: stmt.delete_call + normalizedText: tokens.push(Token::RecursiveStar); + occurrence: 0 + testSet: 1882 + - site: + file: crates/cargo-gamma-lib/src/discover/glob.rs + item: tokenize + mutator: stmt.delete_call + normalizedText: tokens.push(Token::Star); + occurrence: 0 + testSet: 1881 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::counts + mutator: fn_value.default + normalizedText: '{ self.promotion(false) }' + occurrence: 0 + testSet: 1843 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::counts + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1843 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::generalized + mutator: fn_value.default + normalizedText: '{ self.generalized .supported() .cloned() .unwrap_or_else(GeneralizedHints::empty_supported) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::generalized_for + mutator: assign_value.default + normalizedText: source .binaries .iter() .filter(|entry| files.contains(entry.file.as_path())) .cloned() .collect() + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::generalized_for + mutator: assign_value.default + normalizedText: source .items .iter() .filter(|entry| items.contains(&(entry.file.as_path(), entry.item.as_str()))) + .cloned() .collect() + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::generalized_for + mutator: stmt.delete_assign + normalizedText: output.binaries = source .binaries .iter() .filter(|entry| files.contains(entry.file.as_path())) .cloned() + .collect(); + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::generalized_for + mutator: stmt.delete_assign + normalizedText: output.items = source .items .iter() .filter(|entry| items.contains(&(entry.file.as_path(), entry.item.as_str()))) + .cloned() .collect(); + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::is_empty + mutator: fn_value.bool_false + normalizedText: '{ self.mutants.is_empty() && self.generalized.is_empty() }' + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::is_empty + mutator: fn_value.bool_true + normalizedText: '{ self.mutants.is_empty() && self.generalized.is_empty() }' + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::is_empty + mutator: logical.and_to_or + normalizedText: self.mutants.is_empty() && self.generalized.is_empty() + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::is_missing + mutator: fn_value.bool_false + normalizedText: '{ matches!(fs::metadata(path(root).as_std_path()), Err(cause) if cause.kind() == ErrorKind::NotFound) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::is_missing + mutator: fn_value.bool_true + normalizedText: '{ matches!(fs::metadata(path(root).as_std_path()), Err(cause) if cause.kind() == ErrorKind::NotFound) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::load + mutator: fn_value.default + normalizedText: '{ Self::read(&path(root)).unwrap_or_default() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::ordering + mutator: fn_value.empty_collection + normalizedText: '{ self.mutants .iter() .filter(|hint| hint.unviable) .map(|hint| hint.id.as_str()) .collect() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::ordering + mutator: fn_value.one_element + normalizedText: '{ self.mutants .iter() .filter(|hint| hint.unviable) .map(|hint| hint.id.as_str()) .collect() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promoted + mutator: fn_value.default + normalizedText: '{ let probes = record.probes(); let unviable: HashSet<&str> = record .iter() .filter(|(_id, outcome)| + tier_of(*outcome) == Some(Tier::Ordering)) .map(|(id, _outcome)| id) .collect(); let mut mutants: Vec = population + .iter() .filter_map(|mutant| { let hint = Hint { file: mutant.file.to_path_buf(), id: mutant.id.clone(), killer: probes.get(&mutant.id).cloned(), + unviable: unviable.contains(mutant.id.as_str()), }; (hint.killer.is_some() || hint.unviable).then_some(hint) }) .collect(); + mutants.sort_by(|left, right| left.file.cmp(&right.file).then_with(|| left.id.cmp(&right.id))); mutants.dedup_by(|left, + right| left.file == right.file && left.id == right.id); Self { version: VERSION, tool: format!("cargo-gamma {}", env!("CARGO_PKG_VERSION")), + context: record.context().clone(), mutants, generalized: Self::generalized_for(&record.generalized(), population), + } }' + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promoted + mutator: iter.remove_dedup + normalizedText: mutants.dedup_by(|left, right| left.file == right.file && left.id == right.id); + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promoted + mutator: iter.remove_sort + normalizedText: mutants.sort_by(|left, right| left.file.cmp(&right.file).then_with(|| left.id.cmp(&right.id))); + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promoted + mutator: logical.and_to_or + normalizedText: left.file == right.file && left.id == right.id + occurrence: 0 + testSet: 1840 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promoted + mutator: logical.or_to_and + normalizedText: hint.killer.is_some() || hint.unviable + occurrence: 0 + testSet: 1838 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promoted + mutator: option.some_to_none + normalizedText: Some(Tier::Ordering) + occurrence: 0 + testSet: 1888 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promoted + mutator: relational.eq_to_ne + normalizedText: left.file == right.file + occurrence: 0 + testSet: 1840 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promoted + mutator: relational.eq_to_ne + normalizedText: left.id == right.id + occurrence: 0 + testSet: 1840 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promoted + mutator: relational.eq_to_ne + normalizedText: tier_of(*outcome) == Some(Tier::Ordering) + occurrence: 0 + testSet: 1888 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promotion + mutator: arith.add_to_mul + normalizedText: self.generalized.items.len() + self.generalized.binaries.len() + occurrence: 0 + testSet: 1840 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promotion + mutator: arith.add_to_mul + normalizedText: self.generalized.items.len() + self.generalized.binaries.len() + self.generalized.reach.len() + occurrence: 0 + testSet: 1840 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promotion + mutator: arith.add_to_sub + normalizedText: self.generalized.items.len() + self.generalized.binaries.len() + occurrence: 0 + testSet: 1840 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promotion + mutator: arith.add_to_sub + normalizedText: self.generalized.items.len() + self.generalized.binaries.len() + self.generalized.reach.len() + occurrence: 0 + testSet: 1840 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::promotion + mutator: fn_value.default + normalizedText: '{ Promotion { mutants: self.mutants.len(), probes: self.mutants.iter().filter(|hint| hint.killer.is_some()).count(), + ordering: self.mutants.iter().filter(|hint| hint.unviable).count(), generalized: self.generalized.items.len() + self.generalized.binaries.len() + + self.generalized.reach.len(), changed, } }' + occurrence: 0 + testSet: 1840 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::read + mutator: fn_value.none + normalizedText: '{ let text = input::text(File::open(path.as_std_path()).ok()?).ok()??; let hints = serde_json::from_str::(&text).ok()?; + (hints.version == VERSION).then_some(hints) }' + occurrence: 0 + testSet: 1889 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::read + mutator: relational.eq_to_ne + normalizedText: hints.version == VERSION + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::rendered + mutator: fn_value.ok + normalizedText: '{ let mut text = serde_json::to_string_pretty(self) .map_err(|cause| error!("the hints could not be + serialized; please report this").caused_by(cause))?; text.push(''\n''); Ok(text) }' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::rendered + mutator: stmt.delete_call + normalizedText: text.push('\n'); + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::verified + mutator: cond.always_false + normalizedText: '&written == intended' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::verified + mutator: cond.always_true + normalizedText: '&written == intended' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::verified + mutator: cond.negate + normalizedText: '&written == intended' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::verified + mutator: fn_value.ok + normalizedText: '{ let Some(written) = Self::read(path) else { return Err(error!("`{path}` could not be read back after + being written")); }; if &written == intended { return Ok(()); } Err(error!("`{path}` does not hold what was written + to it")) }' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::verified + mutator: relational.eq_to_ne + normalizedText: '&written == intended' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: cond.always_false + normalizedText: before.as_deref() == Some(text.as_str()) + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: cond.always_false + normalizedText: u64::try_from(text.len()).unwrap_or(u64::MAX) > input::MAX_BYTES + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: cond.always_true + normalizedText: before.as_deref() == Some(text.as_str()) + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: cond.always_true + normalizedText: u64::try_from(text.len()).unwrap_or(u64::MAX) > input::MAX_BYTES + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: cond.negate + normalizedText: before.as_deref() == Some(text.as_str()) + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: cond.negate + normalizedText: u64::try_from(text.len()).unwrap_or(u64::MAX) > input::MAX_BYTES + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: expr.decrement + normalizedText: text.len() + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: expr.decrement + normalizedText: u64::MAX + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: expr.increment + normalizedText: text.len() + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: expr.increment + normalizedText: u64::MAX + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: fn_value.ok + normalizedText: '{ let text = self.rendered()?; let workspace = path.parent().unwrap_or_else(|| Utf8Path::new(".")); + if u64::try_from(text.len()).unwrap_or(u64::MAX) > input::MAX_BYTES { return Err(error!( "the promoted hints are larger + than the {} bytes cargo-gamma will retain", input::MAX_BYTES )); } let before = match File::open(path.as_std_path()) + { Ok(file) => match input::text(file) { Ok(Some(text)) => Some(text), Ok(None) => { return Err(error!( "`{path}` is + larger than the {} bytes cargo-gamma will retain, so it cannot be safely replaced", input::MAX_BYTES )); } Err(cause) + => { return Err(error!("`{path}` is already there and could not be read, so it must not be replaced").caused_by(cause)); + } }, Err(cause) if cause.kind() == ErrorKind::NotFound => None, Err(cause) => { return Err(error!("`{path}` is already + there and could not be read, so it must not be replaced").caused_by(cause)); } }; if before.as_deref() == Some(text.as_str()) + { return Ok(self.promotion(false)); } match crate::elements::write_if_unchanged(workspace, path, before.as_deref(), + &text) .map_err(|cause| error!("could not write `{path}`").caused_by(cause))? { Publication::Conflict => { return + Err(error!( "`{path}` changed while these hints were being promoted; the newer generation was left alone" )); } Publication::Published + => {} Publication::PublishedUndurable(cause) => return Err(cause), } after_publication(path); match Self::verified(path, + self) { Ok(()) => Ok(self.promotion(true)), Err(cause) => Err(restored(workspace, path, before.as_deref(), &text, + cause)), } }' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1844 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: match_guard.always_false + normalizedText: cause.kind() == ErrorKind::NotFound + occurrence: 0 + testSet: 1890 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: match_guard.always_true + normalizedText: cause.kind() == ErrorKind::NotFound + occurrence: 0 + testSet: 1890 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: match_guard.negate + normalizedText: cause.kind() == ErrorKind::NotFound + occurrence: 0 + testSet: 1890 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1890 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: option.some_to_none + normalizedText: Some(text) + occurrence: 0 + testSet: 1891 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: option.some_to_none + normalizedText: Some(text.as_str()) + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: relational.eq_to_ne + normalizedText: before.as_deref() == Some(text.as_str()) + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: relational.gt_to_ge + normalizedText: u64::try_from(text.len()).unwrap_or(u64::MAX) > input::MAX_BYTES + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: relational.gt_to_lt + normalizedText: u64::try_from(text.len()).unwrap_or(u64::MAX) > input::MAX_BYTES + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: Hints::write + mutator: stmt.delete_call + normalizedText: after_publication(path); + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/discover/hints.rs + item: path + mutator: fn_value.default + normalizedText: '{ root.join(FILE) }' + occurrence: 0 + testSet: 1892 + - site: + file: crates/cargo-gamma-lib/src/discover/input.rs + item: text + mutator: fn_value.ok + normalizedText: '{ text_with_limit(input, retention_limit()) }' + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/input.rs + item: text_with_limit + mutator: cond.always_false + normalizedText: length > limit + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/input.rs + item: text_with_limit + mutator: cond.always_true + normalizedText: length > limit + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/input.rs + item: text_with_limit + mutator: cond.negate + normalizedText: length > limit + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/input.rs + item: text_with_limit + mutator: expr.decrement + normalizedText: bytes.len() + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/input.rs + item: text_with_limit + mutator: expr.decrement + normalizedText: limit.saturating_add(1) + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/input.rs + item: text_with_limit + mutator: expr.increment + normalizedText: bytes.len() + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/input.rs + item: text_with_limit + mutator: expr.increment + normalizedText: limit.saturating_add(1) + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/input.rs + item: text_with_limit + mutator: fn_value.ok + normalizedText: '{ let mut bytes = Vec::new(); let mut capped = input.by_ref().take(limit.saturating_add(1)); let _read + = capped.read_to_end(&mut bytes)?; let length = u64::try_from(bytes.len()).expect("usize cannot be wider than u64 + on Rust''s supported targets"); if length > limit { return Ok(None); } String::from_utf8(bytes) .map(Some) .map_err(|cause| + io::Error::new(io::ErrorKind::InvalidData, cause)) }' + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/input.rs + item: text_with_limit + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/input.rs + item: text_with_limit + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/input.rs + item: text_with_limit + mutator: relational.gt_to_ge + normalizedText: length > limit + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/input.rs + item: text_with_limit + mutator: relational.gt_to_lt + normalizedText: length > limit + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/order.rs + item: stages + mutator: fn_value.empty_collection + normalizedText: '{ let mut ordered: Vec<&String> = packages.iter().collect(); let size = |name: &str| reach.get(name).map_or(0, + HashSet::len); ordered.sort_by(|left, right| size(left).cmp(&size(right)).then_with(|| left.cmp(right))); let mut + stages: Vec = Vec::new(); for name in ordered { let joins = stages.iter_mut().find(|stage| { stage.first().is_some_and(|first| + { reach .get(first.as_str()) .is_some_and(|theirs| reach.get(name.as_str()).is_some_and(|mine| mine == theirs)) }) + }); if let Some(stage) = joins { stage.push(name.clone()); } else { stages.push(vec![name.clone()]); } } stages }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/order.rs + item: stages + mutator: fn_value.one_element + normalizedText: '{ let mut ordered: Vec<&String> = packages.iter().collect(); let size = |name: &str| reach.get(name).map_or(0, + HashSet::len); ordered.sort_by(|left, right| size(left).cmp(&size(right)).then_with(|| left.cmp(right))); let mut + stages: Vec = Vec::new(); for name in ordered { let joins = stages.iter_mut().find(|stage| { stage.first().is_some_and(|first| + { reach .get(first.as_str()) .is_some_and(|theirs| reach.get(name.as_str()).is_some_and(|mine| mine == theirs)) }) + }); if let Some(stage) = joins { stage.push(name.clone()); } else { stages.push(vec![name.clone()]); } } stages }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/order.rs + item: stages + mutator: iter.first_to_last + normalizedText: stage.first() + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/order.rs + item: stages + mutator: iter.remove_sort + normalizedText: ordered.sort_by(|left, right| size(left).cmp(&size(right)).then_with(|| left.cmp(right))); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/order.rs + item: stages + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/order.rs + item: stages + mutator: relational.eq_to_ne + normalizedText: mine == theirs + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/order.rs + item: stages + mutator: stmt.delete_call + normalizedText: stages.push(vec![name.clone()]); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + mutator: cond.always_false + normalizedText: directory.as_str().is_empty() + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + mutator: cond.always_false + normalizedText: normalized.starts_with('/') + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + mutator: cond.always_true + normalizedText: directory.as_str().is_empty() + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + mutator: cond.always_true + normalizedText: normalized.starts_with('/') + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + mutator: cond.negate + normalizedText: directory.as_str().is_empty() + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + mutator: cond.negate + normalizedText: normalized.starts_with('/') + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + mutator: fn_value.empty_string + normalizedText: '{ let Some((directory, version)) = self.specs.get(package) else { return package.to_owned(); }; let + absolute = if directory.as_str().is_empty() { root.to_owned() } else { root.join(directory) }; let normalized = absolute.as_str().replace(''\\'', + "/"); let root_slash = if normalized.starts_with(''/'') { "" } else { "/" }; let source = format!("path+file://{root_slash}{normalized}"); + format!("{source}#{package}@{version}") }' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + mutator: fn_value.xyzzy_string + normalizedText: '{ let Some((directory, version)) = self.specs.get(package) else { return package.to_owned(); }; let + absolute = if directory.as_str().is_empty() { root.to_owned() } else { root.join(directory) }; let normalized = absolute.as_str().replace(''\\'', + "/"); let root_slash = if normalized.starts_with(''/'') { "" } else { "/" }; let source = format!("path+file://{root_slash}{normalized}"); + format!("{source}#{package}@{version}") }' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + mutator: literal.str_to_empty + normalizedText: '"/"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + mutator: literal.str_to_empty + normalizedText: '"/"' + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + mutator: literal.str_to_xyzzy + normalizedText: '"/"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + mutator: literal.str_to_xyzzy + normalizedText: '"/"' + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/plan.rs + item: Plan::spec + mutator: string.starts_with_to_ends_with + normalizedText: normalized.starts_with('/') + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: as Iterator>::next + mutator: assign_value.default + normalizedText: Some(mutants) + occurrence: 0 + testSet: 1888 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: as Iterator>::next + mutator: fn_value.none + normalizedText: '{ if let Some(entry) = self.mutants.as_mut().and_then(Iterator::next) { return Some((entry.id.as_str(), + entry.outcome)); } for file in self.files.by_ref() { let mut mutants = file.mutants.iter(); if let Some(entry) = mutants.next() + { self.mutants = Some(mutants); return Some((entry.id.as_str(), entry.outcome)); } } None }' + occurrence: 0 + testSet: 1894 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: as Iterator>::next + mutator: option.some_to_none + normalizedText: Some((entry.id.as_str(), entry.outcome)) + occurrence: 1 + testSet: 1888 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: as Iterator>::next + mutator: option.some_to_none + normalizedText: Some(mutants) + occurrence: 0 + testSet: 1888 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: as Iterator>::next + mutator: stmt.delete_assign + normalizedText: self.mutants = Some(mutants); + occurrence: 0 + testSet: 1888 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: ContextDigest::resolved_at + mutator: fn_value.default + normalizedText: '{ let settings = Build::settings(root); let parts: Vec<&[u8]> = settings.iter().map(String::as_bytes).collect(); + Self { config: Some(term(Term::Config, &parts)), ..self.clone() } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: ContextDigest::resolved_at + mutator: option.some_to_none + normalizedText: Some(term(Term::Config, &parts)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: ContextDigest::resolved_at + mutator: struct_field.omit + normalizedText: 'Self { config: Some(term(Term::Config, &parts)), ..self.clone() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: ContextDigest::term + mutator: fn_value.empty_string + normalizedText: '{ match term { Term::Features => &self.features, Term::Profile => &self.profile, Term::Rustflags => + &self.rustflags, Term::Target => self.target.as_deref().unwrap_or_default(), Term::Config => self.config.as_deref().unwrap_or_default(), + Term::Extra => &self.extra, Term::Toolchain => &self.toolchain, Term::Tool => &self.tool, Term::Tests => &self.tests, + Term::Policy => &self.policy, Term::Environment => self.environment.as_deref().unwrap_or_default(), } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: ContextDigest::term + mutator: fn_value.xyzzy_string + normalizedText: '{ match term { Term::Features => &self.features, Term::Profile => &self.profile, Term::Rustflags => + &self.rustflags, Term::Target => self.target.as_deref().unwrap_or_default(), Term::Config => self.config.as_deref().unwrap_or_default(), + Term::Extra => &self.extra, Term::Toolchain => &self.toolchain, Term::Tool => &self.tool, Term::Tests => &self.tests, + Term::Policy => &self.policy, Term::Environment => self.environment.as_deref().unwrap_or_default(), } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: GeneralizedHints::is_empty + mutator: fn_value.bool_false + normalizedText: '{ self.items.is_empty() && self.binaries.is_empty() && self.reach.is_empty() }' + occurrence: 0 + testSet: 1895 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: GeneralizedHints::is_empty + mutator: fn_value.bool_true + normalizedText: '{ self.items.is_empty() && self.binaries.is_empty() && self.reach.is_empty() }' + occurrence: 0 + testSet: 1895 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: GeneralizedHints::is_empty + mutator: logical.and_to_or + normalizedText: self.items.is_empty() && self.binaries.is_empty() + occurrence: 0 + testSet: 1895 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: GeneralizedHints::is_empty + mutator: logical.and_to_or + normalizedText: self.items.is_empty() && self.binaries.is_empty() && self.reach.is_empty() + occurrence: 0 + testSet: 1895 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: GeneralizedHints::supported + mutator: fn_value.none + normalizedText: '{ (self.version == GENERALIZED_HINTS_VERSION).then_some(self) }' + occurrence: 0 + testSet: 1894 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: GeneralizedHints::supported + mutator: relational.eq_to_ne + normalizedText: self.version == GENERALIZED_HINTS_VERSION + occurrence: 0 + testSet: 1894 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: Killer::names + mutator: fn_value.bool_false + normalizedText: '{ self.package == package && self.target == target }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: Killer::names + mutator: fn_value.bool_true + normalizedText: '{ self.package == package && self.target == target }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: Killer::names + mutator: logical.and_to_or + normalizedText: self.package == package && self.target == target + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: Killer::names + mutator: relational.eq_to_ne + normalizedText: self.package == package + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: Killer::names + mutator: relational.eq_to_ne + normalizedText: self.target == target + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: cond.always_false + normalizedText: '!file.mutants.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: cond.always_false + normalizedText: self.generalized.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: cond.always_false + normalizedText: self.hints.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: cond.always_true + normalizedText: '!file.mutants.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: cond.always_true + normalizedText: self.generalized.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: cond.always_true + normalizedText: self.hints.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: cond.negate + normalizedText: '!file.mutants.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: cond.negate + normalizedText: self.generalized.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: cond.negate + normalizedText: self.hints.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: fn_value.default + normalizedText: '{ let workspace_unchanged = earlier.inputs == self.inputs; let unviability = Tier::Unviability.admits(&earlier.context, + &self.context); let verdicts = Tier::Verdict.admits(&earlier.context, &self.context) && workspace_unchanged; let mut + carried = Vec::new(); for file in &earlier.files { let compilation_unchanged = earlier .compilation_roots .get(&file.package) + .is_some_and(|roots| earlier.inputs.matches_compilation_inputs(&self.inputs, roots)); let mut admitted = file.clone(); + admitted.mutants.retain(|entry| { if entry.outcome == Outcome::CompileError { unviability && compilation_unchanged + } else { verdicts } }); if !admitted.mutants.is_empty() { carried.push(admitted); } } let carried_map: HashMap<&Utf8PathBuf, + &RecordedFile> = carried.iter().map(|f| (&f.path, f)).collect(); let mut seen = HashSet::default(); let mut files: + Vec = Vec::new(); for file in &self.files { let _ = seen.insert(&file.path); if !file.mutants.is_empty() + { files.push(file.clone()); } else if let Some(earlier_file) = carried_map.get(&file.path) { if !earlier_file.mutants.is_empty() + && is_unchanged(earlier_file, &self.inputs) { files.push(RecordedFile { path: file.path.clone(), package: earlier_file.package.clone(), + digest: file.digest.clone(), size: file.size, mutants: earlier_file.mutants.clone(), }); } else { files.push(file.clone()); + } } else { files.push(file.clone()); } } for file in &carried { if !seen.contains(&file.path) && is_unchanged(file, + &self.inputs) { files.push(file.clone()); } } files.sort_by(|left, right| left.path.cmp(&right.path)); let mut compilation_roots + = self.compilation_roots.clone(); for file in &files { if !compilation_roots.contains_key(&file.package) && let Some(roots) + = earlier.compilation_roots.get(&file.package) { let _previous = compilation_roots.insert(file.package.clone(), roots.clone()); + } } Self { version: VERSION, context: self.context.clone(), files, inputs: self.inputs.clone(), compilation_roots, + hints: if self.hints.is_empty() { earlier.hints.clone() } else { self.hints.clone() }, generalized: if self.generalized.is_empty() + { earlier.generalized.clone() } else { self.generalized.clone() }, } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: iter.remove_sort + normalizedText: files.sort_by(|left, right| left.path.cmp(&right.path)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: logical.and_to_or + normalizedText: Tier::Verdict.admits(&earlier.context, &self.context) && workspace_unchanged + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: relational.eq_to_ne + normalizedText: earlier.inputs == self.inputs + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: stmt.delete_call + normalizedText: files.push(file.clone()); + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: unary.remove_not + normalizedText: '!compilation_roots.contains_key(&file.package)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::absorbing + mutator: unary.remove_not + normalizedText: '!file.mutants.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_plan_snapshot + mutator: fn_value.none + normalizedText: '{ let mut compilation_roots = HashMap::default(); for package in plan.specs.keys() { let mut dependencies + = plan.reach.get(package).cloned().unwrap_or_default(); let _self = dependencies.insert(package.clone()); let mut + roots: Vec = dependencies .iter() .filter_map(|dependency| plan.specs.get(dependency).map(|(root, _version)| + root.clone())) .collect(); roots.sort(); roots.dedup(); let _previous = compilation_roots.insert(package.clone(), + roots); } Self::from_snapshot_with_roots(&plan.root, &plan.mutants, context, inputs, killers, compilation_roots) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_plan_snapshot + mutator: iter.remove_dedup + normalizedText: roots.dedup(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_plan_snapshot + mutator: iter.remove_sort + normalizedText: roots.sort(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: cond.always_false + normalizedText: '!inputs.matches_current(root)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: cond.always_true + normalizedText: '!inputs.matches_current(root)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: cond.negate + normalizedText: '!inputs.matches_current(root)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: fn_value.none + normalizedText: '{ if !inputs.matches_current(root) { return None; } let packages: HashMap = mutants + .iter() .map(|mutant| (mutant.file.to_path_buf(), (*mutant.package).to_owned())) .collect(); let mut by_file: HashMap> = inputs .files .iter() .filter(|file| file.path.extension() == Some("rs")) .map(|file| (file.path.clone(), + Vec::new())) .collect(); for mutant in mutants.iter().filter(|mutant| settled_verdict(mutant.outcome)) { let file + = mutant.file.to_path_buf(); let _known = inputs.file(&file)?; let killer_file = if mutant.outcome == Outcome::Killed + { mutant.killed_by.as_deref().and_then(|name| { killers .verdict_file_for(name) .and_then(|path| path.strip_prefix(root).ok()) + .map(Utf8Path::to_path_buf) }) } else { None }; by_file.entry(file).or_default().push(Entry { id: mutant.id.clone(), + outcome: mutant.outcome, killed_by: mutant.killed_by.clone(), killer_file, elapsed_ms: mutant.elapsed_ms, }); } let + mut files: Vec = by_file .into_iter() .filter_map(|(path, mut mutants)| { let input = inputs.file(&path)?; + mutants.sort_by(|left, right| left.id.cmp(&right.id)); mutants.dedup_by(|left, right| left.id == right.id); Some(RecordedFile + { package: packages.get(&path).cloned().unwrap_or_default(), path, digest: input.digest.clone(), size: input.size, + mutants, }) }) .collect(); files.sort_by(|left, right| left.path.cmp(&right.path)); Some(Self { version: VERSION, + context: context.resolved_at(root), files, inputs, compilation_roots, hints: HashMap::default(), generalized: GeneralizedHints::default(), + }) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: iter.remove_dedup + normalizedText: mutants.dedup_by(|left, right| left.id == right.id); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: iter.remove_sort + normalizedText: files.sort_by(|left, right| left.path.cmp(&right.path)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: iter.remove_sort + normalizedText: mutants.sort_by(|left, right| left.id.cmp(&right.id)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: literal.str_to_empty + normalizedText: '"rs"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: literal.str_to_xyzzy + normalizedText: '"rs"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: option.some_to_none + normalizedText: Some("rs") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: option.some_to_none + normalizedText: 'Some(RecordedFile { package: packages.get(&path).cloned().unwrap_or_default(), path, digest: input.digest.clone(), + size: input.size, mutants, })' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: option.some_to_none + normalizedText: 'Some(Self { version: VERSION, context: context.resolved_at(root), files, inputs, compilation_roots, + hints: HashMap::default(), generalized: GeneralizedHints::default(), })' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: relational.eq_to_ne + normalizedText: file.path.extension() == Some("rs") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::from_snapshot_with_roots + mutator: unary.remove_not + normalizedText: '!inputs.matches_current(root)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::generalized + mutator: fn_value.default + normalizedText: '{ self.generalized .supported() .cloned() .unwrap_or_else(GeneralizedHints::empty_supported) }' + occurrence: 0 + testSet: 1894 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::holds_unviability + mutator: fn_value.bool_false + normalizedText: '{ self.files .iter() .flat_map(|file| file.mutants.iter()) .any(|entry| entry.outcome == Outcome::CompileError) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::holds_unviability + mutator: fn_value.bool_true + normalizedText: '{ self.files .iter() .flat_map(|file| file.mutants.iter()) .any(|entry| entry.outcome == Outcome::CompileError) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::holds_unviability + mutator: iter.any_to_all + normalizedText: self.files .iter() .flat_map(|file| file.mutants.iter()) .any(|entry| entry.outcome == Outcome::CompileError) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::load + mutator: fn_value.default + normalizedText: '{ Self::load_raw(base).unwrap_or_default() }' + occurrence: 0 + testSet: 1894 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::load_raw + mutator: fn_value.none + normalizedText: '{ let text = input::text(File::open(base.join(FILE)).ok()?).ok()??; let record = serde_json::from_str::(&text).ok()?; + (record.version == VERSION).then_some(record) }' + occurrence: 0 + testSet: 1894 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::load_raw + mutator: relational.eq_to_ne + normalizedText: record.version == VERSION + occurrence: 0 + testSet: 1893 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::ordering + mutator: fn_value.empty_collection + normalizedText: '{ let mut ids: Vec<&str> = self .iter() .filter(|(_id, outcome)| *outcome == Outcome::CompileError) + .map(|(id, _outcome)| id) .collect(); ids.sort_unstable(); ids.dedup(); ids }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::ordering + mutator: fn_value.one_element + normalizedText: '{ let mut ids: Vec<&str> = self .iter() .filter(|(_id, outcome)| *outcome == Outcome::CompileError) + .map(|(id, _outcome)| id) .collect(); ids.sort_unstable(); ids.dedup(); ids }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::ordering + mutator: iter.remove_dedup + normalizedText: ids.dedup(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::ordering + mutator: iter.remove_sort + normalizedText: ids.sort_unstable(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::settled_against + mutator: cond.always_false + normalizedText: '!(unviability || verdicts && workspace_unchanged)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::settled_against + mutator: cond.always_false + normalizedText: '!current_inputs.is_complete()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::settled_against + mutator: cond.always_true + normalizedText: '!(unviability || verdicts && workspace_unchanged)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::settled_against + mutator: cond.always_true + normalizedText: '!current_inputs.is_complete()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::settled_against + mutator: cond.negate + normalizedText: '!(unviability || verdicts && workspace_unchanged)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::settled_against + mutator: cond.negate + normalizedText: '!current_inputs.is_complete()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::settled_against + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::settled_against + mutator: logical.and_to_or + normalizedText: verdicts && workspace_unchanged + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::settled_against + mutator: logical.or_to_and + normalizedText: unviability || verdicts && workspace_unchanged + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::settled_against + mutator: relational.eq_to_ne + normalizedText: self.inputs == *current_inputs + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::settled_against + mutator: unary.remove_not + normalizedText: '!(unviability || verdicts && workspace_unchanged)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::settled_against + mutator: unary.remove_not + normalizedText: '!current_inputs.is_complete()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::snapshot_with_external + mutator: fn_value.default + normalizedText: '{ WorkspaceSnapshot::capture_with_external(root, &[scratch_base.to_path_buf()], external_roots, untracked_build_script_inputs) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::store + mutator: cond.always_false + normalizedText: '!merged.inputs.matches_current(root)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::store + mutator: cond.always_true + normalizedText: '!merged.inputs.matches_current(root)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::store + mutator: cond.negate + normalizedText: '!merged.inputs.matches_current(root)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::store + mutator: fn_value.unit + normalizedText: '{ let earlier = Self::load_raw(base).unwrap_or_default(); let merged = self.absorbing(&earlier); if + !merged.inputs.matches_current(root) { return; } let Ok(text) = serde_json::to_string(&merged) else { return; }; if + let Err(failure) = crate::elements::write(&base.join(FILE), &text) { crate::notes::note(format!("could not save run + record: {failure}")); } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::store + mutator: unary.remove_not + normalizedText: '!merged.inputs.matches_current(root)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::store_knowledge + mutator: assign_value.default + normalizedText: VERSION + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::store_knowledge + mutator: fn_value.unit + normalizedText: '{ let mut record = Self::load_raw(base).unwrap_or_default(); record.version = VERSION; record.hints.clone_from(probes); + if let Some(generalized) = generalized { record.generalized.clone_from(generalized); } let Ok(text) = serde_json::to_string(&record) + else { return; }; if let Err(failure) = crate::elements::write(&base.join(FILE), &text) { crate::notes::note(format!("could + not save run-record hints: {failure}")); } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::store_knowledge + mutator: stmt.delete_assign + normalizedText: record.version = VERSION; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::store_knowledge + mutator: stmt.delete_call + normalizedText: record.generalized.clone_from(generalized); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: RunRecord::store_knowledge + mutator: stmt.delete_call + normalizedText: record.hints.clone_from(probes); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: Tier::admits + mutator: fn_value.bool_false + normalizedText: '{ self.requires() .iter() .all(|term| recorded.states(*term) && current.states(*term) && recorded.term(*term) + == current.term(*term)) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: Tier::admits + mutator: fn_value.bool_true + normalizedText: '{ self.requires() .iter() .all(|term| recorded.states(*term) && current.states(*term) && recorded.term(*term) + == current.term(*term)) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: Tier::admits + mutator: iter.all_to_any + normalizedText: self.requires() .iter() .all(|term| recorded.states(*term) && current.states(*term) && recorded.term(*term) + == current.term(*term)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: Tier::admits + mutator: logical.and_to_or + normalizedText: recorded.states(*term) && current.states(*term) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: Tier::admits + mutator: logical.and_to_or + normalizedText: recorded.states(*term) && current.states(*term) && recorded.term(*term) == current.term(*term) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: Tier::admits + mutator: relational.eq_to_ne + normalizedText: recorded.term(*term) == current.term(*term) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context + mutator: fn_value.none + normalizedText: '{ let environment = inherited_environment(); context_in(of, env::var("CARGO_BUILD_TARGET").ok().as_deref(), + &environment) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context + mutator: literal.str_to_empty + normalizedText: '"CARGO_BUILD_TARGET"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_BUILD_TARGET"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: fn_value.none + normalizedText: "{ let toolchain = of.toolchain?; let mut features: Vec<&[u8]> = of.features.iter().map(String::as_bytes).collect();\ + \ let flags = [u8::from(of.all_features), u8::from(of.no_default_features)]; features.push(&flags); let targets =\ + \ Build::requested_targets(of.extra, build_target); let named: Vec<&[u8]> = targets.iter().map(String::as_bytes).collect();\ + \ let mut test_parts: Vec<&[u8]> = Vec::new(); for pkg in of.test_packages { test_parts.push(pkg.as_bytes()); } test_parts.push(b\"\ + :inc:\"); for inc in of.include_tests { test_parts.push(inc.as_bytes()); } test_parts.push(b\":exc:\"); for exc in\ + \ of.exclude_tests { test_parts.push(exc.as_bytes()); } test_parts.push(b\":case-reachability-default:\"); let test_flags\ + \ = [u8::from(of.test_workspace), u8::from(of.whole_test_binaries), u8::from(of.nextest)]; test_parts.push(&test_flags);\ + \ let mut policy_parts: Vec<&[u8]> = Vec::new(); policy_parts.push(b\":cargo-test:\"); policy_parts.extend(of.cargo_test_args.iter().map(String::as_bytes));\ + \ policy_parts.push(b\":post--:\"); policy_parts.extend(of.test_args.iter().map(String::as_bytes)); let policy = format!(\ + \ \"baseline={};confirm={};stall={};timeout_multiplier={:?};timeout_floor={:?};memory={:?};\\\n memory_multiplier={:?};memory_headroom={:?};memory_limit={:?};baseline_memory_limit={:?};\\\ + \n no_relaunch={};copy_ignored={};jobs={:?};build_timeout={:?};build_timeout_multiplier={:?};\\\n \ + \ rollback_rounds={}\", of.baseline, of.confirm, of.stall, of.test_timeout_multiplier, of.minimum_test_timeout, of.memory,\ + \ of.memory_multiplier, of.memory_headroom, of.memory_limit, of.baseline_memory_limit, of.no_relaunch, of.copy_ignored,\ + \ of.jobs, of.build_timeout, of.build_timeout_multiplier, of.rollback_rounds ); policy_parts.push(policy.as_bytes());\ + \ let mut environment_parts = Vec::with_capacity(environment.len().saturating_mul(2)); for (name, value) in environment\ + \ { environment_parts.push(name.as_slice()); environment_parts.push(value.as_slice()); } Some(ContextDigest { features:\ + \ term(Term::Features, &features), profile: term(Term::Profile, &[of.profile.unwrap_or_default().as_bytes()]), rustflags:\ + \ term(Term::Rustflags, &[of.rustflags.unwrap_or_default().as_bytes()]), target: Some(term(Term::Target, &named)),\ + \ config: None, extra: term(Term::Extra, &of.extra.iter().map(String::as_bytes).collect::>()), toolchain:\ + \ term(Term::Toolchain, &[toolchain.as_bytes()]), tool: term(Term::Tool, &[env!(\"CARGO_PKG_VERSION\").as_bytes()]),\ + \ tests: term(Term::Tests, &test_parts), policy: term(Term::Policy, &policy_parts), environment: Some(term(Term::Environment,\ + \ &environment_parts)), }) }" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: option.some_to_none + normalizedText: 'Some(ContextDigest { features: term(Term::Features, &features), profile: term(Term::Profile, &[of.profile.unwrap_or_default().as_bytes()]), + rustflags: term(Term::Rustflags, &[of.rustflags.unwrap_or_default().as_bytes()]), target: Some(term(Term::Target, + &named)), config: None, extra: term(Term::Extra, &of.extra.iter().map(String::as_bytes).collect::>()), + toolchain: term(Term::Toolchain, &[toolchain.as_bytes()]), tool: term(Term::Tool, &[env!("CARGO_PKG_VERSION").as_bytes()]), + tests: term(Term::Tests, &test_parts), policy: term(Term::Policy, &policy_parts), environment: Some(term(Term::Environment, + &environment_parts)), })' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: option.some_to_none + normalizedText: Some(term(Term::Environment, &environment_parts)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: option.some_to_none + normalizedText: Some(term(Term::Target, &named)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: stmt.delete_call + normalizedText: environment_parts.push(name.as_slice()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: stmt.delete_call + normalizedText: environment_parts.push(value.as_slice()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: stmt.delete_call + normalizedText: features.push(&flags); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: stmt.delete_call + normalizedText: policy_parts.extend(of.cargo_test_args.iter().map(String::as_bytes)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: stmt.delete_call + normalizedText: policy_parts.extend(of.test_args.iter().map(String::as_bytes)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: stmt.delete_call + normalizedText: policy_parts.push(b":cargo-test:"); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: stmt.delete_call + normalizedText: policy_parts.push(b":post--:"); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: stmt.delete_call + normalizedText: policy_parts.push(policy.as_bytes()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: stmt.delete_call + normalizedText: test_parts.push(&test_flags); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: stmt.delete_call + normalizedText: test_parts.push(b":case-reachability-default:"); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: stmt.delete_call + normalizedText: test_parts.push(b":exc:"); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: context_in + mutator: stmt.delete_call + normalizedText: test_parts.push(b":inc:"); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: inherited_environment + mutator: fn_value.empty_collection + normalizedText: '{ let mut variables: Vec<(Vec, Vec)> = env::vars_os() .map(|(name, value)| (name.as_encoded_bytes().to_vec(), + value.as_encoded_bytes().to_vec())) .collect(); variables.sort_unstable(); variables }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: inherited_environment + mutator: fn_value.one_element + normalizedText: '{ let mut variables: Vec<(Vec, Vec)> = env::vars_os() .map(|(name, value)| (name.as_encoded_bytes().to_vec(), + value.as_encoded_bytes().to_vec())) .collect(); variables.sort_unstable(); variables }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: inherited_environment + mutator: iter.remove_sort + normalizedText: variables.sort_unstable(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags + mutator: fn_value.none + normalizedText: '{ let mut targeted: Vec<(String, String)> = env::vars_os() .filter_map(|(name, value)| { let name = + name.into_string().ok()?; (name.starts_with("CARGO_TARGET_") && name.ends_with("_RUSTFLAGS")) .then(|| Some((name, + value.into_string().ok()?))) .flatten() }) .collect(); targeted.sort(); rustflags_in( env::var("CARGO_ENCODED_RUSTFLAGS").ok(), + env::var("RUSTFLAGS").ok(), env::var("CARGO_BUILD_RUSTFLAGS").ok(), &targeted, ) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags + mutator: iter.remove_sort + normalizedText: targeted.sort(); + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags + mutator: literal.str_to_empty + normalizedText: '"CARGO_BUILD_RUSTFLAGS"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags + mutator: literal.str_to_empty + normalizedText: '"CARGO_ENCODED_RUSTFLAGS"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags + mutator: literal.str_to_empty + normalizedText: '"CARGO_TARGET_"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags + mutator: literal.str_to_empty + normalizedText: '"RUSTFLAGS"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_BUILD_RUSTFLAGS"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_ENCODED_RUSTFLAGS"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_TARGET_"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags + mutator: literal.str_to_xyzzy + normalizedText: '"RUSTFLAGS"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags + mutator: logical.and_to_or + normalizedText: name.starts_with("CARGO_TARGET_") && name.ends_with("_RUSTFLAGS") + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags + mutator: string.starts_with_to_ends_with + normalizedText: name.starts_with("CARGO_TARGET_") + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags_in + mutator: cond.always_false + normalizedText: targeted.is_empty() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags_in + mutator: cond.always_true + normalizedText: targeted.is_empty() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags_in + mutator: cond.negate + normalizedText: targeted.is_empty() + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: rustflags_in + mutator: fn_value.none + normalizedText: '{ let chosen = encoded.or(plain).or(configured); if targeted.is_empty() { return chosen; } let mut + text = chosen.unwrap_or_default(); for (name, value) in targeted { text.push(''\n''); text.push_str(name); text.push(''=''); + text.push_str(value); } Some(text) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: term + mutator: fn_value.empty_string + normalizedText: '{ let mut hasher = Hasher::new(); let named = name.name().as_bytes(); let _ = hasher.update(&(named.len() + as u64).to_le_bytes()); let _ = hasher.update(named); for part in parts { let _ = hasher.update(&(part.len() as u64).to_le_bytes()); + let _ = hasher.update(part); } hasher.finalize().to_hex().to_string() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: term + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut hasher = Hasher::new(); let named = name.name().as_bytes(); let _ = hasher.update(&(named.len() + as u64).to_le_bytes()); let _ = hasher.update(named); for part in parts { let _ = hasher.update(&(part.len() as u64).to_le_bytes()); + let _ = hasher.update(part); } hasher.finalize().to_hex().to_string() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: fn_value.none + normalizedText: '{ let program = env::var_os("RUSTC").unwrap_or_else(|| "rustc".into()); let rustc = Command::new(&program) + .arg("-vV") .output() .ok() .filter(|output| output.status.success()) .map(|output| String::from_utf8_lossy(&output.stdout).trim().to_owned())?; + let cargo_program = env::var_os("CARGO").unwrap_or_else(|| "cargo".into()); let cargo = Command::new(&cargo_program) + .arg("--version") .output() .ok() .filter(|output| output.status.success()) .map(|output| String::from_utf8_lossy(&output.stdout).trim().to_owned())?; + let wrapper = env::var_os("RUSTC_WRAPPER").unwrap_or_default(); let workspace_wrapper = env::var_os("RUSTC_WORKSPACE_WRAPPER").unwrap_or_default(); + Some(format!( "rustc={}\ncargo={}\nrustc_wrapper={}\nrustc_workspace_wrapper={}\n{rustc}\n{cargo}", program.to_string_lossy(), + cargo_program.to_string_lossy(), wrapper.to_string_lossy(), workspace_wrapper.to_string_lossy() )) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_empty + normalizedText: '"--version"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_empty + normalizedText: '"-vV"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_empty + normalizedText: '"CARGO"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_empty + normalizedText: '"RUSTC"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_empty + normalizedText: '"RUSTC_WORKSPACE_WRAPPER"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_empty + normalizedText: '"RUSTC_WRAPPER"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_empty + normalizedText: '"cargo"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_empty + normalizedText: '"rustc"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"--version"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"-vV"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"RUSTC"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"RUSTC_WORKSPACE_WRAPPER"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"RUSTC_WRAPPER"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"cargo"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: literal.str_to_xyzzy + normalizedText: '"rustc"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/record.rs + item: toolchain + mutator: option.some_to_none + normalizedText: Some(format!( "rustc={}\ncargo={}\nrustc_wrapper={}\nrustc_workspace_wrapper={}\n{rustc}\n{cargo}", + program.to_string_lossy(), cargo_program.to_string_lossy(), wrapper.to_string_lossy(), workspace_wrapper.to_string_lossy() + )) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: arith.add_to_mul + normalizedText: candidate + 1 + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: arith.add_to_sub + normalizedText: candidate + 1 + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: arith.div_to_mul + normalizedText: f64::from(1_u32 << 31) / divisor + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: arith.div_to_rem + normalizedText: f64::from(1_u32 << 31) / divisor + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: arith.mul_to_add + normalizedText: ((candidate + 1) as f64) * (f64::from(1_u32 << 31) / divisor) + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: arith.mul_to_div + normalizedText: ((candidate + 1) as f64) * (f64::from(1_u32 << 31) / divisor) + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: assign_value.default + normalizedText: key.wrapping_mul(2_862_933_555_777_941_757).wrapping_add(1) + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: assign_value.default + normalizedText: next + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: assign_value.default + normalizedText: scaled as i64 + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: cond.always_false + normalizedText: count <= 1 + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: cond.always_true + normalizedText: count <= 1 + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: cond.negate + normalizedText: count <= 1 + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: cond.negate + normalizedText: next < i64::from(count) + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: expr.decrement + normalizedText: candidate.max(0) + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: expr.decrement + normalizedText: count + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: expr.decrement + normalizedText: u32::try_from(candidate.max(0)).unwrap_or(0) + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: expr.increment + normalizedText: candidate.max(0) + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: expr.increment + normalizedText: count + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: expr.increment + normalizedText: u32::try_from(candidate.max(0)).unwrap_or(0) + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: fn_value.one + normalizedText: '{ if count <= 1 { return 0; } let mut key = fnv1a(id.as_bytes()); let mut candidate: i64 = -1; let + mut next: i64 = 0; while next < i64::from(count) { candidate = next; key = key.wrapping_mul(2_862_933_555_777_941_757).wrapping_add(1); + #[expect(clippy::cast_precision_loss, reason = "only the leading bits steer the choice")] let divisor = ((key >> 33).wrapping_add(1)) + as f64; #[expect(clippy::cast_precision_loss, reason = "the operand is a small shard ordinal")] let scaled = ((candidate + + 1) as f64) * (f64::from(1_u32 << 31) / divisor); #[expect(clippy::cast_possible_truncation, reason = "the value + is bounded by the shard count")] { next = scaled as i64; } } u32::try_from(candidate.max(0)).unwrap_or(0) }' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: fn_value.zero + normalizedText: '{ if count <= 1 { return 0; } let mut key = fnv1a(id.as_bytes()); let mut candidate: i64 = -1; let + mut next: i64 = 0; while next < i64::from(count) { candidate = next; key = key.wrapping_mul(2_862_933_555_777_941_757).wrapping_add(1); + #[expect(clippy::cast_precision_loss, reason = "only the leading bits steer the choice")] let divisor = ((key >> 33).wrapping_add(1)) + as f64; #[expect(clippy::cast_precision_loss, reason = "the operand is a small shard ordinal")] let scaled = ((candidate + + 1) as f64) * (f64::from(1_u32 << 31) / divisor); #[expect(clippy::cast_possible_truncation, reason = "the value + is bounded by the shard count")] { next = scaled as i64; } } u32::try_from(candidate.max(0)).unwrap_or(0) }' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: iter.max_to_min + normalizedText: candidate.max(0) + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_decrement + normalizedText: '0' + occurrence: 1 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_decrement + normalizedText: '0' + occurrence: 2 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_decrement + normalizedText: 1_u32 + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_decrement + normalizedText: '2_862_933_555_777_941_757' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_decrement + normalizedText: '31' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_decrement + normalizedText: '33' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_increment + normalizedText: 1_u32 + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_increment + normalizedText: '2_862_933_555_777_941_757' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_increment + normalizedText: '31' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_increment + normalizedText: '33' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_to_one + normalizedText: '2_862_933_555_777_941_757' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_to_one + normalizedText: '31' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_to_one + normalizedText: '33' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_to_zero + normalizedText: '2_862_933_555_777_941_757' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_to_zero + normalizedText: '31' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: literal.int_to_zero + normalizedText: '33' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: relational.le_to_ge + normalizedText: count <= 1 + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: relational.le_to_lt + normalizedText: count <= 1 + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: relational.lt_to_gt + normalizedText: next < i64::from(count) + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: relational.lt_to_le + normalizedText: next < i64::from(count) + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: shift.shl_to_shr + normalizedText: 1_u32 << 31 + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: shift.shr_to_shl + normalizedText: key >> 33 + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: stmt.delete_assign + normalizedText: candidate = next; + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: stmt.delete_assign + normalizedText: key = key.wrapping_mul(2_862_933_555_777_941_757).wrapping_add(1); + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: stmt.delete_assign + normalizedText: next = scaled as i64; + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/shard.rs + item: shard_of + mutator: unary.remove_neg + normalizedText: '-1' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: as Visit<'ast>>::visit_item + mutator: cond.always_false + normalizedText: '!self.cfg.holds_for(item_attributes(item))' + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: as Visit<'ast>>::visit_item + mutator: cond.always_true + normalizedText: '!self.cfg.holds_for(item_attributes(item))' + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: as Visit<'ast>>::visit_item + mutator: cond.negate + normalizedText: '!self.cfg.holds_for(item_attributes(item))' + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: as Visit<'ast>>::visit_item + mutator: fn_value.unit + normalizedText: '{ if !self.cfg.holds_for(item_attributes(item)) { return; } if let syn::Item::Impl(item) = item && + let Some((path, _for_token)) = &item.trait_ && let Some(segment) = path.segments.last() { let _new = self.names.insert(segment.ident.to_string()); + } visit::visit_item(self, item); }' + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: as Visit<'ast>>::visit_item + mutator: iter.last_to_first + normalizedText: path.segments.last() + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: as Visit<'ast>>::visit_item + mutator: stmt.delete_call + normalizedText: visit::visit_item(self, item); + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: as Visit<'ast>>::visit_item + mutator: unary.remove_not + normalizedText: '!self.cfg.holds_for(item_attributes(item))' + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Bitset::or_with + mutator: assign.or_to_and + normalizedText: '*word |= *other_word' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Bitset::or_with + mutator: fn_value.unit + normalizedText: '{ for (word, other_word) in self.words.iter_mut().zip(&other.words) { *word |= *other_word; } }' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Bitset::or_with + mutator: stmt.delete_assign + normalizedText: '*word |= *other_word;' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::includes + mutator: cond.always_false + normalizedText: self.exclude.iter().any(|(_pattern, compiled)| compiled.matches(text)) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::includes + mutator: cond.always_true + normalizedText: self.exclude.iter().any(|(_pattern, compiled)| compiled.matches(text)) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::includes + mutator: cond.negate + normalizedText: self.exclude.iter().any(|(_pattern, compiled)| compiled.matches(text)) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::includes + mutator: fn_value.bool_false + normalizedText: '{ let text = path.as_str(); if self.exclude.iter().any(|(_pattern, compiled)| compiled.matches(text)) + { return false; } self.include.is_empty() || self.include.iter().any(|(_pattern, compiled)| compiled.matches(text)) + }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::includes + mutator: fn_value.bool_true + normalizedText: '{ let text = path.as_str(); if self.exclude.iter().any(|(_pattern, compiled)| compiled.matches(text)) + { return false; } self.include.is_empty() || self.include.iter().any(|(_pattern, compiled)| compiled.matches(text)) + }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::includes + mutator: iter.any_to_all + normalizedText: self.exclude.iter().any(|(_pattern, compiled)| compiled.matches(text)) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::includes + mutator: iter.any_to_all + normalizedText: self.include.iter().any(|(_pattern, compiled)| compiled.matches(text)) + occurrence: 0 + testSet: 1898 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::includes + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::includes + mutator: logical.or_to_and + normalizedText: self.include.is_empty() || self.include.iter().any(|(_pattern, compiled)| compiled.matches(text)) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::unmatched + mutator: fn_value.none + normalizedText: '{ self.include .iter() .chain(&self.exclude) .find(|(_pattern, compiled)| !walked.iter().any(|path| + compiled.matches(path.as_str()))) .map(|(pattern, _compiled)| *pattern) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::unmatched + mutator: iter.any_to_all + normalizedText: walked.iter().any(|path| compiled.matches(path.as_str())) + occurrence: 0 + testSet: 1900 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: FilePatterns<'args>::unmatched + mutator: unary.remove_not + normalizedText: '!walked.iter().any(|path| compiled.matches(path.as_str()))' + occurrence: 0 + testSet: 1900 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::external_inputs + mutator: fn_value.default + normalizedText: '{ &self.external_inputs }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_false + normalizedText: '!is_mutable_target(target, enabled.get(package.name.as_str()))' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_false + normalizedText: '!mutating' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_false + normalizedText: '!patterns.includes(&relative)' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_false + normalizedText: cache_inputs + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_false + normalizedText: checking_exclusions && exclusion_seen.insert((absolute.clone(), package.name.to_string())) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_false + normalizedText: collecting_walked + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_false + normalizedText: declaration_seen.insert(absolute.clone()) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_false + normalizedText: mutating + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_true + normalizedText: '!is_mutable_target(target, enabled.get(package.name.as_str()))' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_true + normalizedText: '!mutating' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_true + normalizedText: '!mutating && !checking_patterns && !checking_exclusions' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_true + normalizedText: '!patterns.includes(&relative)' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_true + normalizedText: cache_inputs + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.always_true + normalizedText: mutating + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.negate + normalizedText: '!is_mutable_target(target, enabled.get(package.name.as_str()))' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.negate + normalizedText: '!mutating' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.negate + normalizedText: '!mutating && !checking_patterns && !checking_exclusions' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.negate + normalizedText: '!patterns.includes(&relative)' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.negate + normalizedText: cache_inputs + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.negate + normalizedText: checking_exclusions && exclusion_seen.insert((absolute.clone(), package.name.to_string())) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.negate + normalizedText: collecting_walked + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.negate + normalizedText: declaration_seen.insert(absolute.clone()) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: cond.negate + normalizedText: mutating + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: iter.remove_sort + normalizedText: files.sort_by(|left, right| left.path.cmp(&right.path)); + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: logical.and_to_or + normalizedText: '!mutating && !checking_patterns' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: logical.and_to_or + normalizedText: '!mutating && !checking_patterns && !checking_exclusions' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: logical.or_to_and + normalizedText: '!args.files.is_empty() || !args.exclude_files.is_empty()' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: logical.or_to_and + normalizedText: checking_patterns || diff.is_some() + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 4 + testSet: 1901 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 4 + testSet: 1901 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: stmt.delete_call + normalizedText: declaration_files .entry(package.name.to_string()) .or_default() .push(absolute.clone()); + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: stmt.delete_call + normalizedText: 'exclusion_files.push(TargetFile { path: relative.clone(), absolute: absolute.clone(), package: package.name.to_string(), + });' + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: stmt.delete_call + normalizedText: normalize_file_lists(&mut declaration_files, &mut exclusion_files); + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: stmt.delete_call + normalizedText: roots.entry(package.name.to_string()).or_default().push(source_root.to_owned()); + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: stmt.delete_call + normalizedText: walked.push(relative.clone()); + occurrence: 0 + testSet: 1900 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: unary.remove_not + normalizedText: '!args.exclude_trait_impls.is_empty()' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: unary.remove_not + normalizedText: '!args.files.is_empty()' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: unary.remove_not + normalizedText: '!is_mutable_target(target, enabled.get(package.name.as_str()))' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: unary.remove_not + normalizedText: '!mutating' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: unary.remove_not + normalizedText: '!mutating' + occurrence: 1 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::for_build_with_cache_inputs + mutator: unary.remove_not + normalizedText: '!patterns.includes(&relative)' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::packages + mutator: cond.always_false + normalizedText: seen.insert(file.package.as_str()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::packages + mutator: cond.always_true + normalizedText: seen.insert(file.package.as_str()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::packages + mutator: cond.negate + normalizedText: seen.insert(file.package.as_str()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::packages + mutator: fn_value.empty_collection + normalizedText: '{ let mut order: Vec = Vec::new(); let mut seen: HashSet<&str> = HashSet::default(); for file + in &self.files { if seen.insert(file.package.as_str()) { order.push(file.package.clone()); } } order }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::packages + mutator: fn_value.one_element + normalizedText: '{ let mut order: Vec = Vec::new(); let mut seen: HashSet<&str> = HashSet::default(); for file + in &self.files { if seen.insert(file.package.as_str()) { order.push(file.package.clone()); } } order }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::packages + mutator: stmt.delete_call + normalizedText: order.push(file.package.clone()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::scan + mutator: logical.or_to_and + normalizedText: '!is_live(mutant) || shard_of(&mutant.id, count) == index' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::scan + mutator: relational.eq_to_ne + normalizedText: shard_of(&mutant.id, count) == index + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::scan + mutator: stmt.delete_call + normalizedText: mutants.retain(|mutant| !is_live(mutant) || shard_of(&mutant.id, count) == index); + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::scan + mutator: unary.remove_not + normalizedText: '!is_live(mutant)' + occurrence: 0 + testSet: 1896 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::skeleton + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::skeleton + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: Survey::skeleton + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: TraitImplementations<'_>::collect + mutator: fn_value.one_element + normalizedText: '{ let mut collector = TraitImplementations { cfg, names: HashSet::default(), }; collector.visit_file(file); + collector.names }' + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: TraitImplementations<'_>::collect + mutator: stmt.delete_call + normalizedText: collector.visit_file(file); + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: apply_metadata_features + mutator: fn_value.unit + normalizedText: '{ for option in metadata_feature_options(features) { let cargo = match option { MetadataFeatureOption::All + => CargoOpt::AllFeatures, MetadataFeatureOption::NoDefault => CargoOpt::NoDefaultFeatures, MetadataFeatureOption::Some(named) + => CargoOpt::SomeFeatures(named), }; let _builder = command.features(cargo); } }' + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: at_workspace_root + mutator: fn_value.bool_false + normalizedText: '{ let resolve = |path: &Utf8Path| path.canonicalize_utf8().unwrap_or_else(|_unresolved| path.to_owned()); + resolve(dir) == resolve(Utf8Path::new(metadata.workspace_root.as_str())) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: at_workspace_root + mutator: fn_value.bool_true + normalizedText: '{ let resolve = |path: &Utf8Path| path.canonicalize_utf8().unwrap_or_else(|_unresolved| path.to_owned()); + resolve(dir) == resolve(Utf8Path::new(metadata.workspace_root.as_str())) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: at_workspace_root + mutator: relational.eq_to_ne + normalizedText: resolve(dir) == resolve(Utf8Path::new(metadata.workspace_root.as_str())) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: configuration + mutator: fn_value.default + normalizedText: '{ let build = cargo.cfg_build(root); let Ok(target) = crate::cfg::for_build(&build) else { return Cfgs::unconditional(); + }; Cfgs::new(&target, enabled) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: assign.or_to_and + normalizedText: has_build_scripts |= package.targets.iter().any(|target| target.kind.contains(&TargetKind::CustomBuild)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: cond.always_false + normalizedText: '!directory.starts_with(&workspace)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: cond.always_false + normalizedText: package.source.is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: cond.always_true + normalizedText: '!directory.starts_with(&workspace)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: cond.always_true + normalizedText: package.source.is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: cond.negate + normalizedText: '!directory.starts_with(&workspace)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: cond.negate + normalizedText: package.source.is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: fn_value.ok + normalizedText: '{ let mut command = MetadataCommand::new(); let _builder = command.current_dir(dir); apply_metadata_features(&mut + command, features); let metadata = command .exec() .map_err(|cause| error!("could not read the external Cargo inputs + for `{dir}`").caused_by(cause))?; let workspace = crate::paths::physical(root)?; let mut roots = Vec::new(); let mut + has_build_scripts = false; for package in metadata.packages { has_build_scripts |= package.targets.iter().any(|target| + target.kind.contains(&TargetKind::CustomBuild)); if package.source.is_some() { continue; } let Some(directory) = Utf8Path::new(package.manifest_path.as_str()).parent() + else { return Err(error!( "Cargo reported a package manifest without a parent at `{}`", package.manifest_path )); + }; let directory = crate::paths::physical(directory)?; if !directory.starts_with(&workspace) { roots.push(directory); + } } roots.sort(); roots.dedup(); Ok(ExternalPathInputs { roots, has_build_scripts }) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: iter.any_to_all + normalizedText: package.targets.iter().any(|target| target.kind.contains(&TargetKind::CustomBuild)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: iter.remove_dedup + normalizedText: roots.dedup(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: iter.remove_sort + normalizedText: roots.sort(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: stmt.delete_assign + normalizedText: has_build_scripts |= package.targets.iter().any(|target| target.kind.contains(&TargetKind::CustomBuild)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: stmt.delete_call + normalizedText: apply_metadata_features(&mut command, features); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: string.starts_with_to_ends_with + normalizedText: directory.starts_with(&workspace) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: external_path_inputs + mutator: unary.remove_not + normalizedText: '!directory.starts_with(&workspace)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: is_mutable_target + mutator: cond.always_false + normalizedText: target.name == crate::exec::RUNTIME_CRATE + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: is_mutable_target + mutator: cond.always_true + normalizedText: target.name == crate::exec::RUNTIME_CRATE + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: is_mutable_target + mutator: cond.negate + normalizedText: target.name == crate::exec::RUNTIME_CRATE + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: is_mutable_target + mutator: fn_value.bool_false + normalizedText: '{ if target.name == crate::exec::RUNTIME_CRATE { return false; } let kind = target .kind .iter() .any(|kind| + matches!(kind.to_string().as_str(), "lib" | "rlib" | "cdylib" | "bin")); kind && enabled.is_none_or(|on| { target.required_features.iter().all(|required| + { required.contains(''/'') || on.iter().any(|feature| feature == required) }) }) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: is_mutable_target + mutator: fn_value.bool_true + normalizedText: '{ if target.name == crate::exec::RUNTIME_CRATE { return false; } let kind = target .kind .iter() .any(|kind| + matches!(kind.to_string().as_str(), "lib" | "rlib" | "cdylib" | "bin")); kind && enabled.is_none_or(|on| { target.required_features.iter().all(|required| + { required.contains(''/'') || on.iter().any(|feature| feature == required) }) }) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: is_mutable_target + mutator: iter.all_to_any + normalizedText: target.required_features.iter().all(|required| { required.contains('/') || on.iter().any(|feature| feature + == required) }) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: is_mutable_target + mutator: logical.and_to_or + normalizedText: kind && enabled.is_none_or(|on| { target.required_features.iter().all(|required| { required.contains('/') + || on.iter().any(|feature| feature == required) }) }) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: is_mutable_target + mutator: relational.eq_to_ne + normalizedText: target.name == crate::exec::RUNTIME_CRATE + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: item_attributes + mutator: fn_value.default + normalizedText: '{ match item { syn::Item::Const(node) => &node.attrs, syn::Item::Enum(node) => &node.attrs, syn::Item::ExternCrate(node) + => &node.attrs, syn::Item::Fn(node) => &node.attrs, syn::Item::ForeignMod(node) => &node.attrs, syn::Item::Impl(node) + => &node.attrs, syn::Item::Macro(node) => &node.attrs, syn::Item::Mod(node) => &node.attrs, syn::Item::Static(node) + => &node.attrs, syn::Item::Struct(node) => &node.attrs, syn::Item::Trait(node) => &node.attrs, syn::Item::TraitAlias(node) + => &node.attrs, syn::Item::Type(node) => &node.attrs, syn::Item::Union(node) => &node.attrs, syn::Item::Use(node) + => &node.attrs, _ => &[], } }' + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: item_attributes + mutator: match_arm.never_matches + normalizedText: syn::Item::Fn(node) + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: item_attributes + mutator: match_arm.never_matches + normalizedText: syn::Item::Impl(node) + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: item_attributes + mutator: match_arm.never_matches + normalizedText: syn::Item::Struct(node) + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: load_metadata + mutator: stmt.delete_call + normalizedText: apply_metadata_features(&mut command, features); + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: metadata_feature_options + mutator: cond.always_false + normalizedText: '!features.features.is_empty()' + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: metadata_feature_options + mutator: cond.always_false + normalizedText: features.all_features + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: metadata_feature_options + mutator: cond.always_false + normalizedText: features.no_default_features + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: metadata_feature_options + mutator: cond.always_true + normalizedText: '!features.features.is_empty()' + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: metadata_feature_options + mutator: cond.always_true + normalizedText: features.all_features + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: metadata_feature_options + mutator: cond.always_true + normalizedText: features.no_default_features + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: metadata_feature_options + mutator: cond.negate + normalizedText: '!features.features.is_empty()' + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: metadata_feature_options + mutator: cond.negate + normalizedText: features.all_features + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: metadata_feature_options + mutator: cond.negate + normalizedText: features.no_default_features + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: metadata_feature_options + mutator: fn_value.empty_collection + normalizedText: '{ let mut options = Vec::new(); if features.all_features { options.push(MetadataFeatureOption::All); + } if features.no_default_features { options.push(MetadataFeatureOption::NoDefault); } if !features.features.is_empty() + { let named = features .features .iter() .flat_map(|entry| entry.split(['','', '' ''])) .filter(|entry| !entry.is_empty()) + .map(ToOwned::to_owned) .collect(); options.push(MetadataFeatureOption::Some(named)); } options }' + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: metadata_feature_options + mutator: unary.remove_not + normalizedText: '!features.features.is_empty()' + occurrence: 0 + testSet: 1780 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: assign_value.default + normalizedText: 'Some(Suppression { channel: Channel::Config, reason: Some(format!("trait implementation `{trait_name}` + matched `exclude-trait-impls`")), tag: None, line: None, })' + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: assign_value.default + normalizedText: suppressed.saturating_add(1) + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: cond.always_false + normalizedText: mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: cond.always_true + normalizedText: mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: cond.negate + normalizedText: mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: iter.any_to_all + normalizedText: exclude_trait_impls.iter().any(|excluded| excluded == name.as_ref()) + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: option.some_to_none + normalizedText: 'Some(Suppression { channel: Channel::Config, reason: Some(format!("trait implementation `{trait_name}` + matched `exclude-trait-impls`")), tag: None, line: None, })' + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: option.some_to_none + normalizedText: Some(format!("trait implementation `{trait_name}` matched `exclude-trait-impls`")) + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: relational.eq_to_ne + normalizedText: excluded == name.as_ref() + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: stmt.delete_assign + normalizedText: mutant.outcome = Outcome::Ignored; + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: stmt.delete_assign + normalizedText: 'mutant.suppression = Some(Suppression { channel: Channel::Config, reason: Some(format!("trait implementation + `{trait_name}` matched `exclude-trait-impls`")), tag: None, line: None, });' + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: mutate + mutator: stmt.delete_assign + normalizedText: suppressed = suppressed.saturating_add(1); + occurrence: 0 + testSet: 1847 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: normalize_file_lists + mutator: fn_value.unit + normalizedText: '{ for paths in declaration_files.values_mut() { sort_paths(paths); } sort_target_files(exclusion_files); + }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: normalize_file_lists + mutator: stmt.delete_call + normalizedText: sort_paths(paths); + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: normalize_file_lists + mutator: stmt.delete_call + normalizedText: sort_target_files(exclusion_files); + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: cond.always_false + normalizedText: files.is_empty() + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: cond.always_false + normalizedText: workers <= 1 + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: cond.always_true + normalizedText: files.is_empty() + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: cond.always_true + normalizedText: workers <= 1 + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: cond.negate + normalizedText: files.is_empty() + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: cond.negate + normalizedText: workers <= 1 + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: expr.decrement + normalizedText: files.len() + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: expr.increment + normalizedText: files.len() + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: iter.min_to_max + normalizedText: thread::available_parallelism().map_or(1, NonZero::get).min(files.len()) + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: iter.remove_sort + normalizedText: gathered.declared.sort_by(|left, right| left.0.cmp(&right.0)); + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: iter.remove_sort + normalizedText: gathered.skipped.sort_by(|left, right| left.0.cmp(&right.0)); + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: iter.remove_sort + normalizedText: results.sort_by_key(|(index, _result)| *index); + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: relational.le_to_ge + normalizedText: workers <= 1 + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: relational.le_to_lt + normalizedText: workers <= 1 + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: parse_declarations_parallel + mutator: stmt.delete_call + normalizedText: results.push((index, parse_declarations_of(path, cfg))); + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: placed_under + mutator: fn_value.ok + normalizedText: "{ let Ok(inside) = absolute.strip_prefix(root) else { return Err(error!( \"package `{package}` has\ + \ the source file `{absolute}`, which lies outside the workspace root `{root}`; \\\n gamma cannot mutate\ + \ a file it cannot place inside its scratch copy\" )); }; Ok(Utf8PathBuf::from(normalize_separators(inside.as_str())))\ + \ }" + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1902 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable + mutator: cond.always_false + normalizedText: dependency.path.is_some() + occurrence: 0 + testSet: 1902 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable + mutator: cond.always_true + normalizedText: dependency.path.is_some() + occurrence: 0 + testSet: 1902 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable + mutator: cond.negate + normalizedText: dependency.path.is_some() + occurrence: 0 + testSet: 1902 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable + mutator: expr.decrement + normalizedText: src_id + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable + mutator: expr.decrement + normalizedText: src_id + occurrence: 1 + testSet: 1902 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable + mutator: expr.increment + normalizedText: src_id + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable + mutator: expr.increment + normalizedText: src_id + occurrence: 1 + testSet: 1902 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1902 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable + mutator: stmt.delete_assign + normalizedText: opaque[src_id] = true; + occurrence: 0 + testSet: 1902 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable + mutator: stmt.delete_call + normalizedText: edges[src_id].push(dst_id); + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1902 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: cond.always_false + normalizedText: neighbor_comp != comp + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: cond.always_true + normalizedText: neighbor_comp != comp + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: cond.negate + normalizedText: neighbor_comp != comp + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: expr.decrement + normalizedText: comp + occurrence: 1 + testSet: 1902 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: expr.decrement + normalizedText: comp + occurrence: 2 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: expr.decrement + normalizedText: neighbor + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: expr.decrement + normalizedText: successor + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: expr.increment + normalizedText: comp + occurrence: 1 + testSet: 1902 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: expr.increment + normalizedText: comp + occurrence: 2 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: expr.increment + normalizedText: neighbor + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: expr.increment + normalizedText: successor + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1902 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: relational.ne_to_eq + normalizedText: neighbor_comp != comp + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: stmt.delete_assign + normalizedText: comp_opaque[comp] = true; + occurrence: 0 + testSet: 1902 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: reachable_ids + mutator: stmt.delete_call + normalizedText: closure.or_with(&successor_closure); + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: assign.add_to_sub + normalizedText: entry.0 += 1 + occurrence: 0 + testSet: 1903 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: assign.add_to_sub + normalizedText: entry.1 += 1 + occurrence: 0 + testSet: 1904 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1903 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1904 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1903 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1903 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1903 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 1903 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1903 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1904 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: stmt.delete_assign + normalizedText: entry.0 += 1; + occurrence: 0 + testSet: 1903 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: stmt.delete_assign + normalizedText: entry.1 += 1; + occurrence: 0 + testSet: 1904 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: stmt.delete_call + normalizedText: notify(&format!( "{package}, {} in {}", crate::report::quantity(mutants, "mutant"), crate::report::quantity(files, + "file") )); + occurrence: 0 + testSet: 1903 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: report_by_package + mutator: stmt.delete_call + normalizedText: order.push(file.package.as_str()); + occurrence: 0 + testSet: 1903 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: scan + mutator: assign_value.default + normalizedText: Some((at, error)) + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: scan + mutator: cond.always_false + normalizedText: failure.as_ref().is_none_or(|(seen, _)| at < *seen) + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: scan + mutator: cond.always_true + normalizedText: failure.as_ref().is_none_or(|(seen, _)| at < *seen) + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: scan + mutator: cond.negate + normalizedText: failure.as_ref().is_none_or(|(seen, _)| at < *seen) + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: scan + mutator: option.some_to_none + normalizedText: Some((at, error)) + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: scan + mutator: result.err_to_ok + normalizedText: Err(error) + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: scan + mutator: stmt.delete_assign + normalizedText: failure = Some((at, error)); + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: scan + mutator: stmt.delete_call + normalizedText: declared.extend(extra_declared); + occurrence: 0 + testSet: 1899 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: selected_packages + mutator: cond.always_false + normalizedText: '!args.packages.is_empty()' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: selected_packages + mutator: cond.always_false + normalizedText: args.workspace + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: selected_packages + mutator: cond.always_true + normalizedText: '!args.packages.is_empty()' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: selected_packages + mutator: cond.always_true + normalizedText: args.workspace + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: selected_packages + mutator: cond.negate + normalizedText: '!args.packages.is_empty()' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: selected_packages + mutator: cond.negate + normalizedText: args.workspace + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: selected_packages + mutator: fn_value.one_element + normalizedText: '{ let members = || { metadata .workspace_packages() .iter() .map(|package| package.name.to_string()) + .collect() }; let defaults = || -> Option> { metadata.workspace_default_members.is_available().then(|| + { metadata .workspace_default_packages() .iter() .map(|package| package.name.to_string()) .collect() }) }; if !args.packages.is_empty() + { return args.packages.iter().cloned().collect(); } if args.workspace { return members(); } if at_workspace_root(metadata, + &args.dir) && let Some(selected) = defaults() { return selected; } if let Some(owner) = owning_package(metadata, &args.dir) + { return once(owner).collect(); } defaults().unwrap_or_else(members) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: selected_packages + mutator: unary.remove_not + normalizedText: '!args.packages.is_empty()' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: sort_paths + mutator: fn_value.unit + normalizedText: '{ paths.sort(); }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: sort_paths + mutator: iter.remove_sort + normalizedText: paths.sort(); + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: sort_target_files + mutator: fn_value.unit + normalizedText: '{ files.sort_by(|left, right| left.path.cmp(&right.path)); }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: sort_target_files + mutator: iter.remove_sort + normalizedText: files.sort_by(|left, right| left.path.cmp(&right.path)); + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: assign.add_to_sub + normalizedText: frame.edge_at += 1 + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: assign.add_to_sub + normalizedText: next_index += 1 + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: assign_value.default + normalizedText: Some(next_index) + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: assign_value.default + normalizedText: low_link[parent.node].min(low_link[node]) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: assign_value.default + normalizedText: next_index + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: assign_value.default + normalizedText: 'true' + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.decrement + normalizedText: frame.edge_at + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.decrement + normalizedText: neighbor + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.decrement + normalizedText: neighbor + occurrence: 2 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.decrement + normalizedText: neighbor + occurrence: 3 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.decrement + normalizedText: neighbor + occurrence: 4 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.decrement + normalizedText: neighbor + occurrence: 5 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.decrement + normalizedText: next_index + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.decrement + normalizedText: node + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.decrement + normalizedText: node + occurrence: 4 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.decrement + normalizedText: parent.node + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.decrement + normalizedText: parent.node + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.increment + normalizedText: frame.edge_at + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.increment + normalizedText: neighbor + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.increment + normalizedText: neighbor + occurrence: 2 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.increment + normalizedText: neighbor + occurrence: 3 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.increment + normalizedText: neighbor + occurrence: 4 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.increment + normalizedText: neighbor + occurrence: 5 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.increment + normalizedText: next_index + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.increment + normalizedText: node + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.increment + normalizedText: node + occurrence: 4 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.increment + normalizedText: parent.node + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: expr.increment + normalizedText: parent.node + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: iter.min_to_max + normalizedText: low_link[parent.node].min(low_link[node]) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: option.some_to_none + normalizedText: Some(next_index) + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: stmt.delete_assign + normalizedText: frame.edge_at += 1; + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: stmt.delete_assign + normalizedText: index_of[neighbor] = Some(next_index); + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: stmt.delete_assign + normalizedText: low_link[neighbor] = next_index; + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: stmt.delete_assign + normalizedText: low_link[parent.node] = low_link[parent.node].min(low_link[node]); + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: stmt.delete_assign + normalizedText: next_index += 1; + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: stmt.delete_assign + normalizedText: on_stack[neighbor] = true; + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: stmt.delete_call + normalizedText: 'call_stack.push(Frame { node: neighbor, edge_at: 0, });' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: strongly_connected_components + mutator: stmt.delete_call + normalizedText: stack.push(neighbor); + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: unknown_packages + mutator: fn_value.none + normalizedText: '{ let known: HashSet<&str> = metadata.workspace_packages().iter().map(|package| package.name.as_str()).collect(); + args.packages.iter().map(String::as_str).find(|wanted| !known.contains(wanted)) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: validate_trait_exclusions + mutator: cond.always_false + normalizedText: exclusions.iter().all(|exclusion| implementations.contains(exclusion.as_str())) + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: validate_trait_exclusions + mutator: cond.always_true + normalizedText: exclusions.is_empty() + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: validate_trait_exclusions + mutator: cond.always_true + normalizedText: exclusions.iter().all(|exclusion| implementations.contains(exclusion.as_str())) + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: validate_trait_exclusions + mutator: cond.negate + normalizedText: exclusions.is_empty() + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: validate_trait_exclusions + mutator: cond.negate + normalizedText: exclusions.iter().all(|exclusion| implementations.contains(exclusion.as_str())) + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: validate_trait_exclusions + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1906 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: validate_trait_exclusions + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1906 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: validate_trait_exclusions + mutator: fn_value.ok + normalizedText: '{ if exclusions.is_empty() { return Ok(()); } let mut implementations: HashSet = HashSet::default(); + for file in files { match SourceFile::read(&file.absolute) { Ok(source) => implementations.extend(TraitImplementations::collect(source.ast(), + cfgs.for_package(&file.package))), Err(error) if error.is_skippable() => {} Err(error) => return Err(error.into()), + } if exclusions.iter().all(|exclusion| implementations.contains(exclusion.as_str())) { return Ok(()); } } if let Some((index, + exclusion)) = exclusions .iter() .enumerate() .find(|(_index, exclusion)| !implementations.contains(exclusion.as_str())) + { return Err(unmatched_exclusion(index, exclusion)); } Ok(()) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: validate_trait_exclusions + mutator: iter.all_to_any + normalizedText: exclusions.iter().all(|exclusion| implementations.contains(exclusion.as_str())) + occurrence: 0 + testSet: 1897 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: validate_trait_exclusions + mutator: result.err_to_ok + normalizedText: Err(unmatched_exclusion(index, exclusion)) + occurrence: 0 + testSet: 1906 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: validate_trait_exclusions + mutator: unary.remove_not + normalizedText: '!implementations.contains(exclusion.as_str())' + occurrence: 0 + testSet: 1906 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: walk_rust_files + mutator: cond.always_true + normalizedText: entry.file_type().is_dir() + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: walk_rust_files + mutator: cond.negate + normalizedText: entry.file_type().is_dir() + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: walk_rust_files + mutator: fn_value.ok + normalizedText: '{ let mut found: Vec = Vec::new(); for entry in WalkDir::new(directory) { let entry = + entry.map_err(|cause| error!("could not list the source files under `{directory}`").caused_by(cause))?; if entry.file_type().is_dir() + { continue; } let rust = entry.path().extension() == Some(OsStr::new("rs")); match Utf8PathBuf::from_path_buf(entry.into_path()) + { Ok(path) if rust => found.push(path), Ok(_other) => {} Err(path) if rust => { return Err(error!( "the source file + `{}` under `{directory}` has a path that is not UTF-8, so it cannot be mutated", path.display() )); } Err(_other) + => {} } } found.sort(); Ok(found) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: walk_rust_files + mutator: iter.remove_sort + normalizedText: found.sort(); + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: walk_rust_files + mutator: literal.str_to_empty + normalizedText: '"rs"' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: walk_rust_files + mutator: literal.str_to_xyzzy + normalizedText: '"rs"' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: walk_rust_files + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: walk_rust_files + mutator: match_guard.always_false + normalizedText: rust + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: walk_rust_files + mutator: match_guard.always_true + normalizedText: rust + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: walk_rust_files + mutator: match_guard.negate + normalizedText: rust + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: walk_rust_files + mutator: option.some_to_none + normalizedText: Some(OsStr::new("rs")) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: walk_rust_files + mutator: relational.eq_to_ne + normalizedText: entry.path().extension() == Some(OsStr::new("rs")) + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: work + mutator: assign_value.default + normalizedText: Some((at, error.into())) + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: work + mutator: loop.break_to_continue + normalizedText: break + occurrence: 1 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: work + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: work + mutator: match_guard.always_false + normalizedText: error.is_skippable() + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: work + mutator: match_guard.always_true + normalizedText: error.is_skippable() + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: work + mutator: match_guard.negate + normalizedText: error.is_skippable() + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: work + mutator: option.some_to_none + normalizedText: Some((at, error.into())) + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: work + mutator: result.err_to_ok + normalizedText: Err(failed) + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/survey.rs + item: work + mutator: stmt.delete_assign + normalizedText: failure = Some((at, error.into())); + occurrence: 0 + testSet: 1905 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::capture_with_external + mutator: assign_value.default + normalizedText: capture_tree(root, &snapshot.excluded, &mut snapshot.complete) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::capture_with_external + mutator: fn_value.default + normalizedText: '{ let mut snapshot = Self { complete: !untracked_build_script_inputs, excluded: exclusions(root, excluded), + files: Vec::new(), external: Vec::new(), }; snapshot.files = capture_tree(root, &snapshot.excluded, &mut snapshot.complete); + let workspace = match crate::paths::physical(root) { Ok(path) => path, Err(_unresolved) => { snapshot.complete = false; + return snapshot; } }; let mut roots = Vec::new(); for root in external_roots { match crate::paths::physical(root) + { Ok(root) if !root.starts_with(&workspace) => roots.push(root), Ok(_inside_workspace) => {} Err(_unresolved) => snapshot.complete + = false, } } roots.sort(); roots.dedup(); for root in roots { let mut excluded = exclusions(&root, &[]); if let Ok(relative) + = workspace.strip_prefix(&root) && !relative.as_str().is_empty() { excluded.push(relative.to_path_buf()); excluded.sort(); + excluded.dedup(); } let files = capture_tree(&root, &excluded, &mut snapshot.complete); snapshot.external.push(ExternalInput + { root, files }); } snapshot }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::capture_with_external + mutator: iter.remove_dedup + normalizedText: roots.dedup(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::capture_with_external + mutator: iter.remove_sort + normalizedText: roots.sort(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::capture_with_external + mutator: stmt.delete_assign + normalizedText: snapshot.files = capture_tree(root, &snapshot.excluded, &mut snapshot.complete); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::capture_with_external + mutator: unary.remove_not + normalizedText: '!untracked_build_script_inputs' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::file + mutator: fn_value.none + normalizedText: '{ let index = self.files.binary_search_by(|file| file.path.as_path().cmp(path)).ok()?; self.files.get(index) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::matches_current + mutator: fn_value.bool_false + normalizedText: '{ self.complete && *self == self.recapture(root) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::matches_current + mutator: fn_value.bool_true + normalizedText: '{ self.complete && *self == self.recapture(root) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::matches_current + mutator: logical.and_to_or + normalizedText: self.complete && *self == self.recapture(root) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::matches_current + mutator: relational.eq_to_ne + normalizedText: '*self == self.recapture(root)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::recapture + mutator: fn_value.default + normalizedText: '{ let external_roots: Vec = self.external.iter().map(|input| input.root.clone()).collect(); + Self::capture_with_external(root, &self.excluded, &external_roots, false) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: WorkspaceSnapshot::recapture + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: assign_value.default + normalizedText: complete_flag.load(Ordering::Relaxed) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.always_false + normalizedText: boundary.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.always_false + normalizedText: entry.path_is_symlink() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.always_false + normalizedText: excluded.iter().any(|excluded| relative.starts_with(excluded)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.always_false + normalizedText: is_dir + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.always_false + normalizedText: is_dir + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.always_true + normalizedText: boundary.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.always_true + normalizedText: entry.path_is_symlink() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.always_true + normalizedText: excluded.iter().any(|excluded| relative.starts_with(excluded)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.always_true + normalizedText: is_dir + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.always_true + normalizedText: is_dir + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.negate + normalizedText: boundary.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.negate + normalizedText: entry.path_is_symlink() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.negate + normalizedText: excluded.iter().any(|excluded| relative.starts_with(excluded)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.negate + normalizedText: is_dir + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: cond.negate + normalizedText: is_dir + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: fn_value.empty_collection + normalizedText: '{ let boundary = fs::canonicalize(root.as_std_path()) .ok() .and_then(|path| Utf8PathBuf::from_path_buf(path).ok()); + if boundary.is_none() { *complete = false; } let complete_flag = AtomicBool::new(*complete); let files: Mutex> + = Mutex::new(Vec::new()); let excluded = excluded.to_vec(); let root_owned = root.to_owned(); let mut builder = WalkBuilder::new(root.as_std_path()); + let _builder = builder .hidden(false) .parents(false) .require_git(false) .git_ignore(false) .git_exclude(false) .git_global(false) + .ignore(false) .follow_links(false); builder.build_parallel().run(|| { let root = root_owned.clone(); let excluded + = excluded.clone(); let boundary = boundary.clone(); let complete_flag = &complete_flag; let files = &files; Box::new(move + |entry| { let Ok(entry) = entry else { complete_flag.store(false, Ordering::Relaxed); return WalkState::Continue; + }; let Ok(path) = Utf8PathBuf::from_path_buf(entry.path().to_path_buf()) else { complete_flag.store(false, Ordering::Relaxed); + return WalkState::Continue; }; let relative = path.strip_prefix(&root).unwrap_or(&path); let is_dir = entry.file_type().is_some_and(|file_type| + file_type.is_dir()); if excluded.iter().any(|excluded| relative.starts_with(excluded)) { return if is_dir { WalkState::Skip + } else { WalkState::Continue }; } if is_dir { return WalkState::Continue; } if entry.path_is_symlink() { let Ok(target) + = fs::read_link(path.as_std_path()) else { complete_flag.store(false, Ordering::Relaxed); return WalkState::Continue; + }; let bytes = target.as_os_str().as_encoded_bytes(); if let Some(boundary) = &boundary { match fs::canonicalize(path.as_std_path()) + { Ok(referent) => match Utf8PathBuf::from_path_buf(referent) { Ok(referent) if referent.starts_with(boundary) => { + let relative = referent.strip_prefix(boundary).expect("the prefix was checked"); if excluded.iter().any(|excluded| + relative.starts_with(excluded)) { complete_flag.store(false, Ordering::Relaxed); } } Ok(_) | Err(_) => complete_flag.store(false, + Ordering::Relaxed), }, Err(cause) if cause.kind() == std::io::ErrorKind::NotFound => {} Err(_unresolved) => complete_flag.store(false, + Ordering::Relaxed), } } let file = SnapshotFile { path: relative.to_path_buf(), digest: digest(bytes), size: bytes.len() + as u64, modified: symlink_modified_at(&path), }; files.lock().unwrap_or_else(std::sync::PoisonError::into_inner).push(file); + return WalkState::Continue; } match fs::metadata(path.as_std_path()) { Ok(metadata) if metadata.is_file() => {} _other + => { complete_flag.store(false, Ordering::Relaxed); return WalkState::Continue; } } let Ok(bytes) = fs::read(path.as_std_path()) + else { complete_flag.store(false, Ordering::Relaxed); return WalkState::Continue; }; let file = SnapshotFile { path: + relative.to_path_buf(), digest: digest(&bytes), size: bytes.len() as u64, modified: modified_at(&path), }; files.lock().unwrap_or_else(std::sync::PoisonError::into_inner).push(file); + WalkState::Continue }) }); *complete = complete_flag.load(Ordering::Relaxed); let mut files = files.into_inner().unwrap_or_else(std::sync::PoisonError::into_inner); + files.sort_by(|left, right| left.path.cmp(&right.path)); files }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: iter.any_to_all + normalizedText: excluded.iter().any(|excluded| relative.starts_with(excluded)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: iter.remove_sort + normalizedText: files.sort_by(|left, right| left.path.cmp(&right.path)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 3 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 4 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 5 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 6 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 7 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 8 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: match_guard.always_false + normalizedText: metadata.is_file() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: match_guard.always_true + normalizedText: metadata.is_file() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: match_guard.negate + normalizedText: metadata.is_file() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: stmt.delete_assign + normalizedText: '*complete = complete_flag.load(Ordering::Relaxed);' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: stmt.delete_call + normalizedText: 'builder.build_parallel().run(|| { let root = root_owned.clone(); let excluded = excluded.clone(); let + boundary = boundary.clone(); let complete_flag = &complete_flag; let files = &files; Box::new(move |entry| { let Ok(entry) + = entry else { complete_flag.store(false, Ordering::Relaxed); return WalkState::Continue; }; let Ok(path) = Utf8PathBuf::from_path_buf(entry.path().to_path_buf()) + else { complete_flag.store(false, Ordering::Relaxed); return WalkState::Continue; }; let relative = path.strip_prefix(&root).unwrap_or(&path); + let is_dir = entry.file_type().is_some_and(|file_type| file_type.is_dir()); if excluded.iter().any(|excluded| relative.starts_with(excluded)) + { return if is_dir { WalkState::Skip } else { WalkState::Continue }; } if is_dir { return WalkState::Continue; } if + entry.path_is_symlink() { let Ok(target) = fs::read_link(path.as_std_path()) else { complete_flag.store(false, Ordering::Relaxed); + return WalkState::Continue; }; let bytes = target.as_os_str().as_encoded_bytes(); if let Some(boundary) = &boundary + { match fs::canonicalize(path.as_std_path()) { Ok(referent) => match Utf8PathBuf::from_path_buf(referent) { Ok(referent) + if referent.starts_with(boundary) => { let relative = referent.strip_prefix(boundary).expect("the prefix was checked"); + if excluded.iter().any(|excluded| relative.starts_with(excluded)) { complete_flag.store(false, Ordering::Relaxed); + } } Ok(_) | Err(_) => complete_flag.store(false, Ordering::Relaxed), }, Err(cause) if cause.kind() == std::io::ErrorKind::NotFound + => {} Err(_unresolved) => complete_flag.store(false, Ordering::Relaxed), } } let file = SnapshotFile { path: relative.to_path_buf(), + digest: digest(bytes), size: bytes.len() as u64, modified: symlink_modified_at(&path), }; files.lock().unwrap_or_else(std::sync::PoisonError::into_inner).push(file); + return WalkState::Continue; } match fs::metadata(path.as_std_path()) { Ok(metadata) if metadata.is_file() => {} _other + => { complete_flag.store(false, Ordering::Relaxed); return WalkState::Continue; } } let Ok(bytes) = fs::read(path.as_std_path()) + else { complete_flag.store(false, Ordering::Relaxed); return WalkState::Continue; }; let file = SnapshotFile { path: + relative.to_path_buf(), digest: digest(&bytes), size: bytes.len() as u64, modified: modified_at(&path), }; files.lock().unwrap_or_else(std::sync::PoisonError::into_inner).push(file); + WalkState::Continue }) });' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: stmt.delete_call + normalizedText: files.lock().unwrap_or_else(std::sync::PoisonError::into_inner).push(file); + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: capture_tree + mutator: string.starts_with_to_ends_with + normalizedText: relative.starts_with(excluded) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: exclusions + mutator: collection.omit_element + normalizedText: vec![Utf8PathBuf::from("target"), Utf8PathBuf::from(".git")] + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: exclusions + mutator: cond.always_false + normalizedText: path.is_relative() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: exclusions + mutator: cond.always_true + normalizedText: path.is_relative() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: exclusions + mutator: cond.negate + normalizedText: path.is_relative() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: exclusions + mutator: fn_value.empty_collection + normalizedText: '{ let mut paths = vec![Utf8PathBuf::from("target"), Utf8PathBuf::from(".git")]; for path in excluded + { if path.is_relative() { paths.push(path.clone()); } else if let Ok(relative) = path.strip_prefix(root) && !relative.as_str().is_empty() + { paths.push(relative.to_path_buf()); } } paths.sort(); paths.dedup(); paths }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: exclusions + mutator: fn_value.one_element + normalizedText: '{ let mut paths = vec![Utf8PathBuf::from("target"), Utf8PathBuf::from(".git")]; for path in excluded + { if path.is_relative() { paths.push(path.clone()); } else if let Ok(relative) = path.strip_prefix(root) && !relative.as_str().is_empty() + { paths.push(relative.to_path_buf()); } } paths.sort(); paths.dedup(); paths }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: exclusions + mutator: iter.remove_dedup + normalizedText: paths.dedup(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: exclusions + mutator: iter.remove_sort + normalizedText: paths.sort(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: exclusions + mutator: stmt.delete_call + normalizedText: paths.push(path.clone()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: exclusions + mutator: stmt.delete_call + normalizedText: paths.push(relative.to_path_buf()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: exclusions + mutator: unary.remove_not + normalizedText: '!relative.as_str().is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: modified + mutator: expr.decrement + normalizedText: since.as_nanos() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: modified + mutator: expr.increment + normalizedText: since.as_nanos() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: modified + mutator: fn_value.none + normalizedText: '{ let since = metadata.modified().ok()?.duration_since(std::time::UNIX_EPOCH).ok()?; u64::try_from(since.as_nanos()).ok() + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/discover/workspace_snapshot.rs + item: modified_at + mutator: fn_value.none + normalizedText: '{ modified(&fs::metadata(path.as_std_path()).ok()?) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: block + mutator: fn_value.none + normalizedText: '{ match name { "mutators" => Some(mutators()), "presets" => Some(presets()), "families" => Some(family_summary()), + "commands" => Some(commands()), "options" => Some(options()), _ => None, } }' + occurrence: 0 + testSet: 1907 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: block + mutator: match_arm.never_matches + normalizedText: '"commands"' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: block + mutator: match_arm.never_matches + normalizedText: '"families"' + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: block + mutator: match_arm.never_matches + normalizedText: '"mutators"' + occurrence: 0 + testSet: 1907 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: block + mutator: match_arm.never_matches + normalizedText: '"options"' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: block + mutator: match_arm.never_matches + normalizedText: '"presets"' + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: block + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1910 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: block + mutator: option.some_to_none + normalizedText: Some(commands()) + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: block + mutator: option.some_to_none + normalizedText: Some(family_summary()) + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: block + mutator: option.some_to_none + normalizedText: Some(mutators()) + occurrence: 0 + testSet: 1907 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: block + mutator: option.some_to_none + normalizedText: Some(options()) + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: block + mutator: option.some_to_none + normalizedText: Some(presets()) + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: commands + mutator: fn_value.empty_string + normalizedText: '{ let command = ::command(); let mut out = String::new(); + let _ = writeln!(out, "| Command | What it does |"); let _ = writeln!(out, "| --- | --- |"); for sub in command.get_subcommands() + { let about = sub.get_about().map(ToString::to_string).unwrap_or_default(); let _ = writeln!( out, "| [`gamma {}`](#gamma-{}) + | {} |", sub.get_name(), sub.get_name(), escape(&about) ); } out.trim_end().to_owned() }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: commands + mutator: fn_value.xyzzy_string + normalizedText: '{ let command = ::command(); let mut out = String::new(); + let _ = writeln!(out, "| Command | What it does |"); let _ = writeln!(out, "| --- | --- |"); for sub in command.get_subcommands() + { let about = sub.get_about().map(ToString::to_string).unwrap_or_default(); let _ = writeln!( out, "| [`gamma {}`](#gamma-{}) + | {} |", sub.get_name(), sub.get_name(), escape(&about) ); } out.trim_end().to_owned() }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: commands + mutator: string.trim_end_to_trim_start + normalizedText: out.trim_end() + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: escape + mutator: fn_value.empty_string + normalizedText: '{ text.replace(''|'', "\\|") }' + occurrence: 0 + testSet: 1911 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: escape + mutator: fn_value.xyzzy_string + normalizedText: '{ text.replace(''|'', "\\|") }' + occurrence: 0 + testSet: 1911 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: escape + mutator: literal.str_to_empty + normalizedText: '"\\|"' + occurrence: 0 + testSet: 1911 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: escape + mutator: literal.str_to_xyzzy + normalizedText: '"\\|"' + occurrence: 0 + testSet: 1911 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: family_summary + mutator: fn_value.empty_string + normalizedText: '{ let mut out = String::new(); let _ = writeln!(out, "| Family | Mutators | What it asks |"); let _ + = writeln!(out, "| --- | ---: | --- |"); for family in families() { let count = REGISTRY .iter() .filter(|mutator| + mutator.name.split(''.'').next() == Some(family)) .count(); let _ = writeln!(out, "| [`{family}`](#{family}) | {count} + | {} |", question(family)); } let _ = writeln!(out, "| **Total** | **{}** | |", REGISTRY.len()); out.trim_end().to_owned() + }' + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: family_summary + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut out = String::new(); let _ = writeln!(out, "| Family | Mutators | What it asks |"); let _ + = writeln!(out, "| --- | ---: | --- |"); for family in families() { let count = REGISTRY .iter() .filter(|mutator| + mutator.name.split(''.'').next() == Some(family)) .count(); let _ = writeln!(out, "| [`{family}`](#{family}) | {count} + | {} |", question(family)); } let _ = writeln!(out, "| **Total** | **{}** | |", REGISTRY.len()); out.trim_end().to_owned() + }' + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: family_summary + mutator: option.some_to_none + normalizedText: Some(family) + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: family_summary + mutator: relational.eq_to_ne + normalizedText: mutator.name.split('.').next() == Some(family) + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: family_summary + mutator: string.trim_end_to_trim_start + normalizedText: out.trim_end() + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: cond.always_false + normalizedText: argument.is_positional() + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: cond.always_false + normalizedText: matches!(argument.get_id().as_str(), "help" | "version") || argument.is_hide_set() + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: cond.always_true + normalizedText: argument.is_positional() + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: cond.always_true + normalizedText: matches!(argument.get_id().as_str(), "help" | "version") || argument.is_hide_set() + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: cond.negate + normalizedText: argument.is_positional() + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: cond.negate + normalizedText: matches!(argument.get_id().as_str(), "help" | "version") || argument.is_hide_set() + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: fn_value.empty_collection + normalizedText: '{ let mut groups: Vec<(String, Vec<&clap::Arg>)> = Vec::new(); for argument in sub.get_arguments() + { if matches!(argument.get_id().as_str(), "help" | "version") || argument.is_hide_set() { continue; } let heading + = if argument.is_positional() { "Arguments".to_owned() } else { argument.get_help_heading().map_or_else(|| "Options".to_owned(), + ToOwned::to_owned) }; if let Some(slot) = groups.iter_mut().find(|(name, _)| *name == heading) { slot.1.push(argument); + } else { groups.push((heading, vec![argument])); } } groups }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: fn_value.one_element + normalizedText: '{ let mut groups: Vec<(String, Vec<&clap::Arg>)> = Vec::new(); for argument in sub.get_arguments() + { if matches!(argument.get_id().as_str(), "help" | "version") || argument.is_hide_set() { continue; } let heading + = if argument.is_positional() { "Arguments".to_owned() } else { argument.get_help_heading().map_or_else(|| "Options".to_owned(), + ToOwned::to_owned) }; if let Some(slot) = groups.iter_mut().find(|(name, _)| *name == heading) { slot.1.push(argument); + } else { groups.push((heading, vec![argument])); } } groups }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: literal.str_to_empty + normalizedText: '"Arguments"' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: literal.str_to_empty + normalizedText: '"Options"' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: literal.str_to_xyzzy + normalizedText: '"Arguments"' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: literal.str_to_xyzzy + normalizedText: '"Options"' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: logical.or_to_and + normalizedText: matches!(argument.get_id().as_str(), "help" | "version") || argument.is_hide_set() + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: relational.eq_to_ne + normalizedText: '*name == heading' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: stmt.delete_call + normalizedText: groups.push((heading, vec![argument])); + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: grouped + mutator: stmt.delete_call + normalizedText: slot.1.push(argument); + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: cond.always_false + normalizedText: '!text.is_empty() && !text.ends_with([''.'', ''!'', ''?''])' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: cond.always_false + normalizedText: defaults.is_empty() + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: cond.always_true + normalizedText: '!text.is_empty() && !text.ends_with([''.'', ''!'', ''?''])' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: cond.always_true + normalizedText: defaults.is_empty() + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: cond.negate + normalizedText: '!text.is_empty() && !text.ends_with([''.'', ''!'', ''?''])' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: cond.negate + normalizedText: defaults.is_empty() + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: fn_value.empty_string + normalizedText: '{ let mut text = argument.get_help().map(ToString::to_string).unwrap_or_default().replace(''\n'', " + "); if !text.is_empty() && !text.ends_with([''.'', ''!'', ''?'']) { text.push(''.''); } let defaults = argument.get_default_values(); + if defaults.is_empty() { return text; } let shown = defaults .iter() .map(|value| value.to_string_lossy().into_owned()) + .collect::>() .join(", "); format!("{text} Defaults to `{shown}`.") }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut text = argument.get_help().map(ToString::to_string).unwrap_or_default().replace(''\n'', " + "); if !text.is_empty() && !text.ends_with([''.'', ''!'', ''?'']) { text.push(''.''); } let defaults = argument.get_default_values(); + if defaults.is_empty() { return text; } let shown = defaults .iter() .map(|value| value.to_string_lossy().into_owned()) + .collect::>() .join(", "); format!("{text} Defaults to `{shown}`.") }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: literal.str_to_empty + normalizedText: '" "' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: literal.str_to_empty + normalizedText: '", "' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: literal.str_to_xyzzy + normalizedText: '" "' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: literal.str_to_xyzzy + normalizedText: '", "' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: logical.and_to_or + normalizedText: '!text.is_empty() && !text.ends_with([''.'', ''!'', ''?''])' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: stmt.delete_call + normalizedText: text.push('.'); + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: string.ends_with_to_starts_with + normalizedText: text.ends_with(['.', '!', '?']) + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: unary.remove_not + normalizedText: '!text.ends_with([''.'', ''!'', ''?''])' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: help_of + mutator: unary.remove_not + normalizedText: '!text.is_empty()' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: mutators + mutator: cond.always_false + normalizedText: mutator.aliases.is_empty() + occurrence: 0 + testSet: 1912 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: mutators + mutator: cond.always_true + normalizedText: mutator.aliases.is_empty() + occurrence: 0 + testSet: 1912 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: mutators + mutator: cond.negate + normalizedText: mutator.aliases.is_empty() + occurrence: 0 + testSet: 1912 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: mutators + mutator: fn_value.empty_string + normalizedText: '{ let mut out = String::new(); for family in families() { let members: Vec<_> = REGISTRY .iter() .filter(|mutator| + mutator.name.split(''.'').next() == Some(family)) .collect(); let _ = writeln!(out, "#### `{family}`\n"); let _ = + writeln!(out, "| Mutator | What it does | Alias | Default |"); let _ = writeln!(out, "| --- | --- | --- | --- |"); + for mutator in members { let aliases = if mutator.aliases.is_empty() { String::new() } else { format!("`{}`", mutator.aliases.join("`, + `")) }; let _ = writeln!( out, "| `{}` | {} | {} | {} |", mutator.name, escape(mutator.description), aliases, if mutator.default_on + { "yes" } else { "no" } ); } out.push(''\n''); } out.trim_end().to_owned() }' + occurrence: 0 + testSet: 1912 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: mutators + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut out = String::new(); for family in families() { let members: Vec<_> = REGISTRY .iter() .filter(|mutator| + mutator.name.split(''.'').next() == Some(family)) .collect(); let _ = writeln!(out, "#### `{family}`\n"); let _ = + writeln!(out, "| Mutator | What it does | Alias | Default |"); let _ = writeln!(out, "| --- | --- | --- | --- |"); + for mutator in members { let aliases = if mutator.aliases.is_empty() { String::new() } else { format!("`{}`", mutator.aliases.join("`, + `")) }; let _ = writeln!( out, "| `{}` | {} | {} | {} |", mutator.name, escape(mutator.description), aliases, if mutator.default_on + { "yes" } else { "no" } ); } out.push(''\n''); } out.trim_end().to_owned() }' + occurrence: 0 + testSet: 1912 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: mutators + mutator: option.some_to_none + normalizedText: Some(family) + occurrence: 0 + testSet: 1912 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: mutators + mutator: relational.eq_to_ne + normalizedText: mutator.name.split('.').next() == Some(family) + occurrence: 0 + testSet: 1912 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: mutators + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 0 + testSet: 1912 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: mutators + mutator: string.trim_end_to_trim_start + normalizedText: out.trim_end() + occurrence: 0 + testSet: 1912 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: options + mutator: fn_value.empty_string + normalizedText: '{ let command = ::command(); let mut out = String::new(); + let _ = writeln!(out, "### Accepted by every subcommand\n"); for (heading, arguments) in grouped(&command) { let _ + = writeln!(out, "**{heading}**\n"); let _ = writeln!(out, "| Option | Value | What it does |"); let _ = writeln!(out, + "| --- | --- | --- |"); for argument in arguments { let _ = writeln!( out, "| {} | {} | {} |", spelling(argument), + value_of(argument), escape(&help_of(argument)) ); } out.push(''\n''); } for sub in command.get_subcommands() { let + _ = writeln!(out, "### `gamma {}`\n", sub.get_name()); if let Some(about) = sub.get_about() { let _ = writeln!(out, + "{about}\n"); } let _ = writeln!(out, "```text\n{}\n```\n", usage(sub)); for (heading, arguments) in grouped(sub) + { let _ = writeln!(out, "**{heading}**\n"); let _ = writeln!(out, "| Option | Value | What it does |"); let _ = writeln!(out, + "| --- | --- | --- |"); for argument in arguments { let _ = writeln!( out, "| {} | {} | {} |", spelling(argument), + value_of(argument), escape(&help_of(argument)) ); } out.push(''\n''); } } out.trim_end().to_owned() }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: options + mutator: fn_value.xyzzy_string + normalizedText: '{ let command = ::command(); let mut out = String::new(); + let _ = writeln!(out, "### Accepted by every subcommand\n"); for (heading, arguments) in grouped(&command) { let _ + = writeln!(out, "**{heading}**\n"); let _ = writeln!(out, "| Option | Value | What it does |"); let _ = writeln!(out, + "| --- | --- | --- |"); for argument in arguments { let _ = writeln!( out, "| {} | {} | {} |", spelling(argument), + value_of(argument), escape(&help_of(argument)) ); } out.push(''\n''); } for sub in command.get_subcommands() { let + _ = writeln!(out, "### `gamma {}`\n", sub.get_name()); if let Some(about) = sub.get_about() { let _ = writeln!(out, + "{about}\n"); } let _ = writeln!(out, "```text\n{}\n```\n", usage(sub)); for (heading, arguments) in grouped(sub) + { let _ = writeln!(out, "**{heading}**\n"); let _ = writeln!(out, "| Option | Value | What it does |"); let _ = writeln!(out, + "| --- | --- | --- |"); for argument in arguments { let _ = writeln!( out, "| {} | {} | {} |", spelling(argument), + value_of(argument), escape(&help_of(argument)) ); } out.push(''\n''); } } out.trim_end().to_owned() }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: options + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: options + mutator: stmt.delete_call + normalizedText: out.push('\n'); + occurrence: 1 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: options + mutator: string.trim_end_to_trim_start + normalizedText: out.trim_end() + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: presets + mutator: fn_value.empty_string + normalizedText: '{ let mut out = String::new(); let _ = writeln!(out, "| Mutator preset | What it selects | Expands + to |"); let _ = writeln!(out, "| --- | --- | --- |"); for preset in PRESETS { let members = preset .members .iter() + .map(|member| format!("`{member}`")) .collect::>() .join(", "); let _ = writeln!(out, "| `@{}` | {} | {members} + |", preset.name, escape(preset.description)); } out.trim_end().to_owned() }' + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: presets + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut out = String::new(); let _ = writeln!(out, "| Mutator preset | What it selects | Expands + to |"); let _ = writeln!(out, "| --- | --- | --- |"); for preset in PRESETS { let members = preset .members .iter() + .map(|member| format!("`{member}`")) .collect::>() .join(", "); let _ = writeln!(out, "| `@{}` | {} | {members} + |", preset.name, escape(preset.description)); } out.trim_end().to_owned() }' + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: presets + mutator: literal.str_to_empty + normalizedText: '", "' + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: presets + mutator: literal.str_to_xyzzy + normalizedText: '", "' + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: presets + mutator: string.trim_end_to_trim_start + normalizedText: out.trim_end() + occurrence: 0 + testSet: 1909 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: fn_value.empty_string + normalizedText: '{ match family { "fn_value" => "Does anything check what this function returns?", "relational" => "Is + this comparison''s boundary the right one?", "arith" => "Does this calculation''s operator matter?", "bitwise" => + "Is this mask or flag combination correct?", "shift" => "Is this shift''s direction load-bearing?", "assign" => "Does + this compound assignment''s operator matter?", "assign_value" => "Is the value assigned here ever read in a way that + would notice?", "logical" => "Is this `&&` really an `&&`?", "cond" => "Does anything depend on this branch being + taken?", "match_guard" => "Does anything depend on this guard being right?", "match_arm" => "Is this arm reachable, + and does anything notice when it stops matching?", "loop" => "Does this `break` or `continue` carry the loop''s meaning?", + "range" => "Is this bound inclusive on purpose?", "literal" => "Does this constant''s exact value matter?", "expr" + => "Would an off-by-one here be caught?", "unary" => "Does this negation or complement matter?", "stmt" => "Does this + statement''s side effect matter?", "struct_field" => "Does this field''s value matter, or is the default good enough?", + "option" => "Is the present case distinguished from the absent one?", "result" => "Is success distinguished from failure?", + "iter" => "Does anything observe that this was ordered, deduplicated, or taken from one end?", "string" => "Does the + prefix, the case, or the trimmed end actually matter?", "collection" => "Does every element of this literal earn its + place?", _ => "", } }' + occurrence: 0 + testSet: 1913 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: fn_value.xyzzy_string + normalizedText: '{ match family { "fn_value" => "Does anything check what this function returns?", "relational" => "Is + this comparison''s boundary the right one?", "arith" => "Does this calculation''s operator matter?", "bitwise" => + "Is this mask or flag combination correct?", "shift" => "Is this shift''s direction load-bearing?", "assign" => "Does + this compound assignment''s operator matter?", "assign_value" => "Is the value assigned here ever read in a way that + would notice?", "logical" => "Is this `&&` really an `&&`?", "cond" => "Does anything depend on this branch being + taken?", "match_guard" => "Does anything depend on this guard being right?", "match_arm" => "Is this arm reachable, + and does anything notice when it stops matching?", "loop" => "Does this `break` or `continue` carry the loop''s meaning?", + "range" => "Is this bound inclusive on purpose?", "literal" => "Does this constant''s exact value matter?", "expr" + => "Would an off-by-one here be caught?", "unary" => "Does this negation or complement matter?", "stmt" => "Does this + statement''s side effect matter?", "struct_field" => "Does this field''s value matter, or is the default good enough?", + "option" => "Is the present case distinguished from the absent one?", "result" => "Is success distinguished from failure?", + "iter" => "Does anything observe that this was ordered, deduplicated, or taken from one end?", "string" => "Does the + prefix, the case, or the trimmed end actually matter?", "collection" => "Does every element of this literal earn its + place?", _ => "", } }' + occurrence: 0 + testSet: 1913 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Does anything check what this function returns?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Does anything depend on this branch being taken?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Does anything depend on this guard being right?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Does anything observe that this was ordered, deduplicated, or taken from one end?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Does every element of this literal earn its place?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Does the prefix, the case, or the trimmed end actually matter?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Does this `break` or `continue` carry the loop''s meaning?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Does this calculation''s operator matter?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Does this compound assignment''s operator matter?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Does this constant''s exact value matter?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Does this field''s value matter, or is the default good enough?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Does this negation or complement matter?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Does this statement''s side effect matter?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Is success distinguished from failure?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Is the present case distinguished from the absent one?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Is the value assigned here ever read in a way that would notice?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Is this `&&` really an `&&`?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Is this arm reachable, and does anything notice when it stops matching?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Is this bound inclusive on purpose?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Is this comparison''s boundary the right one?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Is this mask or flag combination correct?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Is this shift''s direction load-bearing?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_empty + normalizedText: '"Would an off-by-one here be caught?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 1915 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Does anything check what this function returns?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Does anything depend on this branch being taken?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Does anything depend on this guard being right?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Does anything observe that this was ordered, deduplicated, or taken from one end?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Does every element of this literal earn its place?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Does the prefix, the case, or the trimmed end actually matter?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Does this `break` or `continue` carry the loop''s meaning?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Does this calculation''s operator matter?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Does this compound assignment''s operator matter?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Does this constant''s exact value matter?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Does this field''s value matter, or is the default good enough?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Does this negation or complement matter?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Does this statement''s side effect matter?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Is success distinguished from failure?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Is the present case distinguished from the absent one?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Is the value assigned here ever read in a way that would notice?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Is this `&&` really an `&&`?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Is this arm reachable, and does anything notice when it stops matching?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Is this bound inclusive on purpose?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Is this comparison''s boundary the right one?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Is this mask or flag combination correct?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Is this shift''s direction load-bearing?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: literal.str_to_xyzzy + normalizedText: '"Would an off-by-one here be caught?"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"arith"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"assign"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"assign_value"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"bitwise"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"collection"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"cond"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"expr"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"fn_value"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"iter"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"literal"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"logical"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"loop"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"match_arm"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"match_guard"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"option"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"range"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"relational"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"result"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"shift"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"stmt"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"string"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"struct_field"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: question + mutator: match_arm.never_matches + normalizedText: '"unary"' + occurrence: 0 + testSet: 1914 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: spelling + mutator: fn_value.empty_string + normalizedText: '{ let Some(long) = argument.get_long() else { return format!("`<{}>`", argument.get_id().as_str().to_uppercase()); + }; argument .get_short() .map_or_else(|| format!("`--{long}`"), |short| format!("`-{short}`, `--{long}`")) }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: spelling + mutator: fn_value.xyzzy_string + normalizedText: '{ let Some(long) = argument.get_long() else { return format!("`<{}>`", argument.get_id().as_str().to_uppercase()); + }; argument .get_short() .map_or_else(|| format!("`--{long}`"), |short| format!("`-{short}`, `--{long}`")) }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: usage + mutator: fn_value.empty_string + normalizedText: '{ let mut sub = sub.clone(); let rendered = sub.render_usage().to_string().replace("Usage: ", ""); + format!("cargo gamma {rendered}") }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: usage + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut sub = sub.clone(); let rendered = sub.render_usage().to_string().replace("Usage: ", ""); + format!("cargo gamma {rendered}") }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: usage + mutator: literal.str_to_empty + normalizedText: '"Usage: "' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: usage + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: usage + mutator: literal.str_to_xyzzy + normalizedText: '"Usage: "' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: value_of + mutator: cond.always_false + normalizedText: matches!(argument.get_action(), clap::ArgAction::SetTrue | clap::ArgAction::SetFalse) + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: value_of + mutator: cond.always_true + normalizedText: matches!(argument.get_action(), clap::ArgAction::SetTrue | clap::ArgAction::SetFalse) + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: value_of + mutator: cond.negate + normalizedText: matches!(argument.get_action(), clap::ArgAction::SetTrue | clap::ArgAction::SetFalse) + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: value_of + mutator: fn_value.empty_string + normalizedText: '{ if matches!(argument.get_action(), clap::ArgAction::SetTrue | clap::ArgAction::SetFalse) { return + String::new(); } argument .get_value_names() .and_then(<[clap::builder::Str]>::first) .map_or_else(String::new, |name| + format!("`<{name}>`")) }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/docs.rs + item: value_of + mutator: fn_value.xyzzy_string + normalizedText: '{ if matches!(argument.get_action(), clap::ArgAction::SetTrue | clap::ArgAction::SetFalse) { return + String::new(); } argument .get_value_names() .and_then(<[clap::builder::Str]>::first) .map_or_else(String::new, |name| + format!("`<{name}>`")) }' + occurrence: 0 + testSet: 1908 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: create_parents + mutator: fn_value.ok + normalizedText: '{ if let Some(parent) = path.parent() { fs::create_dir_all(parent.as_std_path()).map_err(|cause| error!("could + not create `{parent}`").caused_by(cause))?; } Ok(()) }' + occurrence: 0 + testSet: 1916 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: matches_contents + mutator: fn_value.ok + normalizedText: '{ match fs::read(path.as_std_path()) { Ok(actual) => Ok(expected.is_some_and(|expected| actual == expected.as_bytes())), + Err(cause) if cause.kind() == ErrorKind::NotFound => Ok(expected.is_none()), Err(cause) => Err(cause), } }' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: matches_contents + mutator: match_guard.always_false + normalizedText: cause.kind() == ErrorKind::NotFound + occurrence: 0 + testSet: 1890 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: matches_contents + mutator: match_guard.always_true + normalizedText: cause.kind() == ErrorKind::NotFound + occurrence: 0 + testSet: 1890 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: matches_contents + mutator: match_guard.negate + normalizedText: cause.kind() == ErrorKind::NotFound + occurrence: 0 + testSet: 1890 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: matches_contents + mutator: relational.eq_to_ne + normalizedText: actual == expected.as_bytes() + occurrence: 0 + testSet: 1917 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: replace + mutator: fn_value.ok + normalizedText: '{ let scratch = scratch_path(destination); stage(&scratch, fill, Some(destination)).map_err(|cause| + discard(&scratch, path, cause))?; before_publication(&scratch); fs::rename(scratch.as_std_path(), destination.as_std_path()).map_err(|cause| + discard(&scratch, path, cause))?; published(destination).map_err(|cause| error!("could not write `{path}`").caused_by(cause)) + }' + occurrence: 0 + testSet: 1918 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: replace + mutator: option.some_to_none + normalizedText: Some(destination) + occurrence: 0 + testSet: 1918 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: replace + mutator: stmt.delete_call + normalizedText: before_publication(&scratch); + occurrence: 0 + testSet: 1918 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: scratch_path + mutator: fn_value.default + normalizedText: '{ static NEXT: AtomicU64 = AtomicU64::new(0); #[cfg(test)] if let Some(scratch) = TEST_SCRATCH.with(|next| + next.borrow_mut().take()) { return scratch; } let name = path.file_name().unwrap_or("report"); let invocation = NEXT.fetch_add(NonZeroU64::MIN.get(), + Ordering::Relaxed); let mut hasher = RandomState::new().build_hasher(); write_scratch_identity(&mut hasher, std::process::id(), + invocation); path.with_file_name(format!(".{name}.{}.{invocation}.{:016x}.tmp", std::process::id(), hasher.finish())) + }' + occurrence: 0 + testSet: 1916 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: scratch_path + mutator: literal.str_to_empty + normalizedText: '"report"' + occurrence: 0 + testSet: 1916 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: scratch_path + mutator: literal.str_to_xyzzy + normalizedText: '"report"' + occurrence: 0 + testSet: 1916 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: scratch_path + mutator: stmt.delete_call + normalizedText: write_scratch_identity(&mut hasher, std::process::id(), invocation); + occurrence: 0 + testSet: 1916 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: stage + mutator: fn_value.ok + normalizedText: '{ let mut staging = File::create_new(scratch.as_std_path())?; { let mut writer = io::BufWriter::new(&mut + staging); fill(&mut writer)?; writer.flush()?; } if let Some(permissions) = mode .and_then(|path| fs::metadata(path.as_std_path()).ok()) + .map(|metadata| metadata.permissions()) { staging.set_permissions(permissions)?; } staging.sync_all() }' + occurrence: 0 + testSet: 1916 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write + mutator: fn_value.ok + normalizedText: '{ let destination = crate::paths::physical(path)?; create_parents(&destination)?; replace(path, &destination, + write_bytes(contents)) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_if_unchanged + mutator: cond.always_false + normalizedText: '!matches_contents(&destination, expected).map_err(|cause| error!("could not check `{path}` before replacing + it").caused_by(cause))?' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_if_unchanged + mutator: cond.always_true + normalizedText: '!matches_contents(&destination, expected).map_err(|cause| error!("could not check `{path}` before replacing + it").caused_by(cause))?' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_if_unchanged + mutator: cond.negate + normalizedText: '!matches_contents(&destination, expected).map_err(|cause| error!("could not check `{path}` before replacing + it").caused_by(cause))?' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_if_unchanged + mutator: option.some_to_none + normalizedText: Some(&destination) + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_if_unchanged + mutator: stmt.delete_call + normalizedText: after_comparison(&destination); + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_if_unchanged + mutator: stmt.delete_call + normalizedText: before_publication(&scratch); + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_if_unchanged + mutator: unary.remove_not + normalizedText: '!matches_contents(&destination, expected).map_err(|cause| error!("could not check `{path}` before replacing + it").caused_by(cause))?' + occurrence: 0 + testSet: 1841 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_scratch_identity + mutator: expr.decrement + normalizedText: invocation + occurrence: 0 + testSet: 1916 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_scratch_identity + mutator: expr.increment + normalizedText: invocation + occurrence: 0 + testSet: 1916 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_scratch_identity + mutator: fn_value.unit + normalizedText: '{ hasher.write(&process_id.to_ne_bytes()); hasher.write_u64(invocation); }' + occurrence: 0 + testSet: 1916 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_scratch_identity + mutator: stmt.delete_call + normalizedText: hasher.write(&process_id.to_ne_bytes()); + occurrence: 0 + testSet: 1916 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_scratch_identity + mutator: stmt.delete_call + normalizedText: hasher.write_u64(invocation); + occurrence: 0 + testSet: 1916 + - site: + file: crates/cargo-gamma-lib/src/elements/publication.rs + item: write_streamed + mutator: fn_value.ok + normalizedText: '{ let destination = crate::paths::physical(path)?; create_parents(&destination)?; replace(path, &destination, + fill) }' + occurrence: 0 + testSet: 1918 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: ::default + mutator: literal.int_decrement + normalizedText: '60' + occurrence: 0 + testSet: 1919 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: ::default + mutator: literal.int_decrement + normalizedText: '80' + occurrence: 0 + testSet: 1919 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: ::default + mutator: literal.int_increment + normalizedText: '60' + occurrence: 0 + testSet: 1919 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: ::default + mutator: literal.int_increment + normalizedText: '80' + occurrence: 0 + testSet: 1919 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: ::default + mutator: literal.int_to_one + normalizedText: '60' + occurrence: 0 + testSet: 1919 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: ::default + mutator: literal.int_to_one + normalizedText: '80' + occurrence: 0 + testSet: 1919 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: ::default + mutator: literal.int_to_zero + normalizedText: '60' + occurrence: 0 + testSet: 1919 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: ::default + mutator: literal.int_to_zero + normalizedText: '80' + occurrence: 0 + testSet: 1919 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: expr.decrement + normalizedText: crate::model::MUTANT_ID_VERSION + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: expr.decrement + normalizedText: not_built + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: expr.decrement + normalizedText: usize::from(has_bom) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: expr.increment + normalizedText: crate::model::MUTANT_ID_VERSION + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: expr.increment + normalizedText: not_built + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: expr.increment + normalizedText: usize::from(has_bom) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: literal.str_to_empty + normalizedText: '"rust"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: literal.str_to_xyzzy + normalizedText: '"rust"' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: option.some_to_none + normalizedText: Some(crate::model::MUTANT_ID_VERSION) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: option.some_to_none + normalizedText: Some(plan.root.to_string()) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::NotBuilt + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: relational.gt_to_ge + normalizedText: not_built > 0 + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: relational.gt_to_lt + normalizedText: not_built > 0 + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: relational.ne_to_eq + normalizedText: crate::discover::digest(source.text().as_bytes()) != *expected + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: stmt.delete_call + normalizedText: grouped.entry(&*mutant.file).or_default().push(mutant); + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: string.starts_with_to_ends_with + normalizedText: original.starts_with('\u{feff}') + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: build + mutator: struct_field.omit + normalizedText: 'RunInfo { not_built: (not_built > 0).then_some(not_built), mutant_id_version: Some(crate::model::MUTANT_ID_VERSION), + ..run }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: number + mutator: cond.always_false + normalizedText: value.is_number() + occurrence: 0 + testSet: 1920 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: number + mutator: cond.always_true + normalizedText: value.is_number() + occurrence: 0 + testSet: 1920 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: number + mutator: cond.negate + normalizedText: value.is_number() + occurrence: 0 + testSet: 1920 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: number + mutator: result.err_to_ok + normalizedText: Err(format!("{path} must be a number")) + occurrence: 0 + testSet: 1921 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: number + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1920 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: reason_for + mutator: fn_value.none + normalizedText: '{ if let Some(suppression) = mutant.suppression.as_ref() { let mut text = format!("suppressed by {}", + suppression.channel.as_str()); if let Some(reason) = suppression.reason.as_ref() { text.push_str(": "); text.push_str(reason); + } if let Some(tag) = suppression.tag.as_ref() { let _ = write!(text, " [#{tag}]"); } return Some(text); } match mutant.outcome + { Outcome::Killed => mutant .killed_by .as_ref() .map(|test| format!("failed `{test}`")) .or_else(|| mutant.note.clone()), + Outcome::CompileError => Some("the mutant does not compile".to_owned()), Outcome::NotBuilt => Some(format!( "{NOT_BUILT_PREFIX}{}", + mutant .note .clone() .unwrap_or_else(|| "the build this mutant belonged to could not be converged".to_owned()) )), + Outcome::Timeout => Some(format!( "{TIMEOUT_PREFIX}{}", mutant.note.clone().unwrap_or_else(|| "the test run exceeded + its budget".to_owned()) )), Outcome::Flaky => Some(format!( "{FLAKY_PREFIX}{}", mutant .note .clone() .unwrap_or_else(|| + "a test failed with no mutant active as well as with one".to_owned()) )), Outcome::OutOfMemory => Some(format!( "{OUT_OF_MEMORY_PREFIX}{}", + mutant .note .clone() .unwrap_or_else(|| "the test run exceeded the memory this run allowed it".to_owned()) )), Outcome::NoCoverage + => Some( "no selected runtime test reached this mutation site; coverage reports may exclude this code or include other + configurations" .to_owned(), ), _ => None, } }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: reason_for + mutator: literal.str_to_empty + normalizedText: '"no selected runtime test reached this mutation site; coverage reports may exclude this code or include + other configurations"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: reason_for + mutator: literal.str_to_xyzzy + normalizedText: '"no selected runtime test reached this mutation site; coverage reports may exclude this code or include + other configurations"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: reason_for + mutator: match_arm.never_matches + normalizedText: Outcome::Killed + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: reason_for + mutator: match_arm.never_matches + normalizedText: Outcome::NoCoverage + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: reason_for + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1922 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: reason_for + mutator: option.some_to_none + normalizedText: Some( "no selected runtime test reached this mutation site; coverage reports may exclude this code or + include other configurations" .to_owned(), ) + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: arith.add_to_mul + normalizedText: end_column + usize::from(end_line == 1) * first_line_offset + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: arith.add_to_mul + normalizedText: start_column + usize::from(start_line == 1) * first_line_offset + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: arith.add_to_sub + normalizedText: end_column + usize::from(end_line == 1) * first_line_offset + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: arith.add_to_sub + normalizedText: start_column + usize::from(start_line == 1) * first_line_offset + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: arith.mul_to_add + normalizedText: usize::from(end_line == 1) * first_line_offset + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: arith.mul_to_add + normalizedText: usize::from(start_line == 1) * first_line_offset + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: arith.mul_to_div + normalizedText: usize::from(end_line == 1) * first_line_offset + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: arith.mul_to_div + normalizedText: usize::from(start_line == 1) * first_line_offset + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: option.some_to_none + normalizedText: Some(mutant.replacement.clone()) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: option.some_to_none + normalizedText: Some(mutant.summary()) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: relational.eq_to_ne + normalizedText: end_line == 1 + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: relational.eq_to_ne + normalizedText: start_line == 1 + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: relational.gt_to_ge + normalizedText: mutant.elapsed_ms > 0 + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: render_with_first_line_offset + mutator: relational.gt_to_lt + normalizedText: mutant.elapsed_ms > 0 + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: assign.add_to_sub + normalizedText: components += 1 + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: cond.always_false + normalizedText: '!matches!(major, "1" | "2")' + occurrence: 0 + testSet: 1924 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: cond.always_false + normalizedText: components > 3 || part.is_empty() || (part.len() > 1 && part.starts_with('0')) || !part.bytes().all(|byte| + byte.is_ascii_digit()) + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: cond.always_true + normalizedText: '!matches!(major, "1" | "2")' + occurrence: 0 + testSet: 1924 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: cond.always_true + normalizedText: components > 3 || part.is_empty() || (part.len() > 1 && part.starts_with('0')) || !part.bytes().all(|byte| + byte.is_ascii_digit()) + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: cond.negate + normalizedText: '!matches!(major, "1" | "2")' + occurrence: 0 + testSet: 1924 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: cond.negate + normalizedText: components > 3 || part.is_empty() || (part.len() > 1 && part.starts_with('0')) || !part.bytes().all(|byte| + byte.is_ascii_digit()) + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: fn_value.bool_false + normalizedText: '{ let mut parts = version.split(''.''); let Some(major) = parts.next() else { return false; }; if !matches!(major, + "1" | "2") { return false; } let mut components = 1; for part in parts { components += 1; if components > 3 || part.is_empty() + || (part.len() > 1 && part.starts_with(''0'')) || !part.bytes().all(|byte| byte.is_ascii_digit()) { return false; + } } true }' + occurrence: 0 + testSet: 1924 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: fn_value.bool_true + normalizedText: '{ let mut parts = version.split(''.''); let Some(major) = parts.next() else { return false; }; if !matches!(major, + "1" | "2") { return false; } let mut components = 1; for part in parts { components += 1; if components > 3 || part.is_empty() + || (part.len() > 1 && part.starts_with(''0'')) || !part.bytes().all(|byte| byte.is_ascii_digit()) { return false; + } } true }' + occurrence: 0 + testSet: 1924 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: iter.all_to_any + normalizedText: part.bytes().all(|byte| byte.is_ascii_digit()) + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1925 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 1925 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1926 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1924 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1924 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: logical.and_to_or + normalizedText: part.len() > 1 && part.starts_with('0') + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: logical.or_to_and + normalizedText: components > 3 || part.is_empty() + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: logical.or_to_and + normalizedText: components > 3 || part.is_empty() || (part.len() > 1 && part.starts_with('0')) + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: logical.or_to_and + normalizedText: components > 3 || part.is_empty() || (part.len() > 1 && part.starts_with('0')) || !part.bytes().all(|byte| + byte.is_ascii_digit()) + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: relational.gt_to_ge + normalizedText: components > 3 + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: relational.gt_to_ge + normalizedText: part.len() > 1 + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: relational.gt_to_lt + normalizedText: components > 3 + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: relational.gt_to_lt + normalizedText: part.len() > 1 + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: stmt.delete_assign + normalizedText: components += 1; + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: string.starts_with_to_ends_with + normalizedText: part.starts_with('0') + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: unary.remove_not + normalizedText: '!matches!(major, "1" | "2")' + occurrence: 0 + testSet: 1924 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: supported_schema_version + mutator: unary.remove_not + normalizedText: '!part.bytes().all(|byte| byte.is_ascii_digit())' + occurrence: 0 + testSet: 1923 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: to_json + mutator: fn_value.ok + normalizedText: '{ validate_report(report).map_err(|cause| error!("could not serialize the report: {cause}"))?; serde_json::to_string_pretty(report).map_err(|cause| + error!("could not serialize the report").caused_by(cause)) }' + occurrence: 0 + testSet: 1927 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file + mutator: literal.str_to_empty + normalizedText: '"language"' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file + mutator: literal.str_to_empty + normalizedText: '"mutants"' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file + mutator: literal.str_to_empty + normalizedText: '"source"' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file + mutator: literal.str_to_xyzzy + normalizedText: '"language"' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file + mutator: literal.str_to_xyzzy + normalizedText: '"mutants"' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file + mutator: literal.str_to_xyzzy + normalizedText: '"source"' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: cond.always_false + normalizedText: '!matches!( mutant.status.as_str(), "Killed" | "Survived" | "NoCoverage" | "CompileError" | "RuntimeError" + | "Timeout" | "Ignored" | "Pending" )' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: cond.always_false + normalizedText: '!unique.insert(mutant.id.as_str())' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: cond.always_false + normalizedText: mutant.duration.is_some_and(|duration| !duration.is_finite()) + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: cond.always_false + normalizedText: value == 0 + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: cond.always_true + normalizedText: '!matches!( mutant.status.as_str(), "Killed" | "Survived" | "NoCoverage" | "CompileError" | "RuntimeError" + | "Timeout" | "Ignored" | "Pending" )' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: cond.always_true + normalizedText: '!unique.insert(mutant.id.as_str())' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: cond.always_true + normalizedText: mutant.duration.is_some_and(|duration| !duration.is_finite()) + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: cond.always_true + normalizedText: value == 0 + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: cond.negate + normalizedText: '!matches!( mutant.status.as_str(), "Killed" | "Survived" | "NoCoverage" | "CompileError" | "RuntimeError" + | "Timeout" | "Ignored" | "Pending" )' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: cond.negate + normalizedText: '!unique.insert(mutant.id.as_str())' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: cond.negate + normalizedText: mutant.duration.is_some_and(|duration| !duration.is_finite()) + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: cond.negate + normalizedText: value == 0 + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: literal.str_to_empty + normalizedText: '"column"' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: literal.str_to_empty + normalizedText: '"end"' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: literal.str_to_empty + normalizedText: '"line"' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: literal.str_to_empty + normalizedText: '"start"' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: literal.str_to_xyzzy + normalizedText: '"column"' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: literal.str_to_xyzzy + normalizedText: '"end"' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: literal.str_to_xyzzy + normalizedText: '"line"' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: literal.str_to_xyzzy + normalizedText: '"start"' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: relational.eq_to_ne + normalizedText: value == 0 + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: unary.remove_not + normalizedText: '!duration.is_finite()' + occurrence: 0 + testSet: 1930 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: unary.remove_not + normalizedText: '!matches!( mutant.status.as_str(), "Killed" | "Survived" | "NoCoverage" | "CompileError" | "RuntimeError" + | "Timeout" | "Ignored" | "Pending" )' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_file_result + mutator: unary.remove_not + normalizedText: '!unique.insert(mutant.id.as_str())' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_files + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1931 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_framework + mutator: literal.str_to_empty + normalizedText: '"branding"' + occurrence: 0 + testSet: 1932 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_framework + mutator: literal.str_to_empty + normalizedText: '"dependencies"' + occurrence: 0 + testSet: 1932 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_framework + mutator: literal.str_to_empty + normalizedText: '"name"' + occurrence: 0 + testSet: 1933 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_framework + mutator: literal.str_to_empty + normalizedText: '"version"' + occurrence: 0 + testSet: 1932 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_framework + mutator: literal.str_to_xyzzy + normalizedText: '"branding"' + occurrence: 0 + testSet: 1932 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_framework + mutator: literal.str_to_xyzzy + normalizedText: '"dependencies"' + occurrence: 0 + testSet: 1932 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_framework + mutator: literal.str_to_xyzzy + normalizedText: '"name"' + occurrence: 0 + testSet: 1933 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_framework + mutator: literal.str_to_xyzzy + normalizedText: '"version"' + occurrence: 0 + testSet: 1932 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_framework + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1932 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_location + mutator: cond.always_false + normalizedText: open_end + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_location + mutator: cond.always_true + normalizedText: open_end + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_location + mutator: cond.negate + normalizedText: open_end + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_location + mutator: literal.str_to_empty + normalizedText: '"end"' + occurrence: 1 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_location + mutator: literal.str_to_empty + normalizedText: '"start"' + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_location + mutator: literal.str_to_xyzzy + normalizedText: '"end"' + occurrence: 1 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_location + mutator: literal.str_to_xyzzy + normalizedText: '"start"' + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_location + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: cond.always_false + normalizedText: '!matches!( status, "Killed" | "Survived" | "NoCoverage" | "CompileError" | "RuntimeError" | "Timeout" + | "Ignored" | "Pending" )' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: cond.always_true + normalizedText: '!matches!( status, "Killed" | "Survived" | "NoCoverage" | "CompileError" | "RuntimeError" | "Timeout" + | "Ignored" | "Pending" )' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: cond.negate + normalizedText: '!matches!( status, "Killed" | "Survived" | "NoCoverage" | "CompileError" | "RuntimeError" | "Timeout" + | "Ignored" | "Pending" )' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_empty + normalizedText: '"coveredBy"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_empty + normalizedText: '"description"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_empty + normalizedText: '"duration"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_empty + normalizedText: '"id"' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_empty + normalizedText: '"killedBy"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_empty + normalizedText: '"location"' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_empty + normalizedText: '"mutatorName"' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_empty + normalizedText: '"replacement"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_empty + normalizedText: '"static"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_empty + normalizedText: '"status"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_empty + normalizedText: '"statusReason"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_empty + normalizedText: '"testsCompleted"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_xyzzy + normalizedText: '"coveredBy"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_xyzzy + normalizedText: '"description"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_xyzzy + normalizedText: '"duration"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_xyzzy + normalizedText: '"id"' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_xyzzy + normalizedText: '"killedBy"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_xyzzy + normalizedText: '"location"' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_xyzzy + normalizedText: '"mutatorName"' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_xyzzy + normalizedText: '"replacement"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_xyzzy + normalizedText: '"static"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_xyzzy + normalizedText: '"status"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_xyzzy + normalizedText: '"statusReason"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: literal.str_to_xyzzy + normalizedText: '"testsCompleted"' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: result.err_to_ok + normalizedText: Err(format!("{path} mutant `{id}` has unknown schema status `{status}`")) + occurrence: 0 + testSet: 1936 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutant + mutator: unary.remove_not + normalizedText: '!matches!( status, "Killed" | "Survived" | "NoCoverage" | "CompileError" | "RuntimeError" | "Timeout" + | "Ignored" | "Pending" )' + occurrence: 0 + testSet: 1935 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutants + mutator: cond.always_false + normalizedText: '!unique.insert(blake3::hash(&encoded))' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutants + mutator: cond.always_true + normalizedText: '!unique.insert(blake3::hash(&encoded))' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutants + mutator: cond.negate + normalizedText: '!unique.insert(blake3::hash(&encoded))' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutants + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1937 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutants + mutator: stmt.delete_call + normalizedText: encoded.clear(); + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_mutants + mutator: unary.remove_not + normalizedText: '!unique.insert(blake3::hash(&encoded))' + occurrence: 0 + testSet: 1928 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_performance + mutator: literal.str_to_empty + normalizedText: '"initialRun"' + occurrence: 0 + testSet: 1921 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_performance + mutator: literal.str_to_empty + normalizedText: '"mutation"' + occurrence: 0 + testSet: 1921 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_performance + mutator: literal.str_to_empty + normalizedText: '"setup"' + occurrence: 0 + testSet: 1921 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_performance + mutator: literal.str_to_xyzzy + normalizedText: '"initialRun"' + occurrence: 0 + testSet: 1921 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_performance + mutator: literal.str_to_xyzzy + normalizedText: '"mutation"' + occurrence: 0 + testSet: 1921 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_performance + mutator: literal.str_to_xyzzy + normalizedText: '"setup"' + occurrence: 0 + testSet: 1921 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_position + mutator: cond.always_false + normalizedText: integer(required(position, name, path)?, format_args!("{path}.{name}"))? == 0 + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_position + mutator: cond.always_true + normalizedText: integer(required(position, name, path)?, format_args!("{path}.{name}"))? == 0 + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_position + mutator: cond.negate + normalizedText: integer(required(position, name, path)?, format_args!("{path}.{name}"))? == 0 + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_position + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_position + mutator: literal.str_to_empty + normalizedText: '"column"' + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_position + mutator: literal.str_to_empty + normalizedText: '"line"' + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_position + mutator: literal.str_to_xyzzy + normalizedText: '"column"' + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_position + mutator: literal.str_to_xyzzy + normalizedText: '"line"' + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_position + mutator: relational.eq_to_ne + normalizedText: integer(required(position, name, path)?, format_args!("{path}.{name}"))? == 0 + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_position + mutator: result.err_to_ok + normalizedText: Err(format!("{path}.{name} must be at least 1")) + occurrence: 0 + testSet: 1938 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_position + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1934 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: cond.always_false + normalizedText: '!supported_schema_version(&report.schema_version)' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: cond.always_false + normalizedText: threshold > 100 + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: cond.always_true + normalizedText: '!supported_schema_version(&report.schema_version)' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: cond.always_true + normalizedText: threshold > 100 + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: cond.negate + normalizedText: '!supported_schema_version(&report.schema_version)' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: cond.negate + normalizedText: threshold > 100 + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: literal.int_decrement + normalizedText: '100' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: literal.int_increment + normalizedText: '100' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: literal.int_to_one + normalizedText: '100' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: literal.int_to_zero + normalizedText: '100' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: literal.str_to_empty + normalizedText: '"high"' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: literal.str_to_empty + normalizedText: '"low"' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: literal.str_to_xyzzy + normalizedText: '"high"' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: literal.str_to_xyzzy + normalizedText: '"low"' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: relational.gt_to_ge + normalizedText: threshold > 100 + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: relational.gt_to_lt + normalizedText: threshold > 100 + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_report + mutator: unary.remove_not + normalizedText: '!supported_schema_version(&report.schema_version)' + occurrence: 0 + testSet: 1929 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"config"' + occurrence: 0 + testSet: 1931 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"files"' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"framework"' + occurrence: 0 + testSet: 1931 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"performance"' + occurrence: 0 + testSet: 1940 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"projectRoot"' + occurrence: 0 + testSet: 1931 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"report"' + occurrence: 0 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"report"' + occurrence: 1 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"report"' + occurrence: 2 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"report"' + occurrence: 3 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"report.config"' + occurrence: 0 + testSet: 1942 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"report.files"' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"report.framework"' + occurrence: 0 + testSet: 1933 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"report.performance"' + occurrence: 0 + testSet: 1921 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"report.projectRoot"' + occurrence: 0 + testSet: 1943 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"report.schemaVersion"' + occurrence: 0 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"report.thresholds"' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"schemaVersion"' + occurrence: 0 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"system"' + occurrence: 0 + testSet: 1944 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"testFiles"' + occurrence: 0 + testSet: 1944 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_empty + normalizedText: '"thresholds"' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"config"' + occurrence: 0 + testSet: 1931 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"files"' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"framework"' + occurrence: 0 + testSet: 1931 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"performance"' + occurrence: 0 + testSet: 1940 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"projectRoot"' + occurrence: 0 + testSet: 1931 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"report"' + occurrence: 0 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"report"' + occurrence: 1 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"report"' + occurrence: 2 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"report"' + occurrence: 3 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"report.config"' + occurrence: 0 + testSet: 1942 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"report.files"' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"report.framework"' + occurrence: 0 + testSet: 1933 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"report.performance"' + occurrence: 0 + testSet: 1921 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"report.projectRoot"' + occurrence: 0 + testSet: 1943 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"report.schemaVersion"' + occurrence: 0 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"report.thresholds"' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"schemaVersion"' + occurrence: 0 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"system"' + occurrence: 0 + testSet: 1944 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"testFiles"' + occurrence: 0 + testSet: 1944 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: literal.str_to_xyzzy + normalizedText: '"thresholds"' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1944 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema_version + mutator: cond.always_false + normalizedText: supported_schema_version(version) + occurrence: 0 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema_version + mutator: cond.always_true + normalizedText: supported_schema_version(version) + occurrence: 0 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema_version + mutator: cond.negate + normalizedText: supported_schema_version(version) + occurrence: 0 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema_version + mutator: result.err_to_ok + normalizedText: Err(format!("schema version `{version}` at {path} must match the supported pattern")) + occurrence: 0 + testSet: 1925 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_schema_version + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: cond.always_false + normalizedText: threshold > 100 + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: cond.always_true + normalizedText: threshold > 100 + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: cond.negate + normalizedText: threshold > 100 + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: literal.int_decrement + normalizedText: '100' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: literal.int_increment + normalizedText: '100' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: literal.int_to_one + normalizedText: '100' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: literal.int_to_zero + normalizedText: '100' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: literal.str_to_empty + normalizedText: '"high"' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: literal.str_to_empty + normalizedText: '"low"' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: literal.str_to_xyzzy + normalizedText: '"high"' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: literal.str_to_xyzzy + normalizedText: '"low"' + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: relational.gt_to_ge + normalizedText: threshold > 100 + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: relational.gt_to_lt + normalizedText: threshold > 100 + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: result.err_to_ok + normalizedText: Err(format!("{field} must be at most 100")) + occurrence: 0 + testSet: 1938 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: validate_thresholds + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1939 + - site: + file: crates/cargo-gamma-lib/src/elements/report.rs + item: write_json + mutator: fn_value.ok + normalizedText: '{ validate_report(report).map_err(|cause| error!("could not serialize the report: {cause}"))?; crate::elements::write_streamed(path, + |writer| serde_json::to_writer_pretty(writer, report).map_err(io::Error::from)) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/error.rs + item: ::fmt + mutator: fn_value.ok + normalizedText: '{ write!(formatter, "{}", self.message)?; if let Some(cause) = &self.cause { write!(formatter, ": {cause}")?; + } Ok(()) }' + occurrence: 0 + testSet: 1945 + - site: + file: crates/cargo-gamma-lib/src/error.rs + item: ::fmt + mutator: result.ok_to_err + normalizedText: Ok(()) + occurrence: 0 + testSet: 1945 + - site: + file: crates/cargo-gamma-lib/src/error.rs + item: >::from + mutator: literal.str_to_empty + normalizedText: '"I/O error"' + occurrence: 0 + testSet: 1946 + - site: + file: crates/cargo-gamma-lib/src/error.rs + item: >::from + mutator: literal.str_to_xyzzy + normalizedText: '"I/O error"' + occurrence: 0 + testSet: 1946 + - site: + file: crates/cargo-gamma-lib/src/error.rs + item: ::source + mutator: fn_value.none + normalizedText: '{ self.cause.as_ref().map(|cause| &**cause as &(dyn StdError + ''static)) }' + occurrence: 0 + testSet: 1947 + - site: + file: crates/cargo-gamma-lib/src/error.rs + item: Error::caused_by + mutator: assign_value.default + normalizedText: Some(Box::new(cause)) + occurrence: 0 + testSet: 1948 + - site: + file: crates/cargo-gamma-lib/src/error.rs + item: Error::caused_by + mutator: option.some_to_none + normalizedText: Some(Box::new(cause)) + occurrence: 0 + testSet: 1948 + - site: + file: crates/cargo-gamma-lib/src/error.rs + item: Error::caused_by + mutator: stmt.delete_assign + normalizedText: self.cause = Some(Box::new(cause)); + occurrence: 0 + testSet: 1948 + - site: + file: crates/cargo-gamma-lib/src/error.rs + item: Error::message + mutator: fn_value.empty_string + normalizedText: '{ &self.message }' + occurrence: 0 + testSet: 1949 + - site: + file: crates/cargo-gamma-lib/src/error.rs + item: Error::message + mutator: fn_value.xyzzy_string + normalizedText: '{ &self.message }' + occurrence: 0 + testSet: 1949 + - site: + file: crates/cargo-gamma-lib/src/error.rs + item: Error::new + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1950 + - site: + file: crates/cargo-gamma-lib/src/error.rs + item: Error::new + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1950 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: Estimate::high + mutator: arith.add_to_sub + normalizedText: self.build + self.baseline + occurrence: 0 + testSet: 1951 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: Estimate::high + mutator: arith.add_to_sub + normalizedText: self.build + self.baseline + self.stalling + occurrence: 0 + testSet: 1951 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: Estimate::high + mutator: fn_value.default + normalizedText: '{ (self.build + self.baseline + self.stalling).min(self.worst_case()) }' + occurrence: 0 + testSet: 1951 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: Estimate::high + mutator: iter.min_to_max + normalizedText: (self.build + self.baseline + self.stalling).min(self.worst_case()) + occurrence: 0 + testSet: 1951 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: Estimate::low + mutator: arith.add_to_sub + normalizedText: self.build + self.baseline + occurrence: 0 + testSet: 1952 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: Estimate::low + mutator: arith.add_to_sub + normalizedText: self.build + self.baseline + self.settled + occurrence: 0 + testSet: 1952 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: Estimate::low + mutator: fn_value.default + normalizedText: '{ self.build + self.baseline + self.settled }' + occurrence: 0 + testSet: 1952 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: Estimate::worst_case + mutator: arith.add_to_sub + normalizedText: self.build + self.baseline + occurrence: 0 + testSet: 1953 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: Estimate::worst_case + mutator: arith.add_to_sub + normalizedText: self.build + self.baseline + self.worst + occurrence: 0 + testSet: 1953 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: Estimate::worst_case + mutator: fn_value.default + normalizedText: '{ self.build + self.baseline + self.worst }' + occurrence: 0 + testSet: 1953 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: arith.add_to_mul + normalizedText: 1 + crate::exec::CONFIRM_FACTOR + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: arith.add_to_sub + normalizedText: 1 + crate::exec::CONFIRM_FACTOR + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: arith.div_to_mul + normalizedText: work.budget.saturating_mul(1 + crate::exec::CONFIRM_FACTOR) / lanes + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: expr.decrement + normalizedText: 1 + crate::exec::CONFIRM_FACTOR + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: expr.decrement + normalizedText: jobs.max(1) + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: expr.decrement + normalizedText: lanes + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: expr.decrement + normalizedText: lanes + occurrence: 1 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: expr.decrement + normalizedText: lanes + occurrence: 2 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: expr.increment + normalizedText: 1 + crate::exec::CONFIRM_FACTOR + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: expr.increment + normalizedText: jobs.max(1) + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: expr.increment + normalizedText: lanes + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: expr.increment + normalizedText: lanes + occurrence: 1 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: expr.increment + normalizedText: lanes + occurrence: 2 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: iter.max_to_min + normalizedText: jobs.max(1) + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1955 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: logical.and_to_or + normalizedText: mutant.ordinal > 0 && mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1955 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::CompileError + occurrence: 0 + testSet: 1955 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1955 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: relational.gt_to_ge + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1955 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: project + mutator: relational.gt_to_lt + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1955 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: render + mutator: fn_value.empty_string + normalizedText: '{ format!( "{} if none hang, {} if {}% do, for {} at {}; {} worst case for test time, before per-mutant + overhead", human(estimate.low()), human(estimate.high()), STALL_PERCENT_HIGH, quantity(estimate.live, "mutant"), quantity(estimate.jobs, + "job"), human(estimate.worst_case()) ) }' + occurrence: 0 + testSet: 1956 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: render + mutator: fn_value.xyzzy_string + normalizedText: '{ format!( "{} if none hang, {} if {}% do, for {} at {}; {} worst case for test time, before per-mutant + overhead", human(estimate.low()), human(estimate.high()), STALL_PERCENT_HIGH, quantity(estimate.live, "mutant"), quantity(estimate.jobs, + "job"), human(estimate.worst_case()) ) }' + occurrence: 0 + testSet: 1956 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: arith.add_to_mul + normalizedText: 1 + crate::exec::CONFIRM_FACTOR + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: arith.add_to_sub + normalizedText: 1 + crate::exec::CONFIRM_FACTOR + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: arith.add_to_sub + normalizedText: judged + hung + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: arith.add_to_sub + normalizedText: work.suite + work.single.saturating_mul(1 + crate::exec::CONFIRM_FACTOR) + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: arith.div_to_mul + normalizedText: (judged + hung) / lanes + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: arith.mul_to_add + normalizedText: KILLED_SHARE * (1.0 - stalling) + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: arith.mul_to_div + normalizedText: KILLED_SHARE * (1.0 - stalling) + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: arith.sub_to_add + normalizedText: 1.0 - stalling + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: arith.sub_to_div + normalizedText: 1.0 - stalling + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: expr.decrement + normalizedText: 1 + crate::exec::CONFIRM_FACTOR + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: expr.increment + normalizedText: 1 + crate::exec::CONFIRM_FACTOR + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: fn_value.default + normalizedText: '{ let judged = work.suite.mul_f64(KILLED_SHARE * (1.0 - stalling)); let hung = (work.suite + work.single.saturating_mul(1 + + crate::exec::CONFIRM_FACTOR)).mul_f64(stalling); (judged + hung) / lanes }' + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: spend + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: stall_share_high + mutator: arith.div_to_mul + normalizedText: f64::from(STALL_PERCENT_HIGH) / 100.0 + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: stall_share_high + mutator: arith.div_to_rem + normalizedText: f64::from(STALL_PERCENT_HIGH) / 100.0 + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: stall_share_high + mutator: expr.decrement + normalizedText: STALL_PERCENT_HIGH + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: stall_share_high + mutator: expr.increment + normalizedText: STALL_PERCENT_HIGH + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: stall_share_high + mutator: fn_value.minus_one + normalizedText: '{ f64::from(STALL_PERCENT_HIGH) / 100.0 }' + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: stall_share_high + mutator: fn_value.one + normalizedText: '{ f64::from(STALL_PERCENT_HIGH) / 100.0 }' + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/estimate.rs + item: stall_share_high + mutator: fn_value.zero + normalizedText: '{ f64::from(STALL_PERCENT_HIGH) / 100.0 }' + occurrence: 0 + testSet: 1954 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_baseline + mutator: expr.decrement + normalizedText: jobs + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_baseline + mutator: expr.increment + normalizedText: jobs + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting + mutator: expr.decrement + normalizedText: jobs + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting + mutator: expr.increment + normalizedText: jobs + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: assign_value.default + normalizedText: Some(peak.unwrap_or(0).max(measured)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: assign_value.default + normalizedText: Some(tests.unwrap_or(0).saturating_add(counted)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: assign_value.default + normalizedText: elapsed.saturating_add(took) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: assign_value.default + normalizedText: observed.peak + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: assign_value.default + normalizedText: observed.tests + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: assign_value.default + normalizedText: quiet.max(observed.quiet) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: assign_value.default + normalizedText: took + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: expr.decrement + normalizedText: jobs + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: expr.decrement + normalizedText: peak.unwrap_or(0).max(measured) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: expr.decrement + normalizedText: tests.unwrap_or(0).saturating_add(counted) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: expr.increment + normalizedText: jobs + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: expr.increment + normalizedText: peak.unwrap_or(0).max(measured) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: expr.increment + normalizedText: tests.unwrap_or(0).saturating_add(counted) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: iter.max_to_min + normalizedText: peak.unwrap_or(0).max(measured) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: iter.max_to_min + normalizedText: quiet.max(observed.quiet) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: match_arm.never_matches + normalizedText: Verdict::Passed + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: option.some_to_none + normalizedText: Some(peak.unwrap_or(0).max(measured)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: option.some_to_none + normalizedText: Some(tests.unwrap_or(0).saturating_add(counted)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: stmt.delete_assign + normalizedText: elapsed = elapsed.saturating_add(took); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: stmt.delete_assign + normalizedText: entry.baseline = took; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: stmt.delete_assign + normalizedText: entry.peak = observed.peak; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: stmt.delete_assign + normalizedText: entry.tests = observed.tests; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: stmt.delete_assign + normalizedText: peak = Some(peak.unwrap_or(0).max(measured)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: stmt.delete_assign + normalizedText: quiet = quiet.max(observed.quiet); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: stmt.delete_assign + normalizedText: tests = Some(tests.unwrap_or(0).saturating_add(counted)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: measure_within_reporting_with + mutator: stmt.delete_call + normalizedText: retry_failed_binaries(work, binaries, budget, request, &observer, &mut measured); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: retry_failed_binaries + mutator: cond.always_false + normalizedText: '!retry' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: retry_failed_binaries + mutator: cond.always_true + normalizedText: '!retry' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: retry_failed_binaries + mutator: cond.negate + normalizedText: '!retry' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: retry_failed_binaries + mutator: fn_value.unit + normalizedText: '{ for (binary, slot) in binaries.iter().zip(measured) { let retry = slot .as_ref() .is_some_and(|(_elapsed, + observed)| matches!(&observed.verdict, Verdict::Failed(_) | Verdict::Flaky(_))); if !retry { continue; } let began + = Instant::now(); let observed = observer( work, binary, Attempt { active: None, timeout: Some(budget), stall: Stall::NONE, + request, only: Only::All, census: None, }, ); if matches!(&observed.verdict, Verdict::Passed) { crate::notes::note(format!( + "baseline target `{}` in package `{}` failed once and passed on retry", binary.target, binary.package )); } *slot + = Some((began.elapsed(), observed)); } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: retry_failed_binaries + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: retry_failed_binaries + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: retry_failed_binaries + mutator: unary.remove_not + normalizedText: '!retry' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: assign_value.default + normalizedText: Some((took, observed)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: expr.decrement + normalizedText: binaries.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: expr.decrement + normalizedText: jobs.max(1) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: expr.increment + normalizedText: binaries.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: expr.increment + normalizedText: jobs.max(1) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: iter.max_to_min + normalizedText: jobs.max(1) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: option.some_to_none + normalizedText: Some((took, observed)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: option.some_to_none + normalizedText: Some(budget) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: range.exclusive_to_inclusive + normalizedText: 0..binaries.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: range.exclusive_to_inclusive + normalizedText: 0..jobs.max(1) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: stmt.delete_assign + normalizedText: '*slot = Some((took, observed));' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: stmt.delete_call + normalizedText: completed(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/baseline.rs + item: sweep_binaries_with + mutator: stmt.delete_call + normalizedText: drop(sender); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: compile + mutator: fn_value.ok + normalizedText: '{ let mut command = work.cargo(); let _command = command .env("CARGO_TERM_PROGRESS_WHEN", "always") + .env("CARGO_TERM_PROGRESS_WIDTH", PROGRESS_WIDTH.to_string()) .args(args) .stderr(Stdio::piped()) .stdout(Stdio::piped()); + supervise(command, work, budget, events) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: compile + mutator: literal.str_to_empty + normalizedText: '"CARGO_TERM_PROGRESS_WHEN"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: compile + mutator: literal.str_to_empty + normalizedText: '"CARGO_TERM_PROGRESS_WIDTH"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: compile + mutator: literal.str_to_empty + normalizedText: '"always"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: compile + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_TERM_PROGRESS_WHEN"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: compile + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_TERM_PROGRESS_WIDTH"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: compile + mutator: literal.str_to_xyzzy + normalizedText: '"always"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: finish_readers + mutator: cond.negate + normalizedText: '!finished(&stdout) || !finished(&stderr)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: finish_readers + mutator: cond.negate + normalizedText: narrate(lines, events) == NARRATION_BATCH + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: finish_readers + mutator: fn_value.tuple + normalizedText: '{ let finished = |reader: &Option>>| { reader .as_ref() .is_none_or(|reader| + reader.as_ref().is_err() || reader.as_ref().is_ok_and(JoinHandle::is_finished)) }; while !finished(&stdout) || !finished(&stderr) + { let _narrated = narrate(lines, events); if Instant::now() >= deadline { return (None, None); } thread::sleep(BUILD_POLL_INTERVAL); + } while narrate(lines, events) == NARRATION_BATCH {} let stdout = stdout.map(|handle| { let handle = handle.ok()?; + handle.join().ok() }); let stderr = stderr.map(|handle| { let handle = handle.ok()?; handle.join().ok() }); ( stdout.unwrap_or_else(|| + { Some(Pipe { text: Vec::new(), complete: true, within_limits: true, }) }), stderr.unwrap_or_else(|| { Some(Pipe { + text: Vec::new(), complete: true, within_limits: true, }) }), ) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: finish_readers + mutator: logical.or_to_and + normalizedText: '!finished(&stdout) || !finished(&stderr)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: finish_readers + mutator: logical.or_to_and + normalizedText: reader.as_ref().is_err() || reader.as_ref().is_ok_and(JoinHandle::is_finished) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: finish_readers + mutator: relational.eq_to_ne + normalizedText: narrate(lines, events) == NARRATION_BATCH + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: finish_readers + mutator: unary.remove_not + normalizedText: '!finished(&stderr)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: finish_readers + mutator: unary.remove_not + normalizedText: '!finished(&stdout)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: is_progress + mutator: fn_value.bool_false + normalizedText: '{ let plain = crate::report::unstyled(line); let trimmed = plain.trim_start(); trimmed.starts_with("Building + [") || trimmed.starts_with("Compiling [") }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: is_progress + mutator: fn_value.bool_true + normalizedText: '{ let plain = crate::report::unstyled(line); let trimmed = plain.trim_start(); trimmed.starts_with("Building + [") || trimmed.starts_with("Compiling [") }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: is_progress + mutator: literal.str_to_empty + normalizedText: '"Building ["' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: is_progress + mutator: literal.str_to_empty + normalizedText: '"Compiling ["' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: is_progress + mutator: literal.str_to_xyzzy + normalizedText: '"Building ["' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: is_progress + mutator: literal.str_to_xyzzy + normalizedText: '"Compiling ["' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: is_progress + mutator: logical.or_to_and + normalizedText: trimmed.starts_with("Building [") || trimmed.starts_with("Compiling [") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: is_progress + mutator: string.starts_with_to_ends_with + normalizedText: trimmed.starts_with("Building [") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: is_progress + mutator: string.starts_with_to_ends_with + normalizedText: trimmed.starts_with("Compiling [") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: is_progress + mutator: string.trim_start_to_trim_end + normalizedText: plain.trim_start() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: assign.add_to_sub + normalizedText: narrated += 1 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: cond.always_false + normalizedText: '!wanted' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: cond.always_true + normalizedText: '!wanted' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: cond.negate + normalizedText: '!wanted' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: cond.negate + normalizedText: narrated < NARRATION_BATCH + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: expr.decrement + normalizedText: narrated + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: expr.increment + normalizedText: narrated + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: match_guard.always_false + normalizedText: is_progress(&line) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: match_guard.always_true + normalizedText: is_progress(&line) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: match_guard.negate + normalizedText: is_progress(&line) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: relational.lt_to_gt + normalizedText: narrated < NARRATION_BATCH + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: relational.lt_to_le + normalizedText: narrated < NARRATION_BATCH + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: stmt.delete_assign + normalizedText: narrated += 1; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: string.trim_end_to_trim_start + normalizedText: line.trim_end() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: string.trim_end_to_trim_start + normalizedText: line.trim_end() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: narrate + mutator: unary.remove_not + normalizedText: '!wanted' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: assign_value.default + normalizedText: 'false' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: cond.always_false + normalizedText: kept < read + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: cond.always_false + normalizedText: line.len() < limits.line + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: cond.always_false + normalizedText: matches!(*byte, b'\n' | b'\r') + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: cond.always_true + normalizedText: kept < read + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: cond.always_true + normalizedText: line.len() < limits.line + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: cond.always_true + normalizedText: matches!(*byte, b'\n' | b'\r') + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: cond.negate + normalizedText: kept < read + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: cond.negate + normalizedText: line.len() < limits.line + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: cond.negate + normalizedText: matches!(*byte, b'\n' | b'\r') + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: expr.decrement + normalizedText: kept + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: expr.decrement + normalizedText: room + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: expr.decrement + normalizedText: text.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: expr.increment + normalizedText: kept + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: expr.increment + normalizedText: room + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: expr.increment + normalizedText: text.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: iter.min_to_max + normalizedText: read.min(room) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 3 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: literal.int_increment + normalizedText: 0_u8 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: literal.str_to_empty + normalizedText: '"cargo-gamma-build-output"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: literal.str_to_xyzzy + normalizedText: '"cargo-gamma-build-output"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: logical.and_to_or + normalizedText: '!line_limited && !line.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: logical.and_to_or + normalizedText: '!line_limited && !line.is_empty()' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: range.exclusive_to_inclusive + normalizedText: ..kept + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: range.exclusive_to_inclusive + normalizedText: ..read + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: relational.lt_to_gt + normalizedText: kept < read + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: relational.lt_to_gt + normalizedText: line.len() < limits.line + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: relational.lt_to_le + normalizedText: kept < read + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: relational.lt_to_le + normalizedText: line.len() < limits.line + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: stmt.delete_assign + normalizedText: line_limited = false; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: stmt.delete_call + normalizedText: line.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: stmt.delete_call + normalizedText: line.push(*byte); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: stmt.delete_call + normalizedText: text.extend_from_slice(&buffer[..kept]); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: unary.remove_not + normalizedText: '!line.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: unary.remove_not + normalizedText: '!line.is_empty()' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: unary.remove_not + normalizedText: '!line_limited' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: read_pipe_with_limits + mutator: unary.remove_not + normalizedText: '!line_limited' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: run_cargo + mutator: literal.str_to_empty + normalizedText: '"--message-format=json"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: run_cargo + mutator: literal.str_to_empty + normalizedText: '"--package"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: run_cargo + mutator: literal.str_to_empty + normalizedText: '"--workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: run_cargo + mutator: literal.str_to_xyzzy + normalizedText: '"--message-format=json"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: run_cargo + mutator: literal.str_to_xyzzy + normalizedText: '"--package"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: run_cargo + mutator: literal.str_to_xyzzy + normalizedText: '"--workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: run_cargo + mutator: option.some_to_none + normalizedText: Some(stdout) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: run_cargo + mutator: stmt.delete_call + normalizedText: args.push("--message-format=json".to_owned()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: run_cargo + mutator: stmt.delete_call + normalizedText: args.push("--package".to_owned()); + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: run_cargo + mutator: stmt.delete_call + normalizedText: args.push(plan.spec(&work.root, package)); + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: run_cargo + mutator: stmt.delete_call + normalizedText: work.cargo.extend_build_args(&mut args); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise + mutator: fn_value.ok + normalizedText: '{ supervise_with_limits(command, work, budget, events, OUTPUT_LIMITS) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: arith.add_to_sub + normalizedText: Instant::now() + DRAIN_GRACE + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: cond.always_false + normalizedText: '!stdout.complete || !stderr.complete' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: cond.always_false + normalizedText: '!stdout.within_limits || !stderr.within_limits' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: cond.always_false + normalizedText: deadline.is_some_and(|deadline| Instant::now() >= deadline) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: cond.always_true + normalizedText: '!stdout.complete || !stderr.complete' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: cond.always_true + normalizedText: '!stdout.within_limits || !stderr.within_limits' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: cond.always_true + normalizedText: deadline.is_some_and(|deadline| Instant::now() >= deadline) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: cond.negate + normalizedText: '!stdout.complete || !stderr.complete' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: cond.negate + normalizedText: '!stdout.within_limits || !stderr.within_limits' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: cond.negate + normalizedText: deadline.is_some_and(|deadline| Instant::now() >= deadline) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: expr.decrement + normalizedText: limits.backlog + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: expr.increment + normalizedText: limits.backlog + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: fn_value.ok + normalizedText: '{ let program = command.get_program().to_string_lossy().into_owned(); let root = encode_controls(work.root.as_str()); + let prepared = prepare(command, MemoryRequest::default()).map_err(|reason| { let raw_reason = reason.to_string(); + let reason = encode_controls(&raw_reason); error!("the cargo build in `{root}` could not be contained: {reason}") + })?; let spawned = prepared.spawn().map_err(|failure| { let (cause, _prepared) = failure.into_parts(); spawn_failure(&program, + work, cause) })?; let mut subtree = match ProcessTree::adopt(spawned) { Ok(subtree) => subtree, Err(reason) => { events.build_finished(); + let raw_reason = reason.to_string(); let reason = encode_controls(&raw_reason); return Err(error!("the cargo build + in `{root}` could not be contained: {reason}")); } }; let (sender, lines) = mpsc::sync_channel(limits.backlog); let + stdout = subtree .take_stdout() .map(|pipe| read_pipe_with_limits(pipe, Stream::Json, &sender, limits)); let stderr + = subtree .take_stderr() .map(|pipe| read_pipe_with_limits(pipe, Stream::Prose, &sender, limits)); drop(sender); let + deadline = budget.map(|budget| Instant::now() + budget); let outcome = loop { let _narrated = narrate(&lines, events); + match subtree.observe() { Ok(Some(status)) => { break Ok(Some(status)); } Ok(None) => { if deadline.is_some_and(|deadline| + Instant::now() >= deadline) { break collect(&mut subtree).map(|()| None).map_err(|cause| { error!("cargo in `{root}` + could not be terminated after its build budget expired").caused_by(cause) }); } thread::sleep(BUILD_POLL_INTERVAL); + } Err(cause) => { break match collect(&mut subtree) { Ok(()) => Err(error!("could not wait for cargo in `{root}`").caused_by(cause)), + Err(cleanup) => { Err(error!("cargo in `{root}` could not be terminated after it stopped being observable").caused_by(cleanup)) + } }; } } }; debug_assert!(subtree.released(), "the containment is released before the output is drained"); let grace + = Instant::now() + DRAIN_GRACE; let (said, printed) = finish_readers(stdout, stderr, &lines, events, grace); events.build_finished(); + let Some(status) = outcome? else { return Ok(None); }; let (Some(stdout), Some(stderr)) = (said, printed) else { return + Err(error!( "cargo in `{root}` finished, but its output could not be read to the end, so what it built could not be + read" )); }; if !stdout.complete || !stderr.complete { return Err(error!( "cargo in `{root}` finished, but its output + could not be read to the end, so what it built could not be read" )); } if !stdout.within_limits || !stderr.within_limits + { return Err(error!( "cargo in `{root}` exceeded the configured {}-byte retained or {}-byte per-line build-output + limit, so its truncated output could not be trusted", limits.retained, limits.line )); } Ok(Some(Output { status, + stdout: stdout.text, stderr: stderr.text, })) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: logical.or_to_and + normalizedText: '!stdout.complete || !stderr.complete' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: logical.or_to_and + normalizedText: '!stdout.within_limits || !stderr.within_limits' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: option.some_to_none + normalizedText: 'Some(Output { status, stdout: stdout.text, stderr: stderr.text, })' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: option.some_to_none + normalizedText: Some(status) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: stmt.delete_call + normalizedText: drop(sender); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: stmt.delete_call + normalizedText: events.build_finished(); + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: stmt.delete_call + normalizedText: thread::sleep(BUILD_POLL_INTERVAL); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: unary.remove_not + normalizedText: '!stderr.complete' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: unary.remove_not + normalizedText: '!stderr.within_limits' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: unary.remove_not + normalizedText: '!stdout.complete' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/invoke.rs + item: supervise_with_limits + mutator: unary.remove_not + normalizedText: '!stdout.within_limits' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: cargo_message + mutator: fn_value.none + normalizedText: '{ serde_json::from_str(line).ok() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: compiled_sources + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: compiled_sources + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: compiled_sources + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: compiled_sources + mutator: literal.str_to_empty + normalizedText: '": "' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: compiled_sources + mutator: literal.str_to_xyzzy + normalizedText: '": "' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: compiled_sources + mutator: stmt.delete_assign + normalizedText: read_any = true; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: cond.always_false + normalizedText: matched + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: cond.always_false + normalizedText: message.reason != "compiler-artifact" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: cond.always_false + normalizedText: path.extension() != Some("d") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: cond.always_true + normalizedText: matched + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: cond.always_true + normalizedText: message.reason != "compiler-artifact" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: cond.always_true + normalizedText: path.extension() != Some("d") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: cond.negate + normalizedText: matched + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: cond.negate + normalizedText: message.reason != "compiler-artifact" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: cond.negate + normalizedText: path.extension() != Some("d") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: literal.str_to_empty + normalizedText: '"compiler-artifact"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: literal.str_to_empty + normalizedText: '"d"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: literal.str_to_xyzzy + normalizedText: '"compiler-artifact"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: literal.str_to_xyzzy + normalizedText: '"d"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 6 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 6 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: option.some_to_none + normalizedText: Some("d") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: relational.ne_to_eq + normalizedText: message.reason != "compiler-artifact" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: relational.ne_to_eq + normalizedText: path.extension() != Some("d") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dep_files + mutator: stmt.delete_call + normalizedText: found.push(path); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: cond.always_false + normalizedText: '!path.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: cond.always_false + normalizedText: '!path.is_empty()' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: cond.always_true + normalizedText: '!path.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: cond.always_true + normalizedText: '!path.is_empty()' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: cond.negate + normalizedText: '!path.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: cond.negate + normalizedText: '!path.is_empty()' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: fn_value.empty_collection + normalizedText: '{ let mut paths = Vec::new(); let mut path = String::new(); let mut characters = list.chars().peekable(); + while let Some(character) = characters.next() { match character { ''\\'' if characters.peek().is_some_and(|next| next.is_whitespace()) + => { if let Some(escaped) = characters.next() { path.push(escaped); } } character if character.is_whitespace() => + { if !path.is_empty() { paths.push(core::mem::take(&mut path)); } } character => path.push(character), } } if !path.is_empty() + { paths.push(path); } paths }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: fn_value.one_element + normalizedText: '{ let mut paths = Vec::new(); let mut path = String::new(); let mut characters = list.chars().peekable(); + while let Some(character) = characters.next() { match character { ''\\'' if characters.peek().is_some_and(|next| next.is_whitespace()) + => { if let Some(escaped) = characters.next() { path.push(escaped); } } character if character.is_whitespace() => + { if !path.is_empty() { paths.push(core::mem::take(&mut path)); } } character => path.push(character), } } if !path.is_empty() + { paths.push(path); } paths }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: match_guard.always_false + normalizedText: character.is_whitespace() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: match_guard.always_false + normalizedText: characters.peek().is_some_and(|next| next.is_whitespace()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: match_guard.always_true + normalizedText: character.is_whitespace() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: match_guard.always_true + normalizedText: characters.peek().is_some_and(|next| next.is_whitespace()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: match_guard.negate + normalizedText: character.is_whitespace() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: match_guard.negate + normalizedText: characters.peek().is_some_and(|next| next.is_whitespace()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: stmt.delete_call + normalizedText: paths.push(core::mem::take(&mut path)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: stmt.delete_call + normalizedText: paths.push(path); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: unary.remove_not + normalizedText: '!path.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: dependencies + mutator: unary.remove_not + normalizedText: '!path.is_empty()' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: normalize_separators + mutator: fn_value.empty_string + normalizedText: '{ path.replace(''\\'', "/") }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: normalize_separators + mutator: fn_value.xyzzy_string + normalizedText: '{ path.replace(''\\'', "/") }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: normalize_separators + mutator: literal.str_to_empty + normalizedText: '"/"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/messages.rs + item: normalize_separators + mutator: literal.str_to_xyzzy + normalizedText: '"/"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Original::instrumented + mutator: cond.always_false + normalizedText: self.serialized.starts_with(BOM) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Original::instrumented + mutator: cond.always_true + normalizedText: self.serialized.starts_with(BOM) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Original::instrumented + mutator: cond.negate + normalizedText: self.serialized.starts_with(BOM) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Original::instrumented + mutator: fn_value.empty_string + normalizedText: '{ if self.serialized.starts_with(BOM) { let mut serialized = String::with_capacity(BOM.len_utf8() + + parsed.len()); serialized.push(BOM); serialized.push_str(&parsed); serialized } else { parsed } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Original::instrumented + mutator: fn_value.xyzzy_string + normalizedText: '{ if self.serialized.starts_with(BOM) { let mut serialized = String::with_capacity(BOM.len_utf8() + + parsed.len()); serialized.push(BOM); serialized.push_str(&parsed); serialized } else { parsed } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Original::instrumented + mutator: string.starts_with_to_ends_with + normalizedText: self.serialized.starts_with(BOM) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: assign_value.default + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: assign_value.default + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: assign_value.default + normalizedText: work.root.clone() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: cond.always_false + normalizedText: '!dirty.contains(path)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: cond.always_false + normalizedText: live.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: cond.always_false + normalizedText: live.is_empty() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: cond.always_false + normalizedText: self.root != work.root + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: cond.always_true + normalizedText: '!dirty.contains(path)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: cond.always_true + normalizedText: live.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: cond.always_true + normalizedText: live.is_empty() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: cond.always_true + normalizedText: self.root != work.root + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: cond.negate + normalizedText: '!dirty.contains(path)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: cond.negate + normalizedText: live.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: cond.negate + normalizedText: live.is_empty() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: cond.negate + normalizedText: self.root != work.root + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: iter.remove_sort + normalizedText: dirty.sort_unstable(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: logical.and_to_or + normalizedText: mutant.ordinal > 0 && !withdrawn.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: relational.eq_to_ne + normalizedText: '*placed == ordinals' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: relational.gt_to_ge + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: relational.gt_to_lt + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: relational.ne_to_eq + normalizedText: self.root != work.root + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: stmt.delete_assign + normalizedText: self.indexed_files = 0; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: stmt.delete_assign + normalizedText: self.indexed_mutants = 0; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: stmt.delete_assign + normalizedText: self.root = work.root.clone(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: stmt.delete_call + normalizedText: self.file_by_ordinal.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: stmt.delete_call + normalizedText: self.file_index.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: stmt.delete_call + normalizedText: self.mutants_by_file.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: stmt.delete_call + normalizedText: self.placed.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: stmt.delete_call + normalizedText: self.sources.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: stmt.delete_call + normalizedText: self.withdrawn.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: unary.remove_not + normalizedText: '!dirty.contains(path)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: unary.remove_not + normalizedText: '!guards.contains_key(&mutant.ordinal)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::instrument + mutator: unary.remove_not + normalizedText: '!withdrawn.contains(&mutant.ordinal)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::original + mutator: cond.always_false + normalizedText: '!self.sources.contains_key(&file.path)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::original + mutator: cond.always_true + normalizedText: '!self.sources.contains_key(&file.path)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::original + mutator: cond.negate + normalizedText: '!self.sources.contains_key(&file.path)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::original + mutator: unary.remove_not + normalizedText: '!self.sources.contains_key(&file.path)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: assign_value.default + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: assign_value.default + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: assign_value.default + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: fn_value.unit + normalizedText: '{ self.file_index.clear(); self.mutants_by_file.clear(); self.file_by_ordinal.clear(); self.indexed_files + = 0; self.indexed_mutants = 0; self.plan_identity = None; self.withdrawn.clear(); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: stmt.delete_assign + normalizedText: self.indexed_files = 0; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: stmt.delete_assign + normalizedText: self.indexed_mutants = 0; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: stmt.delete_assign + normalizedText: self.plan_identity = None; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: stmt.delete_call + normalizedText: self.file_by_ordinal.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: stmt.delete_call + normalizedText: self.file_index.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: stmt.delete_call + normalizedText: self.mutants_by_file.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::plan_reordered + mutator: stmt.delete_call + normalizedText: self.withdrawn.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: assign_value.default + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: assign_value.default + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: assign_value.default + normalizedText: Some(plan_identity) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: assign_value.default + normalizedText: plan.files.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: assign_value.default + normalizedText: plan.mutants.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: cond.always_false + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: cond.always_false + normalizedText: self.plan_identity != Some(plan_identity) || self.indexed_files > plan.files.len() || self.indexed_mutants + > plan.mutants.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: cond.always_false + normalizedText: self.withdrawn.is_subset(withdrawn) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: cond.always_true + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: cond.always_true + normalizedText: self.plan_identity != Some(plan_identity) || self.indexed_files > plan.files.len() || self.indexed_mutants + > plan.mutants.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: cond.always_true + normalizedText: self.withdrawn.is_subset(withdrawn) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: cond.negate + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: cond.negate + normalizedText: self.plan_identity != Some(plan_identity) || self.indexed_files > plan.files.len() || self.indexed_mutants + > plan.mutants.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: cond.negate + normalizedText: self.withdrawn.is_subset(withdrawn) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: expr.decrement + normalizedText: mutant.ordinal + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: expr.decrement + normalizedText: plan_identity + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: expr.decrement + normalizedText: plan_identity + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: expr.decrement + normalizedText: self.indexed_files + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: expr.decrement + normalizedText: self.indexed_mutants + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: expr.increment + normalizedText: mutant.ordinal + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: expr.increment + normalizedText: plan_identity + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: expr.increment + normalizedText: plan_identity + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: expr.increment + normalizedText: self.indexed_files + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: expr.increment + normalizedText: self.indexed_mutants + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: fn_value.one_element + normalizedText: '{ let mut dirty = HashSet::default(); let plan_identity = core::ptr::from_ref(plan) as usize; if self.plan_identity + != Some(plan_identity) || self.indexed_files > plan.files.len() || self.indexed_mutants > plan.mutants.len() { dirty.extend(self.file_index.keys().cloned()); + self.file_index.clear(); self.mutants_by_file.clear(); self.file_by_ordinal.clear(); self.indexed_files = 0; self.indexed_mutants + = 0; dirty.extend(plan.files.iter().map(|file| file.path.clone())); } self.plan_identity = Some(plan_identity); for + (position, file) in plan.files.iter().enumerate().skip(self.indexed_files) { let _previous = self.file_index.insert(file.path.clone(), + position); let _new = dirty.insert(file.path.clone()); } self.indexed_files = plan.files.len(); for (position, mutant) + in plan.mutants.iter().enumerate().skip(self.indexed_mutants) { if mutant.ordinal > 0 { self.mutants_by_file.entry(mutant.file.to_path_buf()).or_default().push(position); + let _previous = self.file_by_ordinal.insert(mutant.ordinal, mutant.file.to_path_buf()); let _new = dirty.insert(mutant.file.to_path_buf()); + } } self.indexed_mutants = plan.mutants.len(); if self.withdrawn.is_subset(withdrawn) { for ordinal in withdrawn.difference(&self.withdrawn) + { if let Some(path) = self.file_by_ordinal.get(ordinal) { let _new = dirty.insert(path.clone()); } } } else { dirty.extend(self.file_index.keys().cloned()); + } self.withdrawn.clone_from(withdrawn); dirty }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: logical.or_to_and + normalizedText: self.plan_identity != Some(plan_identity) || self.indexed_files > plan.files.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: logical.or_to_and + normalizedText: self.plan_identity != Some(plan_identity) || self.indexed_files > plan.files.len() || self.indexed_mutants + > plan.mutants.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: option.some_to_none + normalizedText: Some(plan_identity) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: option.some_to_none + normalizedText: Some(plan_identity) + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: relational.gt_to_ge + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: relational.gt_to_lt + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: relational.ne_to_eq + normalizedText: self.plan_identity != Some(plan_identity) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: stmt.delete_assign + normalizedText: self.indexed_files = 0; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: stmt.delete_assign + normalizedText: self.indexed_files = plan.files.len(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: stmt.delete_assign + normalizedText: self.indexed_mutants = 0; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: stmt.delete_assign + normalizedText: self.indexed_mutants = plan.mutants.len(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: stmt.delete_assign + normalizedText: self.plan_identity = Some(plan_identity); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: stmt.delete_call + normalizedText: dirty.extend(plan.files.iter().map(|file| file.path.clone())); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: stmt.delete_call + normalizedText: dirty.extend(self.file_index.keys().cloned()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: stmt.delete_call + normalizedText: self.file_by_ordinal.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: stmt.delete_call + normalizedText: self.file_index.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: stmt.delete_call + normalizedText: self.mutants_by_file.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: stmt.delete_call + normalizedText: self.mutants_by_file.entry(mutant.file.to_path_buf()).or_default().push(position); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::refresh_index + mutator: stmt.delete_call + normalizedText: self.withdrawn.clone_from(withdrawn); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::restore_removed_files + mutator: cond.always_false + normalizedText: self.plan_identity.is_none_or(|previous| previous == identity) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::restore_removed_files + mutator: cond.always_true + normalizedText: self.plan_identity.is_none_or(|previous| previous == identity) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::restore_removed_files + mutator: cond.negate + normalizedText: self.plan_identity.is_none_or(|previous| previous == identity) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build/splices.rs + item: Splices::restore_removed_files + mutator: fn_value.ok + normalizedText: '{ let identity = core::ptr::from_ref(plan) as usize; if self.plan_identity.is_none_or(|previous| previous + == identity) { return Ok(()); } let current: HashSet<&camino::Utf8Path> = plan.files.iter().map(|file| file.path.as_path()).collect(); + let removed: Vec = self .placed .keys() .filter(|path| !current.contains(path.as_path())) .cloned() .collect(); + for path in removed { if let Some(original) = self.sources.get(&path) { let destination = work.root.join(&path); let + _written = Workspace::overwrite(&work.root, &destination, &original.serialized)?; } let _placed = self.placed.remove(&path); + let _source = self.sources.remove(&path); } Ok(()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::begin_convergence + mutator: assign_value.default + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::begin_convergence + mutator: assign_value.default + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::begin_convergence + mutator: fn_value.unit + normalizedText: '{ self.rounds = 0; self.per_round.clear(); self.first_round = None; }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::begin_convergence + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::begin_convergence + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::begin_convergence + mutator: stmt.delete_assign + normalizedText: self.first_round = None; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::begin_convergence + mutator: stmt.delete_assign + normalizedText: self.rounds = 0; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::begin_convergence + mutator: stmt.delete_call + normalizedText: self.per_round.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::check + mutator: cond.always_false + normalizedText: outcome.succeeded + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::check + mutator: cond.always_true + normalizedText: outcome.succeeded + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::check + mutator: cond.negate + normalizedText: outcome.succeeded + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::check + mutator: fn_value.ok + normalizedText: "{ let outcome = run_cargo(work, plan, &[\"check\", \"--tests\", \"--keep-going\"], select, limits,\ + \ None, events)?; let Some(stdout) = outcome.stdout else { return Err(Self::build_timeout_error(limits.budget(None).unwrap_or_default()));\ + \ }; if outcome.succeeded { return Ok(stdout); } let mut diagnostics = diagnostics(&stdout); prioritize(&mut diagnostics,\ + \ &manifests_of(plan, &work.root, mutating)); if diagnostics.is_empty() { return Err(error!( \"the tree could not\ + \ be checked, and the compiler reported nothing, so the cause is \\\n something cargo hit before it\ + \ reached the code — a build script, a missing native \\\n dependency, a bad invocation:\\n\\n{}\"\ + , tail(&complaints(&outcome.stderr), 30) )); } Err(error!( \"this tree does not compile before any mutation is applied,\ + \ so there is nothing to \\\n measure against.\\n\\\n These are the compiler's own errors,\ + \ on the unmodified sources. Note that `cargo build` \\\n alone would not show them, because it does not\ + \ build test targets; `cargo check --tests` \\\n reproduces them. A feature selection that leaves a test\ + \ target's dependencies switched \\\n off is the usual cause.\\n\\n{}\", leading(&diagnostics, DIAGNOSTIC_LIMIT)\ + \ )) }" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::check + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::compile + mutator: collection.omit_element + normalizedText: vec!["build", "--keep-going"] + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::compile + mutator: literal.str_to_empty + normalizedText: '"--tests"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::compile + mutator: literal.str_to_xyzzy + normalizedText: '"--tests"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::compile + mutator: stmt.delete_call + normalizedText: verb.push("--tests"); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: assign_value.default + normalizedText: Some(elapsed) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: assign_value.default + normalizedText: self.rounds.saturating_add(1) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: assign_value.default + normalizedText: self.total_rounds.saturating_add(1) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: cond.always_false + normalizedText: outcome.succeeded + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: cond.always_false + normalizedText: self.first_round.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: cond.always_true + normalizedText: outcome.succeeded + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: cond.always_true + normalizedText: self.first_round.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: cond.negate + normalizedText: outcome.succeeded + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: cond.negate + normalizedText: self.first_round.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: option.some_to_none + normalizedText: Some(elapsed) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: stmt.delete_assign + normalizedText: self.first_round = Some(elapsed); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: stmt.delete_assign + normalizedText: self.rounds = self.rounds.saturating_add(1); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: stmt.delete_assign + normalizedText: self.total_rounds = self.total_rounds.saturating_add(1); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: stmt.delete_call + normalizedText: self.begin_convergence(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::converge_scoped + mutator: stmt.delete_call + normalizedText: 'self.history.push(Round { elapsed, withdrew: 0 });' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::finish + mutator: expr.decrement + normalizedText: self.abandoned.len() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::finish + mutator: expr.increment + normalizedText: self.abandoned.len() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::finish + mutator: fn_value.ok + normalizedText: '{ let select = self.scoped(select); let mut widened = false; let converged = match self.compile(work, + plan, select, limits, events)? { Convergence::Built(stdout) => Convergence::Built(stdout), Convergence::Stuck(narrow) + if select.is_some() => { widened = true; match self.compile(work, plan, None, limits, events)? { Convergence::Built(stdout) + => Convergence::Built(stdout), Convergence::Stuck(_whole) => Convergence::Stuck(narrow), } } Convergence::Stuck(reason) + => Convergence::Stuck(reason), }; let stdout = match converged { Convergence::Built(stdout) => stdout, Convergence::Stuck(reason) + => { let stuck = self.abandon(plan, None, &reason); self.settle(plan); return Ok(Build { history: self.history.clone(), + census: self.tally(plan), binaries: Vec::new(), withdrawn: self.withdrawn.len().saturating_sub(self.abandoned.len()), + rounds: self.total_rounds, widened, stuck: Some(stuck), ordering: self.ordering, }); } }; self.settle(plan); self.remember_compiled(&stdout, + &work.root); if let Some(compiled) = &self.compiled { withdraw_uncompiled(plan, compiled); } let captures = work.rustc_captures(); + let mut binaries = test_binaries_with_linkage(&stdout, &work.root, captures.as_deref()); retain_linked_to_population(&mut + binaries, plan); Ok(Build { history: self.history.clone(), census: self.tally(plan), binaries, withdrawn: self.withdrawn.len().saturating_sub(self.abandoned.len()), + rounds: self.total_rounds, widened, stuck: None, ordering: self.ordering, }) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::finish + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::finish + mutator: stmt.delete_call + normalizedText: retain_linked_to_population(&mut binaries, plan); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::finish + mutator: stmt.delete_call + normalizedText: self.remember_compiled(&stdout, &work.root); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::finish + mutator: stmt.delete_call + normalizedText: self.settle(plan); + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::finish + mutator: stmt.delete_call + normalizedText: withdraw_uncompiled(plan, compiled); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::guided + mutator: fn_value.default + normalizedText: '{ Self { hinted, ..Self::default() } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::guided + mutator: struct_field.omit + normalizedText: Self { hinted, ..Self::default() } + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::plan_reordered + mutator: fn_value.unit + normalizedText: '{ self.splices.plan_reordered(); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::plan_reordered + mutator: stmt.delete_call + normalizedText: self.splices.plan_reordered(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe + mutator: cond.always_false + normalizedText: candidates.len() < PROBE_FLOOR + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe + mutator: cond.always_true + normalizedText: candidates.len() < PROBE_FLOOR + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe + mutator: cond.negate + normalizedText: candidates.len() < PROBE_FLOOR + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe + mutator: fn_value.ok + normalizedText: '{ let (candidates, deferred) = self.probe_sets(plan, scope.mutants); if candidates.len() < PROBE_FLOOR + { return Ok(()); } events.build_progress(&format!( "probing {} that did not compile for an earlier run before building + the rest", crate::report::quantity(candidates.len(), "mutant") )); self.probed.extend(candidates.iter().copied()); + self.ordering.offered = self.ordering.offered.saturating_add(candidates.len()); self.ordering.rounds = self.ordering.rounds.saturating_add(1); + let guards = self.splices.instrument(work, plan, &deferred)?; let started = Instant::now(); let outcome = run_cargo(work, + plan, verb, scope.roots, limits, self.first_round, events)?; let elapsed = started.elapsed(); self.total_rounds = + self.total_rounds.saturating_add(1); let Some(stdout) = outcome.stdout else { self.history.push(Round { elapsed, withdrew: + 0 }); return Ok(()); }; if outcome.succeeded { self.history.push(Round { elapsed, withdrew: 0 }); return Ok(()); } + let mut blamed = blame(&stdout, &work.root, &guards); retain_blamed(&mut blamed, plan, scope.mutants); self.history.push(Round + { elapsed, withdrew: blamed.len(), }); self.ordering.confirmed = self.ordering.confirmed.saturating_add(blamed.len()); + for (ordinal, code) in blamed { let _ = self.withdrawn.insert(ordinal); let _ = self.census.entry(ordinal).or_insert(code); + } Ok(()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe + mutator: relational.lt_to_gt + normalizedText: candidates.len() < PROBE_FLOOR + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe + mutator: relational.lt_to_le + normalizedText: candidates.len() < PROBE_FLOOR + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: cond.always_false + normalizedText: '!mine(mutant)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: cond.always_false + normalizedText: mutant.ordinal == 0 || self.withdrawn.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: cond.always_false + normalizedText: self.hinted.contains(&mutant.id) && !self.probed.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: cond.always_true + normalizedText: '!mine(mutant)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: cond.always_true + normalizedText: mutant.ordinal == 0 || self.withdrawn.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: cond.always_true + normalizedText: self.hinted.contains(&mutant.id) && !self.probed.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: cond.negate + normalizedText: '!mine(mutant)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: cond.negate + normalizedText: mutant.ordinal == 0 || self.withdrawn.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: cond.negate + normalizedText: self.hinted.contains(&mutant.id) && !self.probed.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: expr.decrement + normalizedText: mutant.ordinal + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: expr.increment + normalizedText: mutant.ordinal + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: fn_value.tuple + normalizedText: '{ let mine = |mutant: &Mutant| select.is_none_or(|names| names.iter().any(|name| name.as_str() == &*mutant.package)); + let mut candidates: Vec = Vec::new(); let mut deferred = self.withdrawn.clone(); for mutant in &plan.mutants + { if mutant.ordinal == 0 || self.withdrawn.contains(&mutant.ordinal) { continue; } if !mine(mutant) { let _ = deferred.insert(mutant.ordinal); + continue; } if self.hinted.contains(&mutant.id) && !self.probed.contains(&mutant.ordinal) { candidates.push(mutant.ordinal); + } else { let _ = deferred.insert(mutant.ordinal); } } candidates.sort_unstable(); (candidates, deferred) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: iter.any_to_all + normalizedText: names.iter().any(|name| name.as_str() == &*mutant.package) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: iter.remove_sort + normalizedText: candidates.sort_unstable(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: logical.and_to_or + normalizedText: self.hinted.contains(&mutant.id) && !self.probed.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: logical.or_to_and + normalizedText: mutant.ordinal == 0 || self.withdrawn.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: relational.eq_to_ne + normalizedText: mutant.ordinal == 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: relational.eq_to_ne + normalizedText: name.as_str() == &*mutant.package + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::probe_sets + mutator: unary.remove_not + normalizedText: '!mine(mutant)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::remember_compiled + mutator: fn_value.unit + normalizedText: '{ if let Some(found) = compiled_sources(stdout, root) { self.compiled.get_or_insert_with(HashSet::default).extend(found); + } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::remember_compiled + mutator: stmt.delete_call + normalizedText: self.compiled.get_or_insert_with(HashSet::default).extend(found); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::scoped_withdrawn + mutator: fn_value.one_element + normalizedText: '{ let mut withdrawn = self.withdrawn.clone(); let Some(packages) = packages else { return withdrawn; + }; let packages: HashSet<&str> = packages.iter().map(String::as_str).collect(); withdrawn.extend( plan.mutants .iter() + .filter(|mutant| !packages.contains(&*mutant.package)) .map(|mutant| mutant.ordinal), ); withdrawn }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::scoped_withdrawn + mutator: stmt.delete_call + normalizedText: withdrawn.extend( plan.mutants .iter() .filter(|mutant| !packages.contains(&*mutant.package)) .map(|mutant| + mutant.ordinal), ); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::scoped_withdrawn + mutator: unary.remove_not + normalizedText: '!packages.contains(&*mutant.package)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::settle + mutator: cond.always_false + normalizedText: self.abandoned.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::settle + mutator: cond.always_false + normalizedText: self.withdrawn.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::settle + mutator: cond.always_true + normalizedText: self.abandoned.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::settle + mutator: cond.always_true + normalizedText: self.withdrawn.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::settle + mutator: cond.negate + normalizedText: self.abandoned.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::settle + mutator: cond.negate + normalizedText: self.withdrawn.contains(&mutant.ordinal) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::settle + mutator: fn_value.unit + normalizedText: '{ for mutant in &mut plan.mutants { if self.abandoned.contains(&mutant.ordinal) { mutant.outcome = + Outcome::NotBuilt; mutant.note = Some("the instrumented forms in this item could not compile together, so its mutants + were not run".to_owned()); } else if self.withdrawn.contains(&mutant.ordinal) { mutant.outcome = Outcome::CompileError; + } } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::stage + mutator: cond.always_false + normalizedText: workspace + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::stage + mutator: cond.always_false + normalizedText: workspace + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::stage + mutator: cond.always_true + normalizedText: workspace + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::stage + mutator: cond.always_true + normalizedText: workspace + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::stage + mutator: cond.negate + normalizedText: workspace + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::stage + mutator: cond.negate + normalizedText: workspace + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::stage + mutator: fn_value.ok + normalizedText: '{ let workspace = self.whole_workspace || self.workspace_stages; let roots = if workspace { None } + else { Some(packages) }; let verb: &[&str] = if workspace { &["check", "--keep-going"] } else { &["build", "--keep-going"] + }; match self.converge_scoped( work, plan, BuildScope { roots, mutants: Some(packages), }, verb, limits, events, )? + { Convergence::Built(stdout) => { self.remember_compiled(&stdout, &work.root); Ok(None) } Convergence::Stuck(reason) + => Ok(Some(self.abandon(plan, Some(packages), &reason))), } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::stage + mutator: logical.or_to_and + normalizedText: self.whole_workspace || self.workspace_stages + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::stage + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::stage + mutator: option.some_to_none + normalizedText: Some(packages) + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::stage + mutator: stmt.delete_call + normalizedText: self.remember_compiled(&stdout, &work.root); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::tally + mutator: expr.decrement + normalizedText: mutant.ordinal + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::tally + mutator: expr.increment + normalizedText: mutant.ordinal + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::tally + mutator: fn_value.empty_collection + normalizedText: '{ let mut mutators: HashMap = HashMap::default(); for mutant in &plan.mutants { let _ = + mutators.insert(mutant.ordinal, &mutant.mutator); } let mut counts: HashMap<(&str, &str), usize> = HashMap::default(); + for (ordinal, code) in &self.census { let mutator = mutators.get(ordinal).copied().unwrap_or(""); *counts.entry((code.as_str(), + mutator)).or_default() += 1; } let mut census: Vec = counts .into_iter() .map(|((code, mutator), mutants)| + Withdrawal { code: code.to_owned(), mutator: mutator.to_owned(), mutants, }) .collect(); census.sort_by(|left, right| + { right .mutants .cmp(&left.mutants) .then_with(|| left.code.cmp(&right.code)) .then_with(|| left.mutator.cmp(&right.mutator)) + }); census }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::tally + mutator: iter.remove_sort + normalizedText: census.sort_by(|left, right| { right .mutants .cmp(&left.mutants) .then_with(|| left.code.cmp(&right.code)) + .then_with(|| left.mutator.cmp(&right.mutator)) }); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::target_discovery + mutator: assign_value.default + normalizedText: Some(discovery) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::target_discovery + mutator: fn_value.unit + normalizedText: '{ self.target_discovery = Some(discovery); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::target_discovery + mutator: option.some_to_none + normalizedText: Some(discovery) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::target_discovery + mutator: stmt.delete_assign + normalizedText: self.target_discovery = Some(discovery); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::withdrawn + mutator: expr.decrement + normalizedText: self.withdrawn.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::withdrawn + mutator: expr.increment + normalizedText: self.withdrawn.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::withdrawn + mutator: fn_value.one + normalizedText: '{ self.withdrawn.len() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Converger::withdrawn + mutator: fn_value.zero + normalizedText: '{ self.withdrawn.len() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: Preflight::narrow + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: withdraw_uncompiled + mutator: cond.always_false + normalizedText: '!plan.files.iter().any(|file| compiled.contains(&file.path))' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: withdraw_uncompiled + mutator: cond.always_false + normalizedText: mutant.outcome == Outcome::Pending && !compiled.contains(&*mutant.file) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: withdraw_uncompiled + mutator: cond.always_true + normalizedText: '!plan.files.iter().any(|file| compiled.contains(&file.path))' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: withdraw_uncompiled + mutator: cond.always_true + normalizedText: mutant.outcome == Outcome::Pending && !compiled.contains(&*mutant.file) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: withdraw_uncompiled + mutator: cond.negate + normalizedText: '!plan.files.iter().any(|file| compiled.contains(&file.path))' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: withdraw_uncompiled + mutator: cond.negate + normalizedText: mutant.outcome == Outcome::Pending && !compiled.contains(&*mutant.file) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: withdraw_uncompiled + mutator: fn_value.unit + normalizedText: '{ if !plan.files.iter().any(|file| compiled.contains(&file.path)) { return; } for mutant in &mut plan.mutants + { if mutant.outcome == Outcome::Pending && !compiled.contains(&*mutant.file) { mutant.outcome = Outcome::NotBuilt; + } } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: withdraw_uncompiled + mutator: iter.any_to_all + normalizedText: plan.files.iter().any(|file| compiled.contains(&file.path)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: withdraw_uncompiled + mutator: logical.and_to_or + normalizedText: mutant.outcome == Outcome::Pending && !compiled.contains(&*mutant.file) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: withdraw_uncompiled + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: withdraw_uncompiled + mutator: unary.remove_not + normalizedText: '!compiled.contains(&*mutant.file)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/build.rs + item: withdraw_uncompiled + mutator: unary.remove_not + normalizedText: '!plan.files.iter().any(|file| compiled.contains(&file.path))' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: BuildLimits::budget + mutator: fn_value.none + normalizedText: '{ let scaled = self .multiplier .zip(first) .map(|(multiplier, first)| first.mul_f64(multiplier).max(MINIMUM_BUILD_BUDGET)); + match (self.timeout, scaled) { (Some(fixed), Some(scaled)) => Some(fixed.min(scaled)), (fixed, scaled) => fixed.or(scaled), + } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: CargoOptions::cfg_build + mutator: fn_value.default + normalizedText: '{ crate::cfg::Build::resolve(root, self.profile.as_deref(), &self.extra) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: CargoOptions::extend_build_args + mutator: fn_value.unit + normalizedText: '{ args.extend(self.features.iter().cloned()); if let Some(profile) = self.profile.as_ref() { args.push("--profile".to_owned()); + args.push(profile.clone()); } args.extend(adjust_lock_flags(&self.extra)); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: CargoOptions::extend_build_args + mutator: stmt.delete_call + normalizedText: args.extend(adjust_lock_flags(&self.extra)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: CargoOptions::extend_build_args + mutator: stmt.delete_call + normalizedText: args.extend(self.features.iter().cloned()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: CargoOptions::validate + mutator: fn_value.ok + normalizedText: '{ if let Some(argument) = self .extra .iter() .find(|argument| argument.as_str() == "--config" || argument.starts_with("--config=")) + { return Err(error!( "pass-through Cargo configuration `{argument}` is not supported; put the setting in a Cargo configuration + file gamma can inspect" ) .usage()); } Ok(()) }' + occurrence: 0 + testSet: 1820 + - site: + file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: adjust_lock_flags + mutator: fn_value.empty_collection + normalizedText: '{ let mut adjusted = Vec::with_capacity(args.len()); for arg in args { let replacement = if matches!(arg.as_str(), + "--locked" | "--frozen") { "--offline" } else { arg }; if replacement != "--offline" || !adjusted.iter().any(|kept| + kept == "--offline") { adjusted.push(replacement.to_owned()); } } adjusted }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/cargo_options.rs + item: adjust_lock_flags + mutator: fn_value.one_element + normalizedText: '{ let mut adjusted = Vec::with_capacity(args.len()); for arg in args { let replacement = if matches!(arg.as_str(), + "--locked" | "--frozen") { "--offline" } else { arg }; if replacement != "--offline" || !adjusted.iter().any(|kept| + kept == "--offline") { adjusted.push(replacement.to_owned()); } } adjusted }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/census.rs + item: Census::persist_clusters + mutator: assign_value.default + normalizedText: GENERALIZED_HINTS_VERSION + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/census.rs + item: Census::persist_clusters + mutator: assign_value.default + normalizedText: 'entries .into_iter() .filter_map(|(site, tests)| { let test_set = test_sets.iter().position(|known| + *known == tests)?; Some(ReachCluster { site, test_set: u32::try_from(test_set).ok()?, }) }) .collect()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/census.rs + item: Census::persist_clusters + mutator: assign_value.default + normalizedText: test_sets + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/census.rs + item: Census::persist_clusters + mutator: iter.remove_dedup + normalizedText: test_sets.dedup(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/census.rs + item: Census::persist_clusters + mutator: iter.remove_sort + normalizedText: entries.sort_by(|(left, _), (right, _)| { left.file .cmp(&right.file) .then_with(|| left.item.cmp(&right.item)) + .then_with(|| left.mutator.cmp(&right.mutator)) .then_with(|| left.normalized_text.cmp(&right.normalized_text)) .then_with(|| + left.occurrence.cmp(&right.occurrence)) }); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/census.rs + item: Census::persist_clusters + mutator: iter.remove_sort + normalizedText: test_sets.sort_by(|left, right| { left.iter() .map(|killer| (&killer.package, &killer.target, &killer.test)) + .cmp(right.iter().map(|killer| (&killer.package, &killer.target, &killer.test))) }); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/census.rs + item: Census::persist_clusters + mutator: stmt.delete_assign + normalizedText: 'hints.reach = entries .into_iter() .filter_map(|(site, tests)| { let test_set = test_sets.iter().position(|known| + *known == tests)?; Some(ReachCluster { site, test_set: u32::try_from(test_set).ok()?, }) }) .collect();' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/census.rs + item: Census::persist_clusters + mutator: stmt.delete_assign + normalizedText: hints.test_sets = test_sets; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/census.rs + item: Census::persist_clusters + mutator: stmt.delete_assign + normalizedText: hints.version = GENERALIZED_HINTS_VERSION; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 3 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 4 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 2 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.int_decrement + normalizedText: '20' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.int_decrement + normalizedText: '5' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.int_increment + normalizedText: '20' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.int_increment + normalizedText: '5' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.int_to_one + normalizedText: '20' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.int_to_one + normalizedText: '5' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.int_to_zero + normalizedText: '20' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: literal.int_to_zero + normalizedText: '5' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: ::default + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: available_parallelism + mutator: expr.decrement + normalizedText: thread::available_parallelism().map_or(1, NonZero::get) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: available_parallelism + mutator: expr.increment + normalizedText: thread::available_parallelism().map_or(1, NonZero::get) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: available_parallelism + mutator: fn_value.one + normalizedText: '{ thread::available_parallelism().map_or(1, NonZero::get) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: available_parallelism + mutator: fn_value.zero + normalizedText: '{ thread::available_parallelism().map_or(1, NonZero::get) }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: available_parallelism + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: available_parallelism + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: resolve_jobs + mutator: expr.decrement + normalizedText: wanted.min(watchable()) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: resolve_jobs + mutator: expr.increment + normalizedText: wanted.min(watchable()) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: resolve_jobs + mutator: fn_value.one + normalizedText: '{ let wanted = jobs.unwrap_or_else(|| default_jobs(available_parallelism())); wanted.min(watchable()) + }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: resolve_jobs + mutator: fn_value.zero + normalizedText: '{ let wanted = jobs.unwrap_or_else(|| default_jobs(available_parallelism())); wanted.min(watchable()) + }' + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/config.rs + item: resolve_jobs + mutator: iter.min_to_max + normalizedText: wanted.min(watchable()) + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: Reflinks::new + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: Reflinks::unsupported + mutator: fn_value.unit + normalizedText: '{ self.works.store(false, Ordering::Relaxed); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: Reflinks::unsupported + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: Reflinks::unsupported + mutator: stmt.delete_call + normalizedText: self.works.store(false, Ordering::Relaxed); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: Reflinks::worth_trying + mutator: fn_value.bool_false + normalizedText: '{ reflink_supported() && self.works.load(Ordering::Relaxed) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: Reflinks::worth_trying + mutator: fn_value.bool_true + normalizedText: '{ reflink_supported() && self.works.load(Ordering::Relaxed) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: Reflinks::worth_trying + mutator: logical.and_to_or + normalizedText: reflink_supported() && self.works.load(Ordering::Relaxed) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_entry + mutator: cond.always_false + normalizedText: metadata.is_dir() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_entry + mutator: cond.always_false + normalizedText: place(&metadata, source, destination, reflinks).is_err() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_entry + mutator: cond.always_true + normalizedText: metadata.is_dir() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_entry + mutator: cond.always_true + normalizedText: place(&metadata, source, destination, reflinks).is_err() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_entry + mutator: cond.negate + normalizedText: metadata.is_dir() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_entry + mutator: cond.negate + normalizedText: place(&metadata, source, destination, reflinks).is_err() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_entry + mutator: fn_value.ok + normalizedText: '{ let metadata = fs::symlink_metadata(source.as_std_path()).map_err(|cause| error!("could not read + `{source}`").caused_by(cause))?; if metadata.is_dir() { return fs::create_dir_all(destination.as_std_path()).map_err(|cause| + error!("could not create `{destination}`").caused_by(cause)); } if place(&metadata, source, destination, reflinks).is_err() + { if let Some(parent) = destination.parent() { fs::create_dir_all(parent.as_std_path()).map_err(|cause| error!("could + not create `{parent}`").caused_by(cause))?; } return place(&metadata, source, destination, reflinks); } Ok(()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_file + mutator: cond.always_false + normalizedText: reflinks.worth_trying() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_file + mutator: cond.always_true + normalizedText: reflinks.worth_trying() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_file + mutator: cond.negate + normalizedText: reflinks.worth_trying() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_file + mutator: fn_value.ok + normalizedText: '{ if reflinks.worth_trying() { match reflink_copy::reflink(source.as_std_path(), destination.as_std_path()) + { Ok(()) => { freshen(destination); return Ok(()); } Err(cause) if cause.kind() == ErrorKind::NotFound => { return + Err(error!("could not copy `{source}` to `{destination}`").caused_by(cause)); } Err(_unsupported) => { reflinks.unsupported(); + let _removed = fs::remove_file(destination.as_std_path()); } } } let _bytes = fs::copy(source.as_std_path(), destination.as_std_path()) + .map_err(|cause| error!("could not copy `{source}` to `{destination}`").caused_by(cause))?; Ok(()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_file + mutator: match_guard.always_false + normalizedText: cause.kind() == ErrorKind::NotFound + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_file + mutator: match_guard.always_true + normalizedText: cause.kind() == ErrorKind::NotFound + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_file + mutator: match_guard.negate + normalizedText: cause.kind() == ErrorKind::NotFound + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_file + mutator: stmt.delete_call + normalizedText: reflinks.unsupported(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tracked + mutator: fn_value.ok + normalizedText: '{ let Some(tracked) = tracked_files(from)? else { return Ok(()); }; for relative in tracked { if is_pruned_anywhere(from, + &relative, skip) { continue; } let source = from.join(&relative); let destination = to.join(&relative); if fs::symlink_metadata(destination.as_std_path()).is_ok() + { continue; } if fs::symlink_metadata(source.as_std_path()).is_err() { continue; } copy_entry(&source, &destination, + reflinks)?; } Ok(()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: cond.always_false + normalizedText: is_pruned(source, relative, &excluded) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: cond.always_false + normalizedText: relative.as_str().is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: cond.always_true + normalizedText: is_pruned(source, relative, &excluded) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: cond.always_true + normalizedText: relative.as_str().is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: cond.negate + normalizedText: is_pruned(source, relative, &excluded) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: cond.negate + normalizedText: relative.as_str().is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: fn_value.ok + normalizedText: '{ fs::create_dir_all(to.as_std_path()).map_err(|cause| error!("could not create the scratch tree at + `{to}`").caused_by(cause))?; let failure: Mutex> = Mutex::new(None); let mut builder = WalkBuilder::new(from.as_std_path()); + let _builder = builder .hidden(false) .parents(false) .require_git(true) .git_ignore(!options.copy_ignored) .git_exclude(!options.copy_ignored) + .git_global(false) .ignore(false) .follow_links(false); let root = from.to_owned(); let destination = to.to_owned(); + let excluded = skip.to_owned(); builder.build_parallel().run(|| { let root = root.clone(); let destination = destination.clone(); + let excluded = excluded.clone(); let failure = &failure; let reflinks = reflinks.clone(); Box::new(move |entry| { + let entry = match entry { Ok(entry) => entry, Err(cause) => { record(failure, error!("could not read the source tree").caused_by(cause)); + return WalkState::Quit; } }; let Some(source) = Utf8Path::from_path(entry.path()) else { record( failure, error!("`{}` + is not valid UTF-8 and cannot be copied", entry.path().display()), ); return WalkState::Quit; }; let Ok(relative) + = source.strip_prefix(&root) else { return WalkState::Continue; }; if relative.as_str().is_empty() { return WalkState::Continue; + } if is_pruned(source, relative, &excluded) { return WalkState::Skip; } match copy_entry(source, &destination.join(relative), + &reflinks) { Ok(()) => WalkState::Continue, Err(cause) => { record(failure, cause); WalkState::Quit } } }) }); match + failure.into_inner() { Ok(Some(cause)) => return Err(cause), Ok(None) => {} Err(poisoned) => { if let Some(cause) + = poisoned.into_inner() { return Err(cause); } } } copy_tracked(from, to, skip, reflinks) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 3 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 4 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: stmt.delete_call + normalizedText: builder.build_parallel().run(|| { let root = root.clone(); let destination = destination.clone(); let + excluded = excluded.clone(); let failure = &failure; let reflinks = reflinks.clone(); Box::new(move |entry| { let + entry = match entry { Ok(entry) => entry, Err(cause) => { record(failure, error!("could not read the source tree").caused_by(cause)); + return WalkState::Quit; } }; let Some(source) = Utf8Path::from_path(entry.path()) else { record( failure, error!("`{}` + is not valid UTF-8 and cannot be copied", entry.path().display()), ); return WalkState::Quit; }; let Ok(relative) + = source.strip_prefix(&root) else { return WalkState::Continue; }; if relative.as_str().is_empty() { return WalkState::Continue; + } if is_pruned(source, relative, &excluded) { return WalkState::Skip; } match copy_entry(source, &destination.join(relative), + &reflinks) { Ok(()) => WalkState::Continue, Err(cause) => { record(failure, cause); WalkState::Quit } } }) }); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: unary.remove_not + normalizedText: '!options.copy_ignored' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: copy_tree_with + mutator: unary.remove_not + normalizedText: '!options.copy_ignored' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: cond.always_false + normalizedText: VCS_DIRS.contains(&name) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: cond.always_false + normalizedText: source == excluded + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: cond.always_true + normalizedText: VCS_DIRS.contains(&name) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: cond.always_true + normalizedText: source == excluded + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: cond.negate + normalizedText: VCS_DIRS.contains(&name) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: cond.negate + normalizedText: source == excluded + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: fn_value.bool_false + normalizedText: '{ if source == excluded { return true; } let Some(name) = relative.file_name() else { return false; + }; if VCS_DIRS.contains(&name) { return true; } name == "target" && (relative.parent() == Some(Utf8Path::new("")) + || source.join("CACHEDIR.TAG").as_std_path().exists()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: fn_value.bool_true + normalizedText: '{ if source == excluded { return true; } let Some(name) = relative.file_name() else { return false; + }; if VCS_DIRS.contains(&name) { return true; } name == "target" && (relative.parent() == Some(Utf8Path::new("")) + || source.join("CACHEDIR.TAG").as_std_path().exists()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: literal.str_to_empty + normalizedText: '"target"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: literal.str_to_xyzzy + normalizedText: '"target"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: logical.and_to_or + normalizedText: name == "target" && (relative.parent() == Some(Utf8Path::new("")) || source.join("CACHEDIR.TAG").as_std_path().exists()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: logical.or_to_and + normalizedText: relative.parent() == Some(Utf8Path::new("")) || source.join("CACHEDIR.TAG").as_std_path().exists() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: option.some_to_none + normalizedText: Some(Utf8Path::new("")) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: relational.eq_to_ne + normalizedText: name == "target" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: relational.eq_to_ne + normalizedText: relative.parent() == Some(Utf8Path::new("")) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: is_pruned + mutator: relational.eq_to_ne + normalizedText: source == excluded + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: place + mutator: cond.always_false + normalizedText: metadata.is_symlink() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: place + mutator: cond.always_true + normalizedText: metadata.is_symlink() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: place + mutator: cond.negate + normalizedText: metadata.is_symlink() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: place + mutator: fn_value.ok + normalizedText: '{ if metadata.is_symlink() { copy_symlink(source, destination) } else { copy_file(source, destination, + reflinks) } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: cond.always_false + normalizedText: '!output.status.success()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: cond.always_true + normalizedText: '!output.status.success()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: cond.negate + normalizedText: '!output.status.success()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: fn_value.ok + normalizedText: '{ let output = Command::new("git") .arg("-C") .arg(root.as_std_path()) .args(["ls-files", "-z"]) .stdin(Stdio::null()) + .stderr(Stdio::null()) .output() .ok(); let Some(output) = output else { return Ok(None); }; if !output.status.success() + { return Ok(None); } let mut tracked = Vec::new(); for name in output.stdout.split(|byte| *byte == 0).filter(|name| + !name.is_empty()) { let name = str::from_utf8(name) .map_err(|cause| error!("git reported a tracked path that is not + valid UTF-8 in `{root}`").caused_by(cause))?; tracked.push(Utf8PathBuf::from(name)); } Ok(Some(tracked)) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: literal.str_to_empty + normalizedText: '"-C"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: literal.str_to_empty + normalizedText: '"-z"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: literal.str_to_empty + normalizedText: '"git"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: literal.str_to_empty + normalizedText: '"ls-files"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: literal.str_to_xyzzy + normalizedText: '"-C"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: literal.str_to_xyzzy + normalizedText: '"-z"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: literal.str_to_xyzzy + normalizedText: '"git"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: literal.str_to_xyzzy + normalizedText: '"ls-files"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: tracked_files + mutator: unary.remove_not + normalizedText: '!output.status.success()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: visible_vcs_metadata + mutator: assign_value.default + normalizedText: parent.to_path_buf() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: visible_vcs_metadata + mutator: cond.always_false + normalizedText: fs::symlink_metadata(marker.as_std_path()).is_ok() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: visible_vcs_metadata + mutator: cond.always_false + normalizedText: parent == directory + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: visible_vcs_metadata + mutator: cond.always_true + normalizedText: fs::symlink_metadata(marker.as_std_path()).is_ok() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: visible_vcs_metadata + mutator: cond.always_true + normalizedText: parent == directory + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: visible_vcs_metadata + mutator: cond.negate + normalizedText: fs::symlink_metadata(marker.as_std_path()).is_ok() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: visible_vcs_metadata + mutator: cond.negate + normalizedText: parent == directory + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: visible_vcs_metadata + mutator: iter.remove_dedup + normalizedText: found.dedup(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: visible_vcs_metadata + mutator: iter.remove_sort + normalizedText: found.sort(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: visible_vcs_metadata + mutator: relational.eq_to_ne + normalizedText: parent == directory + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/copy.rs + item: visible_vcs_metadata + mutator: stmt.delete_assign + normalizedText: directory = parent.to_path_buf(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::admits + mutator: cond.always_false + normalizedText: self.filters.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::admits + mutator: cond.always_true + normalizedText: self.filters.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::admits + mutator: cond.negate + normalizedText: self.filters.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::admits + mutator: fn_value.bool_false + normalizedText: '{ if self.filters.is_empty() { return true; } if self.exact { return self.filters.contains(&name); + } self.filters.iter().any(|filter| name.contains(filter)) }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::admits + mutator: fn_value.bool_true + normalizedText: '{ if self.filters.is_empty() { return true; } if self.exact { return self.filters.contains(&name); + } self.filters.iter().any(|filter| name.contains(filter)) }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::admits + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::flags + mutator: fn_value.default + normalizedText: '{ &self.flags }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::parse + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::parse + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::parse + mutator: fn_value.default + normalizedText: '{ let mut parsed = Self::default(); let mut index = 0; while let Some(arg) = args.get(index) { let + arg = arg.as_str(); if arg.starts_with(''-'') { parsed.flags.push(arg); if arg == "--exact" { parsed.exact = true; + } if VALUED.contains(&arg) && let Some(value) = args.get(index + 1) { parsed.flags.push(value.as_str()); index += + 1; } } else { parsed.filters.push(arg); } index += 1; } parsed }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/harness_filters.rs + item: HarnessFilters<'args>::parse + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::forget + mutator: fn_value.unit + normalizedText: '{ let _previous = self.entries.remove(id); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::hint + mutator: fn_value.none + normalizedText: '{ self.entries.get(id) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::load + mutator: fn_value.default + normalizedText: '{ let promoted = Hints::load(root); let mut entries = promoted.probes(); let mut generalized = promoted.generalized(); + let record = RunRecord::load(base); entries.extend(record.probes().clone()); Self::merge_generalized(&mut generalized, + record.generalized()); Self { entries, generalized } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::load + mutator: stmt.delete_call + normalizedText: Self::merge_generalized(&mut generalized, record.generalized()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::load + mutator: stmt.delete_call + normalizedText: entries.extend(record.probes().clone()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::merge_generalized + mutator: cond.always_false + normalizedText: '!newer.reach.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::merge_generalized + mutator: cond.always_false + normalizedText: newer.supported().is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::merge_generalized + mutator: cond.always_true + normalizedText: '!newer.reach.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::merge_generalized + mutator: cond.always_true + normalizedText: newer.supported().is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::merge_generalized + mutator: cond.negate + normalizedText: '!newer.reach.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::merge_generalized + mutator: cond.negate + normalizedText: newer.supported().is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::merge_generalized + mutator: fn_value.unit + normalizedText: '{ if newer.supported().is_none() { return; } for item in newer.items { target .items .retain(|current| + current.file != item.file || current.item != item.item); target.items.push(item); } for binary in newer.binaries { + target.binaries.retain(|current| current.file != binary.file); target.binaries.push(binary); } if !newer.reach.is_empty() + { target.test_sets = newer.test_sets; target.reach = newer.reach; } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::merge_generalized + mutator: unary.remove_not + normalizedText: '!newer.reach.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::reach_hints + mutator: fn_value.empty_collection + normalizedText: '{ self.generalized .reach .iter() .find(|cluster| &cluster.site == site) .and_then(|cluster| usize::try_from(cluster.test_set).ok()) + .and_then(|index| self.generalized.test_sets.get(index)) .cloned() .unwrap_or_default() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::record + mutator: fn_value.unit + normalizedText: '{ let _previous = self.entries.insert(id, killer); }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::replace_generalized + mutator: assign_value.default + normalizedText: generalized + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::replace_generalized + mutator: fn_value.unit + normalizedText: '{ self.generalized = generalized; }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::replace_generalized + mutator: stmt.delete_assign + normalizedText: self.generalized = generalized; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::store + mutator: fn_value.unit + normalizedText: '{ let current: HashSet<&MutantId> = population.iter().map(|mutant| &mutant.id).collect(); let probes: + HashMap = self .entries .iter() .filter(|(id, _killer)| current.contains(id)) .map(|(id, killer)| + (id.clone(), killer.clone())) .collect(); RunRecord::store_knowledge(base, &probes, Some(&self.generalized)); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::store + mutator: option.some_to_none + normalizedText: Some(&self.generalized) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/killers.rs + item: Killers::store + mutator: stmt.delete_call + normalizedText: RunRecord::store_knowledge(base, &probes, Some(&self.generalized)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: configure_loader + mutator: fn_value.unit + normalizedText: '{ if let Some(path) = launch.loader.as_ref() { let _ = command.env(LOADER_VAR, path); } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: joined + mutator: cond.always_false + normalizedText: libraries.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: joined + mutator: cond.always_true + normalizedText: libraries.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: joined + mutator: cond.negate + normalizedText: libraries.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: joined + mutator: fn_value.none + normalizedText: '{ if libraries.is_empty() { return None; } let paths = libraries.iter().map(|path| PathBuf::from(path.as_str())); + existing.map_or_else( || env::join_paths(paths.clone()).ok(), |current| { let all = paths.clone().chain(env::split_paths(¤t)); + env::join_paths(all).ok() }, ) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: loader_path + mutator: fn_value.none + normalizedText: '{ joined(libraries, env::var_os(LOADER_VAR)) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: stack_floor + mutator: expr.decrement + normalizedText: STACK_FLOOR + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: stack_floor + mutator: expr.increment + normalizedText: STACK_FLOOR + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: stack_floor + mutator: fn_value.empty_string + normalizedText: '{ let inherited = inherited.and_then(|value| value.trim().parse::().ok()); inherited.unwrap_or(0).max(STACK_FLOOR).to_string() + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: stack_floor + mutator: fn_value.xyzzy_string + normalizedText: '{ let inherited = inherited.and_then(|value| value.trim().parse::().ok()); inherited.unwrap_or(0).max(STACK_FLOOR).to_string() + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: stack_floor + mutator: iter.max_to_min + normalizedText: inherited.unwrap_or(0).max(STACK_FLOOR) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: stack_floor + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: fn_value.empty_collection + normalizedText: '{ let mut libraries = vec![target.join("debug").join("deps")]; let output = Command::new(env::var_os("RUSTC").unwrap_or_else(|| + "rustc".into())) .current_dir(root.as_std_path()) .args(["--print", "target-libdir", "--print", "sysroot"]) .output(); + if let Ok(output) = output && output.status.success() && let Ok(printed) = String::from_utf8(output.stdout) { let + mut lines = printed.lines(); if let Some(libdir) = lines.next() { libraries.push(Utf8PathBuf::from(libdir.trim())); + } if let Some(sysroot) = lines.next() { libraries.push(Utf8PathBuf::from(sysroot.trim()).join("lib")); } } libraries + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: fn_value.one_element + normalizedText: '{ let mut libraries = vec![target.join("debug").join("deps")]; let output = Command::new(env::var_os("RUSTC").unwrap_or_else(|| + "rustc".into())) .current_dir(root.as_std_path()) .args(["--print", "target-libdir", "--print", "sysroot"]) .output(); + if let Ok(output) = output && output.status.success() && let Ok(printed) = String::from_utf8(output.stdout) { let + mut lines = printed.lines(); if let Some(libdir) = lines.next() { libraries.push(Utf8PathBuf::from(libdir.trim())); + } if let Some(sysroot) = lines.next() { libraries.push(Utf8PathBuf::from(sysroot.trim()).join("lib")); } } libraries + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_empty + normalizedText: '"--print"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_empty + normalizedText: '"--print"' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_empty + normalizedText: '"RUSTC"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_empty + normalizedText: '"lib"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_empty + normalizedText: '"rustc"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_empty + normalizedText: '"sysroot"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_empty + normalizedText: '"target-libdir"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_xyzzy + normalizedText: '"--print"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_xyzzy + normalizedText: '"--print"' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_xyzzy + normalizedText: '"RUSTC"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_xyzzy + normalizedText: '"lib"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_xyzzy + normalizedText: '"rustc"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_xyzzy + normalizedText: '"sysroot"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: literal.str_to_xyzzy + normalizedText: '"target-libdir"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: stmt.delete_call + normalizedText: libraries.push(Utf8PathBuf::from(libdir.trim())); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/loader.rs + item: toolchain_libraries + mutator: stmt.delete_call + normalizedText: libraries.push(Utf8PathBuf::from(sysroot.trim()).join("lib")); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: FeatureSettings::apply + mutator: fn_value.unit + normalizedText: '{ if let Some(features) = self.features { let _features = entry.insert("features", features); } if + let Some(default_features) = self.default_features { let _default_features = entry.insert("default-features", default_features); + } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: FeatureSettings::apply + mutator: literal.str_to_empty + normalizedText: '"features"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: FeatureSettings::apply + mutator: literal.str_to_xyzzy + normalizedText: '"features"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: FeatureSettings::extract + mutator: fn_value.default + normalizedText: '{ let specification = item.and_then(Item::as_table_like); Self { features: specification .and_then(|table| + table.get("features")) .and_then(Item::as_value) .cloned(), default_features: specification .and_then(|table| table.get("default-features")) + .and_then(Item::as_value) .cloned(), } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: FeatureSettings::extract + mutator: literal.str_to_empty + normalizedText: '"default-features"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: FeatureSettings::extract + mutator: literal.str_to_empty + normalizedText: '"features"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: FeatureSettings::extract + mutator: literal.str_to_xyzzy + normalizedText: '"default-features"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: FeatureSettings::extract + mutator: literal.str_to_xyzzy + normalizedText: '"features"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: FeatureSettings::merge + mutator: fn_value.default + normalizedText: '{ Self { features: merge_feature_arrays(self.features, other.features), default_features: self.default_features.or(other.default_features), + } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: assign_value.default + normalizedText: within.to_owned() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: literal.str_to_empty + normalizedText: '"dependencies"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: literal.str_to_empty + normalizedText: '"patch"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: literal.str_to_empty + normalizedText: '"replace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: literal.str_to_empty + normalizedText: '"target"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: literal.str_to_xyzzy + normalizedText: '"dependencies"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: literal.str_to_xyzzy + normalizedText: '"patch"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: literal.str_to_xyzzy + normalizedText: '"replace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: literal.str_to_xyzzy + normalizedText: '"target"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: stmt.delete_assign + normalizedText: self.within = within.to_owned(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: stmt.delete_call + normalizedText: anchor_dependencies(dependencies, original, &self.within, &mut self.changed); + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: stmt.delete_call + normalizedText: self.anchor_table("replace", original); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_paths + mutator: stmt.delete_call + normalizedText: self.anchor_table(name, original); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_table + mutator: fn_value.unit + normalizedText: '{ if let Some(table) = self.document.get_mut(name).and_then(Item::as_table_like_mut) { anchor_dependencies(table, + original, &self.within, &mut self.changed); } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::anchor_table + mutator: stmt.delete_call + normalizedText: anchor_dependencies(table, original, &self.within, &mut self.changed); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime + mutator: fn_value.ok + normalizedText: '{ self.link_runtime_inheriting(runtime, &WorkspaceRuntimeFeatures::default()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: cond.always_false + normalizedText: conflicting_target + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: cond.always_false + normalizedText: table.contains_key(RUNTIME_CRATE) && !dependency_points_to(table.get(RUNTIME_CRATE), &runtime) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: cond.always_true + normalizedText: conflicting_target + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: cond.always_true + normalizedText: table.contains_key(RUNTIME_CRATE) && !dependency_points_to(table.get(RUNTIME_CRATE), &runtime) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: cond.negate + normalizedText: conflicting_target + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: cond.negate + normalizedText: table.contains_key(RUNTIME_CRATE) && !dependency_points_to(table.get(RUNTIME_CRATE), &runtime) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: iter.any_to_all + normalizedText: self .document .get("target") .and_then(Item::as_table_like) .into_iter() .flat_map(toml_edit::TableLike::iter) + .filter_map(|(_platform, target)| target.as_table_like()?.get("dependencies")?.as_table_like()) .any(|dependencies| + { dependencies.contains_key(RUNTIME_CRATE) && !dependency_points_to(dependencies.get(RUNTIME_CRATE), &runtime) }) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: literal.str_to_empty + normalizedText: '"cargo-gamma-rt"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: literal.str_to_empty + normalizedText: '"dependencies"' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: literal.str_to_empty + normalizedText: '"package"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: literal.str_to_empty + normalizedText: '"path"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: literal.str_to_empty + normalizedText: '"target"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: literal.str_to_empty + normalizedText: '"target"' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: literal.str_to_xyzzy + normalizedText: '"cargo-gamma-rt"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: literal.str_to_xyzzy + normalizedText: '"dependencies"' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: literal.str_to_xyzzy + normalizedText: '"package"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: literal.str_to_xyzzy + normalizedText: '"path"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: literal.str_to_xyzzy + normalizedText: '"target"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: literal.str_to_xyzzy + normalizedText: '"target"' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: logical.and_to_or + normalizedText: table.contains_key(RUNTIME_CRATE) && !dependency_points_to(table.get(RUNTIME_CRATE), &runtime) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: stmt.delete_assign + normalizedText: self.changed = true; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: stmt.delete_call + normalizedText: feature_settings.apply(&mut entry); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::link_runtime_inheriting + mutator: unary.remove_not + normalizedText: '!dependency_points_to(table.get(RUNTIME_CRATE), &runtime)' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::read + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + mutator: cond.always_false + normalizedText: top_level || targeted + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + mutator: cond.always_true + normalizedText: top_level || targeted + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + mutator: cond.negate + normalizedText: top_level || targeted + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + mutator: fn_value.ok + normalizedText: '{ let runtime = absolute(runtime); self.redirect_workspace_runtime(&runtime)?; let top_level = self + .document .get("dependencies") .and_then(Item::as_table_like) .is_some_and(|dependencies| dependencies.contains_key(RUNTIME_CRATE) + || dependencies.contains_key("cargo-gamma-rt")); let targeted = self .document .get("target") .and_then(Item::as_table_like) + .into_iter() .flat_map(toml_edit::TableLike::iter) .filter_map(|(_platform, target)| target.as_table_like()?.get("dependencies")?.as_table_like()) + .any(|dependencies| dependencies.contains_key(RUNTIME_CRATE) || dependencies.contains_key("cargo-gamma-rt")); if top_level + || targeted { self.link_runtime_inheriting(&runtime, workspace_features)?; } Ok(()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + mutator: iter.any_to_all + normalizedText: self .document .get("target") .and_then(Item::as_table_like) .into_iter() .flat_map(toml_edit::TableLike::iter) + .filter_map(|(_platform, target)| target.as_table_like()?.get("dependencies")?.as_table_like()) .any(|dependencies| + dependencies.contains_key(RUNTIME_CRATE) || dependencies.contains_key("cargo-gamma-rt")) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + mutator: literal.str_to_empty + normalizedText: '"cargo-gamma-rt"' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + mutator: literal.str_to_empty + normalizedText: '"dependencies"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + mutator: literal.str_to_empty + normalizedText: '"target"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + mutator: literal.str_to_xyzzy + normalizedText: '"cargo-gamma-rt"' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + mutator: literal.str_to_xyzzy + normalizedText: '"dependencies"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + mutator: literal.str_to_xyzzy + normalizedText: '"target"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + mutator: logical.or_to_and + normalizedText: dependencies.contains_key(RUNTIME_CRATE) || dependencies.contains_key("cargo-gamma-rt") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_runtime + mutator: logical.or_to_and + normalizedText: top_level || targeted + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: cond.always_false + normalizedText: aliased.is_some() && !dependency_points_to(aliased, runtime) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: cond.always_false + normalizedText: aliased.is_some() || dependencies.contains_key(RUNTIME_PACKAGE) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: cond.always_true + normalizedText: aliased.is_some() && !dependency_points_to(aliased, runtime) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: cond.always_true + normalizedText: aliased.is_some() || dependencies.contains_key(RUNTIME_PACKAGE) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: cond.negate + normalizedText: aliased.is_some() && !dependency_points_to(aliased, runtime) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: cond.negate + normalizedText: aliased.is_some() || dependencies.contains_key(RUNTIME_PACKAGE) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: fn_value.ok + normalizedText: '{ let Some(dependencies) = self .document .get_mut("workspace") .and_then(Item::as_table_like_mut) + .and_then(|workspace| workspace.get_mut("dependencies")) .and_then(Item::as_table_like_mut) else { return Ok(()); + }; let aliased = dependencies.get(RUNTIME_CRATE); if aliased.is_some() && !dependency_points_to(aliased, runtime) + { return Err(Self::runtime_name_reserved(&self.path)); } if aliased.is_some() || dependencies.contains_key(RUNTIME_PACKAGE) + { let aliased_features = FeatureSettings::extract(dependencies.get(RUNTIME_CRATE)); let canonical_features = FeatureSettings::extract(dependencies.get(RUNTIME_PACKAGE)); + let _aliased = dependencies.remove(RUNTIME_CRATE); let _canonical = dependencies.remove(RUNTIME_PACKAGE); let mut + aliased_entry = toml_edit::InlineTable::new(); let _package = aliased_entry.insert("package", Value::from(RUNTIME_PACKAGE)); + let _path = aliased_entry.insert("path", Value::from(portable_path(runtime))); aliased_features.apply(&mut aliased_entry); + let _runtime = dependencies.insert(RUNTIME_CRATE, Item::Value(Value::InlineTable(aliased_entry))); let mut canonical_entry + = toml_edit::InlineTable::new(); let _path = canonical_entry.insert("path", Value::from(portable_path(runtime))); + canonical_features.apply(&mut canonical_entry); let _runtime = dependencies.insert(RUNTIME_PACKAGE, Item::Value(Value::InlineTable(canonical_entry))); + self.changed = true; } Ok(()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: literal.str_to_empty + normalizedText: '"dependencies"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: literal.str_to_empty + normalizedText: '"package"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: literal.str_to_empty + normalizedText: '"path"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: literal.str_to_empty + normalizedText: '"path"' + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: literal.str_to_xyzzy + normalizedText: '"dependencies"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: literal.str_to_xyzzy + normalizedText: '"package"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: literal.str_to_xyzzy + normalizedText: '"path"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: literal.str_to_xyzzy + normalizedText: '"path"' + occurrence: 1 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: logical.and_to_or + normalizedText: aliased.is_some() && !dependency_points_to(aliased, runtime) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: logical.or_to_and + normalizedText: aliased.is_some() || dependencies.contains_key(RUNTIME_PACKAGE) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: stmt.delete_assign + normalizedText: self.changed = true; + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: stmt.delete_call + normalizedText: aliased_features.apply(&mut aliased_entry); + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: stmt.delete_call + normalizedText: canonical_features.apply(&mut canonical_entry); + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::redirect_workspace_runtime + mutator: unary.remove_not + normalizedText: '!dependency_points_to(aliased, runtime)' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::save + mutator: cond.always_false + normalizedText: '!self.changed' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::save + mutator: cond.always_true + normalizedText: '!self.changed' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::save + mutator: cond.negate + normalizedText: '!self.changed' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::save + mutator: fn_value.ok + normalizedText: '{ if !self.changed { return Ok(()); } fs::write(self.path.as_std_path(), self.document.to_string()) + .map_err(|cause| error!("could not update `{}`", self.path).caused_by(cause)) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: Manifest::save + mutator: unary.remove_not + normalizedText: '!self.changed' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::from_workspace + mutator: fn_value.ok + normalizedText: '{ let manifest = Manifest::read(root)?; let dependencies = manifest .document .get("workspace") .and_then(Item::as_table_like) + .and_then(|workspace| workspace.get("dependencies")) .and_then(Item::as_table_like); Ok(Self { aliased: dependencies.map_or_else(FeatureSettings::default, + |table| FeatureSettings::extract(table.get(RUNTIME_CRATE))), canonical: dependencies.map_or_else(FeatureSettings::default, + |table| { FeatureSettings::extract(table.get(RUNTIME_PACKAGE)) }), }) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::from_workspace + mutator: literal.str_to_empty + normalizedText: '"dependencies"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::from_workspace + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::from_workspace + mutator: literal.str_to_xyzzy + normalizedText: '"dependencies"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::from_workspace + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::resolve + mutator: cond.always_false + normalizedText: inherits_workspace_true(item) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::resolve + mutator: cond.always_true + normalizedText: inherits_workspace_true(item) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::resolve + mutator: cond.negate + normalizedText: inherits_workspace_true(item) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::resolve + mutator: fn_value.default + normalizedText: '{ let own = FeatureSettings::extract(item); if inherits_workspace_true(item) { own.merge(inherited.clone()) + } else { own } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::resolve_aliased + mutator: fn_value.default + normalizedText: '{ Self::resolve(item, &self.aliased) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: WorkspaceRuntimeFeatures::resolve_canonical + mutator: fn_value.default + normalizedText: '{ Self::resolve(item, &self.canonical) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor + mutator: cond.always_false + normalizedText: candidate.is_absolute() || !escapes(&within.join(candidate)) + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor + mutator: cond.always_true + normalizedText: candidate.is_absolute() || !escapes(&within.join(candidate)) + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor + mutator: cond.negate + normalizedText: candidate.is_absolute() || !escapes(&within.join(candidate)) + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor + mutator: fn_value.none + normalizedText: '{ let candidate = Utf8Path::new(path); if candidate.is_absolute() || !escapes(&within.join(candidate)) + { return None; } Some(normalize(&original.join(candidate))) }' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor + mutator: logical.or_to_and + normalizedText: candidate.is_absolute() || !escapes(&within.join(candidate)) + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor + mutator: unary.remove_not + normalizedText: '!escapes(&within.join(candidate))' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: cond.always_false + normalizedText: '!path.as_std_path().is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: cond.always_true + normalizedText: '!path.as_std_path().is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: cond.negate + normalizedText: '!path.as_std_path().is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: literal.str_to_empty + normalizedText: '".cargo"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: literal.str_to_empty + normalizedText: '"a scratch Cargo configuration"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: literal.str_to_empty + normalizedText: '"config"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: literal.str_to_empty + normalizedText: '"config.toml"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: literal.str_to_xyzzy + normalizedText: '".cargo"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: literal.str_to_xyzzy + normalizedText: '"a scratch Cargo configuration"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: literal.str_to_xyzzy + normalizedText: '"config"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: literal.str_to_xyzzy + normalizedText: '"config.toml"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_cargo_config + mutator: unary.remove_not + normalizedText: '!path.as_std_path().is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_dependencies + mutator: literal.str_to_empty + normalizedText: '"path"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: anchor_dependencies + mutator: literal.str_to_xyzzy + normalizedText: '"path"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: cond.always_false + normalizedText: '!path.as_std_path().is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: cond.always_false + normalizedText: '!path.as_std_path().is_file() && legacy.as_std_path().is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: cond.always_true + normalizedText: '!path.as_std_path().is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: cond.always_true + normalizedText: '!path.as_std_path().is_file() && legacy.as_std_path().is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: cond.negate + normalizedText: '!path.as_std_path().is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: cond.negate + normalizedText: '!path.as_std_path().is_file() && legacy.as_std_path().is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: literal.str_to_empty + normalizedText: '".cargo"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: literal.str_to_empty + normalizedText: '".cargo"' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: literal.str_to_empty + normalizedText: '"a scratch Cargo configuration"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: literal.str_to_empty + normalizedText: '"config"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: literal.str_to_empty + normalizedText: '"config.toml"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: literal.str_to_xyzzy + normalizedText: '".cargo"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: literal.str_to_xyzzy + normalizedText: '".cargo"' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: literal.str_to_xyzzy + normalizedText: '"a scratch Cargo configuration"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: literal.str_to_xyzzy + normalizedText: '"config"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: literal.str_to_xyzzy + normalizedText: '"config.toml"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: logical.and_to_or + normalizedText: '!path.as_std_path().is_file() && legacy.as_std_path().is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: unary.remove_not + normalizedText: '!path.as_std_path().is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: cap_lints + mutator: unary.remove_not + normalizedText: '!path.as_std_path().is_file()' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + mutator: fn_value.bool_false + normalizedText: '{ let Some(specification) = item.and_then(Item::as_table_like) else { return false; }; specification.get("workspace").and_then(Item::as_bool) + == Some(true) || specification.get("package").and_then(Item::as_str) == Some(RUNTIME_PACKAGE) || specification .get("path") + .and_then(Item::as_str) .is_some_and(|path| absolute(Utf8Path::new(path)) == runtime) }' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + mutator: fn_value.bool_true + normalizedText: '{ let Some(specification) = item.and_then(Item::as_table_like) else { return false; }; specification.get("workspace").and_then(Item::as_bool) + == Some(true) || specification.get("package").and_then(Item::as_str) == Some(RUNTIME_PACKAGE) || specification .get("path") + .and_then(Item::as_str) .is_some_and(|path| absolute(Utf8Path::new(path)) == runtime) }' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + mutator: literal.str_to_empty + normalizedText: '"package"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + mutator: literal.str_to_xyzzy + normalizedText: '"package"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + mutator: logical.or_to_and + normalizedText: specification.get("workspace").and_then(Item::as_bool) == Some(true) || specification.get("package").and_then(Item::as_str) + == Some(RUNTIME_PACKAGE) + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + mutator: logical.or_to_and + normalizedText: specification.get("workspace").and_then(Item::as_bool) == Some(true) || specification.get("package").and_then(Item::as_str) + == Some(RUNTIME_PACKAGE) || specification .get("path") .and_then(Item::as_str) .is_some_and(|path| absolute(Utf8Path::new(path)) + == runtime) + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + mutator: option.some_to_none + normalizedText: Some(RUNTIME_PACKAGE) + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + mutator: option.some_to_none + normalizedText: Some(true) + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + mutator: relational.eq_to_ne + normalizedText: specification.get("package").and_then(Item::as_str) == Some(RUNTIME_PACKAGE) + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: dependency_points_to + mutator: relational.eq_to_ne + normalizedText: specification.get("workspace").and_then(Item::as_bool) == Some(true) + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: escapes + mutator: assign.add_to_sub + normalizedText: depth += 1 + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: escapes + mutator: fn_value.bool_false + normalizedText: '{ let mut depth = 0_i32; for component in path.components() { match component.as_str() { "." => {} + ".." => { depth -= 1; if depth < 0 { return true; } } _named => depth += 1, } } false }' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: escapes + mutator: fn_value.bool_true + normalizedText: '{ let mut depth = 0_i32; for component in path.components() { match component.as_str() { "." => {} + ".." => { depth -= 1; if depth < 0 { return true; } } _named => depth += 1, } } false }' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: escapes + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: escapes + mutator: literal.int_decrement + normalizedText: 0_i32 + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: escapes + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: escapes + mutator: literal.int_increment + normalizedText: 0_i32 + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: escapes + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: inherits_workspace_true + mutator: fn_value.bool_false + normalizedText: '{ item.and_then(Item::as_table_like) .and_then(|table| table.get("workspace")) .and_then(Item::as_value) + .and_then(Value::as_bool) .unwrap_or(false) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: inherits_workspace_true + mutator: fn_value.bool_true + normalizedText: '{ item.and_then(Item::as_table_like) .and_then(|table| table.get("workspace")) .and_then(Item::as_value) + .and_then(Value::as_bool) .unwrap_or(false) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: inherits_workspace_true + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: inherits_workspace_true + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: inherits_workspace_true + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: merge_feature_arrays + mutator: fn_value.none + normalizedText: '{ match (left, right) { (Some(Value::Array(mut merged)), Some(Value::Array(additional))) => { for feature + in additional { let already_present = merged.iter().any(|existing| existing.as_str() == feature.as_str()); if !already_present + { merged.push_formatted(feature); } } Some(Value::Array(merged)) } (Some(only), None) | (None, Some(only)) => Some(only), + (Some(preferred), Some(_not_an_array)) => Some(preferred), (None, None) => None, } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: merge_feature_arrays + mutator: option.some_to_none + normalizedText: Some(only) + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: portable_path + mutator: fn_value.empty_string + normalizedText: '{ path.as_str().replace(''\\'', "/") }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: portable_path + mutator: fn_value.xyzzy_string + normalizedText: '{ path.as_str().replace(''\\'', "/") }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: portable_path + mutator: literal.str_to_empty + normalizedText: '"/"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/manifest.rs + item: portable_path + mutator: literal.str_to_xyzzy + normalizedText: '"/"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: admit_memory_control + mutator: fn_value.ok + normalizedText: '{ settle_memory_control(config, memory::support().map_err(|reason| reason.to_string())) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: calibrate_stall + mutator: cond.always_false + normalizedText: config.stall && config.baseline + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: calibrate_stall + mutator: cond.always_true + normalizedText: config.stall && config.baseline + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: calibrate_stall + mutator: cond.negate + normalizedText: config.stall && config.baseline + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: calibrate_stall + mutator: fn_value.default + normalizedText: '{ if config.stall && config.baseline { Stall::calibrated(baseline.quiet, config.stall_factor, config.stall_floor) + } else { Stall::NONE } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: calibrate_stall + mutator: logical.and_to_or + normalizedText: config.stall && config.baseline + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: census_targets + mutator: assign_value.default + normalizedText: maximum_savings.saturating_add(binary.baseline) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: census_targets + mutator: expr.decrement + normalizedText: mutant.ordinal + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: census_targets + mutator: expr.increment + normalizedText: mutant.ordinal + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: census_targets + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: census_targets + mutator: logical.and_to_or + normalizedText: mutant.ordinal > 0 && mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: census_targets + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: census_targets + mutator: relational.gt_to_ge + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: census_targets + mutator: relational.gt_to_lt + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: census_targets + mutator: stmt.delete_assign + normalizedText: maximum_savings = maximum_savings.saturating_add(binary.baseline); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: census_targets + mutator: unary.remove_not + normalizedText: '!eligibly_hinted(mutant)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: assign_value.default + normalizedText: live.saturating_add(scanned.mutants.iter().filter(|mutant| mutant.ordinal > 0).count()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: cond.always_false + normalizedText: live == 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: cond.always_true + normalizedText: live == 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: cond.negate + normalizedText: live == 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: expr.decrement + normalizedText: converger.withdrawn().saturating_sub(before) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: expr.decrement + normalizedText: scanned.mutants.iter().filter(|mutant| mutant.ordinal > 0).count() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: expr.increment + normalizedText: converger.withdrawn().saturating_sub(before) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: expr.increment + normalizedText: scanned.mutants.iter().filter(|mutant| mutant.ordinal > 0).count() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.int_increment + normalizedText: 0_u32 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.int_increment + normalizedText: 0_usize + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.str_to_empty + normalizedText: '", "' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.str_to_empty + normalizedText: '", no mutants"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.str_to_empty + normalizedText: '"Mutated"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.str_to_empty + normalizedText: '"Mutating"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.str_to_xyzzy + normalizedText: '", "' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.str_to_xyzzy + normalizedText: '", no mutants"' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.str_to_xyzzy + normalizedText: '"Mutated"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: literal.str_to_xyzzy + normalizedText: '"Mutating"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: option.some_to_none + normalizedText: Some(package) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: relational.eq_to_ne + normalizedText: live == 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: relational.gt_to_ge + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: relational.gt_to_lt + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: stmt.delete_assign + normalizedText: live = live.saturating_add(scanned.mutants.iter().filter(|mutant| mutant.ordinal > 0).count()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: stmt.delete_assign + normalizedText: staged.anything_live = true; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: stmt.delete_call + normalizedText: events.begin("Mutating", "Mutated", &name); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: stmt.delete_call + normalizedText: events.end(", no mutants"); + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: stmt.delete_call + normalizedText: events.end(&format!(", {}", crate::report::quantity(viable, "viable mutant"))); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: converge_stages + mutator: stmt.delete_call + normalizedText: plan.absorb(scanned); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: describe + mutator: fn_value.empty_string + normalizedText: '{ let duration = format!("{:.1?}", baseline.wall); let ran = baseline.tests.map_or_else( || format!("the + suite passed in {duration}"), |tests| format!("{} ran in {duration}", crate::report::quantity(tests, "test")), ); + match baseline.peak { Some(peak) => format!("{ran} with a peak of {}", crate::report::bytes(peak)), None => ran, } + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: describe + mutator: fn_value.xyzzy_string + normalizedText: '{ let duration = format!("{:.1?}", baseline.wall); let ran = baseline.tests.map_or_else( || format!("the + suite passed in {duration}"), |tests| format!("{} ran in {duration}", crate::report::quantity(tests, "test")), ); + match baseline.peak { Some(peak) => format!("{ran} with a peak of {}", crate::report::bytes(peak)), None => ran, } + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: cond.always_false + normalizedText: '!anything_live' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: cond.always_false + normalizedText: build.binaries.is_empty() && present > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: cond.always_false + normalizedText: config.nextest + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: cond.always_true + normalizedText: '!anything_live' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: cond.always_true + normalizedText: build.binaries.is_empty() && present > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: cond.always_true + normalizedText: config.nextest + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: cond.negate + normalizedText: '!anything_live' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: cond.negate + normalizedText: build.binaries.is_empty() && present > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: cond.negate + normalizedText: config.nextest + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: expr.decrement + normalizedText: build.binaries.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: expr.increment + normalizedText: build.binaries.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: iter.remove_sort + normalizedText: plan.sort(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: literal.str_to_empty + normalizedText: '"Baseline"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: literal.str_to_empty + normalizedText: '"Baselining"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: literal.str_to_empty + normalizedText: '"building the test binaries and running the suite"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: literal.str_to_xyzzy + normalizedText: '"Baseline"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: literal.str_to_xyzzy + normalizedText: '"Baselining"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: literal.str_to_xyzzy + normalizedText: '"building the test binaries and running the suite"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: logical.and_to_or + normalizedText: build.binaries.is_empty() && present > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: logical.and_to_or + normalizedText: config.test_packages.is_empty() && !config.test_workspace + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: option.some_to_none + normalizedText: Some(Built { work, session, oracle }) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: stmt.delete_call + normalizedText: calibrate(&mut build.binaries, config, &memory); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: stmt.delete_call + normalizedText: converger.plan_reordered(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: stmt.delete_call + normalizedText: events.begin("Baselining", "Baseline", "building the test binaries and running the suite"); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: stmt.delete_call + normalizedText: restrict(&mut build.binaries, &config.include_tests, &config.exclude_tests); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: stmt.delete_call + normalizedText: warn_about_an_empty_oracle(&plan, &build.binaries, &scope, config.test_packages.is_empty(), &dropped, + events); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: stmt.delete_call + normalizedText: warn_about_compile_fail_targets(&survey.compile_fail, &survey.selected, config, events); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: stmt.delete_call + normalizedText: work.calibrate_harness(config.jobs); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: stmt.delete_call + normalizedText: work.settle(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: unary.remove_not + normalizedText: '!anything_live' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: measure_with_locks + mutator: unary.remove_not + normalizedText: '!config.test_workspace' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: ordering_hints + mutator: cond.always_false + normalizedText: '!config.incremental.is_enabled()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: ordering_hints + mutator: cond.always_true + normalizedText: '!config.incremental.is_enabled()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: ordering_hints + mutator: cond.negate + normalizedText: '!config.incremental.is_enabled()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: ordering_hints + mutator: fn_value.one_element + normalizedText: '{ if !config.incremental.is_enabled() { return crate::HashSet::default(); } let base = gamma_base(&survey.root, + config.cache_dir.as_deref()); let record = crate::discover::RunRecord::load(&base); let checked_in = crate::discover::Hints::load(&survey.root); + record .ordering() .into_iter() .map(crate::model::MutantId::new) .chain(checked_in.ordering().into_iter().map(crate::model::MutantId::new)) + .collect() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: ordering_hints + mutator: unary.remove_not + normalizedText: '!config.incremental.is_enabled()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: cond.always_false + normalizedText: cleared.whole_workspace + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: cond.always_false + normalizedText: dropped.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: cond.always_false + normalizedText: wide_stages + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: cond.always_false + normalizedText: wide_stages && !cleared.whole_workspace + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: cond.always_true + normalizedText: cleared.whole_workspace + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: cond.always_true + normalizedText: dropped.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: cond.always_true + normalizedText: wide_stages + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: cond.always_true + normalizedText: wide_stages && !cleared.whole_workspace + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: cond.negate + normalizedText: cleared.whole_workspace + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: cond.negate + normalizedText: dropped.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: cond.negate + normalizedText: wide_stages + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: cond.negate + normalizedText: wide_stages && !cleared.whole_workspace + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: literal.str_to_empty + normalizedText: '"Validated"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: literal.str_to_empty + normalizedText: '"Validating"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: literal.str_to_xyzzy + normalizedText: '"Validated"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: literal.str_to_xyzzy + normalizedText: '"Validating"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: logical.and_to_or + normalizedText: config.test_packages.is_empty() && !config.test_workspace + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: logical.and_to_or + normalizedText: wide_stages && !cleared.whole_workspace + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: stmt.delete_call + normalizedText: converger.require_workspace_stages(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: stmt.delete_call + normalizedText: converger.target_discovery(cleared.discovery.clone()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: stmt.delete_call + normalizedText: events.begin("Validating", "Validated", "workspace"); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: stmt.delete_call + normalizedText: events.end(""); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: unary.remove_not + normalizedText: '!cleared.whole_workspace' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: preflight + mutator: unary.remove_not + normalizedText: '!config.test_workspace' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: assign_value.default + normalizedText: 'spent.map(|spent| SweepCost { elapsed: sweep_elapsed, launches: spent.launches, probes: spent.probes, + exact_probes: spent.exact_probes, exact_hits: spent.exact_hits, generalized_probes: spent.generalized_probes, generalized_hits: + spent.generalized_hits, launches_saved: spent.saved, reach_launches_saved: spent.reach_saved, })' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.always_false + normalizedText: census_requested + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.always_false + normalizedText: census_requested + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.always_false + normalizedText: config.incremental.is_enabled() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.always_false + normalizedText: config.incremental.is_enabled() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.always_false + normalizedText: config.incremental.is_enabled() + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.always_true + normalizedText: census_requested + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.always_true + normalizedText: census_requested + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.always_true + normalizedText: config.incremental.is_enabled() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.always_true + normalizedText: config.incremental.is_enabled() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.always_true + normalizedText: config.incremental.is_enabled() + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.negate + normalizedText: census_requested + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.negate + normalizedText: census_requested + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.negate + normalizedText: config.incremental.is_enabled() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.negate + normalizedText: config.incremental.is_enabled() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: cond.negate + normalizedText: config.incremental.is_enabled() + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: logical.and_to_or + normalizedText: '!config.whole_test_binaries && !census_targets.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: logical.and_to_or + normalizedText: '!config.whole_test_binaries && !census_targets.is_empty() && !maximum_census_savings.is_zero()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: option.some_to_none + normalizedText: Some(built) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: stmt.delete_assign + normalizedText: 'built.session.phases.sweep = spent.map(|spent| SweepCost { elapsed: sweep_elapsed, launches: spent.launches, + probes: spent.probes, exact_probes: spent.exact_probes, exact_hits: spent.exact_hits, generalized_probes: spent.generalized_probes, + generalized_hits: spent.generalized_hits, launches_saved: spent.saved, reach_launches_saved: spent.reach_saved, });' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: stmt.delete_call + normalizedText: census.persist_clusters(&plan.mutants, &built.session.binaries, &mut generalized); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: stmt.delete_call + normalizedText: events.measured(&plan, &built.session, &projection); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: stmt.delete_call + normalizedText: killers.replace_generalized(generalized); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: stmt.delete_call + normalizedText: killers.store(&base, &plan.mutants); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: unary.remove_not + normalizedText: '!config.whole_test_binaries' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: unary.remove_not + normalizedText: '!config.whole_test_binaries' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: run_with_locks + mutator: unary.remove_not + normalizedText: '!config.whole_test_binaries' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: settle_memory_control + mutator: cond.always_false + normalizedText: '!policy.measuring()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: settle_memory_control + mutator: cond.always_false + normalizedText: policy.enforcing() && !config.baseline && policy.limit.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: settle_memory_control + mutator: cond.always_true + normalizedText: '!policy.measuring()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: settle_memory_control + mutator: cond.always_true + normalizedText: policy.enforcing() && !config.baseline && policy.limit.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: settle_memory_control + mutator: cond.negate + normalizedText: '!policy.measuring()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: settle_memory_control + mutator: cond.negate + normalizedText: policy.enforcing() && !config.baseline && policy.limit.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: settle_memory_control + mutator: fn_value.ok + normalizedText: "{ let policy = config.memory; if !policy.measuring() { return Ok((policy, None)); } if let Err(reason)\ + \ = support { if policy.insisted() { return Err(error!( \"memory control was asked for, but it is not available here:\ + \ {reason}.\\n\\\n Run with `--memory off` to continue without it.\" )); } return Ok((policy.disabled(),\ + \ Some(reason))); } if policy.enforcing() && !config.baseline && policy.limit.is_none() { if policy.insisted() { return\ + \ Err(error!( \"`--memory enforce` derives each test binary's ceiling from what it used during the \\\n \ + \ baseline, and `--no-baseline` means there is no such measurement.\\n\\\n Pass `--memory-limit`\ + \ to state a ceiling outright, or drop `--no-baseline`.\" )); } return Ok(( policy.disabled(), Some(\"`--no-baseline`\ + \ leaves no measurement to derive a ceiling from\".to_owned()), )); } Ok((policy, None)) }" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: settle_memory_control + mutator: logical.and_to_or + normalizedText: policy.enforcing() && !config.baseline + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: settle_memory_control + mutator: logical.and_to_or + normalizedText: policy.enforcing() && !config.baseline && policy.limit.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: settle_memory_control + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: settle_memory_control + mutator: unary.remove_not + normalizedText: '!config.baseline' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: settle_memory_control + mutator: unary.remove_not + normalizedText: '!policy.measuring()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: assign.add_to_sub + normalizedText: completed += 1 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: cond.always_false + normalizedText: '!config.baseline' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: cond.always_false + normalizedText: total == 1 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: cond.always_true + normalizedText: '!config.baseline' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: cond.always_true + normalizedText: total == 1 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: cond.negate + normalizedText: '!config.baseline' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: cond.negate + normalizedText: total == 1 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: expr.decrement + normalizedText: completed + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: expr.decrement + normalizedText: completed + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: expr.decrement + normalizedText: total + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: expr.decrement + normalizedText: total + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: expr.increment + normalizedText: completed + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: expr.increment + normalizedText: completed + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: expr.increment + normalizedText: total + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: expr.increment + normalizedText: total + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: literal.int_increment + normalizedText: 0_usize + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: literal.str_to_empty + normalizedText: '"test binary"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: literal.str_to_xyzzy + normalizedText: '"test binary"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: relational.eq_to_ne + normalizedText: total == 1 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: stmt.delete_assign + normalizedText: completed += 1; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: stmt.delete_call + normalizedText: events.complete(&describe(&measured)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: stmt.delete_call + normalizedText: events.phase_progress(completed, total, unit); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: stmt.delete_call + normalizedText: events.phase_progress(completed, total, unit); + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: take_baseline + mutator: unary.remove_not + normalizedText: '!config.baseline' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.always_false + normalizedText: '!dropped.is_empty()' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.always_false + normalizedText: dropped.is_empty() && (!inferred || scope.whole_workspace) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.always_false + normalizedText: helpers.is_empty() + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.always_false + normalizedText: judged + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.always_false + normalizedText: mutated.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.always_true + normalizedText: '!dropped.is_empty()' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.always_true + normalizedText: dropped.is_empty() && (!inferred || scope.whole_workspace) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.always_true + normalizedText: helpers.is_empty() + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.always_true + normalizedText: judged + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.always_true + normalizedText: mutated.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.negate + normalizedText: '!dropped.is_empty()' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.negate + normalizedText: dropped.is_empty() && (!inferred || scope.whole_workspace) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.negate + normalizedText: helpers.is_empty() + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.negate + normalizedText: judged + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: cond.negate + normalizedText: mutated.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: fn_value.unit + normalizedText: '{ if dropped.is_empty() && (!inferred || scope.whole_workspace) { return; } let mutated: crate::HashSet<&str> + = plan .mutants .iter() .filter(|mutant| mutant.ordinal > 0 && mutant.outcome == Outcome::Pending) .map(|mutant| &*mutant.package) + .collect(); if mutated.is_empty() { return; } let judged = mutated.iter().any(|package| { binaries .iter() .any(|binary| + binary.tests != Some(0) && reaches(binary, package, plan, scope)) }); if judged { return; } if !dropped.is_empty() + { let named = dropped.join("`, `"); events.warn(&format!( "no test in this run''s scope reaches the code being mutated, + so every mutant will be reported as uncovered. The preflight could not compile `{named}`, so their tests + were withdrawn from the oracle. Fixing the build there restores them" )); return; } let mut helpers: + Vec<&str> = plan .reach .iter() .filter(|(package, reachable)| !scope.admits(package) && reachable.iter().any(|name| + mutated.contains(name.as_str()))) .map(|(package, _reachable)| package.as_str()) .collect(); if helpers.is_empty() + { return; } helpers.sort_unstable(); let shown = helpers.len().min(NAMED_HELPERS); let named = helpers[..shown].join("`, + `"); let rest = helpers.len() - shown; let others = if rest == 0 { String::new() } else { format!(" and {rest} more") + }; events.warn(&format!( "no test in this run''s scope reaches the code being mutated, so every mutant will be reported + as uncovered. By default each mutant is judged only by its own package, and `{named}`{others} also links this code. + Add `--test-package {}` to let its tests decide a verdict, or `--test-workspace` for every package''s", helpers[0] + )); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: iter.any_to_all + normalizedText: binaries .iter() .any(|binary| binary.tests != Some(0) && reaches(binary, package, plan, scope)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: iter.any_to_all + normalizedText: mutated.iter().any(|package| { binaries .iter() .any(|binary| binary.tests != Some(0) && reaches(binary, + package, plan, scope)) }) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: logical.and_to_or + normalizedText: '!scope.admits(package) && reachable.iter().any(|name| mutated.contains(name.as_str()))' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: logical.and_to_or + normalizedText: binary.tests != Some(0) && reaches(binary, package, plan, scope) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: logical.and_to_or + normalizedText: dropped.is_empty() && (!inferred || scope.whole_workspace) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: logical.and_to_or + normalizedText: mutant.ordinal > 0 && mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: logical.or_to_and + normalizedText: '!inferred || scope.whole_workspace' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: option.some_to_none + normalizedText: Some(0) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: relational.gt_to_ge + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: relational.gt_to_lt + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: relational.ne_to_eq + normalizedText: binary.tests != Some(0) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: unary.remove_not + normalizedText: '!dropped.is_empty()' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: unary.remove_not + normalizedText: '!inferred' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_an_empty_oracle + mutator: unary.remove_not + normalizedText: '!scope.admits(package)' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: warn_about_compile_fail_targets + mutator: fn_value.unit + normalizedText: '{ let oracle = oracle_packages(selected, config); let admitted: Vec<_> = targets .iter() .filter(|target| + { (config.test_workspace || oracle.contains(&target.package)) && admits_target(&target.target, &config.include_tests, + &config.exclude_tests) }) .cloned() .collect(); if let Some(warning) = compile_fail_advice(&admitted) { events.warn(&warning); + } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: workspace_stages + mutator: fn_value.bool_false + normalizedText: '{ selected.len() == reach.len() && selected.iter().all(|package| reach.contains_key(package.as_str())) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: workspace_stages + mutator: fn_value.bool_true + normalizedText: '{ selected.len() == reach.len() && selected.iter().all(|package| reach.contains_key(package.as_str())) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: workspace_stages + mutator: iter.all_to_any + normalizedText: selected.iter().all(|package| reach.contains_key(package.as_str())) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: workspace_stages + mutator: logical.and_to_or + normalizedText: selected.len() == reach.len() && selected.iter().all(|package| reach.contains_key(package.as_str())) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/measure.rs + item: workspace_stages + mutator: relational.eq_to_ne + normalizedText: selected.len() == reach.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: ::default + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: ::default + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1819 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: cond.always_false + normalizedText: '!calibrated' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: cond.always_false + normalizedText: '!self.enforcing()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: cond.always_true + normalizedText: '!calibrated' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: cond.always_true + normalizedText: '!self.enforcing()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: cond.negate + normalizedText: '!calibrated' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: cond.negate + normalizedText: '!self.enforcing()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: expr.decrement + normalizedText: peak.saturating_add(self.headroom) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: expr.decrement + normalizedText: scale(peak, self.multiplier).max(peak.saturating_add(self.headroom)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: expr.decrement + normalizedText: self.headroom + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: expr.increment + normalizedText: peak.saturating_add(self.headroom) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: expr.increment + normalizedText: scale(peak, self.multiplier).max(peak.saturating_add(self.headroom)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: expr.increment + normalizedText: self.headroom + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: fn_value.none + normalizedText: '{ if !self.enforcing() { return None; } if let Some(fixed) = self.limit { return Some(fixed); } if + !calibrated { return None; } let peak = peak?; Some(scale(peak, self.multiplier).max(peak.saturating_add(self.headroom))) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: iter.max_to_min + normalizedText: scale(peak, self.multiplier).max(peak.saturating_add(self.headroom)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: option.some_to_none + normalizedText: Some(scale(peak, self.multiplier).max(peak.saturating_add(self.headroom))) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: unary.remove_not + normalizedText: '!calibrated' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: MemoryPolicy::ceiling + mutator: unary.remove_not + normalizedText: '!self.enforcing()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: arith.mul_to_add + normalizedText: peak as f64 * multiplier.max(1.0) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: arith.mul_to_div + normalizedText: peak as f64 * multiplier.max(1.0) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: cond.always_false + normalizedText: '!scaled.is_finite() || scaled >= most' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: cond.always_true + normalizedText: '!scaled.is_finite() || scaled >= most' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: cond.negate + normalizedText: '!scaled.is_finite() || scaled >= most' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: expr.decrement + normalizedText: bytes + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: expr.increment + normalizedText: bytes + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: fn_value.one + normalizedText: '{ #[expect(clippy::cast_precision_loss, reason = "a memory ceiling is not sensitive to its last few + bytes")] let scaled = peak as f64 * multiplier.max(1.0); #[expect(clippy::cast_precision_loss, reason = "the comparison + only needs to be right near the boundary")] let most = u64::MAX as f64; if !scaled.is_finite() || scaled >= most { + return u64::MAX; } #[expect( clippy::cast_possible_truncation, clippy::cast_sign_loss, reason = "the value is finite, + non-negative and below `u64::MAX` by the test above" )] let bytes = scaled as u64; bytes }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: fn_value.zero + normalizedText: '{ #[expect(clippy::cast_precision_loss, reason = "a memory ceiling is not sensitive to its last few + bytes")] let scaled = peak as f64 * multiplier.max(1.0); #[expect(clippy::cast_precision_loss, reason = "the comparison + only needs to be right near the boundary")] let most = u64::MAX as f64; if !scaled.is_finite() || scaled >= most { + return u64::MAX; } #[expect( clippy::cast_possible_truncation, clippy::cast_sign_loss, reason = "the value is finite, + non-negative and below `u64::MAX` by the test above" )] let bytes = scaled as u64; bytes }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: iter.max_to_min + normalizedText: multiplier.max(1.0) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: logical.or_to_and + normalizedText: '!scaled.is_finite() || scaled >= most' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: relational.ge_to_gt + normalizedText: scaled >= most + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: relational.ge_to_le + normalizedText: scaled >= most + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/memory.rs + item: scale + mutator: unary.remove_not + normalizedText: '!scaled.is_finite()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: assign_value.default + normalizedText: Some(name.to_owned()) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: assign_value.default + normalizedText: Some(self.tests.unwrap_or(0).saturating_add(count)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: cond.always_false + normalizedText: self.watch == Watch::Libtest && self.tests.is_some() && verdict.trim() == "FAILED" + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: cond.always_true + normalizedText: self.watch == Watch::Libtest && self.tests.is_some() && verdict.trim() == "FAILED" + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: cond.negate + normalizedText: self.watch == Watch::Libtest && self.tests.is_some() && verdict.trim() == "FAILED" + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: expr.decrement + normalizedText: self.tests.unwrap_or(0).saturating_add(count) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: expr.increment + normalizedText: self.tests.unwrap_or(0).saturating_add(count) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: fn_value.unit + normalizedText: '{ self.note_activity(line); if let Some(rest) = line.strip_prefix("test ") && let Some((name, verdict)) + = rest.split_once(" ... ") { let name = name.trim(); match &mut self.test { Some(previous) => { previous.clear(); + previous.push_str(name); } None => self.test = Some(name.to_owned()), } if self.watch == Watch::Libtest && self.tests.is_some() + && verdict.trim() == "FAILED" { self.note(name); } return; } if self.watch == Watch::Nextest && let Some(name) = nextest::first_failure(line) + { self.note(name); } if let Some(count) = line .trim() .strip_prefix("running ") .and_then(|rest| rest.strip_suffix(" + tests").or_else(|| rest.strip_suffix(" test"))) .and_then(|count| count.trim().parse::().ok()) { self.tests + = Some(self.tests.unwrap_or(0).saturating_add(count)); } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: literal.str_to_empty + normalizedText: '" ... "' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: literal.str_to_empty + normalizedText: '" test"' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: literal.str_to_empty + normalizedText: '" tests"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: literal.str_to_empty + normalizedText: '"FAILED"' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: literal.str_to_empty + normalizedText: '"running "' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: literal.str_to_empty + normalizedText: '"test "' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: literal.str_to_xyzzy + normalizedText: '" ... "' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: literal.str_to_xyzzy + normalizedText: '" test"' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: literal.str_to_xyzzy + normalizedText: '" tests"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: literal.str_to_xyzzy + normalizedText: '"FAILED"' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: literal.str_to_xyzzy + normalizedText: '"running "' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: literal.str_to_xyzzy + normalizedText: '"test "' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: logical.and_to_or + normalizedText: self.watch == Watch::Libtest && self.tests.is_some() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: logical.and_to_or + normalizedText: self.watch == Watch::Libtest && self.tests.is_some() && verdict.trim() == "FAILED" + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: option.some_to_none + normalizedText: Some(name.to_owned()) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: option.some_to_none + normalizedText: Some(self.tests.unwrap_or(0).saturating_add(count)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: relational.eq_to_ne + normalizedText: self.watch == Watch::Libtest + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: relational.eq_to_ne + normalizedText: self.watch == Watch::Nextest + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: relational.eq_to_ne + normalizedText: verdict.trim() == "FAILED" + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: stmt.delete_assign + normalizedText: self.tests = Some(self.tests.unwrap_or(0).saturating_add(count)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: stmt.delete_call + normalizedText: self.note(name); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::heard + mutator: stmt.delete_call + normalizedText: self.note_activity(line); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::new + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::new + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::new + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::new + mutator: option.none_to_some + normalizedText: None + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note + mutator: assign_value.default + normalizedText: Some(name.to_owned()) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note + mutator: cond.always_false + normalizedText: self.failed.is_none() && !name.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note + mutator: cond.always_true + normalizedText: self.failed.is_none() && !name.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note + mutator: cond.negate + normalizedText: self.failed.is_none() && !name.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note + mutator: fn_value.unit + normalizedText: '{ if self.failed.is_none() && !name.is_empty() { self.failed = Some(name.to_owned()); } }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note + mutator: logical.and_to_or + normalizedText: self.failed.is_none() && !name.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note + mutator: option.some_to_none + normalizedText: Some(name.to_owned()) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note + mutator: stmt.delete_assign + normalizedText: self.failed = Some(name.to_owned()); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note + mutator: unary.remove_not + normalizedText: '!name.is_empty()' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note_activity + mutator: assign.or_to_and + normalizedText: self.environment_error |= runtime_startup_failure(line.as_bytes()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note_activity + mutator: assign_value.default + normalizedText: self.quiet.max(now.saturating_duration_since(self.heard)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note_activity + mutator: fn_value.unit + normalizedText: '{ let now = Instant::now(); self.quiet = self.quiet.max(now.saturating_duration_since(self.heard)); + self.heard = now; self.environment_error |= runtime_startup_failure(line.as_bytes()); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note_activity + mutator: iter.max_to_min + normalizedText: self.quiet.max(now.saturating_duration_since(self.heard)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note_activity + mutator: stmt.delete_assign + normalizedText: self.environment_error |= runtime_startup_failure(line.as_bytes()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note_activity + mutator: stmt.delete_assign + normalizedText: self.heard = now; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: Progress::note_activity + mutator: stmt.delete_assign + normalizedText: self.quiet = self.quiet.max(now.saturating_duration_since(self.heard)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: runtime_startup_failure + mutator: expr.decrement + normalizedText: marker.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: runtime_startup_failure + mutator: expr.increment + normalizedText: marker.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: runtime_startup_failure + mutator: fn_value.bool_false + normalizedText: '{ [gamma_rt::ENVIRONMENT_ERROR_MARKER, gamma_rt::PRE_INSTALL_ERROR_MARKER] .into_iter() .any(|marker| + text.windows(marker.len()).any(|window| window == marker)) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: runtime_startup_failure + mutator: fn_value.bool_true + normalizedText: '{ [gamma_rt::ENVIRONMENT_ERROR_MARKER, gamma_rt::PRE_INSTALL_ERROR_MARKER] .into_iter() .any(|marker| + text.windows(marker.len()).any(|window| window == marker)) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: runtime_startup_failure + mutator: iter.any_to_all + normalizedText: '[gamma_rt::ENVIRONMENT_ERROR_MARKER, gamma_rt::PRE_INSTALL_ERROR_MARKER] .into_iter() .any(|marker| + text.windows(marker.len()).any(|window| window == marker))' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: runtime_startup_failure + mutator: iter.any_to_all + normalizedText: text.windows(marker.len()).any(|window| window == marker) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/progress.rs + item: runtime_startup_failure + mutator: relational.eq_to_ne + normalizedText: window == marker + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs + item: wrapper_path + mutator: fn_value.none + normalizedText: '{ let path = Utf8PathBuf::from_path_buf(std::env::current_exe().ok()?).ok()?; let stem = path.file_stem()?; + (stem == "cargo-gamma").then_some(path) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs + item: wrapper_path + mutator: literal.str_to_empty + normalizedText: '"cargo-gamma"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs + item: wrapper_path + mutator: literal.str_to_xyzzy + normalizedText: '"cargo-gamma"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/rustc_wrapper.rs + item: wrapper_path + mutator: relational.eq_to_ne + normalizedText: stem == "cargo-gamma" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::calibrated + mutator: fn_value.default + normalizedText: '{ let budget = quiet.mul_f64(factor).max(floor); Self { budget: Some(budget) } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::calibrated + mutator: iter.max_to_min + normalizedText: quiet.mul_f64(factor).max(floor) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::calibrated + mutator: option.some_to_none + normalizedText: Some(budget) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::exceeded + mutator: fn_value.bool_false + normalizedText: '{ self.exceeded_at(progress, Instant::now()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::exceeded + mutator: fn_value.bool_true + normalizedText: '{ self.exceeded_at(progress, Instant::now()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::exceeded_at + mutator: fn_value.bool_false + normalizedText: '{ let Some(budget) = self.budget else { return false; }; #[expect(clippy::unwrap_used, reason = "the + reader only panics if the whole process is unwinding")] let progress = progress.lock().unwrap(); now.saturating_duration_since(progress.heard) + > budget }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::exceeded_at + mutator: fn_value.bool_true + normalizedText: '{ let Some(budget) = self.budget else { return false; }; #[expect(clippy::unwrap_used, reason = "the + reader only panics if the whole process is unwinding")] let progress = progress.lock().unwrap(); now.saturating_duration_since(progress.heard) + > budget }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::exceeded_at + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::exceeded_at + mutator: relational.gt_to_ge + normalizedText: now.saturating_duration_since(progress.heard) > budget + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::exceeded_at + mutator: relational.gt_to_lt + normalizedText: now.saturating_duration_since(progress.heard) > budget + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::slack + mutator: fn_value.default + normalizedText: '{ self.slack_at(progress, Instant::now()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/stall.rs + item: Stall::slack_at + mutator: fn_value.default + normalizedText: '{ let Some(budget) = self.budget else { return Duration::MAX; }; #[expect(clippy::unwrap_used, reason + = "the reader only panics if the whole process is unwinding")] let heard = progress.lock().unwrap().heard; budget.saturating_sub(now.saturating_duration_since(heard)) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: BinaryIdentity::names + mutator: fn_value.bool_false + normalizedText: '{ self.package == binary.package && self.target == binary.target }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: BinaryIdentity::names + mutator: fn_value.bool_true + normalizedText: '{ self.package == binary.package && self.target == binary.target }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: BinaryIdentity::names + mutator: logical.and_to_or + normalizedText: self.package == binary.package && self.target == binary.target + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: BinaryIdentity::names + mutator: relational.eq_to_ne + normalizedText: self.package == binary.package + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: BinaryIdentity::names + mutator: relational.eq_to_ne + normalizedText: self.target == binary.target + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: Candidate::estimated_cost + mutator: fn_value.default + normalizedText: '{ let identity = match self { Self::Exact(killer) => BinaryIdentity::from_killer(killer), Self::ItemBinary(identity) + | Self::ReachFileBinary(identity) | Self::FileBinary(identity) => identity.clone(), }; reachable .iter() .find(|binary| + identity.names(binary)) .map_or(Duration::ZERO, |binary| binary.baseline) }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + mutator: fn_value.empty_collection + normalizedText: '{ let state = self.locked(); let mut exact = state.items.get(item_path).map_or_else(Vec::new, |item| + item.exact.iter().collect()); let mut reached = state .items .get(item_path) .map_or_else(Vec::new, |item| item.reached.iter().collect()); + let mut reached_file: Vec<_> = state.reached_file.iter().collect(); let mut binaries: Vec<_> = state.binaries.iter().collect(); + exact.sort_by_key(|candidate| candidate.score()); reached.sort_by_key(|candidate| candidate.score()); reached_file.sort_by_key(|candidate| + candidate.score()); binaries.sort_by_key(|candidate| candidate.score()); reached_file.retain(|candidate| !reached.iter().any(|item| + item.identity == candidate.identity)); binaries.retain(|candidate| !reached.iter().any(|item| item.identity == candidate.identity)); + exact .into_iter() .map(|candidate| Candidate::Exact(candidate.identity.clone())) .chain( reached .into_iter() .map(|candidate| + Candidate::ItemBinary(candidate.identity.clone())), ) .chain( reached_file .into_iter() .map(|candidate| Candidate::ReachFileBinary(candidate.identity.clone())), + ) .chain( binaries .into_iter() .map(|candidate| Candidate::FileBinary(candidate.identity.clone())), ) .collect() + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + mutator: iter.any_to_all + normalizedText: reached.iter().any(|item| item.identity == candidate.identity) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + mutator: iter.any_to_all + normalizedText: reached.iter().any(|item| item.identity == candidate.identity) + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + mutator: iter.remove_sort + normalizedText: binaries.sort_by_key(|candidate| candidate.score()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + mutator: iter.remove_sort + normalizedText: exact.sort_by_key(|candidate| candidate.score()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + mutator: iter.remove_sort + normalizedText: reached.sort_by_key(|candidate| candidate.score()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + mutator: iter.remove_sort + normalizedText: reached_file.sort_by_key(|candidate| candidate.score()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + mutator: relational.eq_to_ne + normalizedText: item.identity == candidate.identity + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + mutator: relational.eq_to_ne + normalizedText: item.identity == candidate.identity + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + mutator: stmt.delete_call + normalizedText: binaries.retain(|candidate| !reached.iter().any(|item| item.identity == candidate.identity)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + mutator: stmt.delete_call + normalizedText: reached_file.retain(|candidate| !reached.iter().any(|item| item.identity == candidate.identity)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + mutator: unary.remove_not + normalizedText: '!reached.iter().any(|item| item.identity == candidate.identity)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::candidates + mutator: unary.remove_not + normalizedText: '!reached.iter().any(|item| item.identity == candidate.identity)' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::complete + mutator: assign_value.default + normalizedText: Learning::Exhausted + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::complete + mutator: fn_value.unit + normalizedText: '{ let mut state = self.locked(); if let Some(item) = state.items.get_mut(item_path) && matches!(item.scout, + Learning::InProgress(_)) { item.scout = Learning::Exhausted; } drop(state); self.notify.notify_all(); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::complete + mutator: stmt.delete_assign + normalizedText: item.scout = Learning::Exhausted; + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::complete + mutator: stmt.delete_call + normalizedText: drop(state); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::complete + mutator: stmt.delete_call + normalizedText: self.notify.notify_all(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::from_hints + mutator: assign_value.default + normalizedText: item_order.max(binary_order).saturating_add(1) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::from_hints + mutator: iter.max_to_min + normalizedText: item_order.max(binary_order) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::from_hints + mutator: iter.max_to_min + normalizedText: state .items .values() .flat_map(|item| item.exact.iter()) .map(|candidate| candidate.order) .max() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::from_hints + mutator: iter.max_to_min + normalizedText: state.binaries.iter().map(|candidate| candidate.order).max() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::from_hints + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::from_hints + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::from_hints + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::from_hints + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::from_hints + mutator: stmt.delete_assign + normalizedText: state.next_order = item_order.max(binary_order).saturating_add(1); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::observe + mutator: assign_value.default + normalizedText: Learning::Exhausted + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::observe + mutator: fn_value.unit + normalizedText: '{ let mut state = self.locked(); match candidate { Candidate::Exact(identity) => { if let Some(found) + = state .items .entry(item_path.to_owned()) .or_default() .exact .iter_mut() .find(|candidate| candidate.identity + == *identity) { found.observe(hit, elapsed); } } Candidate::ItemBinary(identity) => { if let Some(found) = state .items + .entry(item_path.to_owned()) .or_default() .reached .iter_mut() .find(|candidate| candidate.identity == *identity) + { found.observe(hit, elapsed); } } Candidate::ReachFileBinary(identity) => { if let Some(found) = state.reached_file.iter_mut().find(|candidate| + candidate.identity == *identity) { found.observe(hit, elapsed); } } Candidate::FileBinary(identity) => { if let Some(found) + = state.binaries.iter_mut().find(|candidate| candidate.identity == *identity) { found.observe(hit, elapsed); } } } + if let Some(item) = state.items.get_mut(item_path) && matches!(&item.scout, Learning::InProgress(current) if current.as_ref() + == Some(candidate)) { item.scout = Learning::Exhausted; } drop(state); self.notify.notify_all(); }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::observe + mutator: relational.eq_to_ne + normalizedText: candidate.identity == *identity + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::observe + mutator: relational.eq_to_ne + normalizedText: candidate.identity == *identity + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::observe + mutator: relational.eq_to_ne + normalizedText: candidate.identity == *identity + occurrence: 3 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::observe + mutator: stmt.delete_assign + normalizedText: item.scout = Learning::Exhausted; + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::observe + mutator: stmt.delete_call + normalizedText: drop(state); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::observe + mutator: stmt.delete_call + normalizedText: found.observe(hit, elapsed); + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::observe + mutator: stmt.delete_call + normalizedText: found.observe(hit, elapsed); + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::observe + mutator: stmt.delete_call + normalizedText: found.observe(hit, elapsed); + occurrence: 3 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::observe + mutator: stmt.delete_call + normalizedText: self.notify.notify_all(); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::persist + mutator: cond.always_false + normalizedText: '!learning.exact.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::persist + mutator: cond.always_false + normalizedText: '!state.binaries.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::persist + mutator: cond.always_true + normalizedText: '!learning.exact.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::persist + mutator: cond.always_true + normalizedText: '!state.binaries.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::persist + mutator: cond.negate + normalizedText: '!learning.exact.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::persist + mutator: cond.negate + normalizedText: '!state.binaries.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::persist + mutator: fn_value.unit + normalizedText: '{ let state = self.locked(); for (item, learning) in &state.items { if !learning.exact.is_empty() { + output.items.push(ItemHints { file: file.to_path_buf(), item: item.clone(), candidates: learning.exact.iter().map(|candidate| + candidate.hint(Clone::clone)).collect(), }); } } if !state.binaries.is_empty() { output.binaries.push(FileBinaryHints + { file: file.to_path_buf(), candidates: state .binaries .iter() .map(|candidate| candidate.hint(BinaryIdentity::hint)) + .collect(), }); } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::persist + mutator: stmt.delete_call + normalizedText: 'output.binaries.push(FileBinaryHints { file: file.to_path_buf(), candidates: state .binaries .iter() + .map(|candidate| candidate.hint(BinaryIdentity::hint)) .collect(), });' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::persist + mutator: stmt.delete_call + normalizedText: 'output.items.push(ItemHints { file: file.to_path_buf(), item: item.clone(), candidates: learning.exact.iter().map(|candidate| + candidate.hint(Clone::clone)).collect(), });' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::persist + mutator: unary.remove_not + normalizedText: '!learning.exact.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::persist + mutator: unary.remove_not + normalizedText: '!state.binaries.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: assign_value.default + normalizedText: Learning::Exhausted + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: assign_value.default + normalizedText: state.next_order.saturating_add(1) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: cond.always_false + normalizedText: '!item.exact.iter().any(|candidate| candidate.identity == *killer)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: cond.always_false + normalizedText: '!state.binaries.iter().any(|candidate| candidate.identity == binary)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: cond.always_true + normalizedText: '!item.exact.iter().any(|candidate| candidate.identity == *killer)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: cond.always_true + normalizedText: '!state.binaries.iter().any(|candidate| candidate.identity == binary)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: cond.negate + normalizedText: '!item.exact.iter().any(|candidate| candidate.identity == *killer)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: cond.negate + normalizedText: '!state.binaries.iter().any(|candidate| candidate.identity == binary)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: fn_value.unit + normalizedText: '{ let Judgement::Reached(_outcome, Some(killer), _note) = judged else { self.notify.notify_all(); return; + }; let mut state = self.locked(); let order = state.next_order; state.next_order = state.next_order.saturating_add(1); + let item = state.items.entry(item_path.to_owned()).or_default(); if !item.exact.iter().any(|candidate| candidate.identity + == *killer) { item.exact.push(RankedCandidate { identity: killer.clone(), hits: 1, misses: 0, measured: Duration::ZERO, + samples: 0, order, }); } item.scout = Learning::Exhausted; let binary = BinaryIdentity::from_killer(killer); if !state.binaries.iter().any(|candidate| + candidate.identity == binary) { state.binaries.push(RankedCandidate { identity: binary, hits: 1, misses: 0, measured: + Duration::ZERO, samples: 0, order, }); } drop(state); self.notify.notify_all(); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: iter.any_to_all + normalizedText: item.exact.iter().any(|candidate| candidate.identity == *killer) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: iter.any_to_all + normalizedText: state.binaries.iter().any(|candidate| candidate.identity == binary) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: relational.eq_to_ne + normalizedText: candidate.identity == *killer + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: relational.eq_to_ne + normalizedText: candidate.identity == binary + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: stmt.delete_assign + normalizedText: item.scout = Learning::Exhausted; + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: stmt.delete_assign + normalizedText: state.next_order = state.next_order.saturating_add(1); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: stmt.delete_call + normalizedText: drop(state); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: stmt.delete_call + normalizedText: 'item.exact.push(RankedCandidate { identity: killer.clone(), hits: 1, misses: 0, measured: Duration::ZERO, + samples: 0, order, });' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: stmt.delete_call + normalizedText: self.notify.notify_all(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: stmt.delete_call + normalizedText: self.notify.notify_all(); + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: stmt.delete_call + normalizedText: 'state.binaries.push(RankedCandidate { identity: binary, hits: 1, misses: 0, measured: Duration::ZERO, + samples: 0, order, });' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: unary.remove_not + normalizedText: '!item.exact.iter().any(|candidate| candidate.identity == *killer)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::publish + mutator: unary.remove_not + normalizedText: '!state.binaries.iter().any(|candidate| candidate.identity == binary)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: assign_value.default + normalizedText: state.next_order.saturating_add(1) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: cond.always_false + normalizedText: '!item.reached.iter().any(|known| known.identity == identity)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: cond.always_false + normalizedText: '!state.reached_file.iter().any(|known| known.identity == identity)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: cond.always_true + normalizedText: '!item.reached.iter().any(|known| known.identity == identity)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: cond.always_true + normalizedText: '!state.reached_file.iter().any(|known| known.identity == identity)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: cond.negate + normalizedText: '!item.reached.iter().any(|known| known.identity == identity)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: cond.negate + normalizedText: '!state.reached_file.iter().any(|known| known.identity == identity)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: fn_value.unit + normalizedText: '{ let identity = BinaryIdentity::from_binary(binary); let mut state = self.locked(); let order = state.next_order; + state.next_order = state.next_order.saturating_add(1); let candidate = || RankedCandidate { identity: identity.clone(), + hits: 1, misses: 0, measured: elapsed, samples: 1, order, }; let item = state.items.entry(item_path.to_owned()).or_default(); + if !item.reached.iter().any(|known| known.identity == identity) { item.reached.push(candidate()); } if !state.reached_file.iter().any(|known| + known.identity == identity) { state.reached_file.push(candidate()); } drop(state); self.notify.notify_all(); }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: iter.any_to_all + normalizedText: item.reached.iter().any(|known| known.identity == identity) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: iter.any_to_all + normalizedText: state.reached_file.iter().any(|known| known.identity == identity) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: relational.eq_to_ne + normalizedText: known.identity == identity + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: relational.eq_to_ne + normalizedText: known.identity == identity + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: stmt.delete_assign + normalizedText: state.next_order = state.next_order.saturating_add(1); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: stmt.delete_call + normalizedText: drop(state); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: stmt.delete_call + normalizedText: item.reached.push(candidate()); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: stmt.delete_call + normalizedText: self.notify.notify_all(); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: stmt.delete_call + normalizedText: state.reached_file.push(candidate()); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: unary.remove_not + normalizedText: '!item.reached.iter().any(|known| known.identity == identity)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::reached + mutator: unary.remove_not + normalizedText: '!state.reached_file.iter().any(|known| known.identity == identity)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::scout + mutator: assign_value.default + normalizedText: Learning::InProgress(top.cloned()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: FileLearning::scout + mutator: stmt.delete_assign + normalizedText: item.scout = Learning::InProgress(top.cloned()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: ProbeKind::attempt + mutator: fn_value.unit + normalizedText: '{ let counter = match self { Self::Exact => &tally.exact_probes, Self::Generalized => &tally.generalized_probes, + }; let _previous = counter.fetch_add(1, Ordering::Relaxed); }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: ProbeKind::attempt + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: ProbeKind::attempt + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: ProbeKind::hit + mutator: fn_value.unit + normalizedText: '{ let counter = match self { Self::Exact => &tally.exact_hits, Self::Generalized => &tally.generalized_hits, + }; let _previous = counter.fetch_add(1, Ordering::Relaxed); }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: ProbeKind::hit + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: ProbeKind::hit + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::hint + mutator: expr.decrement + normalizedText: self.measured.as_millis() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::hint + mutator: expr.decrement + normalizedText: u64::MAX + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::hint + mutator: expr.increment + normalizedText: self.measured.as_millis() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::hint + mutator: expr.increment + normalizedText: u64::MAX + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: assign_value.default + normalizedText: self.hits.saturating_add(1) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: assign_value.default + normalizedText: self.measured.saturating_add(elapsed) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: assign_value.default + normalizedText: self.misses.saturating_add(1) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: assign_value.default + normalizedText: self.samples.saturating_add(1) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: cond.always_false + normalizedText: hit + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: cond.always_true + normalizedText: hit + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: cond.negate + normalizedText: hit + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: fn_value.unit + normalizedText: '{ if hit { self.hits = self.hits.saturating_add(1); } else { self.misses = self.misses.saturating_add(1); + } self.measured = self.measured.saturating_add(elapsed); self.samples = self.samples.saturating_add(1); }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: stmt.delete_assign + normalizedText: self.hits = self.hits.saturating_add(1); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: stmt.delete_assign + normalizedText: self.measured = self.measured.saturating_add(elapsed); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: stmt.delete_assign + normalizedText: self.misses = self.misses.saturating_add(1); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: RankedCandidate::observe + mutator: stmt.delete_assign + normalizedText: self.samples = self.samples.saturating_add(1); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: bounded_reach_hints + mutator: fn_value.empty_collection + normalizedText: '{ let all = hints; all.iter() .filter(|hint| { let Some(binary) = reachable.iter().copied().find(|binary| + hint.names(&binary.package, &binary.target)) else { return false; }; let Some(total) = binary.tests else { return + false; }; let measured = match census.work(binary, ordinal) { CensusWork::Selected(duration) | CensusWork::Hinted(duration) + => duration, CensusWork::Whole | CensusWork::Uncovered => return false, }; if binary.baseline.is_zero() || measured + >= binary.baseline { return false; } let selected = all .iter() .filter(|candidate| candidate.names(&binary.package, + &binary.target)) .count(); selected.saturating_mul(2) <= total }) .cloned() .collect() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: filtered_kill_is_final + mutator: fn_value.bool_false + normalizedText: '{ reach_hint_is_final( Attempt { active: Some(1), timeout: binary.budget_for(timeout_multiplier, sweep.timeout_floor), + stall: sweep.stall, request: MemoryRequest { meter: sweep.meter, limit: binary.memory, }, only: Only::All, census: + None, }, sweep.confirm, ) }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: filtered_kill_is_final + mutator: fn_value.bool_true + normalizedText: '{ reach_hint_is_final( Attempt { active: Some(1), timeout: binary.budget_for(timeout_multiplier, sweep.timeout_floor), + stall: sweep.stall, request: MemoryRequest { meter: sweep.meter, limit: binary.memory, }, only: Only::All, census: + None, }, sweep.confirm, ) }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: filtered_kill_is_final + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: filtered_kill_is_final + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: filtered_kill_is_final + mutator: option.some_to_none + normalizedText: Some(1) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: cond.always_false + normalizedText: hint.is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: cond.always_false + normalizedText: matches!(scout, Scout::Lead) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: cond.always_true + normalizedText: hint.is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: cond.always_true + normalizedText: matches!(scout, Scout::Lead) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: cond.negate + normalizedText: hint.is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: cond.negate + normalizedText: matches!(scout, Scout::Lead) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: expr.decrement + normalizedText: ordinal + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: expr.decrement + normalizedText: sibling_benefit + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: expr.increment + normalizedText: ordinal + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: expr.increment + normalizedText: sibling_benefit + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: iter.first_to_last + normalizedText: candidates.first() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: iter.first_to_last + normalizedText: candidates.first() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: option.some_to_none + normalizedText: Some((negative, site, deterministic_reach)) + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: option.some_to_none + normalizedText: Some((observed, item_path)) + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: stmt.delete_call + normalizedText: candidates.extend(observed.candidates(item_path)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: stmt.delete_call + normalizedText: candidates.extend(observed.candidates(item_path)); + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: stmt.delete_call + normalizedText: observed.complete(item_path); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_learning + mutator: stmt.delete_call + normalizedText: observed.publish(item_path, &judged); + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: assign_value.default + normalizedText: Some((run.verdict, matches!(only, Only::All))) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_false + normalizedText: '!already_whole && matches!(selection, CensusSelection::Selected(_)) && !matches!(verdict, Verdict::Passed)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_false + normalizedText: '!filtered_kill_is_final(binary, timeout_multiplier, sweep)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_false + normalizedText: binary_runs[index].is_some() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_false + normalizedText: convicted + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_false + normalizedText: hint.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_false + normalizedText: matches!(sweep.census.selection(binary, ordinal), CensusSelection::Uncovered) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_false + normalizedText: negative_excludes(negative, binary, timeout_multiplier, sweep) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_false + normalizedText: negative_excludes(negative, binary, timeout_multiplier, sweep) + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_false + normalizedText: negative_excludes(negative, binary, timeout_multiplier, sweep) + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_false + normalizedText: ran + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_false + normalizedText: run.reach == ReachObservation::Reached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_false + normalizedText: terminal + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_true + normalizedText: '!already_whole && matches!(selection, CensusSelection::Selected(_)) && !matches!(verdict, Verdict::Passed)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_true + normalizedText: '!filtered_kill_is_final(binary, timeout_multiplier, sweep)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_true + normalizedText: binary_runs[index].is_some() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_true + normalizedText: convicted + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_true + normalizedText: hint.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_true + normalizedText: matches!(sweep.census.selection(binary, ordinal), CensusSelection::Uncovered) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_true + normalizedText: negative_excludes(negative, binary, timeout_multiplier, sweep) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_true + normalizedText: negative_excludes(negative, binary, timeout_multiplier, sweep) + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_true + normalizedText: negative_excludes(negative, binary, timeout_multiplier, sweep) + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_true + normalizedText: ran + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_true + normalizedText: run.reach == ReachObservation::Reached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.always_true + normalizedText: terminal + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.negate + normalizedText: '!already_whole && matches!(selection, CensusSelection::Selected(_)) && !matches!(verdict, Verdict::Passed)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.negate + normalizedText: '!filtered_kill_is_final(binary, timeout_multiplier, sweep)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.negate + normalizedText: binary_runs[index].is_some() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.negate + normalizedText: convicted + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.negate + normalizedText: hint.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.negate + normalizedText: matches!(sweep.census.selection(binary, ordinal), CensusSelection::Uncovered) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.negate + normalizedText: negative_excludes(negative, binary, timeout_multiplier, sweep) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.negate + normalizedText: negative_excludes(negative, binary, timeout_multiplier, sweep) + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.negate + normalizedText: negative_excludes(negative, binary, timeout_multiplier, sweep) + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.negate + normalizedText: ran + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.negate + normalizedText: run.reach == ReachObservation::Reached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: cond.negate + normalizedText: terminal + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.decrement + normalizedText: binary_index + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.decrement + normalizedText: binary_index + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.decrement + normalizedText: index + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.decrement + normalizedText: index + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.decrement + normalizedText: ordinal + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.decrement + normalizedText: ordinal + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.decrement + normalizedText: ordinal + occurrence: 3 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.decrement + normalizedText: ordinal + occurrence: 6 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.decrement + normalizedText: reachable.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.decrement + normalizedText: reachable.len() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.increment + normalizedText: binary_index + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.increment + normalizedText: binary_index + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.increment + normalizedText: index + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.increment + normalizedText: index + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.increment + normalizedText: ordinal + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.increment + normalizedText: ordinal + occurrence: 2 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.increment + normalizedText: ordinal + occurrence: 3 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.increment + normalizedText: ordinal + occurrence: 6 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.increment + normalizedText: reachable.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: expr.increment + normalizedText: reachable.len() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: logical.and_to_or + normalizedText: '!already_whole && matches!(selection, CensusSelection::Selected(_))' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: logical.and_to_or + normalizedText: '!already_whole && matches!(selection, CensusSelection::Selected(_)) && !matches!(verdict, Verdict::Passed)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 3 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 7 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 3 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 6 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: option.none_to_some + normalizedText: None + occurrence: 7 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: option.none_to_some + normalizedText: None + occurrence: 16 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: option.some_to_none + normalizedText: Some((run.verdict, matches!(only, Only::All))) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: option.some_to_none + normalizedText: Some(ordinal) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: option.some_to_none + normalizedText: Some(ordinal) + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: relational.eq_to_ne + normalizedText: run.reach == ReachObservation::Reached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: relational.eq_to_ne + normalizedText: run.reach == ReachObservation::Reached + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: stmt.delete_assign + normalizedText: binary_runs[index] = Some((run.verdict, matches!(only, Only::All))); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: stmt.delete_assign + normalizedText: ran = true; + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: stmt.delete_call + normalizedText: ProbeKind::Generalized.attempt(tally); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: stmt.delete_call + normalizedText: ProbeKind::Generalized.hit(tally); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: stmt.delete_call + normalizedText: observed.observe(item_path, candidate, convicted, started.elapsed()); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: stmt.delete_call + normalizedText: observed.reached(item_path, binary, started.elapsed()); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: unary.remove_not + normalizedText: '!already_whole' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: unary.remove_not + normalizedText: '!filtered_kill_is_final(binary, timeout_multiplier, sweep)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: judge_ranked + mutator: unary.remove_not + normalizedText: '!matches!(run.verdict, Verdict::Passed)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: mutant_cost + mutator: assign.add_to_sub + normalizedText: total += binary.baseline + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: mutant_cost + mutator: expr.decrement + normalizedText: mutant.ordinal + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: mutant_cost + mutator: expr.decrement + normalizedText: position + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: mutant_cost + mutator: expr.increment + normalizedText: mutant.ordinal + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: mutant_cost + mutator: expr.increment + normalizedText: position + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: mutant_cost + mutator: fn_value.default + normalizedText: '{ let mutant = &plan.mutants[position]; if let Some(hint) = killers.hint(&mutant.id) && let Some(binaries) + = reach.reachable(mutant) && let Some(binary) = binaries.iter().find(|b| hint.names(&b.package, &b.target)) { return + binary.baseline; } let Some(binaries) = reach.reachable(mutant) else { return Duration::ZERO; }; let mut total = Duration::ZERO; + let mut used_census = false; for binary in binaries { match census.work(binary, mutant.ordinal) { CensusWork::Selected(duration) + => { total += duration; used_census = true; } CensusWork::Whole => total += binary.baseline, CensusWork::Uncovered + => {} CensusWork::Hinted(_duration) => total += binary.baseline, } } let _ = used_census; total }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: mutant_cost + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: negative_excludes + mutator: fn_value.bool_false + normalizedText: '{ let Some((negative, site, true)) = negative else { return false; }; negative.contains(site, binary) + && filtered_kill_is_final(binary, timeout_multiplier, sweep) }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: negative_excludes + mutator: fn_value.bool_true + normalizedText: '{ let Some((negative, site, true)) = negative else { return false; }; negative.contains(site, binary) + && filtered_kill_is_final(binary, timeout_multiplier, sweep) }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: negative_excludes + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: negative_reach_is_final + mutator: fn_value.bool_false + normalizedText: '{ deterministic && matches!(only, Only::All) && matches!(run.verdict, Verdict::Passed) && run.reach + == ReachObservation::NotReached }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: negative_reach_is_final + mutator: fn_value.bool_true + normalizedText: '{ deterministic && matches!(only, Only::All) && matches!(run.verdict, Verdict::Passed) && run.reach + == ReachObservation::NotReached }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: negative_reach_is_final + mutator: logical.and_to_or + normalizedText: deterministic && matches!(only, Only::All) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: negative_reach_is_final + mutator: logical.and_to_or + normalizedText: deterministic && matches!(only, Only::All) && matches!(run.verdict, Verdict::Passed) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: negative_reach_is_final + mutator: logical.and_to_or + normalizedText: deterministic && matches!(only, Only::All) && matches!(run.verdict, Verdict::Passed) && run.reach == + ReachObservation::NotReached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: persist_learning + mutator: assign_value.default + normalizedText: GENERALIZED_HINTS_VERSION + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: persist_learning + mutator: fn_value.unit + normalizedText: '{ generalized.version = GENERALIZED_HINTS_VERSION; generalized .items .retain(|entry| !files.iter().any(|file| + entry.file == file.as_ref())); generalized .binaries .retain(|entry| !files.iter().any(|file| entry.file == file.as_ref())); + for (file, learning) in files.iter().zip(learning) { learning.persist(file, generalized); } generalized .items .sort_by(|left, + right| left.file.cmp(&right.file).then_with(|| left.item.cmp(&right.item))); generalized.binaries.sort_by(|left, right| + left.file.cmp(&right.file)); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: persist_learning + mutator: iter.remove_sort + normalizedText: generalized .items .sort_by(|left, right| left.file.cmp(&right.file).then_with(|| left.item.cmp(&right.item))); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: persist_learning + mutator: iter.remove_sort + normalizedText: generalized.binaries.sort_by(|left, right| left.file.cmp(&right.file)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: persist_learning + mutator: stmt.delete_assign + normalizedText: generalized.version = GENERALIZED_HINTS_VERSION; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: persist_learning + mutator: stmt.delete_call + normalizedText: generalized .binaries .retain(|entry| !files.iter().any(|file| entry.file == file.as_ref())); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: persist_learning + mutator: stmt.delete_call + normalizedText: generalized .items .retain(|entry| !files.iter().any(|file| entry.file == file.as_ref())); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: persist_learning + mutator: stmt.delete_call + normalizedText: learning.persist(file, generalized); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: assign.add_to_sub + normalizedText: '*cursor += 1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: assign.add_to_sub + normalizedText: out += 1 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: assign_value.default + normalizedText: position + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: cond.always_false + normalizedText: '!moved' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: cond.always_true + normalizedText: '!moved' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: cond.negate + normalizedText: '!moved' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: expr.decrement + normalizedText: index + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: expr.decrement + normalizedText: out + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: expr.decrement + normalizedText: position + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: expr.decrement + normalizedText: position + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: expr.increment + normalizedText: index + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: expr.increment + normalizedText: out + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: expr.increment + normalizedText: position + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: expr.increment + normalizedText: position + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: fn_value.unit + normalizedText: '{ pending.sort_by_cached_key(|position| (core::cmp::Reverse(mutant_cost(*position, plan, reach, census, + killers)), *position)); let mut queues: Vec> = Vec::new(); let mut by_package: crate::HashMap + = crate::HashMap::default(); for position in pending.iter().copied() { let package = &*plan.mutants[position].package; + if let Some(index) = by_package.get(package).copied() { queues[index].push(position); } else { let index = queues.len(); + let _fresh = by_package.insert(package.to_owned(), index); queues.push(vec![position]); } } let mut next = vec![0_usize; + queues.len()]; let mut out = 0_usize; loop { let mut moved = false; for (queue, cursor) in queues.iter().zip(&mut + next) { if let Some(position) = queue.get(*cursor).copied() { pending[out] = position; out += 1; *cursor += 1; moved + = true; } } if !moved { break; } } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: literal.int_increment + normalizedText: 0_usize + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: stmt.delete_assign + normalizedText: '*cursor += 1;' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: stmt.delete_assign + normalizedText: moved = true; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: stmt.delete_assign + normalizedText: out += 1; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: stmt.delete_assign + normalizedText: pending[out] = position; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: stmt.delete_call + normalizedText: pending.sort_by_cached_key(|position| (core::cmp::Reverse(mutant_cost(*position, plan, reach, census, + killers)), *position)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: stmt.delete_call + normalizedText: queues.push(vec![position]); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: stmt.delete_call + normalizedText: queues[index].push(position); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: schedule + mutator: unary.remove_not + normalizedText: '!moved' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: assign.add_to_sub + normalizedText: '*item_counts .entry((Arc::clone(&file), Arc::clone(&plan.mutants[*position].item_path))) .or_default() + += 1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: assign_value.default + normalizedText: elapsed + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: assign_value.default + normalizedText: killer.as_ref().map(|killer| killer.test.clone()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: assign_value.default + normalizedText: note + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: cond.always_false + normalizedText: abandoned.get().is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: cond.always_false + normalizedText: pending.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: cond.always_true + normalizedText: abandoned.get().is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: cond.always_true + normalizedText: pending.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: cond.negate + normalizedText: abandoned.get().is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: cond.negate + normalizedText: pending.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: index + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: index + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: index + occurrence: 3 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: index + occurrence: 4 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: index + occurrence: 5 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: index + occurrence: 6 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: index + occurrence: 7 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: index + occurrence: 8 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: jobs.max(1) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: next + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: plan.mutants[*position].ordinal + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: position + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: started.elapsed().as_millis() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.decrement + normalizedText: u64::MAX + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: index + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: index + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: index + occurrence: 3 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: index + occurrence: 4 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: index + occurrence: 5 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: index + occurrence: 6 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: index + occurrence: 7 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: index + occurrence: 8 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: jobs.max(1) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: next + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: plan.mutants[*position].ordinal + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: position + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: started.elapsed().as_millis() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: expr.increment + normalizedText: u64::MAX + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: iter.max_to_min + normalizedText: jobs.max(1) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: logical.and_to_or + normalizedText: mutant.ordinal > 0 && mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: option.some_to_none + normalizedText: 'Some(Spent { launches: tally.launches.into_inner(), probes: tally.probes.into_inner(), exact_probes: + tally.exact_probes.into_inner(), exact_hits: tally.exact_hits.into_inner(), generalized_probes: tally.generalized_probes.into_inner(), + generalized_hits: tally.generalized_hits.into_inner(), saved: tally.saved.into_inner(), reach_saved: tally.reach_saved.into_inner(), + })' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: range.exclusive_to_inclusive + normalizedText: 0..jobs.max(1) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: relational.gt_to_ge + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: relational.gt_to_lt + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: stmt.delete_assign + normalizedText: '*item_counts .entry((Arc::clone(&file), Arc::clone(&plan.mutants[*position].item_path))) .or_default() + += 1;' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: stmt.delete_assign + normalizedText: file_paths[*slot] = Arc::clone(file); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: stmt.delete_assign + normalizedText: mutant.elapsed_ms = elapsed; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: stmt.delete_assign + normalizedText: mutant.killed_by = killer.as_ref().map(|killer| killer.test.clone()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: stmt.delete_assign + normalizedText: mutant.note = note; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: stmt.delete_assign + normalizedText: mutant.outcome = outcome; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: stmt.delete_call + normalizedText: drop(sender); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: stmt.delete_call + normalizedText: events.mutant(mutant); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: stmt.delete_call + normalizedText: killers.replace_generalized(generalized); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: stmt.delete_call + normalizedText: persist_learning(&mut generalized, &file_paths, &file_killers); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sweep.rs + item: test_all + mutator: stmt.delete_call + normalizedText: schedule(&mut pending, plan, reach, sweep.census, killers); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sync.rs + item: mark_consistent + mutator: fn_value.unit + normalizedText: '{ let path = sentinel(root); let _written = fs::write(path.as_std_path(), "1"); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sync.rs + item: mark_consistent + mutator: literal.str_to_empty + normalizedText: '"1"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sync.rs + item: mark_consistent + mutator: literal.str_to_xyzzy + normalizedText: '"1"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sync.rs + item: sentinel + mutator: fn_value.default + normalizedText: '{ root.parent().unwrap_or(root).join(SYNC_SENTINEL) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sync.rs + item: sync_or_copy + mutator: cond.always_false + normalizedText: '!root.as_std_path().is_dir()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sync.rs + item: sync_or_copy + mutator: cond.always_true + normalizedText: '!root.as_std_path().is_dir()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sync.rs + item: sync_or_copy + mutator: cond.negate + normalizedText: '!root.as_std_path().is_dir()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sync.rs + item: sync_or_copy + mutator: stmt.delete_call + normalizedText: mark_consistent(root); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/sync.rs + item: sync_or_copy + mutator: unary.remove_not + normalizedText: '!root.as_std_path().is_dir()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::build + mutator: cond.always_false + normalizedText: by_source.contains_key(&key) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::build + mutator: cond.always_true + normalizedText: by_source.contains_key(&key) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::build + mutator: cond.negate + normalizedText: by_source.contains_key(&key) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::build + mutator: fn_value.default + normalizedText: '{ let mut by_source: crate::HashMap<(Arc, Arc), Vec<&TestBinary>> = crate::HashMap::default(); + for mutant in plan .mutants .iter() .filter(|mutant| mutant.ordinal > 0 && mutant.outcome == Outcome::Pending) { let + key = (Arc::clone(&mutant.package), Arc::clone(&mutant.file)); if by_source.contains_key(&key) { continue; } let mut + found: Vec<&TestBinary> = binaries .iter() .filter(|binary| reaches_mutant(binary, mutant, plan, scope)) .collect(); + order_reachable(&mut found, &mutant.package); let _fresh = by_source.insert(key, found); } Self { by_source } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::build + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::build + mutator: logical.and_to_or + normalizedText: mutant.ordinal > 0 && mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::build + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::build + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::build + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::build + mutator: relational.gt_to_ge + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::build + mutator: relational.gt_to_lt + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::build + mutator: stmt.delete_call + normalizedText: order_reachable(&mut found, &mutant.package); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: Reachability<'binaries>::reachable + mutator: fn_value.none + normalizedText: '{ self.by_source .get(&(Arc::clone(&mutant.package), Arc::clone(&mutant.file))) .map(Vec::as_slice) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: TargetPatterns<'args>::unmatched + mutator: fn_value.none + normalizedText: '{ self.include .iter() .chain(&self.exclude) .find(|(_pattern, compiled)| !tests.iter().any(|name| + compiled.matches(name))) .map(|(pattern, _compiled)| *pattern) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: TestBinary::budget_for + mutator: fn_value.none + normalizedText: '{ let budget = self.budget?; Some(override_multiplier.map_or(budget, |multiplier| self.baseline.mul_f64(multiplier).max(floor))) + }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: TestBinary::budget_for + mutator: option.some_to_none + normalizedText: Some(override_multiplier.map_or(budget, |multiplier| self.baseline.mul_f64(multiplier).max(floor))) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: TestScope<'_>::admits + mutator: fn_value.bool_false + normalizedText: '{ self.packages.is_empty() || self.packages.iter().any(|wanted| wanted == package) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: TestScope<'_>::admits + mutator: fn_value.bool_true + normalizedText: '{ self.packages.is_empty() || self.packages.iter().any(|wanted| wanted == package) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: TestScope<'_>::admits + mutator: iter.any_to_all + normalizedText: self.packages.iter().any(|wanted| wanted == package) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: TestScope<'_>::admits + mutator: logical.or_to_and + normalizedText: self.packages.is_empty() || self.packages.iter().any(|wanted| wanted == package) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: TestScope<'_>::admits + mutator: relational.eq_to_ne + normalizedText: wanted == package + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: absolute_source + mutator: cond.always_false + normalizedText: path.is_absolute() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: absolute_source + mutator: cond.always_true + normalizedText: path.is_absolute() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: absolute_source + mutator: cond.negate + normalizedText: path.is_absolute() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: absolute_source + mutator: fn_value.default + normalizedText: '{ if path.is_absolute() { path.to_owned() } else { root.join(path) } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: apportion + mutator: assign_value.default + normalizedText: calibrated.then(|| binary.baseline.mul_f64(multiplier).max(floor)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: apportion + mutator: fn_value.unit + normalizedText: '{ for binary in binaries.iter_mut() { binary.budget = calibrated.then(|| binary.baseline.mul_f64(multiplier).max(floor)); + } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: apportion + mutator: iter.max_to_min + normalizedText: binary.baseline.mul_f64(multiplier).max(floor) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: apportion + mutator: stmt.delete_assign + normalizedText: binary.budget = calibrated.then(|| binary.baseline.mul_f64(multiplier).max(floor)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: cond.always_false + normalizedText: manifest.and_then(|manifest| workspace_relative(manifest, root)).is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: cond.always_false + normalizedText: message.get("reason").and_then(Value::as_str) != Some("compiler-artifact") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: cond.always_false + normalizedText: package_id.starts_with("registry+") || package_id.starts_with("git+") || package_id.contains("(registry+") + || package_id.contains("(git+") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: cond.always_true + normalizedText: manifest.and_then(|manifest| workspace_relative(manifest, root)).is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: cond.always_true + normalizedText: message.get("reason").and_then(Value::as_str) != Some("compiler-artifact") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: cond.always_true + normalizedText: package_id.starts_with("registry+") || package_id.starts_with("git+") || package_id.contains("(registry+") + || package_id.contains("(git+") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: cond.negate + normalizedText: manifest.and_then(|manifest| workspace_relative(manifest, root)).is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: cond.negate + normalizedText: message.get("reason").and_then(Value::as_str) != Some("compiler-artifact") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: cond.negate + normalizedText: package_id.starts_with("registry+") || package_id.starts_with("git+") || package_id.contains("(registry+") + || package_id.contains("(git+") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_empty + normalizedText: '"(git+"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_empty + normalizedText: '"(registry+"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_empty + normalizedText: '"compiler-artifact"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_empty + normalizedText: '"executable"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_empty + normalizedText: '"filenames"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_empty + normalizedText: '"git+"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_empty + normalizedText: '"manifest_path"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_empty + normalizedText: '"package_id"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_empty + normalizedText: '"reason"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_empty + normalizedText: '"registry+"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_xyzzy + normalizedText: '"(git+"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_xyzzy + normalizedText: '"(registry+"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_xyzzy + normalizedText: '"compiler-artifact"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_xyzzy + normalizedText: '"executable"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_xyzzy + normalizedText: '"filenames"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_xyzzy + normalizedText: '"git+"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_xyzzy + normalizedText: '"manifest_path"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_xyzzy + normalizedText: '"package_id"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_xyzzy + normalizedText: '"reason"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: literal.str_to_xyzzy + normalizedText: '"registry+"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: logical.or_to_and + normalizedText: package_id.starts_with("registry+") || package_id.starts_with("git+") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: logical.or_to_and + normalizedText: package_id.starts_with("registry+") || package_id.starts_with("git+") || package_id.contains("(registry+") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: logical.or_to_and + normalizedText: package_id.starts_with("registry+") || package_id.starts_with("git+") || package_id.contains("(registry+") + || package_id.contains("(git+") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: option.some_to_none + normalizedText: Some("compiler-artifact") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: relational.ne_to_eq + normalizedText: message.get("reason").and_then(Value::as_str) != Some("compiler-artifact") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: string.starts_with_to_ends_with + normalizedText: package_id.starts_with("git+") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: artifact_origins + mutator: string.starts_with_to_ends_with + normalizedText: package_id.starts_with("registry+") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: bound + mutator: assign_value.default + normalizedText: policy.ceiling(binary.peak, calibrated) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: bound + mutator: fn_value.unit + normalizedText: '{ for binary in binaries.iter_mut() { binary.memory = policy.ceiling(binary.peak, calibrated); } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: bound + mutator: stmt.delete_assign + normalizedText: binary.memory = policy.ceiling(binary.peak, calibrated); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: build_packages + mutator: fn_value.none + normalizedText: '{ let mutated: crate::HashSet<&str> = plan .mutants .iter() .filter(|mutant| mutant.ordinal > 0 && + mutant.outcome == Outcome::Pending) .map(|mutant| &*mutant.package) .collect(); reaching_packages(&plan.reach, &mutated, + scope) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: build_packages + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: build_packages + mutator: logical.and_to_or + normalizedText: mutant.ordinal > 0 && mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: build_packages + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: build_packages + mutator: relational.gt_to_ge + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: build_packages + mutator: relational.gt_to_lt + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: calibrate + mutator: fn_value.unit + normalizedText: '{ binaries.sort_by_key(|binary| binary.baseline); apportion(binaries, config.test_timeout_multiplier, + config.timeout_floor, config.baseline); bound(binaries, memory, config.baseline); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: calibrate + mutator: iter.remove_sort + normalizedText: binaries.sort_by_key(|binary| binary.baseline); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: calibrate + mutator: stmt.delete_call + normalizedText: apportion(binaries, config.test_timeout_multiplier, config.timeout_floor, config.baseline); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: calibrate + mutator: stmt.delete_call + normalizedText: bound(binaries, memory, config.baseline); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: harness_threads + mutator: cond.always_false + normalizedText: inherited.is_some_and(|value| !value.trim().is_empty()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: harness_threads + mutator: cond.always_true + normalizedText: inherited.is_some_and(|value| !value.trim().is_empty()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: harness_threads + mutator: cond.negate + normalizedText: inherited.is_some_and(|value| !value.trim().is_empty()) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: harness_threads + mutator: fn_value.none + normalizedText: '{ if inherited.is_some_and(|value| !value.trim().is_empty()) { return None; } Some((cores / jobs.max(1)).max(1)) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: harness_threads + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: harness_threads + mutator: unary.remove_not + normalizedText: '!value.trim().is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: is_version + mutator: fn_value.bool_false + normalizedText: '{ let release = fragment.split([''-'', ''+'']).next().unwrap_or(fragment); !release.is_empty() && release.starts_with(|character: + char| character.is_ascii_digit()) && release.chars().all(|character| character.is_ascii_digit() || character == ''.'') + }' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: is_version + mutator: fn_value.bool_true + normalizedText: '{ let release = fragment.split([''-'', ''+'']).next().unwrap_or(fragment); !release.is_empty() && release.starts_with(|character: + char| character.is_ascii_digit()) && release.chars().all(|character| character.is_ascii_digit() || character == ''.'') + }' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: is_version + mutator: iter.all_to_any + normalizedText: release.chars().all(|character| character.is_ascii_digit() || character == '.') + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: is_version + mutator: logical.and_to_or + normalizedText: '!release.is_empty() && release.starts_with(|character: char| character.is_ascii_digit())' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: is_version + mutator: logical.and_to_or + normalizedText: '!release.is_empty() && release.starts_with(|character: char| character.is_ascii_digit()) && release.chars().all(|character| + character.is_ascii_digit() || character == ''.'')' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: is_version + mutator: logical.or_to_and + normalizedText: character.is_ascii_digit() || character == '.' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: is_version + mutator: relational.eq_to_ne + normalizedText: character == '.' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: is_version + mutator: string.starts_with_to_ends_with + normalizedText: 'release.starts_with(|character: char| character.is_ascii_digit())' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: is_version + mutator: unary.remove_not + normalizedText: '!release.is_empty()' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: oracle_packages + mutator: cond.always_false + normalizedText: '!config.test_packages.is_empty() || config.test_workspace' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: oracle_packages + mutator: cond.always_true + normalizedText: '!config.test_packages.is_empty() || config.test_workspace' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: oracle_packages + mutator: cond.negate + normalizedText: '!config.test_packages.is_empty() || config.test_workspace' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: oracle_packages + mutator: fn_value.empty_collection + normalizedText: '{ if !config.test_packages.is_empty() || config.test_workspace { return config.test_packages.clone(); + } selected.to_vec() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: oracle_packages + mutator: fn_value.one_element + normalizedText: '{ if !config.test_packages.is_empty() || config.test_workspace { return config.test_packages.clone(); + } selected.to_vec() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: oracle_packages + mutator: logical.or_to_and + normalizedText: '!config.test_packages.is_empty() || config.test_workspace' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: oracle_packages + mutator: unary.remove_not + normalizedText: '!config.test_packages.is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: order_reachable + mutator: fn_value.unit + normalizedText: '{ binaries.sort_by(|left, right| { let tier = |binary: &TestBinary| u8::from(binary.package != mutant_package); + tier(left) .cmp(&tier(right)) .then_with(|| left.baseline.cmp(&right.baseline)) .then_with(|| left.package.cmp(&right.package)) + .then_with(|| left.target.cmp(&right.target)) .then_with(|| left.path.cmp(&right.path)) }); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: order_reachable + mutator: iter.remove_sort + normalizedText: 'binaries.sort_by(|left, right| { let tier = |binary: &TestBinary| u8::from(binary.package != mutant_package); + tier(left) .cmp(&tier(right)) .then_with(|| left.baseline.cmp(&right.baseline)) .then_with(|| left.package.cmp(&right.package)) + .then_with(|| left.target.cmp(&right.target)) .then_with(|| left.path.cmp(&right.path)) });' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: package_name + mutator: cond.always_false + normalizedText: is_version(fragment) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: package_name + mutator: cond.always_true + normalizedText: is_version(fragment) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: package_name + mutator: cond.negate + normalizedText: is_version(fragment) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: package_name + mutator: fn_value.empty_string + normalizedText: '{ if let Some((locator, fragment)) = id.rsplit_once(''#'') { return fragment.split_once(''@'').map_or_else( + || { if is_version(fragment) { locator.rsplit(''/'').next().unwrap_or_default().to_owned() } else { fragment.to_owned() + } }, |(name, _version)| name.to_owned(), ); } id.split_whitespace().next().unwrap_or_default().to_owned() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: package_name + mutator: fn_value.xyzzy_string + normalizedText: '{ if let Some((locator, fragment)) = id.rsplit_once(''#'') { return fragment.split_once(''@'').map_or_else( + || { if is_version(fragment) { locator.rsplit(''/'').next().unwrap_or_default().to_owned() } else { fragment.to_owned() + } }, |(name, _version)| name.to_owned(), ); } id.split_whitespace().next().unwrap_or_default().to_owned() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: cond.always_false + normalizedText: '!scope.admits(&binary.package)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: cond.always_false + normalizedText: binary.package.is_empty() || package.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: cond.always_false + normalizedText: binary.tests == Some(0) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: cond.always_false + normalizedText: scope.package_local && binary.package != package + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: cond.always_true + normalizedText: '!scope.admits(&binary.package)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: cond.always_true + normalizedText: binary.package.is_empty() || package.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: cond.always_true + normalizedText: binary.tests == Some(0) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: cond.always_true + normalizedText: scope.package_local && binary.package != package + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: cond.negate + normalizedText: '!scope.admits(&binary.package)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: cond.negate + normalizedText: binary.package.is_empty() || package.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: cond.negate + normalizedText: binary.tests == Some(0) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: cond.negate + normalizedText: scope.package_local && binary.package != package + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: fn_value.bool_false + normalizedText: '{ if binary.tests == Some(0) { return false; } if !scope.admits(&binary.package) { return false; } + if binary.package.is_empty() || package.is_empty() { return true; } if scope.package_local && binary.package != package + { return false; } plan.reach.get(&binary.package).is_none_or(|reachable| reachable.contains(package)) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: fn_value.bool_true + normalizedText: '{ if binary.tests == Some(0) { return false; } if !scope.admits(&binary.package) { return false; } + if binary.package.is_empty() || package.is_empty() { return true; } if scope.package_local && binary.package != package + { return false; } plan.reach.get(&binary.package).is_none_or(|reachable| reachable.contains(package)) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1812 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: logical.and_to_or + normalizedText: scope.package_local && binary.package != package + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: logical.or_to_and + normalizedText: binary.package.is_empty() || package.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: option.some_to_none + normalizedText: Some(0) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: relational.eq_to_ne + normalizedText: binary.tests == Some(0) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: relational.ne_to_eq + normalizedText: binary.package != package + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches + mutator: unary.remove_not + normalizedText: '!scope.admits(&binary.package)' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches_mutant + mutator: fn_value.bool_false + normalizedText: '{ reaches(binary, &mutant.package, plan, scope) && binary .linked_sources .as_ref() .is_none_or(|sources| + sources.contains(mutant.file.as_ref())) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches_mutant + mutator: fn_value.bool_true + normalizedText: '{ reaches(binary, &mutant.package, plan, scope) && binary .linked_sources .as_ref() .is_none_or(|sources| + sources.contains(mutant.file.as_ref())) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaches_mutant + mutator: logical.and_to_or + normalizedText: reaches(binary, &mutant.package, plan, scope) && binary .linked_sources .as_ref() .is_none_or(|sources| + sources.contains(mutant.file.as_ref())) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: cond.always_false + normalizedText: '!scope.admits(package)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: cond.always_false + normalizedText: reach.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: cond.always_false + normalizedText: scope.package_local + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: cond.always_false + normalizedText: wanted.len() >= reach.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: cond.always_true + normalizedText: '!scope.admits(package)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: cond.always_true + normalizedText: reach.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: cond.always_true + normalizedText: scope.package_local + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: cond.always_true + normalizedText: wanted.len() >= reach.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: cond.negate + normalizedText: '!scope.admits(package)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: cond.negate + normalizedText: reach.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: cond.negate + normalizedText: scope.package_local + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: cond.negate + normalizedText: wanted.len() >= reach.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: fn_value.none + normalizedText: '{ if reach.is_empty() { return None; } let mut wanted: Vec = reach .iter() .filter(|(package, + reachable)| { if !scope.admits(package) { return mutated.contains(package.as_str()); } if scope.package_local { return + mutated.contains(package.as_str()); } scope.whole_workspace || reachable.iter().any(|name| mutated.contains(name.as_str())) + }) .map(|(package, _)| package.clone()) .collect(); if wanted.len() >= reach.len() { return None; } wanted.sort(); + Some(wanted) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: iter.remove_sort + normalizedText: wanted.sort(); + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: option.some_to_none + normalizedText: Some(wanted) + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: relational.ge_to_gt + normalizedText: wanted.len() >= reach.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: relational.ge_to_le + normalizedText: wanted.len() >= reach.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: reaching_packages + mutator: unary.remove_not + normalizedText: '!scope.admits(package)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: restrict + mutator: cond.always_false + normalizedText: include.is_empty() && exclude.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: restrict + mutator: cond.always_true + normalizedText: include.is_empty() && exclude.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: restrict + mutator: cond.negate + normalizedText: include.is_empty() && exclude.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: restrict + mutator: fn_value.unit + normalizedText: '{ if include.is_empty() && exclude.is_empty() { return; } let patterns = TargetPatterns::new(include, + exclude); binaries.retain(|binary| patterns.admits(&binary.target)); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: restrict + mutator: logical.and_to_or + normalizedText: include.is_empty() && exclude.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: retain_linked_to_population + mutator: fn_value.unit + normalizedText: '{ let pending: crate::HashSet<&Utf8Path> = plan .mutants .iter() .filter(|mutant| mutant.ordinal > + 0 && mutant.outcome == Outcome::Pending) .map(|mutant| mutant.file.as_ref()) .collect(); binaries.retain(|binary| + { binary .linked_sources .as_ref() .is_none_or(|sources| pending.iter().any(|source| sources.contains(*source))) }); + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: retain_linked_to_population + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: retain_linked_to_population + mutator: logical.and_to_or + normalizedText: mutant.ordinal > 0 && mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: retain_linked_to_population + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: retain_linked_to_population + mutator: relational.gt_to_ge + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: retain_linked_to_population + mutator: relational.gt_to_lt + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: retain_linked_to_population + mutator: stmt.delete_call + normalizedText: binaries.retain(|binary| { binary .linked_sources .as_ref() .is_none_or(|sources| pending.iter().any(|source| + sources.contains(*source))) }); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: cond.always_false + normalizedText: '!is_test' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: cond.always_false + normalizedText: message.get("reason").and_then(Value::as_str) != Some("compiler-artifact") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: cond.always_true + normalizedText: '!is_test' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: cond.always_true + normalizedText: message.get("reason").and_then(Value::as_str) != Some("compiler-artifact") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: cond.negate + normalizedText: '!is_test' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: cond.negate + normalizedText: message.get("reason").and_then(Value::as_str) != Some("compiler-artifact") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: iter.remove_dedup + normalizedText: binaries.dedup_by(|left, right| left.path == right.path); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: iter.remove_sort + normalizedText: binaries.sort_by(|left, right| left.path.cmp(&right.path)); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_empty + normalizedText: '"compiler-artifact"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_empty + normalizedText: '"executable"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_empty + normalizedText: '"manifest_path"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_empty + normalizedText: '"name"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_empty + normalizedText: '"package_id"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_empty + normalizedText: '"profile"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_empty + normalizedText: '"reason"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_empty + normalizedText: '"src_path"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_empty + normalizedText: '"target"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_empty + normalizedText: '"target"' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_empty + normalizedText: '"test"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_xyzzy + normalizedText: '"compiler-artifact"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_xyzzy + normalizedText: '"executable"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_xyzzy + normalizedText: '"manifest_path"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_xyzzy + normalizedText: '"name"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_xyzzy + normalizedText: '"package_id"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_xyzzy + normalizedText: '"profile"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_xyzzy + normalizedText: '"reason"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_xyzzy + normalizedText: '"src_path"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_xyzzy + normalizedText: '"target"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_xyzzy + normalizedText: '"target"' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: literal.str_to_xyzzy + normalizedText: '"test"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: option.none_to_some + normalizedText: None + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: option.none_to_some + normalizedText: None + occurrence: 3 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: option.some_to_none + normalizedText: Some("compiler-artifact") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: relational.ne_to_eq + normalizedText: message.get("reason").and_then(Value::as_str) != Some("compiler-artifact") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: stmt.delete_call + normalizedText: 'binaries.push(TestBinary { path: Utf8PathBuf::from(path), package, package_id, target, manifest_dir, + linked_sources: captures .as_ref() .zip(target_source.as_ref()) .and_then(|(captures, source)| linked_sources(path, + source, captures, &origins, root)), baseline: Duration::ZERO, budget: None, tests: None, peak: None, memory: None, + });' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: test_binaries_with_linkage + mutator: unary.remove_not + normalizedText: '!is_test' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: unmatched_test + mutator: fn_value.none + normalizedText: '{ TargetPatterns::new(include, exclude).unmatched(tests) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: assign.add_to_sub + normalizedText: suite += binary.baseline + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: assign.add_to_sub + normalizedText: total.budget += worst + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: assign.add_to_sub + normalizedText: total.single += single + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: assign.add_to_sub + normalizedText: total.suite += suite + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: assign.add_to_sub + normalizedText: worst += binary.budget.unwrap_or_default() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: assign_value.default + normalizedText: running.saturating_add(1) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: expr.decrement + normalizedText: running + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: expr.increment + normalizedText: running + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: fn_value.default + normalizedText: '{ let mut total = Workload::default(); for mutant in mutants .iter() .filter(|mutant| mutant.ordinal + > 0 && mutant.outcome == Outcome::Pending) { let reachable = reach .reachable(mutant) .expect("the shared reachability + index was built from these same pending mutants"); let mut suite = Duration::ZERO; let mut worst = Duration::ZERO; + let mut running = 0_usize; for binary in reachable { match census.map_or(CensusWork::Whole, |census| census.work(binary, + mutant.ordinal)) { CensusWork::Whole => suite += binary.baseline, CensusWork::Uncovered => continue, CensusWork::Selected(duration) + => suite += duration, CensusWork::Hinted(_duration) => suite += binary.baseline, } worst += binary.budget.unwrap_or_default(); + running = running.saturating_add(1); } let single = u32::try_from(running).map_or(worst, |count| worst.checked_div(count).unwrap_or(worst)); + total.suite += suite; total.budget += worst; total.single += single; } total }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: literal.int_increment + normalizedText: 0_usize + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: logical.and_to_or + normalizedText: mutant.ordinal > 0 && mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Pending + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: relational.gt_to_ge + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: relational.gt_to_lt + normalizedText: mutant.ordinal > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: stmt.delete_assign + normalizedText: running = running.saturating_add(1); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: stmt.delete_assign + normalizedText: total.budget += worst; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: stmt.delete_assign + normalizedText: total.single += single; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: stmt.delete_assign + normalizedText: total.suite += suite; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workload + mutator: stmt.delete_assign + normalizedText: worst += binary.budget.unwrap_or_default(); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workspace_relative + mutator: cond.always_false + normalizedText: relative.components().any(|component| { matches!( component, camino::Utf8Component::ParentDir | camino::Utf8Component::RootDir + | camino::Utf8Component::Prefix(_) ) }) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workspace_relative + mutator: cond.always_true + normalizedText: relative.components().any(|component| { matches!( component, camino::Utf8Component::ParentDir | camino::Utf8Component::RootDir + | camino::Utf8Component::Prefix(_) ) }) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workspace_relative + mutator: cond.negate + normalizedText: relative.components().any(|component| { matches!( component, camino::Utf8Component::ParentDir | camino::Utf8Component::RootDir + | camino::Utf8Component::Prefix(_) ) }) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workspace_relative + mutator: fn_value.none + normalizedText: '{ let absolute = absolute_source(path, root); let relative = absolute.strip_prefix(root).ok()?; if + relative.components().any(|component| { matches!( component, camino::Utf8Component::ParentDir | camino::Utf8Component::RootDir + | camino::Utf8Component::Prefix(_) ) }) { return None; } Some(Utf8PathBuf::from(super::build::messages::normalize_separators(relative.as_str()))) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workspace_relative + mutator: iter.any_to_all + normalizedText: relative.components().any(|component| { matches!( component, camino::Utf8Component::ParentDir | camino::Utf8Component::RootDir + | camino::Utf8Component::Prefix(_) ) }) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/test_binary.rs + item: workspace_relative + mutator: option.some_to_none + normalizedText: Some(Utf8PathBuf::from(super::build::messages::normalize_separators(relative.as_str()))) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::seen + mutator: expr.decrement + normalizedText: '*generation' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::seen + mutator: expr.increment + normalizedText: '*generation' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::seen + mutator: fn_value.one + normalizedText: '{ #[expect(clippy::unwrap_used, reason = "the waiter only panics if the whole process is unwinding")] + let generation = self.generation.lock().unwrap(); *generation }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::seen + mutator: fn_value.zero + normalizedText: '{ #[expect(clippy::unwrap_used, reason = "the waiter only panics if the whole process is unwinding")] + let generation = self.generation.lock().unwrap(); *generation }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::signal + mutator: assign_value.default + normalizedText: generation.wrapping_add(1) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::signal + mutator: fn_value.unit + normalizedText: '{ #[expect(clippy::unwrap_used, reason = "the waiter only panics if the whole process is unwinding")] + let mut generation = self.generation.lock().unwrap(); *generation = generation.wrapping_add(1); drop(generation); + self.woken.notify_all(); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::signal + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::signal + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::signal + mutator: stmt.delete_assign + normalizedText: '*generation = generation.wrapping_add(1);' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::signal + mutator: stmt.delete_call + normalizedText: drop(generation); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::signal + mutator: stmt.delete_call + normalizedText: self.woken.notify_all(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::wait + mutator: cond.always_false + normalizedText: '*generation != seen' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::wait + mutator: cond.always_true + normalizedText: '*generation != seen' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::wait + mutator: cond.negate + normalizedText: '*generation != seen' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::wait + mutator: fn_value.unit + normalizedText: '{ #[expect(clippy::unwrap_used, reason = "the waiter only panics if the whole process is unwinding")] + let generation = self.generation.lock().unwrap(); if *generation != seen { return; } #[cfg(not(loom))] #[expect(clippy::unwrap_used, + reason = "the waiter only panics if the whole process is unwinding")] let (_generation, _timed_out) = self.woken.wait_timeout(generation, + upto).unwrap(); #[cfg(loom)] { let _ = upto; #[expect(clippy::unwrap_used, reason = "the waiter only panics if the + whole process is unwinding")] let _generation = self.woken.wait(generation).unwrap(); } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Pulse::wait + mutator: relational.ne_to_eq + normalizedText: '*generation != seen' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::finished + mutator: fn_value.unit + normalizedText: '{ let _was = self.live.fetch_sub(1, Ordering::Relaxed); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::finished + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::finished + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::started + mutator: expr.decrement + normalizedText: live + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::started + mutator: expr.increment + normalizedText: live + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::started + mutator: fn_value.unit + normalizedText: '{ let live = self.live.fetch_add(1, Ordering::Relaxed).saturating_add(1); let _raised = self.peak.fetch_max(live, + Ordering::Relaxed); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::started + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::started + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::started + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict/hubs.rs + item: Readers::started + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: Collected::failure_evidence + mutator: logical.or_to_and + normalizedText: '!self.whole || self.tail_truncated' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: Collected::failure_evidence + mutator: logical.or_to_and + normalizedText: '!self.whole || self.tail_truncated || stdout_lines_truncated' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: Collected::failure_evidence + mutator: logical.or_to_and + normalizedText: '!self.whole || self.tail_truncated || stdout_lines_truncated || stderr_lines_truncated' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: Collected::failure_evidence + mutator: unary.remove_not + normalizedText: '!self.whole' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: Only<'name>::names + mutator: fn_value.default + normalizedText: '{ match self { Self::All => Cow::Owned(Vec::new()), Self::One(name) => Cow::Owned(vec![name]), Self::These(names) + => Cow::Borrowed(names), } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: assign_value.default + normalizedText: 'true' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_false + normalizedText: reached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_false + normalizedText: sealed + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_false + normalizedText: sealed + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_false + normalizedText: sealed && bytes.len().is_multiple_of(core::mem::size_of::()) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_false + normalizedText: value == gamma_rt::OVERFLOW + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_false + normalizedText: value == gamma_rt::SEAL + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_false + normalizedText: value == self.ordinal + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_true + normalizedText: reached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_true + normalizedText: sealed + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_true + normalizedText: sealed + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_true + normalizedText: sealed && bytes.len().is_multiple_of(core::mem::size_of::()) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_true + normalizedText: value == gamma_rt::OVERFLOW + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_true + normalizedText: value == gamma_rt::SEAL + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.always_true + normalizedText: value == self.ordinal + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.negate + normalizedText: reached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.negate + normalizedText: sealed + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.negate + normalizedText: sealed + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.negate + normalizedText: sealed && bytes.len().is_multiple_of(core::mem::size_of::()) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.negate + normalizedText: value == gamma_rt::OVERFLOW + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.negate + normalizedText: value == gamma_rt::SEAL + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: cond.negate + normalizedText: value == self.ordinal + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: logical.and_to_or + normalizedText: sealed && bytes.len().is_multiple_of(core::mem::size_of::()) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: relational.eq_to_ne + normalizedText: value == gamma_rt::OVERFLOW + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: relational.eq_to_ne + normalizedText: value == gamma_rt::SEAL + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: relational.eq_to_ne + normalizedText: value == self.ordinal + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: stmt.delete_assign + normalizedText: reached = true; + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::finish + mutator: stmt.delete_assign + normalizedText: sealed = true; + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::new + mutator: cond.always_false + normalizedText: attempt.census.is_some() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::new + mutator: cond.always_true + normalizedText: attempt.census.is_some() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::new + mutator: cond.negate + normalizedText: attempt.census.is_some() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::new + mutator: fn_value.none + normalizedText: '{ let ordinal = attempt.active?; if attempt.census.is_some() { return None; } let sequence = NEXT_REACH_CAPTURE.fetch_add(1, + Ordering::Relaxed); let path = work.target.join(format!(".gamma-reach-{}-{sequence}.bin", std::process::id())); let + _created = fs::create_dir_all(work.target.as_std_path()); let _removed = fs::remove_file(path.as_std_path()); Some(Self + { path, ordinal }) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::new + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::new + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ReachCapture::new + mutator: option.some_to_none + normalizedText: Some(Self { path, ordinal }) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: announced_failure + mutator: fn_value.none + normalizedText: '{ #[expect(clippy::unwrap_used, reason = "the reader only panics if the whole process is unwinding")] + progress.lock().unwrap().failed.clone() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: ask_after + mutator: fn_value.ok + normalizedText: '{ #[cfg(test)] if faults::fired(Fault::Wait) { return Err(io::Error::other("the wait a test asked to + fail")); } subtree.observe() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + mutator: assign.and_to_or + normalizedText: whole &= chunk.complete + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + mutator: assign.or_to_and + normalizedText: tail_truncated |= chunk.tail_truncated + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + mutator: assign_value.default + normalizedText: chunk.tail + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + mutator: assign_value.default + normalizedText: chunk.tail + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + mutator: cond.always_false + normalizedText: chunk.authoritative + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + mutator: cond.always_true + normalizedText: chunk.authoritative + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + mutator: cond.negate + normalizedText: chunk.authoritative + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + mutator: stmt.delete_assign + normalizedText: tail_truncated |= chunk.tail_truncated; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + mutator: stmt.delete_assign + normalizedText: whole &= chunk.complete; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + mutator: stmt.delete_call + normalizedText: authoritative.extend_from_slice(&chunk.text); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: collected + mutator: stmt.delete_call + normalizedText: text.extend_from_slice(&chunk.text); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: cond.always_false + normalizedText: '!binary.manifest_dir.as_str().is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: cond.always_true + normalizedText: '!binary.manifest_dir.as_str().is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: cond.negate + normalizedText: '!binary.manifest_dir.as_str().is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: fn_value.unit + normalizedText: '{ let _ = command .stdout(Stdio::piped()) .stderr(Stdio::piped()) .env("RUST_BACKTRACE", "0") .env(STACK_VAR, + launch.stack.as_str()) .env(UNDER_GAMMA_VAR, "1") .env(INSTA_UPDATE_VAR, "no") .env(INSTA_FORCE_PASS_VAR, "0"); if + let Some(threads) = threads { let _ = command.env(TEST_THREADS_VAR, threads); } if !binary.manifest_dir.as_str().is_empty() + { let _ = command.env("CARGO_MANIFEST_DIR", binary.manifest_dir.as_std_path()); } match active { Some(ordinal) => + { let _ = command.env(gamma_rt::ACTIVE_VAR, ordinal.to_string()); } None => { let _ = command.env_remove(gamma_rt::ACTIVE_VAR); + } } match census { Some(path) => { let _ = command.env(gamma_rt::CENSUS_VAR, path.as_std_path()); } None => { let + _ = command.env_remove(gamma_rt::CENSUS_VAR); } } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: literal.str_to_empty + normalizedText: '"0"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: literal.str_to_empty + normalizedText: '"0"' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: literal.str_to_empty + normalizedText: '"1"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: literal.str_to_empty + normalizedText: '"CARGO_MANIFEST_DIR"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: literal.str_to_empty + normalizedText: '"RUST_BACKTRACE"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: literal.str_to_empty + normalizedText: '"no"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: literal.str_to_xyzzy + normalizedText: '"0"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: literal.str_to_xyzzy + normalizedText: '"0"' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: literal.str_to_xyzzy + normalizedText: '"1"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_MANIFEST_DIR"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: literal.str_to_xyzzy + normalizedText: '"RUST_BACKTRACE"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: literal.str_to_xyzzy + normalizedText: '"no"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: configure + mutator: unary.remove_not + normalizedText: '!binary.manifest_dir.as_str().is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: confirm_kill + mutator: cond.always_false + normalizedText: attempt.active.is_none() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: confirm_kill + mutator: cond.always_true + normalizedText: attempt.active.is_none() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: confirm_kill + mutator: cond.negate + normalizedText: attempt.active.is_none() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: confirm_kill + mutator: match_arm.never_matches + normalizedText: Verdict::Passed + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: confirm_kill + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: confirm_kill + mutator: struct_field.omit + normalizedText: 'Attempt { active: None, only: Only::One(name), ..attempt }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: cut_by_named_failure + mutator: option.some_to_none + normalizedText: Some(name) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: cut_short + mutator: fn_value.ok + normalizedText: '{ #[cfg(unix)] debug_assert!( !subtree.released(), "the subtree is signalled while it still holds its + leader and its watch slot" ); let stopped = subtree.terminate(); let usage = subtree.usage(); if let Err(cause) = + stopped { let point = if verdict_settled { "after its verdict was settled" } else { "after execution began" }; return + Err(( Verdict::Unmetered(format!( "`{}` and its descendants could not be terminated {point}; containment is unproven: + {cause}", binary.path, )), usage, )); } let ceiling = request.limit.filter(|_limit| exhausted(&usage, false)); Ok((usage, + ceiling)) }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: cut_short + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: deadline_after + mutator: expr.decrement + normalizedText: crate::bounds::MOST_SECONDS + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: deadline_after + mutator: expr.increment + normalizedText: crate::bounds::MOST_SECONDS + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: deadline_after + mutator: iter.min_to_max + normalizedText: timeout.min(Duration::from_secs(crate::bounds::MOST_SECONDS)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: diagnostic_tail + mutator: expr.decrement + normalizedText: OUTPUT_TAIL_LINES + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: diagnostic_tail + mutator: expr.increment + normalizedText: OUTPUT_TAIL_LINES + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: diagnostic_tail + mutator: fn_value.tuple + normalizedText: '{ let text = String::from_utf8_lossy(bytes); let truncated = text.lines().count() > OUTPUT_TAIL_LINES; + (tail(&text, OUTPUT_TAIL_LINES).into_owned(), truncated) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: diagnostic_tail + mutator: relational.gt_to_ge + normalizedText: text.lines().count() > OUTPUT_TAIL_LINES + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: diagnostic_tail + mutator: relational.gt_to_lt + normalizedText: text.lines().count() > OUTPUT_TAIL_LINES + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: assign.or_to_and + normalizedText: tail_truncated |= retain_output_tail(&mut tail, &line) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: cond.always_false + normalizedText: authoritative + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: cond.always_false + normalizedText: decisive + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: cond.always_false + normalizedText: kept_now < line.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: cond.always_false + normalizedText: retain_tail + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: cond.always_true + normalizedText: authoritative + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: cond.always_true + normalizedText: decisive + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: cond.always_true + normalizedText: kept_now < line.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: cond.always_true + normalizedText: retain_tail + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: cond.negate + normalizedText: authoritative + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: cond.negate + normalizedText: decisive + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: cond.negate + normalizedText: kept_now < line.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: cond.negate + normalizedText: retain_tail + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: expr.decrement + normalizedText: kept.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: expr.decrement + normalizedText: kept_now + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: expr.decrement + normalizedText: room + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: expr.increment + normalizedText: kept.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: expr.increment + normalizedText: kept_now + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: expr.increment + normalizedText: room + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: fn_value.tuple + normalizedText: '{ use std::io::BufRead as _; let mut reader = BufReader::new(pipe); let mut kept = Vec::new(); let + mut tail = VecDeque::new(); let mut tail_truncated = false; let mut line = Vec::new(); let mut whole = true; loop + { line.clear(); match reader.read_until(b''\n'', &mut line) { Ok(0) => return (kept, tail.into_iter().collect(), tail_truncated, + whole), Err(_truncated) => return (kept, tail.into_iter().collect(), tail_truncated, false), Ok(_read) => { #[expect(clippy::unwrap_used, + reason = "the watcher only panics if the process is unwinding")] let decisive = { let mut progress = progress.lock().unwrap(); + let before = progress.failed.is_some(); let environment_error = progress.environment_error; let line = String::from_utf8_lossy(&line); + if authoritative { progress.heard(&line); } else { progress.heard_diagnostic(&line); } (!before && progress.failed.is_some()) + || (!environment_error && progress.environment_error) }; if decisive { pulse.signal(); } let room = OUTPUT_CAP.saturating_sub(kept.len()); + let kept_now = line.len().min(room); kept.extend_from_slice(&line[..kept_now]); if retain_tail { tail_truncated |= + retain_output_tail(&mut tail, &line); } if kept_now < line.len() { whole = false; } } } } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: iter.min_to_max + normalizedText: line.len().min(room) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: logical.and_to_or + normalizedText: '!before && progress.failed.is_some()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: logical.and_to_or + normalizedText: '!environment_error && progress.environment_error' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: logical.or_to_and + normalizedText: (!before && progress.failed.is_some()) || (!environment_error && progress.environment_error) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: range.exclusive_to_inclusive + normalizedText: ..kept_now + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: relational.lt_to_gt + normalizedText: kept_now < line.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: relational.lt_to_le + normalizedText: kept_now < line.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: stmt.delete_assign + normalizedText: tail_truncated |= retain_output_tail(&mut tail, &line); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: stmt.delete_call + normalizedText: kept.extend_from_slice(&line[..kept_now]); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: stmt.delete_call + normalizedText: line.clear(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: stmt.delete_call + normalizedText: progress.heard(&line); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: stmt.delete_call + normalizedText: pulse.signal(); + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: unary.remove_not + normalizedText: '!before' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: drain + mutator: unary.remove_not + normalizedText: '!environment_error' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: environment_failure + mutator: fn_value.bool_false + normalizedText: '{ #[expect(clippy::unwrap_used, reason = "the reader only panics if the whole process is unwinding")] + progress.lock().unwrap().environment_error }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: environment_failure + mutator: fn_value.bool_true + normalizedText: '{ #[expect(clippy::unwrap_used, reason = "the reader only panics if the whole process is unwinding")] + progress.lock().unwrap().environment_error }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: environment_verdict + mutator: fn_value.none + normalizedText: '{ environment_failure(progress).then(|| { Verdict::Unmetered( "the guard runtime could not acquire + the process startup environment or install its startup selection".to_owned(), ) }) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: failure_to_cut_short + mutator: fn_value.none + normalizedText: '{ (!under_nextest).then(|| announced_failure(progress)).flatten() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: failure_to_cut_short + mutator: unary.remove_not + normalizedText: '!under_nextest' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: launcher + mutator: cond.always_false + normalizedText: allowed.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: launcher + mutator: cond.always_false + normalizedText: names.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: launcher + mutator: cond.always_true + normalizedText: allowed.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: launcher + mutator: cond.always_true + normalizedText: names.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: launcher + mutator: cond.negate + normalizedText: allowed.is_empty() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: launcher + mutator: cond.negate + normalizedText: names.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: launcher + mutator: fn_value.err_default + normalizedText: "{ let Some(harness) = work.runner() else { let mut command = Command::new(binary.path.as_std_path());\ + \ let names = only.names(); if names.is_empty() { let _ = command.args(work.test_arguments()); } else { let user =\ + \ HarnessFilters::parse(work.test_arguments()); let allowed: Vec<&str> = names.iter().copied().filter(|name| user.admits(name)).collect();\ + \ if allowed.is_empty() { return Err(format!( \"the test selection this run made for `{}` names nothing the harness\ + \ filters allow, \\\n so it was refused rather than run as a wider selection\", binary.path ));\ + \ } let _ = command.args(user.flags()); let _ = command.args(allowed).arg(\"--exact\"); } let _ = command.current_dir(working_directory(work,\ + \ binary).as_std_path()); work.inherit_test_cache_home(&mut command); return Ok(command); }; harness.command(work,\ + \ binary, &only.names()).map_err(|cause| cause.to_string()) }" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: launcher + mutator: literal.str_to_empty + normalizedText: '"--exact"' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: launcher + mutator: literal.str_to_xyzzy + normalizedText: '"--exact"' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: launcher + mutator: result.ok_to_err + normalizedText: Ok(command) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: launcher + mutator: stmt.delete_call + normalizedText: work.inherit_test_cache_home(&mut command); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: observe + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: observe_baseline + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: observe_with + mutator: option.some_to_none + normalizedText: Some(&capture.path) + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: observe_with + mutator: struct_field.omit + normalizedText: 'Attempt { census: Some(&capture.path), ..attempt }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: quiet_of + mutator: fn_value.default + normalizedText: '{ #[expect(clippy::unwrap_used, reason = "the reader only panics if the whole process is unwinding")] + let progress = progress.lock().unwrap(); progress.quiet.max(Instant::now().saturating_duration_since(progress.heard)) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: quiet_of + mutator: iter.max_to_min + normalizedText: progress.quiet.max(Instant::now().saturating_duration_since(progress.heard)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: reach_hint_is_final + mutator: fn_value.bool_false + normalizedText: '{ attempt.timeout.is_none() && attempt.stall.budget.is_none() && !attempt.request.meter && !confirm + }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: reach_hint_is_final + mutator: fn_value.bool_true + normalizedText: '{ attempt.timeout.is_none() && attempt.stall.budget.is_none() && !attempt.request.meter && !confirm + }' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: reach_hint_is_final + mutator: logical.and_to_or + normalizedText: attempt.timeout.is_none() && attempt.stall.budget.is_none() + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: reach_hint_is_final + mutator: logical.and_to_or + normalizedText: attempt.timeout.is_none() && attempt.stall.budget.is_none() && !attempt.request.meter + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: reach_hint_is_final + mutator: logical.and_to_or + normalizedText: attempt.timeout.is_none() && attempt.stall.budget.is_none() && !attempt.request.meter && !confirm + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: readers + mutator: cond.always_false + normalizedText: refused + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: readers + mutator: cond.always_true + normalizedText: refused + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: readers + mutator: cond.negate + normalizedText: refused + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: readers + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: readers + mutator: literal.str_to_empty + normalizedText: '"cargo-gamma-output"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: readers + mutator: literal.str_to_xyzzy + normalizedText: '"cargo-gamma-output"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: readers + mutator: stmt.delete_call + normalizedText: READERS.finished(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: readers + mutator: stmt.delete_call + normalizedText: READERS.started(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: readers + mutator: stmt.delete_call + normalizedText: drop(sink); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: readers + mutator: stmt.delete_call + normalizedText: pulse.signal(); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: readers + mutator: unary.remove_not + normalizedText: '!under_nextest' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: remaining + mutator: fn_value.default + normalizedText: '{ deadline.saturating_duration_since(Instant::now()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: cond.always_false + normalizedText: bytes.len() >= OUTPUT_TAIL_CAP + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: cond.always_false + normalizedText: excess > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: cond.always_true + normalizedText: bytes.len() >= OUTPUT_TAIL_CAP + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: cond.always_true + normalizedText: excess > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: cond.negate + normalizedText: bytes.len() >= OUTPUT_TAIL_CAP + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: cond.negate + normalizedText: excess > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: expr.decrement + normalizedText: OUTPUT_TAIL_CAP + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: expr.decrement + normalizedText: bytes.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: expr.increment + normalizedText: OUTPUT_TAIL_CAP + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: expr.increment + normalizedText: bytes.len() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: fn_value.bool_false + normalizedText: '{ if bytes.len() >= OUTPUT_TAIL_CAP { tail.clear(); tail.extend(bytes[bytes.len() - OUTPUT_TAIL_CAP..].iter().copied()); + return true; } let excess = tail.len().saturating_add(bytes.len()).saturating_sub(OUTPUT_TAIL_CAP); if excess > 0 + { tail.drain(..excess); } tail.extend(bytes.iter().copied()); excess > 0 }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: fn_value.bool_true + normalizedText: '{ if bytes.len() >= OUTPUT_TAIL_CAP { tail.clear(); tail.extend(bytes[bytes.len() - OUTPUT_TAIL_CAP..].iter().copied()); + return true; } let excess = tail.len().saturating_add(bytes.len()).saturating_sub(OUTPUT_TAIL_CAP); if excess > 0 + { tail.drain(..excess); } tail.extend(bytes.iter().copied()); excess > 0 }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: relational.ge_to_gt + normalizedText: bytes.len() >= OUTPUT_TAIL_CAP + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: relational.ge_to_le + normalizedText: bytes.len() >= OUTPUT_TAIL_CAP + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: relational.gt_to_ge + normalizedText: excess > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: relational.gt_to_ge + normalizedText: excess > 0 + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: relational.gt_to_lt + normalizedText: excess > 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: relational.gt_to_lt + normalizedText: excess > 0 + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: retain_output_tail + mutator: stmt.delete_call + normalizedText: tail.extend(bytes.iter().copied()); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: cond.always_false + normalizedText: observed.reach == ReachObservation::Reached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: cond.always_false + normalizedText: reach != ReachObservation::Reached && observed.reach == ReachObservation::NotReached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: cond.always_true + normalizedText: observed.reach == ReachObservation::Reached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: cond.always_true + normalizedText: reach != ReachObservation::Reached && observed.reach == ReachObservation::NotReached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: cond.negate + normalizedText: observed.reach == ReachObservation::Reached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: cond.negate + normalizedText: reach != ReachObservation::Reached && observed.reach == ReachObservation::NotReached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: logical.and_to_or + normalizedText: reach != ReachObservation::Reached && observed.reach == ReachObservation::NotReached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: match_guard.always_false + normalizedText: confirm + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: match_guard.always_true + normalizedText: confirm + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: match_guard.negate + normalizedText: confirm + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: relational.eq_to_ne + normalizedText: observed.reach == ReachObservation::NotReached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: relational.eq_to_ne + normalizedText: observed.reach == ReachObservation::Reached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: relational.ne_to_eq + normalizedText: reach != ReachObservation::Reached + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: stmt.delete_assign + normalizedText: reach = ReachObservation::NotReached; + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_binary_observed + mutator: stmt.delete_assign + normalizedText: reach = ReachObservation::Reached; + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: cond.always_false + normalizedText: stalled || deadline.is_some_and(|deadline| Instant::now() >= deadline) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: cond.always_false + normalizedText: status.success() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: cond.always_true + normalizedText: stalled || deadline.is_some_and(|deadline| Instant::now() >= deadline) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: cond.always_true + normalizedText: status.success() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: cond.negate + normalizedText: stalled || deadline.is_some_and(|deadline| Instant::now() >= deadline) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: cond.negate + normalizedText: status.success() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: iter.min_to_max + normalizedText: WAIT_CAP.min(deadline.map_or(WAIT_CAP, remaining)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: iter.min_to_max + normalizedText: WAIT_CAP.min(deadline.map_or(WAIT_CAP, remaining)).min(stall.slack(progress)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: logical.or_to_and + normalizedText: stalled || deadline.is_some_and(|deadline| Instant::now() >= deadline) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: option.some_to_none + normalizedText: Some(termination(status)) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: relational.ge_to_gt + normalizedText: Instant::now() >= deadline + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: relational.ge_to_le + normalizedText: Instant::now() >= deadline + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: stmt.delete_call + normalizedText: configure(&mut command, binary, launch, work.harness_threads(), active, attempt.census); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: stmt.delete_call + normalizedText: configure_loader(&mut command, launch); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: run_with + mutator: stmt.delete_call + normalizedText: pulse.wait(seen, WAIT_CAP.min(deadline.map_or(WAIT_CAP, remaining)).min(stall.slack(progress))); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: settle_suspicions + mutator: expr.decrement + normalizedText: CONFIRM_ROUNDS + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: settle_suspicions + mutator: expr.increment + normalizedText: CONFIRM_ROUNDS + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: settle_suspicions + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: settle_suspicions + mutator: range.exclusive_to_inclusive + normalizedText: 0..CONFIRM_ROUNDS + occurrence: 0 + testSet: 1830 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: assign.sub_to_add + normalizedText: remaining -= 1 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: cond.always_false + normalizedText: count == 0 || text.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: cond.always_false + normalizedText: remaining == 1 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: cond.always_false + normalizedText: selected.contains('\r') + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: cond.always_true + normalizedText: count == 0 || text.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: cond.always_true + normalizedText: remaining == 1 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: cond.always_true + normalizedText: selected.contains('\r') + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: cond.negate + normalizedText: count == 0 || text.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: cond.negate + normalizedText: remaining == 1 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: cond.negate + normalizedText: selected.contains('\r') + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: fn_value.default + normalizedText: '{ if count == 0 || text.is_empty() { return Cow::Borrowed(""); } let text = text.strip_suffix(''\n'').map_or(text, + |without_newline| { without_newline.strip_suffix(''\r'').unwrap_or(without_newline) }); let mut remaining = count; + let mut start = 0; for (index, _) in text.match_indices(''\n'').rev() { if remaining == 1 { start = index + 1; break; + } remaining -= 1; } let selected = text.get(start..).unwrap_or_default(); if selected.contains(''\r'') { Cow::Owned(selected.lines().collect::>().join("\n")) + } else { Cow::Borrowed(selected) } }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: logical.or_to_and + normalizedText: count == 0 || text.is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: relational.eq_to_ne + normalizedText: count == 0 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: relational.eq_to_ne + normalizedText: remaining == 1 + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: tail + mutator: stmt.delete_assign + normalizedText: remaining -= 1; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: watch + mutator: cond.always_false + normalizedText: interleaved || std::env::var_os("RUST_TEST_NOCAPTURE").is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: watch + mutator: cond.always_false + normalizedText: work.runner().is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: watch + mutator: cond.always_true + normalizedText: interleaved || std::env::var_os("RUST_TEST_NOCAPTURE").is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: watch + mutator: cond.always_true + normalizedText: work.runner().is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: watch + mutator: cond.negate + normalizedText: interleaved || std::env::var_os("RUST_TEST_NOCAPTURE").is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: watch + mutator: cond.negate + normalizedText: work.runner().is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: watch + mutator: iter.any_to_all + normalizedText: work .test_arguments() .iter() .any(|argument| argument == "--nocapture" || argument == "--show-output") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: watch + mutator: literal.str_to_empty + normalizedText: '"RUST_TEST_NOCAPTURE"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: watch + mutator: literal.str_to_xyzzy + normalizedText: '"RUST_TEST_NOCAPTURE"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: watch + mutator: logical.or_to_and + normalizedText: interleaved || std::env::var_os("RUST_TEST_NOCAPTURE").is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: working_directory + mutator: cond.always_false + normalizedText: binary.manifest_dir.as_str().is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: working_directory + mutator: cond.always_true + normalizedText: binary.manifest_dir.as_str().is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/verdict.rs + item: working_directory + mutator: cond.negate + normalizedText: binary.manifest_dir.as_str().is_empty() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ::drop + mutator: cond.always_false + normalizedText: self.torn_down + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ::drop + mutator: cond.always_true + normalizedText: self.torn_down + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ::drop + mutator: cond.negate + normalizedText: self.torn_down + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ::drop + mutator: fn_value.unit + normalizedText: '{ if self.torn_down { return; } let _torn_down = self.teardown(); }' + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::adopt + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1959 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::adopt + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1959 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::adopt + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 1959 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::adopt + mutator: literal.str_to_empty + normalizedText: '"gamma-rt"' + occurrence: 0 + testSet: 1959 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::adopt + mutator: literal.str_to_xyzzy + normalizedText: '"gamma-rt"' + occurrence: 0 + testSet: 1959 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::calibrate_harness + mutator: expr.decrement + normalizedText: jobs + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::calibrate_harness + mutator: expr.increment + normalizedText: jobs + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::calibrate_harness + mutator: fn_value.unit + normalizedText: '{ let cores = thread::available_parallelism().map_or(1, NonZeroUsize::get); let inherited = env::var(TEST_THREADS_VAR).ok(); + let _settled = self .harness_threads .set(harness_threads(jobs, cores, inherited.as_deref()).map(|threads| threads.to_string())); + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::calibrate_harness + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::calibrate_harness + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::cargo + mutator: cond.always_false + normalizedText: self.cargo.color + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::cargo + mutator: cond.always_true + normalizedText: self.cargo.color + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::cargo + mutator: cond.negate + normalizedText: self.cargo.color + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::cargo + mutator: literal.str_to_empty + normalizedText: '"CARGO_TARGET_DIR"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::cargo + mutator: literal.str_to_empty + normalizedText: '"CARGO_TERM_COLOR"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::cargo + mutator: literal.str_to_empty + normalizedText: '"never"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::cargo + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_TARGET_DIR"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::cargo + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_TERM_COLOR"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::cargo + mutator: literal.str_to_xyzzy + normalizedText: '"never"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::cargo + mutator: stmt.delete_call + normalizedText: cap_ambient_rustflags(&mut command); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::cargo + mutator: stmt.delete_call + normalizedText: self.inherit_test_cache_home(&mut command); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::harness_threads + mutator: fn_value.none + normalizedText: '{ self.harness_threads.get().and_then(Option::as_deref) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::inherit_test_cache_home + mutator: fn_value.unit + normalizedText: '{ #[cfg(any(test, feature = "internals"))] crate::testing::inherit_cache_home(command, self.test_cache_home.as_deref()); + #[cfg(not(any(test, feature = "internals")))] let _ = command; }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::inherit_test_cache_home + mutator: stmt.delete_call + normalizedText: '#[cfg(any(test, feature = "internals"))] crate::testing::inherit_cache_home(command, self.test_cache_home.as_deref());' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::link_runtime + mutator: fn_value.ok + normalizedText: '{ let runtime = &self.runtime; let Some(path) = self.manifest_of(package, files) else { return Ok(()); + }; let mut manifest = Manifest::read(&path)?; manifest.link_runtime(runtime)?; manifest.save() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: cond.always_false + normalizedText: candidate.as_std_path().is_file() && physical(&candidate).starts_with(&real_root) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: cond.always_false + normalizedText: directory == self.root + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: cond.always_true + normalizedText: candidate.as_std_path().is_file() && physical(&candidate).starts_with(&real_root) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: cond.always_true + normalizedText: directory == self.root + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: cond.negate + normalizedText: candidate.as_std_path().is_file() && physical(&candidate).starts_with(&real_root) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: cond.negate + normalizedText: directory == self.root + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: cond.negate + normalizedText: directory.pop() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: fn_value.none + normalizedText: '{ let file = files.iter().find(|file| file.package == package)?; let mut directory = self.root.join(&file.path); + let real_root = physical(&self.root); while directory.pop() { let candidate = directory.join("Cargo.toml"); if candidate.as_std_path().is_file() + && physical(&candidate).starts_with(&real_root) { return Some(candidate); } if directory == self.root { break; } } + None }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: logical.and_to_or + normalizedText: candidate.as_std_path().is_file() && physical(&candidate).starts_with(&real_root) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: option.some_to_none + normalizedText: Some(candidate) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: relational.eq_to_ne + normalizedText: directory == self.root + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: relational.eq_to_ne + normalizedText: file.package == package + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::manifest_of + mutator: string.starts_with_to_ends_with + normalizedText: physical(&candidate).starts_with(&real_root) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + mutator: cond.always_false + normalizedText: '!metadata.is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + mutator: cond.always_false + normalizedText: '!real_path.starts_with(&real_root)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + mutator: cond.always_true + normalizedText: '!metadata.is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + mutator: cond.always_true + normalizedText: '!real_path.starts_with(&real_root)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + mutator: cond.negate + normalizedText: '!metadata.is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + mutator: cond.negate + normalizedText: '!real_path.starts_with(&real_root)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + mutator: fn_value.ok + normalizedText: "{ let metadata = fs::symlink_metadata(path.as_std_path()) .map_err(|cause| error!(\"could not write\ + \ `{path}`, which the copy did not create\").caused_by(cause))?; if !metadata.is_file() { return Err(error!( \"refusing\ + \ to write `{path}`, which is a link or a device rather than the copied source file\" )); } let (real_path, real_root)\ + \ = (physical(path), physical(root)); if !real_path.starts_with(&real_root) { return Err(error!( \"refusing to write\ + \ `{path}`, which is `{real_path}` — outside the scratch tree at `{real_root}`, \\\n so the write\ + \ would land in the real source tree\" )); } if let Ok(existing) = fs::read(path.as_std_path()) && existing == contents.as_bytes()\ + \ { return Ok(false); } fs::write(path.as_std_path(), contents).map_err(|cause| error!(\"could not write `{path}`\"\ + ).caused_by(cause))?; Ok(true) }" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1791 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + mutator: relational.eq_to_ne + normalizedText: existing == contents.as_bytes() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + mutator: string.starts_with_to_ends_with + normalizedText: real_path.starts_with(&real_root) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + mutator: unary.remove_not + normalizedText: '!metadata.is_file()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::overwrite + mutator: unary.remove_not + normalizedText: '!real_path.starts_with(&real_root)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: cond.always_false + normalizedText: config.cache_dir.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: cond.always_false + normalizedText: config.cache_dir.is_none() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: cond.always_false + normalizedText: config.cache_dir.is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: cond.always_true + normalizedText: config.cache_dir.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: cond.always_true + normalizedText: config.cache_dir.is_none() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: cond.always_true + normalizedText: config.cache_dir.is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: cond.negate + normalizedText: config.cache_dir.is_none() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: cond.negate + normalizedText: config.cache_dir.is_none() + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: cond.negate + normalizedText: config.cache_dir.is_some() + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.str_to_empty + normalizedText: '"Copied"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.str_to_empty + normalizedText: '"Copying"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.str_to_empty + normalizedText: '"rt"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.str_to_empty + normalizedText: '"target"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.str_to_empty + normalizedText: '"the workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.str_to_empty + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.str_to_xyzzy + normalizedText: '"Copied"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.str_to_xyzzy + normalizedText: '"Copying"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.str_to_xyzzy + normalizedText: '"rt"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.str_to_xyzzy + normalizedText: '"target"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.str_to_xyzzy + normalizedText: '"the workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: literal.str_to_xyzzy + normalizedText: '"workspace"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: stmt.delete_call + normalizedText: '#[cfg(any(test, feature = "internals"))] crate::testing::pause_during_workspace_preparation(source, + cache_lock_identity(&locks));' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: stmt.delete_call + normalizedText: events.begin("Copying", "Copied", "the workspace"); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::prepare_with_locks + mutator: stmt.delete_call + normalizedText: events.end(""); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::rustc_captures + mutator: fn_value.none + normalizedText: '{ wrapper_path()?; cfg::rustc_wrapper_chain(&self.root)?; Some(self.target.join(".cargo-gamma-rustc")) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::set_test_args + mutator: assign_value.default + normalizedText: args + occurrence: 0 + testSet: 1959 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::set_test_args + mutator: fn_value.unit + normalizedText: '{ self.cargo.test_args = args; }' + occurrence: 0 + testSet: 1959 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::set_test_args + mutator: stmt.delete_assign + normalizedText: self.cargo.test_args = args; + occurrence: 0 + testSet: 1959 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::settle + mutator: fn_value.unit + normalizedText: '{ self.settled.store(true, Ordering::Relaxed); }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::settle + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::settle + mutator: stmt.delete_call + normalizedText: self.settled.store(true, Ordering::Relaxed); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: cond.always_false + normalizedText: self.leak + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: cond.always_false + normalizedText: self.settled.load(Ordering::Relaxed) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: cond.always_false + normalizedText: self.settled.load(Ordering::Relaxed) + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: cond.always_false + normalizedText: self.torn_down + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: cond.always_true + normalizedText: self.leak + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: cond.always_true + normalizedText: self.settled.load(Ordering::Relaxed) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: cond.always_true + normalizedText: self.settled.load(Ordering::Relaxed) + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: cond.always_true + normalizedText: self.torn_down + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: cond.negate + normalizedText: self.leak + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: cond.negate + normalizedText: self.settled.load(Ordering::Relaxed) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: cond.negate + normalizedText: self.settled.load(Ordering::Relaxed) + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: cond.negate + normalizedText: self.torn_down + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: fn_value.ok + normalizedText: '{ if self.torn_down { return Ok(()); } self.torn_down = true; if self.leak { return Ok(()); } let tree + = if self.settled.load(Ordering::Relaxed) { Ok(()) } else { remove_tree(&self.root) }; let build = if self.settled.load(Ordering::Relaxed) + { Ok(()) } else { remove_tree(&self.target) }; tree.and(build) }' + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::teardown + mutator: stmt.delete_assign + normalizedText: self.torn_down = true; + occurrence: 0 + testSet: 1958 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: Workspace::test_arguments + mutator: fn_value.default + normalizedText: '{ &self.cargo.test_args }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: absolute + mutator: cond.always_false + normalizedText: path.is_absolute() + occurrence: 0 + testSet: 1960 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: absolute + mutator: cond.always_true + normalizedText: path.is_absolute() + occurrence: 0 + testSet: 1960 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: absolute + mutator: cond.negate + normalizedText: path.is_absolute() + occurrence: 0 + testSet: 1960 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: absolute + mutator: fn_value.default + normalizedText: '{ let rooted = if path.is_absolute() { path.to_owned() } else { env::current_dir() .ok() .and_then(|cwd| + Utf8PathBuf::from_path_buf(cwd).ok()) .map_or_else(|| path.to_owned(), |cwd| cwd.join(path)) }; let mut normalised + = Utf8PathBuf::new(); for component in rooted.components() { match component { Utf8Component::CurDir => {} Utf8Component::ParentDir + => match normalised.components().next_back() { Some(Utf8Component::Normal(_)) => { let _popped = normalised.pop(); + } _ => normalised.push(component), }, other => normalised.push(other), } } normalised }' + occurrence: 0 + testSet: 1960 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: absolute + mutator: match_arm.never_matches + normalizedText: Some(Utf8Component::Normal(_)) + occurrence: 0 + testSet: 1959 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: absolute + mutator: match_arm.never_matches + normalizedText: Utf8Component::ParentDir + occurrence: 0 + testSet: 1959 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: absolute_cache_home + mutator: fn_value.none + normalizedText: '{ Utf8PathBuf::from_path_buf(path.into()).ok().filter(|path| path.is_absolute()) }' + occurrence: 0 + testSet: 1961 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + mutator: cond.always_false + normalizedText: entry.file_name() != "Cargo.toml" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + mutator: cond.always_true + normalizedText: entry.file_name() != "Cargo.toml" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + mutator: cond.negate + normalizedText: entry.file_name() != "Cargo.toml" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + mutator: literal.str_to_empty + normalizedText: '"a scratch manifest"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + mutator: literal.str_to_xyzzy + normalizedText: '"a scratch manifest"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + mutator: relational.ne_to_eq + normalizedText: entry.file_name() != "Cargo.toml" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: anchor_manifests + mutator: stmt.delete_call + normalizedText: manifest.anchor_paths(&source.join(original), original); + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + mutator: cond.always_false + normalizedText: name.starts_with("CARGO_TARGET_") && name.ends_with("_RUSTFLAGS") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + mutator: cond.always_true + normalizedText: name.starts_with("CARGO_TARGET_") && name.ends_with("_RUSTFLAGS") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + mutator: cond.negate + normalizedText: name.starts_with("CARGO_TARGET_") && name.ends_with("_RUSTFLAGS") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + mutator: literal.str_to_empty + normalizedText: '"CARGO_BUILD_RUSTFLAGS"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + mutator: literal.str_to_empty + normalizedText: '"CARGO_ENCODED_RUSTFLAGS"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + mutator: literal.str_to_empty + normalizedText: '"CARGO_TARGET_"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + mutator: literal.str_to_empty + normalizedText: '"RUSTFLAGS"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_BUILD_RUSTFLAGS"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_ENCODED_RUSTFLAGS"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO_TARGET_"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + mutator: literal.str_to_xyzzy + normalizedText: '"RUSTFLAGS"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + mutator: logical.and_to_or + normalizedText: name.starts_with("CARGO_TARGET_") && name.ends_with("_RUSTFLAGS") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cap_ambient_rustflags + mutator: string.starts_with_to_ends_with + normalizedText: name.starts_with("CARGO_TARGET_") + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cargo_binary + mutator: fn_value.empty_string + normalizedText: '{ env::var("CARGO").unwrap_or_else(|_missing| "cargo".to_owned()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cargo_binary + mutator: fn_value.xyzzy_string + normalizedText: '{ env::var("CARGO").unwrap_or_else(|_missing| "cargo".to_owned()) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cargo_binary + mutator: literal.str_to_empty + normalizedText: '"CARGO"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cargo_binary + mutator: literal.str_to_empty + normalizedText: '"cargo"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cargo_binary + mutator: literal.str_to_xyzzy + normalizedText: '"CARGO"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: cargo_binary + mutator: literal.str_to_xyzzy + normalizedText: '"cargo"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim + mutator: literal.str_to_empty + normalizedText: '"lock"' + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim + mutator: literal.str_to_xyzzy + normalizedText: '"lock"' + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim_cache + mutator: cond.always_false + normalizedText: cache.is_some() && physical(&base) != physical(&default) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim_cache + mutator: cond.always_true + normalizedText: cache.is_some() && physical(&base) != physical(&default) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim_cache + mutator: cond.negate + normalizedText: cache.is_some() && physical(&base) != physical(&default) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim_cache + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim_cache + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim_cache + mutator: logical.and_to_or + normalizedText: cache.is_some() && physical(&base) != physical(&default) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim_cache + mutator: option.some_to_none + normalizedText: Some(claim_redirected_cache(root, &base)?) + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim_cache + mutator: relational.ne_to_eq + normalizedText: physical(&base) != physical(&default) + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim_redirected_cache + mutator: cond.always_false + normalizedText: base.exists() + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim_redirected_cache + mutator: cond.always_true + normalizedText: base.exists() + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: claim_redirected_cache + mutator: cond.negate + normalizedText: base.exists() + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: cond.always_false + normalizedText: base.exists() + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: cond.always_false + normalizedText: entry.file_name() == "lock" || entry.file_name() == CACHE_OWNER + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: cond.always_true + normalizedText: base.exists() + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: cond.always_true + normalizedText: entry.file_name() == "lock" || entry.file_name() == CACHE_OWNER + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: cond.negate + normalizedText: base.exists() + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: cond.negate + normalizedText: entry.file_name() == "lock" || entry.file_name() == CACHE_OWNER + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: fn_value.ok + normalizedText: '{ let base = gamma_base(root, None); let mut removed = false; validate_default_cache_base(root, &base)?; + if base.exists() { reject_linked_cache(&base)?; let _lock = claim(&base)?; validate_cache_owner(root, &base, CacheKind::Default)?; + let entries = fs::read_dir(base.as_std_path()).map_err(|cause| error!("could not read cargo-gamma''s cache at `{base}`").caused_by(cause))?; + for entry in entries { let entry = entry.map_err(|cause| error!("could not read an entry in cargo-gamma''s cache at + `{base}`").caused_by(cause))?; if entry.file_name() == "lock" || entry.file_name() == CACHE_OWNER { continue; } remove_cached(&entry)?; + removed = true; } } Ok(removed) }' + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: literal.str_to_empty + normalizedText: '"lock"' + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: literal.str_to_xyzzy + normalizedText: '"lock"' + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: logical.or_to_and + normalizedText: entry.file_name() == "lock" || entry.file_name() == CACHE_OWNER + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: relational.eq_to_ne + normalizedText: entry.file_name() == "lock" + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: relational.eq_to_ne + normalizedText: entry.file_name() == CACHE_OWNER + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: clean_cache + mutator: stmt.delete_assign + normalizedText: removed = true; + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: create_private_dir_all + mutator: fn_value.ok + normalizedText: '{ fs::create_dir_all(path.as_std_path()) }' + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: default_cache_home + mutator: fn_value.default + normalizedText: '{ #[cfg(any(test, feature = "internals"))] if let Some(home) = crate::testing::cache_home(root) { return + home.join("cargo-gamma"); } if let Some(home) = env::var_os(TEST_CACHE_HOME_VAR).and_then(absolute_cache_home) { return + home.join("cargo-gamma"); } default_cache_home_with(root, |name| env::var_os(name)) }' + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: default_cache_home + mutator: literal.str_to_empty + normalizedText: '"cargo-gamma"' + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: default_cache_home + mutator: literal.str_to_xyzzy + normalizedText: '"cargo-gamma"' + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: default_cache_home_with + mutator: fn_value.default + normalizedText: '{ get("XDG_CACHE_HOME") .and_then(absolute_cache_home) .or_else(|| get("LOCALAPPDATA").and_then(absolute_cache_home)) + .or_else(|| get("HOME").and_then(absolute_cache_home).map(|home| home.join(".cache"))) .unwrap_or_else(|| absolute(root).parent().unwrap_or(root).join(".cargo-gamma-cache")) + .join("cargo-gamma") }' + occurrence: 0 + testSet: 1961 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: default_cache_home_with + mutator: literal.str_to_empty + normalizedText: '"LOCALAPPDATA"' + occurrence: 0 + testSet: 1961 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: default_cache_home_with + mutator: literal.str_to_empty + normalizedText: '"XDG_CACHE_HOME"' + occurrence: 0 + testSet: 1961 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: default_cache_home_with + mutator: literal.str_to_empty + normalizedText: '"cargo-gamma"' + occurrence: 0 + testSet: 1961 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: default_cache_home_with + mutator: literal.str_to_xyzzy + normalizedText: '"LOCALAPPDATA"' + occurrence: 0 + testSet: 1961 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: default_cache_home_with + mutator: literal.str_to_xyzzy + normalizedText: '"XDG_CACHE_HOME"' + occurrence: 0 + testSet: 1961 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: default_cache_home_with + mutator: literal.str_to_xyzzy + normalizedText: '"cargo-gamma"' + occurrence: 0 + testSet: 1961 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: digest_workspace_path + mutator: fn_value.empty_string + normalizedText: '{ let digest = blake3::hash(root.as_str().as_bytes()); let mut identity = [u8::MIN; 8]; identity.copy_from_slice(digest.as_bytes().get(..8).expect("a + BLAKE3 digest is 32 bytes long")); format!("{:016x}", u64::from_be_bytes(identity)) }' + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: digest_workspace_path + mutator: fn_value.xyzzy_string + normalizedText: '{ let digest = blake3::hash(root.as_str().as_bytes()); let mut identity = [u8::MIN; 8]; identity.copy_from_slice(digest.as_bytes().get(..8).expect("a + BLAKE3 digest is 32 bytes long")); format!("{:016x}", u64::from_be_bytes(identity)) }' + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: digest_workspace_path + mutator: literal.int_decrement + normalizedText: '8' + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: digest_workspace_path + mutator: literal.int_increment + normalizedText: '8' + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: digest_workspace_path + mutator: literal.int_to_one + normalizedText: '8' + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: digest_workspace_path + mutator: literal.int_to_zero + normalizedText: '8' + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: digest_workspace_path + mutator: range.exclusive_to_inclusive + normalizedText: ..8 + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: digest_workspace_path + mutator: stmt.delete_call + normalizedText: identity.copy_from_slice(digest.as_bytes().get(..8).expect("a BLAKE3 digest is 32 bytes long")); + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ensure_copy_terminates + mutator: cond.always_false + normalizedText: '!real_base.starts_with(&real_source) || prunes_in_practice(source, base, &real_source, &real_base)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ensure_copy_terminates + mutator: cond.always_true + normalizedText: '!real_base.starts_with(&real_source) || prunes_in_practice(source, base, &real_source, &real_base)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ensure_copy_terminates + mutator: cond.negate + normalizedText: '!real_base.starts_with(&real_source) || prunes_in_practice(source, base, &real_source, &real_base)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ensure_copy_terminates + mutator: fn_value.ok + normalizedText: "{ let (real_source, real_base) = (physical(source), physical(base)); if !real_base.starts_with(&real_source)\ + \ || prunes_in_practice(source, base, &real_source, &real_base) { return Ok(()); } if prunes(&real_source, &real_base)\ + \ { return Err(error!( \"the scratch directory `{base}` is `{real_base}`, inside the workspace at `{source}`, but\ + \ is \\\n not named as a path inside it — so the copy cannot skip it and would copy the copy.\\n\\\n \ + \ Point --cache-dir at a directory that is really outside the workspace.\" ) .usage()); } Err(error!( \"\ + the scratch directory `{base}` is the workspace at `{source}` itself, so copying the \\\n workspace would\ + \ copy the copy.\\n\\\n Point --cache-dir at a directory outside the workspace.\" ) .usage()) }" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ensure_copy_terminates + mutator: logical.or_to_and + normalizedText: '!real_base.starts_with(&real_source) || prunes_in_practice(source, base, &real_source, &real_base)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ensure_copy_terminates + mutator: string.starts_with_to_ends_with + normalizedText: real_base.starts_with(&real_source) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ensure_copy_terminates + mutator: unary.remove_not + normalizedText: '!real_base.starts_with(&real_source)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ensure_vcs_visibility + mutator: cond.always_false + normalizedText: source_metadata.is_empty() + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ensure_vcs_visibility + mutator: cond.always_true + normalizedText: source_metadata.is_empty() + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ensure_vcs_visibility + mutator: cond.negate + normalizedText: source_metadata.is_empty() + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: ensure_vcs_visibility + mutator: fn_value.ok + normalizedText: "{ let source_metadata = visible_vcs_metadata(source); if source_metadata.is_empty() { return Ok(());\ + \ } let scratch_metadata = visible_vcs_metadata(scratch); let hidden: Vec<&Utf8PathBuf> = source_metadata.iter().filter(|marker|\ + \ !scratch_metadata.contains(marker)).collect(); if hidden.is_empty() { return Ok(()); } Err(error!( \"`--cache-dir`\ + \ would relocate the cached workspace to `{scratch}`, where build scripts cannot see VCS metadata available from `{source}`:\ + \ {}. \\\n Use a cache directory beneath the same repository, or remove the build-time VCS dependency.\",\ + \ hidden.iter().map(|marker| marker.as_str()).collect::>().join(\", \") ) .usage()) }" + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: gamma_base + mutator: fn_value.default + normalizedText: '{ let root = absolute(root); let base = cache.map_or_else(|| default_cache_home(&root).join(workspace_identity(&root)), + Utf8Path::to_owned); absolute(&base) }' + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: has_unowned_entries + mutator: cond.always_false + normalizedText: entry.file_name() != "lock" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: has_unowned_entries + mutator: cond.always_true + normalizedText: entry.file_name() != "lock" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: has_unowned_entries + mutator: cond.negate + normalizedText: entry.file_name() != "lock" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: has_unowned_entries + mutator: fn_value.ok + normalizedText: '{ let entries = fs::read_dir(base.as_std_path()).map_err(|cause| error!("could not inspect the cache + at `{base}`").caused_by(cause))?; for entry in entries { let entry = entry.map_err(|cause| error!("could not inspect + an entry in the cache at `{base}`").caused_by(cause))?; if entry.file_name() != "lock" { return Ok(true); } } Ok(false) + }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: has_unowned_entries + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: has_unowned_entries + mutator: literal.str_to_empty + normalizedText: '"lock"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: has_unowned_entries + mutator: literal.str_to_xyzzy + normalizedText: '"lock"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: has_unowned_entries + mutator: relational.ne_to_eq + normalizedText: entry.file_name() != "lock" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: open_cache_owner + mutator: cond.always_false + normalizedText: '!metadata.is_file()' + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: open_cache_owner + mutator: cond.always_true + normalizedText: '!metadata.is_file()' + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: open_cache_owner + mutator: cond.negate + normalizedText: '!metadata.is_file()' + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: open_cache_owner + mutator: unary.remove_not + normalizedText: '!metadata.is_file()' + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: physical + mutator: cond.always_false + normalizedText: '!existing.pop()' + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: physical + mutator: cond.always_true + normalizedText: '!existing.pop()' + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: physical + mutator: cond.negate + normalizedText: '!existing.pop()' + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: physical + mutator: fn_value.default + normalizedText: '{ let mut existing = path.to_owned(); let mut tail: Vec = Vec::new(); loop { if let Ok(resolved) + = fs::canonicalize(existing.as_std_path()) { let Ok(mut resolved) = Utf8PathBuf::from_path_buf(resolved) else { return + path.to_owned(); }; for name in tail.iter().rev() { resolved.push(name); } return resolved; } let Some(name) = existing.file_name().map(str::to_owned) + else { return path.to_owned(); }; tail.push(name); if !existing.pop() { return path.to_owned(); } } }' + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: physical + mutator: stmt.delete_call + normalizedText: resolved.push(name); + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: physical + mutator: stmt.delete_call + normalizedText: tail.push(name); + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: physical + mutator: unary.remove_not + normalizedText: '!existing.pop()' + occurrence: 0 + testSet: 1957 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: production_gamma_base + mutator: fn_value.default + normalizedText: '{ let root = absolute(root); absolute(&default_cache_home_with(&root, |name| env::var_os(name)).join(workspace_identity(&root))) + }' + occurrence: 0 + testSet: 1961 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: prunes_in_practice + mutator: fn_value.bool_false + normalizedText: '{ let Ok(relative) = base.strip_prefix(source) else { return false; }; !relative.as_str().is_empty() + && real_base == real_source.join(relative) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: prunes_in_practice + mutator: fn_value.bool_true + normalizedText: '{ let Ok(relative) = base.strip_prefix(source) else { return false; }; !relative.as_str().is_empty() + && real_base == real_source.join(relative) }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: prunes_in_practice + mutator: logical.and_to_or + normalizedText: '!relative.as_str().is_empty() && real_base == real_source.join(relative)' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: prunes_in_practice + mutator: relational.eq_to_ne + normalizedText: real_base == real_source.join(relative) + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: prunes_in_practice + mutator: unary.remove_not + normalizedText: '!relative.as_str().is_empty()' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: reject_linked_cache + mutator: cond.always_false + normalizedText: '!metadata.is_dir()' + occurrence: 0 + testSet: 1965 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: reject_linked_cache + mutator: cond.always_false + normalizedText: metadata.file_type().is_symlink() + occurrence: 0 + testSet: 1965 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: reject_linked_cache + mutator: cond.always_true + normalizedText: '!metadata.is_dir()' + occurrence: 0 + testSet: 1965 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: reject_linked_cache + mutator: cond.always_true + normalizedText: metadata.file_type().is_symlink() + occurrence: 0 + testSet: 1965 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: reject_linked_cache + mutator: cond.negate + normalizedText: '!metadata.is_dir()' + occurrence: 0 + testSet: 1965 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: reject_linked_cache + mutator: cond.negate + normalizedText: metadata.file_type().is_symlink() + occurrence: 0 + testSet: 1965 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: reject_linked_cache + mutator: fn_value.ok + normalizedText: "{ let metadata = fs::symlink_metadata(base.as_std_path()) .map_err(|cause| error!(\"could not inspect\ + \ the redirected cargo-gamma cache at `{base}`\").caused_by(cause))?; if metadata.file_type().is_symlink() { return\ + \ Err(error!( \"the redirected cache at `{base}` is a link.\\n\\\n Pass the directory itself to --cache-dir:\ + \ a link can be repointed after it has been checked, \\\n at a directory whose contents this tool would\ + \ then build and run.\" ) .usage()); } if !metadata.is_dir() { return Err(error!( \"the redirected cache at `{base}`\ + \ is not a directory.\\n\\\n Choose an empty directory for --cache-dir.\" ) .usage()); } Ok(()) }" + occurrence: 0 + testSet: 1965 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: reject_linked_cache + mutator: unary.remove_not + normalizedText: '!metadata.is_dir()' + occurrence: 0 + testSet: 1965 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: remove_cached + mutator: cond.always_false + normalizedText: file_type.is_dir() && !file_type.is_symlink() + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: remove_cached + mutator: cond.always_true + normalizedText: file_type.is_dir() && !file_type.is_symlink() + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: remove_cached + mutator: cond.negate + normalizedText: file_type.is_dir() && !file_type.is_symlink() + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: remove_cached + mutator: fn_value.ok + normalizedText: '{ let path = entry.path(); let file_type = entry .file_type() .map_err(|cause| error!("could not inspect + cached data at `{}`", path.display()).caused_by(cause))?; let result = if file_type.is_dir() && !file_type.is_symlink() + { fs::remove_dir_all(&path) } else { fs::remove_file(&path) }; result.map_err(|cause| error!("could not remove cached + data at `{}`", path.display()).caused_by(cause)) }' + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: remove_cached + mutator: logical.and_to_or + normalizedText: file_type.is_dir() && !file_type.is_symlink() + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: remove_cached + mutator: unary.remove_not + normalizedText: '!file_type.is_symlink()' + occurrence: 0 + testSet: 1817 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: try_lock + mutator: fn_value.ok + normalizedText: '{ #[cfg(test)] if faults::fired(Fault::Lock) { return Err(TryLockError::Error(io::Error::from(io::ErrorKind::Unsupported))); + } #[cfg(test)] for _ in 0..250 { match file.try_lock() { Err(TryLockError::WouldBlock) => std::thread::sleep(std::time::Duration::from_millis(1)), + result => return result, } } file.try_lock() }' + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.always_false + normalizedText: '!metadata.is_file()' + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.always_false + normalizedText: has_unowned_entries(base)? + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.always_false + normalizedText: metadata.len() == 0 || metadata.len() > MAX_CACHE_OWNER_LEN + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.always_false + normalizedText: recorded != source.as_str() + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.always_false + normalizedText: u64::try_from(recorded.len()).unwrap_or(u64::MAX) != metadata.len() + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.always_true + normalizedText: '!metadata.is_file()' + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.always_true + normalizedText: has_unowned_entries(base)? + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.always_true + normalizedText: metadata.len() == 0 || metadata.len() > MAX_CACHE_OWNER_LEN + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.always_true + normalizedText: recorded != source.as_str() + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.always_true + normalizedText: u64::try_from(recorded.len()).unwrap_or(u64::MAX) != metadata.len() + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.negate + normalizedText: '!metadata.is_file()' + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.negate + normalizedText: has_unowned_entries(base)? + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.negate + normalizedText: metadata.len() == 0 || metadata.len() > MAX_CACHE_OWNER_LEN + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.negate + normalizedText: recorded != source.as_str() + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: cond.negate + normalizedText: u64::try_from(recorded.len()).unwrap_or(u64::MAX) != metadata.len() + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: expr.decrement + normalizedText: MAX_CACHE_OWNER_LEN.saturating_add(1) + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: expr.decrement + normalizedText: recorded.len() + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: expr.decrement + normalizedText: u64::MAX + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: expr.increment + normalizedText: MAX_CACHE_OWNER_LEN.saturating_add(1) + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: expr.increment + normalizedText: recorded.len() + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: expr.increment + normalizedText: u64::MAX + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: fn_value.ok + normalizedText: "{ let owner = base.join(CACHE_OWNER); let source = physical(source); match open_cache_owner(&owner)\ + \ { Ok(mut marker) => { let metadata = marker .metadata() .map_err(|cause| error!(\"could not inspect the cargo-gamma\ + \ cache owner marker at `{owner}`\").caused_by(cause))?; if !metadata.is_file() { return Err(error!( \"the cargo-gamma\ + \ cache owner marker at `{owner}` is not a regular file.\\n\\\n {}\", kind.collision_advice()\ + \ ) .usage()); } if metadata.len() == 0 || metadata.len() > MAX_CACHE_OWNER_LEN { return Err(error!( \"the cargo-gamma\ + \ cache owner marker at `{owner}` has an invalid length.\\n\\\n {}\", kind.collision_advice()\ + \ ) .usage()); } let mut recorded = String::new(); (&mut marker) .take(MAX_CACHE_OWNER_LEN.saturating_add(1)) .read_to_string(&mut\ + \ recorded) .map_err(|cause| error!(\"could not read the cargo-gamma cache owner marker at `{owner}`\").caused_by(cause))?;\ + \ if u64::try_from(recorded.len()).unwrap_or(u64::MAX) != metadata.len() { return Err(error!( \"the cargo-gamma cache\ + \ owner marker at `{owner}` has an invalid length.\\n\\\n {}\", kind.collision_advice() ) .usage());\ + \ } if recorded != source.as_str() { return Err(error!( \"the cargo-gamma cache at `{base}` belongs to the workspace\ + \ at `{}`, not `{source}`.\\n\\\n {}\", crate::report::encode_controls(&recorded), kind.collision_advice()\ + \ ) .usage()); } } Err(cause) if cause.kind() == io::ErrorKind::NotFound => { if has_unowned_entries(base)? { return\ + \ Err(unowned_cache(base)); } let mut marker = File::options() .create_new(true) .write(true) .open(owner.as_std_path())\ + \ .map_err(|cause| error!(\"could not write the cargo-gamma cache owner marker at `{owner}`\").caused_by(cause))?;\ + \ marker .write_all(source.as_str().as_bytes()) .map_err(|cause| error!(\"could not write the cargo-gamma cache owner\ + \ marker at `{owner}`\").caused_by(cause))?; } Err(cause) => { return Err(error!(\"could not inspect the cargo-gamma\ + \ cache owner marker at `{owner}`\").caused_by(cause)); } } Ok(()) }" + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: logical.or_to_and + normalizedText: metadata.len() == 0 || metadata.len() > MAX_CACHE_OWNER_LEN + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: match_guard.always_false + normalizedText: cause.kind() == io::ErrorKind::NotFound + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: match_guard.always_true + normalizedText: cause.kind() == io::ErrorKind::NotFound + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: match_guard.negate + normalizedText: cause.kind() == io::ErrorKind::NotFound + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: relational.eq_to_ne + normalizedText: metadata.len() == 0 + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: relational.gt_to_ge + normalizedText: metadata.len() > MAX_CACHE_OWNER_LEN + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: relational.gt_to_lt + normalizedText: metadata.len() > MAX_CACHE_OWNER_LEN + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: relational.ne_to_eq + normalizedText: recorded != source.as_str() + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: relational.ne_to_eq + normalizedText: u64::try_from(recorded.len()).unwrap_or(u64::MAX) != metadata.len() + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_cache_owner + mutator: unary.remove_not + normalizedText: '!metadata.is_file()' + occurrence: 0 + testSet: 1964 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: cond.always_false + normalizedText: '!shaped' + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: cond.always_true + normalizedText: '!shaped' + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: cond.negate + normalizedText: '!shaped' + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: fn_value.ok + normalizedText: "{ let root = absolute(root); let expected_identity = workspace_identity(&root); let shaped = base.file_name()\ + \ == Some(expected_identity.as_str()) && base.parent().is_some_and(|namespace| namespace.file_name() == Some(\"cargo-gamma\"\ + )); if !shaped { return Err(error!( \"cargo-gamma refused the malformed default cache path `{base}`: \\\n \ + \ a default cache must be an identity directory beneath the `cargo-gamma` cache namespace\" )); } #[cfg(any(test,\ + \ feature = \"internals\"))] if let Some(home) = crate::testing::cache_home(&root) && !base.starts_with(&home) { return\ + \ Err(error!( \"cargo-gamma's self-test cache path `{base}` escaped its private cache home `{home}`\" )); } Ok(())\ + \ }" + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: literal.str_to_empty + normalizedText: '"cargo-gamma"' + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: literal.str_to_xyzzy + normalizedText: '"cargo-gamma"' + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: logical.and_to_or + normalizedText: base.file_name() == Some(expected_identity.as_str()) && base.parent().is_some_and(|namespace| namespace.file_name() + == Some("cargo-gamma")) + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: option.some_to_none + normalizedText: Some("cargo-gamma") + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: option.some_to_none + normalizedText: Some(expected_identity.as_str()) + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: relational.eq_to_ne + normalizedText: base.file_name() == Some(expected_identity.as_str()) + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: relational.eq_to_ne + normalizedText: namespace.file_name() == Some("cargo-gamma") + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: string.starts_with_to_ends_with + normalizedText: base.starts_with(&home) + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: unary.remove_not + normalizedText: '!base.starts_with(&home)' + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: validate_default_cache_base + mutator: unary.remove_not + normalizedText: '!shaped' + occurrence: 0 + testSet: 1962 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: vendor_runtime + mutator: fn_value.ok + normalizedText: "{ let source = at.join(\"src\"); fs::create_dir_all(source.as_std_path()).map_err(|cause| error!(\"\ + could not create `{source}`\").caused_by(cause))?; let manifest = format!( \"[package]\\nname = \\\"{RUNTIME_PACKAGE}\\\ + \"\\nversion = \\\"0.0.0\\\"\\nedition = \\\"{}\\\"\\nrust-version = \\\"{}\\\"\\npublish = false\\n\\n\\\n \ + \ [features]\\nembedding = []\\nloom = []\\n\\n[lints.rust]\\nunexpected_cfgs = {{ level = \\\"warn\\\", check-cfg\ + \ = ['cfg(coverage_nightly)', 'cfg(loom)'] }}\\n\\n\\\n [lib]\\nname = \\\"{RUNTIME_CRATE}\\\"\\npath = \\\ + \"src/lib.rs\\\"\\n\\n[workspace]\\n\", gamma_rt::embedded::EDITION, gamma_rt::embedded::RUST_VERSION ); fs::write(at.join(\"\ + Cargo.toml\").as_std_path(), manifest) .map_err(|cause| error!(\"could not write the runtime manifest in `{at}`\"\ + ).caused_by(cause))?; for (name, contents) in gamma_rt::embedded::SOURCES { let path = source.join(name); fs::write(path.as_std_path(),\ + \ contents).map_err(|cause| error!(\"could not write the runtime source `{path}`\").caused_by(cause))?; } Ok(()) }" + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: vendor_runtime + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: vendor_runtime + mutator: literal.str_to_empty + normalizedText: '"src"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: vendor_runtime + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: vendor_runtime + mutator: literal.str_to_xyzzy + normalizedText: '"src"' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: workspace_identity + mutator: fn_value.empty_string + normalizedText: '{ let root = physical(root); digest_workspace_path(&root) }' + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/exec/workspace.rs + item: workspace_identity + mutator: fn_value.xyzzy_string + normalizedText: '{ let root = physical(root); digest_workspace_path(&root) }' + occurrence: 0 + testSet: 1963 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: diff + mutator: fn_value.empty_string + normalizedText: '{ let old: Vec<&str> = before.lines().collect(); let new: Vec<&str> = after.lines().collect(); let + mut out = format!("--- {path}\n+++ {path}\n"); for step in script(&old, &new) { let _ = match step { Step::Kept(line) + => writeln!(out, " {line}"), Step::Added(line) => writeln!(out, "+{line}"), Step::Removed(line) => writeln!(out, "-{line}"), + }; } out }' + occurrence: 0 + testSet: 1966 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: diff + mutator: fn_value.xyzzy_string + normalizedText: '{ let old: Vec<&str> = before.lines().collect(); let new: Vec<&str> = after.lines().collect(); let + mut out = format!("--- {path}\n+++ {path}\n"); for step in script(&old, &new) { let _ = match step { Step::Kept(line) + => writeln!(out, " {line}"), Step::Added(line) => writeln!(out, "+{line}"), Step::Removed(line) => writeln!(out, "-{line}"), + }; } out }' + occurrence: 0 + testSet: 1966 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.add_to_mul + normalizedText: furthest[shift(k - 1)] + 1 + occurrence: 0 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.add_to_mul + normalizedText: k + 1 + occurrence: 0 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.add_to_mul + normalizedText: k + 1 + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.add_to_mul + normalizedText: k + isize::try_from(max).unwrap_or(isize::MAX) + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.add_to_mul + normalizedText: n + m + occurrence: 0 + testSet: 1966 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.add_to_sub + normalizedText: furthest[shift(k - 1)] + 1 + occurrence: 0 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.add_to_sub + normalizedText: k + 1 + occurrence: 0 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.add_to_sub + normalizedText: k + 1 + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.add_to_sub + normalizedText: k + isize::try_from(max).unwrap_or(isize::MAX) + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.add_to_sub + normalizedText: n + m + occurrence: 0 + testSet: 1966 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.sub_to_add + normalizedText: k - 1 + occurrence: 0 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.sub_to_add + normalizedText: k - 1 + occurrence: 1 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.sub_to_add + normalizedText: x - k + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.sub_to_div + normalizedText: k - 1 + occurrence: 0 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.sub_to_div + normalizedText: k - 1 + occurrence: 1 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: arith.sub_to_div + normalizedText: x - k + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: assign.add_to_sub + normalizedText: k += 2 + occurrence: 0 + testSet: 1970 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: assign.add_to_sub + normalizedText: x += 1 + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: assign.add_to_sub + normalizedText: y += 1 + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: assign_value.default + normalizedText: x + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: cond.always_false + normalizedText: down + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: cond.always_false + normalizedText: max == 0 + occurrence: 0 + testSet: 1966 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: cond.always_false + normalizedText: max > DIFF_LIMIT && old != new + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: cond.always_false + normalizedText: usize::try_from(x).unwrap_or(0) >= n && usize::try_from(y).unwrap_or(0) >= m + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: cond.always_true + normalizedText: down + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: cond.always_true + normalizedText: max == 0 + occurrence: 0 + testSet: 1966 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: cond.always_true + normalizedText: max > DIFF_LIMIT && old != new + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: cond.always_true + normalizedText: usize::try_from(x).unwrap_or(0) >= n && usize::try_from(y).unwrap_or(0) >= m + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: cond.negate + normalizedText: down + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: cond.negate + normalizedText: k <= d + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: cond.negate + normalizedText: max == 0 + occurrence: 0 + testSet: 1966 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: cond.negate + normalizedText: max > DIFF_LIMIT && old != new + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: cond.negate + normalizedText: usize::try_from(x).unwrap_or(0) >= n && usize::try_from(y).unwrap_or(0) >= m + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: -d + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: d + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: d + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: isize::MAX + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: isize::MAX + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: k + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: k + 1 + occurrence: 0 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: k + 1 + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: k + isize::try_from(max).unwrap_or(isize::MAX) + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: k - 1 + occurrence: 0 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: k - 1 + occurrence: 1 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: x + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: x + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: xi + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: y + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: y + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.decrement + normalizedText: yi + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: -d + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: d + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: d + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: isize::MAX + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: isize::MAX + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: k + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: k + 1 + occurrence: 0 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: k + 1 + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: k + isize::try_from(max).unwrap_or(isize::MAX) + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: k - 1 + occurrence: 0 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: k - 1 + occurrence: 1 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: x + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: x + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: xi + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: y + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: y + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: expr.increment + normalizedText: yi + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: fn_value.empty_collection + normalizedText: '{ let (n, m) = (old.len(), new.len()); let max = n + m; if max == 0 { return Vec::new(); } if max > + DIFF_LIMIT && old != new { let mut steps: Vec> = old.iter().map(|line| Step::Removed(line)).collect(); steps.extend(new.iter().map(|line| + Step::Added(line))); return steps; } let mut furthest = vec![0_isize; 2 * max + 1]; let mut rounds: Vec = Vec::new(); + let shift = |k: isize| usize::try_from(k + isize::try_from(max).unwrap_or(isize::MAX)).unwrap_or(0); for d in 0..=isize::try_from(max).unwrap_or(isize::MAX) + { rounds.extend_from_slice(furthest.get(shift(-d)..=shift(d)).unwrap_or_default()); let mut k = -d; while k <= d { + let down = k == -d || (k != d && furthest[shift(k - 1)] < furthest[shift(k + 1)]); let mut x = if down { furthest[shift(k + + 1)] } else { furthest[shift(k - 1)] + 1 }; let mut y = x - k; while let (Ok(xi), Ok(yi)) = (usize::try_from(x), + usize::try_from(y)) && xi < n && yi < m && old[xi] == new[yi] { x += 1; y += 1; } furthest[shift(k)] = x; if usize::try_from(x).unwrap_or(0) + >= n && usize::try_from(y).unwrap_or(0) >= m { return walk_back(old, new, &rounds, d); } k += 2; } } Vec::new() }' + occurrence: 0 + testSet: 1966 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_decrement + normalizedText: '0' + occurrence: 2 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 5 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 6 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1970 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1966 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_increment + normalizedText: '0' + occurrence: 4 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_increment + normalizedText: '1' + occurrence: 5 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_increment + normalizedText: '1' + occurrence: 6 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1970 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1970 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: logical.and_to_or + normalizedText: k != d && furthest[shift(k - 1)] < furthest[shift(k + 1)] + occurrence: 0 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: logical.and_to_or + normalizedText: max > DIFF_LIMIT && old != new + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: logical.and_to_or + normalizedText: usize::try_from(x).unwrap_or(0) >= n && usize::try_from(y).unwrap_or(0) >= m + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: logical.or_to_and + normalizedText: k == -d || (k != d && furthest[shift(k - 1)] < furthest[shift(k + 1)]) + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: range.inclusive_to_exclusive + normalizedText: 0..=isize::try_from(max).unwrap_or(isize::MAX) + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: range.inclusive_to_exclusive + normalizedText: shift(-d)..=shift(d) + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.eq_to_ne + normalizedText: k == -d + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.eq_to_ne + normalizedText: max == 0 + occurrence: 0 + testSet: 1966 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.eq_to_ne + normalizedText: old[xi] == new[yi] + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.ge_to_gt + normalizedText: usize::try_from(x).unwrap_or(0) >= n + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.ge_to_gt + normalizedText: usize::try_from(y).unwrap_or(0) >= m + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.ge_to_le + normalizedText: usize::try_from(x).unwrap_or(0) >= n + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.ge_to_le + normalizedText: usize::try_from(y).unwrap_or(0) >= m + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.gt_to_ge + normalizedText: max > DIFF_LIMIT + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.gt_to_lt + normalizedText: max > DIFF_LIMIT + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.le_to_ge + normalizedText: k <= d + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.le_to_lt + normalizedText: k <= d + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.lt_to_gt + normalizedText: furthest[shift(k - 1)] < furthest[shift(k + 1)] + occurrence: 0 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.lt_to_gt + normalizedText: xi < n + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.lt_to_gt + normalizedText: yi < m + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.lt_to_le + normalizedText: furthest[shift(k - 1)] < furthest[shift(k + 1)] + occurrence: 0 + testSet: 1968 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.lt_to_le + normalizedText: xi < n + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.lt_to_le + normalizedText: yi < m + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: relational.ne_to_eq + normalizedText: k != d + occurrence: 0 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: stmt.delete_assign + normalizedText: furthest[shift(k)] = x; + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: stmt.delete_assign + normalizedText: k += 2; + occurrence: 0 + testSet: 1970 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: stmt.delete_assign + normalizedText: x += 1; + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: stmt.delete_assign + normalizedText: y += 1; + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: stmt.delete_call + normalizedText: rounds.extend_from_slice(furthest.get(shift(-d)..=shift(d)).unwrap_or_default()); + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: unary.remove_neg + normalizedText: -d + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: unary.remove_neg + normalizedText: -d + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: script + mutator: unary.remove_neg + normalizedText: -d + occurrence: 2 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: arith.add_to_mul + normalizedText: k + 1 + occurrence: 0 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: arith.add_to_mul + normalizedText: k + 1 + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: arith.add_to_sub + normalizedText: k + 1 + occurrence: 0 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: arith.add_to_sub + normalizedText: k + 1 + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: arith.sub_to_add + normalizedText: k - 1 + occurrence: 0 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: arith.sub_to_add + normalizedText: k - 1 + occurrence: 1 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: arith.sub_to_add + normalizedText: start - previous + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: arith.sub_to_add + normalizedText: x - y + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: arith.sub_to_div + normalizedText: k - 1 + occurrence: 0 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: arith.sub_to_div + normalizedText: k - 1 + occurrence: 1 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: arith.sub_to_div + normalizedText: start - previous + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: arith.sub_to_div + normalizedText: x - y + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: assign.sub_to_add + normalizedText: x -= 1 + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: assign.sub_to_add + normalizedText: x -= 1 + occurrence: 1 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: assign.sub_to_add + normalizedText: y -= 1 + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: assign.sub_to_add + normalizedText: y -= 1 + occurrence: 1 + testSet: 1973 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: cond.always_false + normalizedText: down + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: cond.always_false + normalizedText: down + occurrence: 1 + testSet: 1970 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: cond.always_false + normalizedText: round == 0 + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: cond.always_true + normalizedText: down + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: cond.always_true + normalizedText: down + occurrence: 1 + testSet: 1970 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: cond.always_true + normalizedText: round == 0 + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: cond.negate + normalizedText: down + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: cond.negate + normalizedText: down + occurrence: 1 + testSet: 1970 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: cond.negate + normalizedText: round == 0 + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: cond.negate + normalizedText: x > before_x && y > before_y + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.decrement + normalizedText: d + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.decrement + normalizedText: isize::MAX + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.decrement + normalizedText: isize::MAX + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.decrement + normalizedText: k + 1 + occurrence: 0 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.decrement + normalizedText: k - 1 + occurrence: 0 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.decrement + normalizedText: new.len() + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.decrement + normalizedText: old.len() + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.decrement + normalizedText: previous + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.decrement + normalizedText: round + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.decrement + normalizedText: round + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.decrement + normalizedText: x + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.decrement + normalizedText: x + occurrence: 1 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.decrement + normalizedText: y + occurrence: 0 + testSet: 1973 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.increment + normalizedText: d + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.increment + normalizedText: isize::MAX + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.increment + normalizedText: isize::MAX + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.increment + normalizedText: k + 1 + occurrence: 0 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.increment + normalizedText: k - 1 + occurrence: 0 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.increment + normalizedText: new.len() + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.increment + normalizedText: old.len() + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.increment + normalizedText: previous + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.increment + normalizedText: round + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.increment + normalizedText: round + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.increment + normalizedText: x + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.increment + normalizedText: x + occurrence: 1 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: expr.increment + normalizedText: y + occurrence: 0 + testSet: 1973 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: fn_value.empty_collection + normalizedText: '{ let mut steps = Vec::new(); let mut x = isize::try_from(old.len()).unwrap_or(isize::MAX); let mut + y = isize::try_from(new.len()).unwrap_or(isize::MAX); for round in (0..=d).rev() { let reached = |k: isize| -> isize + { let index = round .checked_mul(round) .zip(k.checked_add(round)) .and_then(|(base, offset)| base.checked_add(offset)); + index .and_then(|index| usize::try_from(index).ok()) .and_then(|index| rounds.get(index).copied()) .unwrap_or(0) }; + let k = x - y; let down = k == -round || (k != round && reached(k - 1) < reached(k + 1)); let previous = if down { + k + 1 } else { k - 1 }; let start = reached(previous); let (before_x, before_y) = (start, start - previous); while + x > before_x && y > before_y { x -= 1; y -= 1; if let Some(line) = usize::try_from(x).ok().and_then(|index| old.get(index)) + { steps.push(Step::Kept(line)); } } if round == 0 { break; } if down { y -= 1; if let Some(line) = usize::try_from(y).ok().and_then(|index| + new.get(index)) { steps.push(Step::Added(line)); } } else { x -= 1; if let Some(line) = usize::try_from(x).ok().and_then(|index| + old.get(index)) { steps.push(Step::Removed(line)); } } } steps.reverse(); steps }' + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_decrement + normalizedText: '0' + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_decrement + normalizedText: '0' + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_decrement + normalizedText: '0' + occurrence: 2 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 5 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 6 + testSet: 1973 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 7 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_increment + normalizedText: '1' + occurrence: 5 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_increment + normalizedText: '1' + occurrence: 6 + testSet: 1973 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: literal.int_increment + normalizedText: '1' + occurrence: 7 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: logical.and_to_or + normalizedText: k != round && reached(k - 1) < reached(k + 1) + occurrence: 0 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: logical.and_to_or + normalizedText: x > before_x && y > before_y + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: logical.or_to_and + normalizedText: k == -round || (k != round && reached(k - 1) < reached(k + 1)) + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: range.inclusive_to_exclusive + normalizedText: 0..=d + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: relational.eq_to_ne + normalizedText: k == -round + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: relational.eq_to_ne + normalizedText: round == 0 + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: relational.gt_to_ge + normalizedText: x > before_x + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: relational.gt_to_ge + normalizedText: y > before_y + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: relational.gt_to_lt + normalizedText: x > before_x + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: relational.gt_to_lt + normalizedText: y > before_y + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: relational.lt_to_gt + normalizedText: reached(k - 1) < reached(k + 1) + occurrence: 0 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: relational.lt_to_le + normalizedText: reached(k - 1) < reached(k + 1) + occurrence: 0 + testSet: 1972 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: relational.ne_to_eq + normalizedText: k != round + occurrence: 0 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: stmt.delete_assign + normalizedText: x -= 1; + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: stmt.delete_assign + normalizedText: x -= 1; + occurrence: 1 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: stmt.delete_assign + normalizedText: y -= 1; + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: stmt.delete_assign + normalizedText: y -= 1; + occurrence: 1 + testSet: 1973 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: stmt.delete_call + normalizedText: steps.push(Step::Added(line)); + occurrence: 0 + testSet: 1973 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: stmt.delete_call + normalizedText: steps.push(Step::Kept(line)); + occurrence: 0 + testSet: 1971 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: stmt.delete_call + normalizedText: steps.push(Step::Removed(line)); + occurrence: 0 + testSet: 1967 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: stmt.delete_call + normalizedText: steps.reverse(); + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/diff.rs + item: walk_back + mutator: unary.remove_neg + normalizedText: -round + occurrence: 0 + testSet: 1969 + - site: + file: crates/cargo-gamma-lib/src/fix/edit.rs + item: Edit::render + mutator: fn_value.empty_string + normalizedText: '{ let selectors = self.mutators.iter().cloned().collect::>().join(", "); format!( "{indent}// + #[gamma::skip({selectors}, tag = \"{tag}\", reason = \"written by cargo gamma suppress {date}\")]{ending}", tag = + self.tag ) }' + occurrence: 0 + testSet: 1974 + - site: + file: crates/cargo-gamma-lib/src/fix/edit.rs + item: Edit::render + mutator: fn_value.xyzzy_string + normalizedText: '{ let selectors = self.mutators.iter().cloned().collect::>().join(", "); format!( "{indent}// + #[gamma::skip({selectors}, tag = \"{tag}\", reason = \"written by cargo gamma suppress {date}\")]{ending}", tag = + self.tag ) }' + occurrence: 0 + testSet: 1974 + - site: + file: crates/cargo-gamma-lib/src/fix/edit.rs + item: Edit::render + mutator: literal.str_to_empty + normalizedText: '", "' + occurrence: 0 + testSet: 1974 + - site: + file: crates/cargo-gamma-lib/src/fix/edit.rs + item: Edit::render + mutator: literal.str_to_xyzzy + normalizedText: '", "' + occurrence: 0 + testSet: 1974 + - site: + file: crates/cargo-gamma-lib/src/fix/eligible.rs + item: Eligible::parse + mutator: fn_value.ok + normalizedText: '{ let mut out = Vec::new(); for entry in list.split('','').map(str::trim).filter(|entry| !entry.is_empty()) + { match entry { "timeout" => out.push(Self::Timeout), "outofmem" | "oom" | "out-of-memory" => out.push(Self::OutOfMemory), + "unviable" | "compile-error" => out.push(Self::Unviable), "missed" | "survived" | "survivor" => { return Err(error!( + "`{entry}` is not eligible for `suppress`, and cannot be made eligible: a surviving mutant is a gap in the test suite, + and suppressing it would remove that gap from the score rather than from the code" ) .usage()); } other => { return + Err(error!("unknown verdict `{other}`; --eligible accepts `timeout`, `outofmem` and `unviable`").usage()); } } } out.sort_unstable(); + out.dedup(); Ok(out) }' + occurrence: 0 + testSet: 1975 + - site: + file: crates/cargo-gamma-lib/src/fix/eligible.rs + item: Eligible::parse + mutator: iter.remove_dedup + normalizedText: out.dedup(); + occurrence: 0 + testSet: 1976 + - site: + file: crates/cargo-gamma-lib/src/fix/eligible.rs + item: Eligible::parse + mutator: iter.remove_sort + normalizedText: out.sort_unstable(); + occurrence: 0 + testSet: 1976 + - site: + file: crates/cargo-gamma-lib/src/fix/eligible.rs + item: Eligible::parse + mutator: match_arm.never_matches + normalizedText: '"missed" | "survived" | "survivor"' + occurrence: 0 + testSet: 1977 + - site: + file: crates/cargo-gamma-lib/src/fix/eligible.rs + item: Eligible::parse + mutator: match_arm.never_matches + normalizedText: '"outofmem" | "oom" | "out-of-memory"' + occurrence: 0 + testSet: 1978 + - site: + file: crates/cargo-gamma-lib/src/fix/eligible.rs + item: Eligible::parse + mutator: match_arm.never_matches + normalizedText: '"timeout"' + occurrence: 0 + testSet: 1979 + - site: + file: crates/cargo-gamma-lib/src/fix/eligible.rs + item: Eligible::parse + mutator: match_arm.never_matches + normalizedText: '"unviable" | "compile-error"' + occurrence: 0 + testSet: 1979 + - site: + file: crates/cargo-gamma-lib/src/fix/eligible.rs + item: Eligible::parse + mutator: result.err_to_ok + normalizedText: 'Err(error!( "`{entry}` is not eligible for `suppress`, and cannot be made eligible: a surviving mutant + is a gap in the test suite, and suppressing it would remove that gap from the score rather than from the code" ) .usage())' + occurrence: 0 + testSet: 1977 + - site: + file: crates/cargo-gamma-lib/src/fix/eligible.rs + item: Eligible::parse + mutator: result.err_to_ok + normalizedText: Err(error!("unknown verdict `{other}`; --eligible accepts `timeout`, `outofmem` and `unviable`").usage()) + occurrence: 0 + testSet: 1980 + - site: + file: crates/cargo-gamma-lib/src/fix/eligible.rs + item: Eligible::parse + mutator: unary.remove_not + normalizedText: '!entry.is_empty()' + occurrence: 0 + testSet: 1975 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: assign_value.default + normalizedText: rendered + occurrence: 0 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: expr.decrement + normalizedText: above + occurrence: 0 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: expr.decrement + normalizedText: above + occurrence: 1 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: expr.decrement + normalizedText: edit.line + occurrence: 0 + testSet: 1982 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: expr.decrement + normalizedText: index + occurrence: 1 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: expr.decrement + normalizedText: index + occurrence: 2 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: expr.increment + normalizedText: above + occurrence: 0 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: expr.increment + normalizedText: above + occurrence: 1 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: expr.increment + normalizedText: edit.line + occurrence: 0 + testSet: 1982 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: expr.increment + normalizedText: index + occurrence: 1 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: expr.increment + normalizedText: index + occurrence: 2 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: iter.remove_sort + normalizedText: ordered.sort_by_key(|edit| Reverse(edit.line)); + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: logical.and_to_or + normalizedText: c.is_whitespace() && *c != '\n' + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: logical.and_to_or + normalizedText: c.is_whitespace() && *c != '\n' && *c != '\r' + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: relational.lt_to_gt + normalizedText: '*index < lines.len()' + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: relational.lt_to_le + normalizedText: '*index < lines.len()' + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: relational.ne_to_eq + normalizedText: '*c != ''\n''' + occurrence: 0 + testSet: 1985 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: relational.ne_to_eq + normalizedText: '*c != ''\r''' + occurrence: 0 + testSet: 1985 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: stmt.delete_assign + normalizedText: lines[above] = rendered; + occurrence: 0 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: stmt.delete_call + normalizedText: lines.insert(index, edit.render(&indent, date, ending)); + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: stmt.delete_call + normalizedText: merged.extend(generated_selectors(&lines[above]).unwrap_or_default()); + occurrence: 0 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: apply + mutator: struct_field.omit + normalizedText: 'Edit { mutators: merged, ..(*edit).clone() }' + occurrence: 0 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_mul + normalizedText: 153 * month_prime + 2 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_mul + normalizedText: 365 * year_of_era + year_of_era / 4 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_mul + normalizedText: 5 * day_of_year + 2 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_mul + normalizedText: day_of_era - day_of_era / 1460 + day_of_era / 36_524 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_mul + normalizedText: day_of_year - (153 * month_prime + 2) / 5 + 1 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_mul + normalizedText: days + 719_468 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_mul + normalizedText: era * 400 + year_of_era + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_mul + normalizedText: era * 400 + year_of_era + i64::from(month <= 2) + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_mul + normalizedText: month_prime + 3 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_sub + normalizedText: 153 * month_prime + 2 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_sub + normalizedText: 365 * year_of_era + year_of_era / 4 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_sub + normalizedText: 5 * day_of_year + 2 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_sub + normalizedText: day_of_era - day_of_era / 1460 + day_of_era / 36_524 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_sub + normalizedText: day_of_year - (153 * month_prime + 2) / 5 + 1 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_sub + normalizedText: days + 719_468 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_sub + normalizedText: era * 400 + year_of_era + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_sub + normalizedText: era * 400 + year_of_era + i64::from(month <= 2) + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.add_to_sub + normalizedText: month_prime + 3 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_mul + normalizedText: (153 * month_prime + 2) / 5 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_mul + normalizedText: (5 * day_of_year + 2) / 153 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_mul + normalizedText: (day_of_era - day_of_era / 1460 + day_of_era / 36_524 - day_of_era / 146_096) / 365 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_mul + normalizedText: day_of_era / 1460 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_mul + normalizedText: day_of_era / 146_096 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_mul + normalizedText: day_of_era / 36_524 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_mul + normalizedText: year_of_era / 100 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_mul + normalizedText: year_of_era / 4 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_rem + normalizedText: (153 * month_prime + 2) / 5 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_rem + normalizedText: (5 * day_of_year + 2) / 153 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_rem + normalizedText: (day_of_era - day_of_era / 1460 + day_of_era / 36_524 - day_of_era / 146_096) / 365 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_rem + normalizedText: day_of_era / 1460 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_rem + normalizedText: day_of_era / 146_096 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_rem + normalizedText: day_of_era / 36_524 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_rem + normalizedText: year_of_era / 100 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.div_to_rem + normalizedText: year_of_era / 4 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.mul_to_add + normalizedText: 153 * month_prime + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.mul_to_add + normalizedText: 365 * year_of_era + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.mul_to_add + normalizedText: 5 * day_of_year + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.mul_to_add + normalizedText: era * 400 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.mul_to_div + normalizedText: 153 * month_prime + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.mul_to_div + normalizedText: 365 * year_of_era + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.mul_to_div + normalizedText: 5 * day_of_year + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.mul_to_div + normalizedText: era * 400 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.sub_to_add + normalizedText: 365 * year_of_era + year_of_era / 4 - year_of_era / 100 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.sub_to_add + normalizedText: day_of_era - (365 * year_of_era + year_of_era / 4 - year_of_era / 100) + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.sub_to_add + normalizedText: day_of_era - day_of_era / 1460 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.sub_to_add + normalizedText: day_of_era - day_of_era / 1460 + day_of_era / 36_524 - day_of_era / 146_096 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.sub_to_add + normalizedText: day_of_year - (153 * month_prime + 2) / 5 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.sub_to_add + normalizedText: month_prime - 9 + occurrence: 0 + testSet: 1987 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.sub_to_div + normalizedText: 365 * year_of_era + year_of_era / 4 - year_of_era / 100 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.sub_to_div + normalizedText: day_of_era - (365 * year_of_era + year_of_era / 4 - year_of_era / 100) + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.sub_to_div + normalizedText: day_of_era - day_of_era / 1460 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.sub_to_div + normalizedText: day_of_era - day_of_era / 1460 + day_of_era / 36_524 - day_of_era / 146_096 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.sub_to_div + normalizedText: day_of_year - (153 * month_prime + 2) / 5 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: arith.sub_to_div + normalizedText: month_prime - 9 + occurrence: 0 + testSet: 1987 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: cond.always_false + normalizedText: month_prime < 10 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: cond.always_true + normalizedText: month_prime < 10 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: cond.negate + normalizedText: month_prime < 10 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: fn_value.empty_string + normalizedText: '{ let shifted = days + 719_468; let era = shifted.div_euclid(146_097); let day_of_era = shifted.rem_euclid(146_097); + let year_of_era = (day_of_era - day_of_era / 1460 + day_of_era / 36_524 - day_of_era / 146_096) / 365; let day_of_year + = day_of_era - (365 * year_of_era + year_of_era / 4 - year_of_era / 100); let month_prime = (5 * day_of_year + 2) + / 153; let day = day_of_year - (153 * month_prime + 2) / 5 + 1; let month = if month_prime < 10 { month_prime + 3 + } else { month_prime - 9 }; let year = era * 400 + year_of_era + i64::from(month <= 2); format!("{year:04}-{month:02}-{day:02}") + }' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: fn_value.xyzzy_string + normalizedText: '{ let shifted = days + 719_468; let era = shifted.div_euclid(146_097); let day_of_era = shifted.rem_euclid(146_097); + let year_of_era = (day_of_era - day_of_era / 1460 + day_of_era / 36_524 - day_of_era / 146_096) / 365; let day_of_year + = day_of_era - (365 * year_of_era + year_of_era / 4 - year_of_era / 100); let month_prime = (5 * day_of_year + 2) + / 153; let day = day_of_year - (153 * month_prime + 2) / 5 + 1; let month = if month_prime < 10 { month_prime + 3 + } else { month_prime - 9 }; let year = era * 400 + year_of_era + i64::from(month <= 2); format!("{year:04}-{month:02}-{day:02}") + }' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '10' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '100' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '1460' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '146_096' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '146_097' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '146_097' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '153' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '153' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 2 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '365' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '365' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '36_524' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '4' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '400' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '5' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '5' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '719_468' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_decrement + normalizedText: '9' + occurrence: 0 + testSet: 1987 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '10' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '100' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '1460' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '146_096' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '146_097' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '146_097' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '153' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '153' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '2' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '2' + occurrence: 2 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '365' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '365' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '36_524' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '4' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '400' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '5' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '5' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '719_468' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_increment + normalizedText: '9' + occurrence: 0 + testSet: 1987 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '10' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '100' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '1460' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '146_096' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '146_097' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '146_097' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '153' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '153' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '365' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '365' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '36_524' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '4' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '400' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '5' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '5' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '719_468' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_one + normalizedText: '9' + occurrence: 0 + testSet: 1987 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '10' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '100' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '1460' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '146_096' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '146_097' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '146_097' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '153' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '153' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 2 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '365' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '365' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '36_524' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '4' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '400' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '5' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '5' + occurrence: 1 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '719_468' + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: literal.int_to_zero + normalizedText: '9' + occurrence: 0 + testSet: 1987 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: relational.le_to_ge + normalizedText: month <= 2 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: relational.le_to_lt + normalizedText: month <= 2 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: relational.lt_to_gt + normalizedText: month_prime < 10 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: civil_from_days + mutator: relational.lt_to_le + normalizedText: month_prime < 10 + occurrence: 0 + testSet: 1986 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: arith.mul_to_add + normalizedText: carriage * 2 + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: arith.mul_to_div + normalizedText: carriage * 2 + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: cond.always_false + normalizedText: carriage * 2 > total + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: cond.always_true + normalizedText: carriage * 2 > total + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: cond.negate + normalizedText: carriage * 2 > total + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: fn_value.empty_string + normalizedText: '{ let total = text.matches(''\n'').count(); let carriage = text.matches("\r\n").count(); if carriage + * 2 > total { "\r\n" } else { "\n" } }' + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: fn_value.xyzzy_string + normalizedText: '{ let total = text.matches(''\n'').count(); let carriage = text.matches("\r\n").count(); if carriage + * 2 > total { "\r\n" } else { "\n" } }' + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: literal.str_to_empty + normalizedText: '"\n"' + occurrence: 0 + testSet: 1988 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: literal.str_to_empty + normalizedText: '"\r\n"' + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: literal.str_to_empty + normalizedText: '"\r\n"' + occurrence: 1 + testSet: 1989 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: literal.str_to_xyzzy + normalizedText: '"\n"' + occurrence: 0 + testSet: 1988 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: literal.str_to_xyzzy + normalizedText: '"\r\n"' + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: literal.str_to_xyzzy + normalizedText: '"\r\n"' + occurrence: 1 + testSet: 1989 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: relational.gt_to_ge + normalizedText: carriage * 2 > total + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: ending + mutator: relational.gt_to_lt + normalizedText: carriage * 2 > total + occurrence: 0 + testSet: 1984 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_body + mutator: cond.always_false + normalizedText: '!trimmed.contains("written by cargo gamma suppress")' + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_body + mutator: cond.always_true + normalizedText: '!trimmed.contains("written by cargo gamma suppress")' + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_body + mutator: cond.negate + normalizedText: '!trimmed.contains("written by cargo gamma suppress")' + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_body + mutator: fn_value.none + normalizedText: '{ let trimmed = line.trim_start(); if !trimmed.contains("written by cargo gamma suppress") { return + None; } trimmed.strip_prefix("// #[gamma::skip(") }' + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_body + mutator: literal.str_to_empty + normalizedText: '"// #[gamma::skip("' + occurrence: 0 + testSet: 1990 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_body + mutator: literal.str_to_empty + normalizedText: '"written by cargo gamma suppress"' + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_body + mutator: literal.str_to_xyzzy + normalizedText: '"// #[gamma::skip("' + occurrence: 0 + testSet: 1990 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_body + mutator: literal.str_to_xyzzy + normalizedText: '"written by cargo gamma suppress"' + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_body + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_body + mutator: string.trim_start_to_trim_end + normalizedText: line.trim_start() + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_body + mutator: unary.remove_not + normalizedText: '!trimmed.contains("written by cargo gamma suppress")' + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_selectors + mutator: fn_value.none + normalizedText: '{ let inner = generated_body(line)?; Some( inner .split('','') .map(str::trim) .take_while(|part| !part.contains(''='') + && !part.is_empty()) .map(str::to_owned) .collect(), ) }' + occurrence: 0 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_selectors + mutator: logical.and_to_or + normalizedText: '!part.contains(''='') && !part.is_empty()' + occurrence: 0 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_selectors + mutator: option.some_to_none + normalizedText: Some( inner .split(',') .map(str::trim) .take_while(|part| !part.contains('=') && !part.is_empty()) + .map(str::to_owned) .collect(), ) + occurrence: 0 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_selectors + mutator: unary.remove_not + normalizedText: '!part.contains(''='')' + occurrence: 0 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_selectors + mutator: unary.remove_not + normalizedText: '!part.is_empty()' + occurrence: 0 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_tag + mutator: fn_value.none + normalizedText: '{ let inner = generated_body(line)?; let after = inner.split_once("tag = \"")?.1; after.split_once(''"'').map(|(tag, + _rest)| tag) }' + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_tag + mutator: literal.str_to_empty + normalizedText: '"tag = \""' + occurrence: 0 + testSet: 1990 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: generated_tag + mutator: literal.str_to_xyzzy + normalizedText: '"tag = \""' + occurrence: 0 + testSet: 1990 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: assign_value.default + normalizedText: above + occurrence: 0 + testSet: 1991 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: cond.always_false + normalizedText: generated_tag(&lines[above])? == tag + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: cond.always_true + normalizedText: generated_tag(&lines[above])? == tag + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: cond.negate + normalizedText: generated_tag(&lines[above])? == tag + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: expr.decrement + normalizedText: above + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: expr.decrement + normalizedText: above + occurrence: 1 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: expr.increment + normalizedText: above + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: expr.increment + normalizedText: above + occurrence: 1 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: fn_value.none + normalizedText: '{ let mut cursor = index; while let Some(above) = cursor.checked_sub(1) { if generated_tag(&lines[above])? + == tag { return Some(above); } cursor = above; } None }' + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 1992 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: option.some_to_none + normalizedText: Some(above) + occurrence: 0 + testSet: 1981 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: relational.eq_to_ne + normalizedText: generated_tag(&lines[above])? == tag + occurrence: 0 + testSet: 1983 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: matching_directive + mutator: stmt.delete_assign + normalizedText: cursor = above; + occurrence: 0 + testSet: 1991 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: plan + mutator: cond.always_false + normalizedText: matches!(mutant.outcome, Outcome::Survived) + occurrence: 0 + testSet: 1993 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: plan + mutator: cond.always_true + normalizedText: matches!(mutant.outcome, Outcome::Survived) + occurrence: 0 + testSet: 1993 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: plan + mutator: cond.negate + normalizedText: matches!(mutant.outcome, Outcome::Survived) + occurrence: 0 + testSet: 1993 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: plan + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 1994 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: plan + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 1994 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: plan + mutator: relational.eq_to_ne + normalizedText: entry.outcome() == mutant.outcome + occurrence: 0 + testSet: 1993 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + mutator: arith.div_to_mul + normalizedText: seconds / 86_400 + occurrence: 0 + testSet: 1995 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + mutator: arith.div_to_rem + normalizedText: seconds / 86_400 + occurrence: 0 + testSet: 1995 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + mutator: expr.decrement + normalizedText: seconds / 86_400 + occurrence: 0 + testSet: 1995 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + mutator: expr.increment + normalizedText: seconds / 86_400 + occurrence: 0 + testSet: 1995 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + mutator: fn_value.empty_string + normalizedText: '{ let seconds = SystemTime::now().duration_since(UNIX_EPOCH).map_or(0, |since| since.as_secs()); civil_from_days(i64::try_from(seconds + / 86_400).unwrap_or(0)) }' + occurrence: 0 + testSet: 1995 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + mutator: fn_value.xyzzy_string + normalizedText: '{ let seconds = SystemTime::now().duration_since(UNIX_EPOCH).map_or(0, |since| since.as_secs()); civil_from_days(i64::try_from(seconds + / 86_400).unwrap_or(0)) }' + occurrence: 0 + testSet: 1995 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + mutator: literal.int_decrement + normalizedText: '0' + occurrence: 1 + testSet: 1995 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + mutator: literal.int_decrement + normalizedText: '86_400' + occurrence: 0 + testSet: 1995 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 1995 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 1995 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + mutator: literal.int_increment + normalizedText: '86_400' + occurrence: 0 + testSet: 1995 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + mutator: literal.int_to_one + normalizedText: '86_400' + occurrence: 0 + testSet: 1995 + - site: + file: crates/cargo-gamma-lib/src/fix/plan.rs + item: today + mutator: literal.int_to_zero + normalizedText: '86_400' + occurrence: 0 + testSet: 1995 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: cond.always_false + normalizedText: '!body.starts_with("gamma::skip")' + occurrence: 0 + testSet: 1996 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: cond.always_true + normalizedText: '!body.starts_with("gamma::skip")' + occurrence: 0 + testSet: 1996 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: cond.negate + normalizedText: '!body.starts_with("gamma::skip")' + occurrence: 0 + testSet: 1996 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: fn_value.bool_false + normalizedText: '{ let trimmed = line.trim(); let body = if let Some(comment) = trimmed.strip_prefix("//") { let comment + = comment.trim_start(); let Some(body) = comment.strip_prefix("#[").and_then(|rest| rest.strip_suffix('']'')) else + { return false; }; body } else { trimmed .strip_prefix("#[") .and_then(|rest| rest.strip_suffix('']'')) .unwrap_or(trimmed) + }; if !body.starts_with("gamma::skip") { return false; } let opened = body.matches(''('').count(); opened == body.matches('')'').count() + && !body.contains("//") }' + occurrence: 0 + testSet: 1996 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: fn_value.bool_true + normalizedText: '{ let trimmed = line.trim(); let body = if let Some(comment) = trimmed.strip_prefix("//") { let comment + = comment.trim_start(); let Some(body) = comment.strip_prefix("#[").and_then(|rest| rest.strip_suffix('']'')) else + { return false; }; body } else { trimmed .strip_prefix("#[") .and_then(|rest| rest.strip_suffix('']'')) .unwrap_or(trimmed) + }; if !body.starts_with("gamma::skip") { return false; } let opened = body.matches(''('').count(); opened == body.matches('')'').count() + && !body.contains("//") }' + occurrence: 0 + testSet: 1996 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 1997 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 1998 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: literal.str_to_empty + normalizedText: '"#["' + occurrence: 0 + testSet: 1997 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: literal.str_to_empty + normalizedText: '"#["' + occurrence: 1 + testSet: 1996 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: literal.str_to_empty + normalizedText: '"//"' + occurrence: 0 + testSet: 1996 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: literal.str_to_empty + normalizedText: '"//"' + occurrence: 1 + testSet: 1997 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: literal.str_to_empty + normalizedText: '"gamma::skip"' + occurrence: 0 + testSet: 1996 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: literal.str_to_xyzzy + normalizedText: '"#["' + occurrence: 0 + testSet: 1997 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: literal.str_to_xyzzy + normalizedText: '"#["' + occurrence: 1 + testSet: 1996 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: literal.str_to_xyzzy + normalizedText: '"//"' + occurrence: 0 + testSet: 1996 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: literal.str_to_xyzzy + normalizedText: '"//"' + occurrence: 1 + testSet: 1997 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: literal.str_to_xyzzy + normalizedText: '"gamma::skip"' + occurrence: 0 + testSet: 1996 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: logical.and_to_or + normalizedText: opened == body.matches(')').count() && !body.contains("//") + occurrence: 0 + testSet: 1997 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: relational.eq_to_ne + normalizedText: opened == body.matches(')').count() + occurrence: 0 + testSet: 1997 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: string.starts_with_to_ends_with + normalizedText: body.starts_with("gamma::skip") + occurrence: 0 + testSet: 1996 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: string.trim_start_to_trim_end + normalizedText: comment.trim_start() + occurrence: 0 + testSet: 1997 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: unary.remove_not + normalizedText: '!body.contains("//")' + occurrence: 0 + testSet: 1997 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: removable + mutator: unary.remove_not + normalizedText: '!body.starts_with("gamma::skip")' + occurrence: 0 + testSet: 1996 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: remove + mutator: arith.add_to_mul + normalizedText: index + 1 + occurrence: 0 + testSet: 1999 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: remove + mutator: arith.add_to_sub + normalizedText: index + 1 + occurrence: 0 + testSet: 1999 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: remove + mutator: fn_value.empty_string + normalizedText: '{ text.split_inclusive(''\n'') .enumerate() .filter(|(index, _)| !lines.contains(&(index + 1))) .map(|(_, + line)| line) .collect() }' + occurrence: 0 + testSet: 1999 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: remove + mutator: fn_value.xyzzy_string + normalizedText: '{ text.split_inclusive(''\n'') .enumerate() .filter(|(index, _)| !lines.contains(&(index + 1))) .map(|(_, + line)| line) .collect() }' + occurrence: 0 + testSet: 1999 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: remove + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 1999 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: remove + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 1999 + - site: + file: crates/cargo-gamma-lib/src/fix/removal.rs + item: remove + mutator: unary.remove_not + normalizedText: '!lines.contains(&(index + 1))' + occurrence: 0 + testSet: 1999 + - site: + file: crates/cargo-gamma-lib/src/fix/verify.rs + item: verify + mutator: fn_value.default + normalizedText: '{ let suppressed = |mutants: &[Mutant]| -> BTreeSet { mutants .iter() .filter(|mutant| mutant.suppression.is_some()) + .map(|mutant| mutant.id.to_string()) .collect() }; let was = suppressed(before); let now = suppressed(after); Verification + { missing: intended.iter().filter(|id| !now.contains(*id)).cloned().collect(), collateral: now .iter() .filter(|id| + !was.contains(*id) && !intended.contains(*id)) .cloned() .collect(), released: was.iter().filter(|id| !now.contains(*id)).cloned().collect(), + } }' + occurrence: 0 + testSet: 2000 + - site: + file: crates/cargo-gamma-lib/src/fix/verify.rs + item: verify + mutator: logical.and_to_or + normalizedText: '!was.contains(*id) && !intended.contains(*id)' + occurrence: 0 + testSet: 2001 + - site: + file: crates/cargo-gamma-lib/src/fix/verify.rs + item: verify + mutator: unary.remove_not + normalizedText: '!intended.contains(*id)' + occurrence: 0 + testSet: 2001 + - site: + file: crates/cargo-gamma-lib/src/fix/verify.rs + item: verify + mutator: unary.remove_not + normalizedText: '!now.contains(*id)' + occurrence: 0 + testSet: 2002 + - site: + file: crates/cargo-gamma-lib/src/fix/verify.rs + item: verify + mutator: unary.remove_not + normalizedText: '!now.contains(*id)' + occurrence: 1 + testSet: 2003 + - site: + file: crates/cargo-gamma-lib/src/fix/verify.rs + item: verify + mutator: unary.remove_not + normalizedText: '!was.contains(*id)' + occurrence: 0 + testSet: 2001 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: arith.add_to_mul + normalizedText: index + 1 + occurrence: 0 + testSet: 2004 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: arith.add_to_sub + normalizedText: index + 1 + occurrence: 0 + testSet: 2004 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: assign_value.default + normalizedText: index + 1 + occurrence: 0 + testSet: 2004 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: expr.decrement + normalizedText: buf.len() + occurrence: 0 + testSet: 2005 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: expr.decrement + normalizedText: index + occurrence: 0 + testSet: 2004 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: expr.increment + normalizedText: buf.len() + occurrence: 0 + testSet: 2005 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: expr.increment + normalizedText: index + occurrence: 0 + testSet: 2004 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: fn_value.ok + normalizedText: '{ let mut start = 0; for (index, &byte) in buf.iter().enumerate() { let escape: &[u8] = match byte + { b''<'' => b"\\u003c", b''>'' => b"\\u003e", _ => continue, }; self.inner.write_all(&buf[start..index])?; self.inner.write_all(escape)?; + start = index + 1; } self.inner.write_all(&buf[start..])?; Ok(buf.len()) }' + occurrence: 0 + testSet: 2005 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2004 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2005 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2004 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 2005 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: match_arm.never_matches + normalizedText: b'<' + occurrence: 0 + testSet: 2006 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: match_arm.never_matches + normalizedText: b'>' + occurrence: 0 + testSet: 2004 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: range.exclusive_to_inclusive + normalizedText: start..index + occurrence: 0 + testSet: 2004 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: as io::Write>::write + mutator: stmt.delete_assign + normalizedText: start = index + 1; + occurrence: 0 + testSet: 2004 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: render + mutator: fn_value.ok + normalizedText: '{ let mut page = Vec::new(); stream(report, &mut page).map_err(|cause| error!("could not serialize + the report").caused_by(cause))?; String::from_utf8(page).map_err(|cause| error!("could not serialize the report").caused_by(cause)) + }' + occurrence: 0 + testSet: 2007 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: stream + mutator: fn_value.ok + normalizedText: "{ write!( writer, \"\\n\\\n \\n\\\n \\n\\\ + \n \\n\\\n \\n\\\n cargo-gamma mutation report\\n\\\n \\\ + n\" )?; write!(writer, \"\")?; write!( writer, \"\\n\\\n \\n\\\n \\\ + n\\\n \\n\\\n Your browser does not support\ + \ custom elements, which this report is built from.\\n\\\n \\n\\\n \\n\\n\\n\") }" + occurrence: 0 + testSet: 2008 + - site: + file: crates/cargo-gamma-lib/src/html.rs + item: write_page + mutator: fn_value.ok + normalizedText: '{ crate::elements::write_streamed(path, |writer| stream(report, writer)) }' + occurrence: 0 + testSet: 1918 + - site: + file: crates/cargo-gamma-lib/src/merge/incoming.rs + item: Incoming::has_supported_schema_version + mutator: fn_value.bool_false + normalizedText: '{ crate::elements::supported_schema_version(&self.schema_version) }' + occurrence: 0 + testSet: 1944 + - site: + file: crates/cargo-gamma-lib/src/merge/incoming.rs + item: Incoming::has_supported_schema_version + mutator: fn_value.bool_true + normalizedText: '{ crate::elements::supported_schema_version(&self.schema_version) }' + occurrence: 0 + testSet: 1944 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::coverage + mutator: arith.div_to_mul + normalizedText: self.shards_seen.len() as f64 / f64::from(count) + occurrence: 0 + testSet: 2009 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::coverage + mutator: arith.div_to_rem + normalizedText: self.shards_seen.len() as f64 / f64::from(count) + occurrence: 0 + testSet: 2009 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::coverage + mutator: arith.mul_to_add + normalizedText: ratio * 100.0 + occurrence: 0 + testSet: 2009 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::coverage + mutator: arith.mul_to_div + normalizedText: ratio * 100.0 + occurrence: 0 + testSet: 2009 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::coverage + mutator: fn_value.minus_one + normalizedText: '{ let Some(count) = self.shard_count.filter(|count| *count > 0) else { return 100.0; }; #[expect(clippy::cast_precision_loss, + reason = "shard counts are small")] let ratio = self.shards_seen.len() as f64 / f64::from(count); ratio * 100.0 }' + occurrence: 0 + testSet: 2010 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::coverage + mutator: fn_value.one + normalizedText: '{ let Some(count) = self.shard_count.filter(|count| *count > 0) else { return 100.0; }; #[expect(clippy::cast_precision_loss, + reason = "shard counts are small")] let ratio = self.shards_seen.len() as f64 / f64::from(count); ratio * 100.0 }' + occurrence: 0 + testSet: 2010 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::coverage + mutator: fn_value.zero + normalizedText: '{ let Some(count) = self.shard_count.filter(|count| *count > 0) else { return 100.0; }; #[expect(clippy::cast_precision_loss, + reason = "shard counts are small")] let ratio = self.shards_seen.len() as f64 / f64::from(count); ratio * 100.0 }' + occurrence: 0 + testSet: 2010 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::coverage + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2009 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::coverage + mutator: relational.gt_to_ge + normalizedText: '*count > 0' + occurrence: 0 + testSet: 2009 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::coverage + mutator: relational.gt_to_lt + normalizedText: '*count > 0' + occurrence: 0 + testSet: 2009 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::missing_shards + mutator: expr.decrement + normalizedText: MAX_SHARDS as usize + occurrence: 0 + testSet: 2011 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::missing_shards + mutator: expr.increment + normalizedText: MAX_SHARDS as usize + occurrence: 0 + testSet: 2011 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::missing_shards + mutator: fn_value.empty_collection + normalizedText: '{ self.shard_count .map(|count| { (0..count) .filter(|index| !self.shards_seen.contains(index)) .take(MAX_SHARDS + as usize) .collect() }) .unwrap_or_default() }' + occurrence: 0 + testSet: 2012 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::missing_shards + mutator: fn_value.one_element + normalizedText: '{ self.shard_count .map(|count| { (0..count) .filter(|index| !self.shards_seen.contains(index)) .take(MAX_SHARDS + as usize) .collect() }) .unwrap_or_default() }' + occurrence: 0 + testSet: 2012 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::missing_shards + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2011 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::missing_shards + mutator: range.exclusive_to_inclusive + normalizedText: 0..count + occurrence: 0 + testSet: 2011 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::missing_shards + mutator: unary.remove_not + normalizedText: '!self.shards_seen.contains(index)' + occurrence: 0 + testSet: 2011 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::score + mutator: arith.div_to_mul + normalizedText: self.detected as f64 / self.valid as f64 + occurrence: 0 + testSet: 2013 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::score + mutator: arith.div_to_rem + normalizedText: self.detected as f64 / self.valid as f64 + occurrence: 0 + testSet: 2013 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::score + mutator: arith.mul_to_add + normalizedText: ratio * 100.0 + occurrence: 0 + testSet: 2013 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::score + mutator: arith.mul_to_div + normalizedText: ratio * 100.0 + occurrence: 0 + testSet: 2013 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::score + mutator: cond.always_false + normalizedText: self.valid == 0 + occurrence: 0 + testSet: 2014 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::score + mutator: cond.always_true + normalizedText: self.valid == 0 + occurrence: 0 + testSet: 2014 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::score + mutator: cond.negate + normalizedText: self.valid == 0 + occurrence: 0 + testSet: 2014 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::score + mutator: fn_value.minus_one + normalizedText: '{ if self.valid == 0 { return 100.0; } #[expect(clippy::cast_precision_loss, reason = "mutant counts + are far below the f64 integer limit")] let ratio = self.detected as f64 / self.valid as f64; ratio * 100.0 }' + occurrence: 0 + testSet: 2014 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::score + mutator: fn_value.one + normalizedText: '{ if self.valid == 0 { return 100.0; } #[expect(clippy::cast_precision_loss, reason = "mutant counts + are far below the f64 integer limit")] let ratio = self.detected as f64 / self.valid as f64; ratio * 100.0 }' + occurrence: 0 + testSet: 2014 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::score + mutator: fn_value.zero + normalizedText: '{ if self.valid == 0 { return 100.0; } #[expect(clippy::cast_precision_loss, reason = "mutant counts + are far below the f64 integer limit")] let ratio = self.detected as f64 / self.valid as f64; ratio * 100.0 }' + occurrence: 0 + testSet: 2014 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::score + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2014 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::score + mutator: relational.eq_to_ne + normalizedText: self.valid == 0 + occurrence: 0 + testSet: 2014 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::scored + mutator: fn_value.none + normalizedText: '{ (self.valid > 0).then(|| self.score()) }' + occurrence: 0 + testSet: 2015 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::scored + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2015 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::scored + mutator: relational.gt_to_ge + normalizedText: self.valid > 0 + occurrence: 0 + testSet: 2015 + - site: + file: crates/cargo-gamma-lib/src/merge/merged.rs + item: Merged::scored + mutator: relational.gt_to_lt + normalizedText: self.valid > 0 + occurrence: 0 + testSet: 2015 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: open + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2016 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: cond.always_false + normalizedText: bytes_read > limit + occurrence: 0 + testSet: 2017 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: cond.always_true + normalizedText: bytes_read > limit + occurrence: 0 + testSet: 2017 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: cond.negate + normalizedText: bytes_read > limit + occurrence: 0 + testSet: 2017 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: expr.decrement + normalizedText: bytes.len() + occurrence: 0 + testSet: 2017 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: expr.decrement + normalizedText: limit + occurrence: 0 + testSet: 2018 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: expr.decrement + normalizedText: limit.saturating_add(1) + occurrence: 0 + testSet: 2017 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: expr.increment + normalizedText: bytes.len() + occurrence: 0 + testSet: 2017 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: expr.increment + normalizedText: limit + occurrence: 0 + testSet: 2018 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: expr.increment + normalizedText: limit.saturating_add(1) + occurrence: 0 + testSet: 2017 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: fn_value.ok + normalizedText: '{ let mut bytes = Vec::new(); let mut capped = input.by_ref().take(limit.saturating_add(1)); let _read + = capped .read_to_end(&mut bytes) .map_err(|cause| error!("could not read `{path}`").caused_by(cause))?; let bytes_read + = u64::try_from(bytes.len()).map_err(|cause| error!("could not read `{path}`").caused_by(cause))?; if bytes_read > + limit { return Err(too_large(path, bytes_read, limit)); } let text = String::from_utf8(bytes).map_err(|cause| error!("could + not read `{path}`").caused_by(cause))?; Ok((text, bytes_read)) }' + occurrence: 0 + testSet: 2017 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2017 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2017 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: relational.gt_to_ge + normalizedText: bytes_read > limit + occurrence: 0 + testSet: 2017 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: relational.gt_to_lt + normalizedText: bytes_read > limit + occurrence: 0 + testSet: 2017 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_contents + mutator: result.err_to_ok + normalizedText: Err(too_large(path, bytes_read, limit)) + occurrence: 0 + testSet: 2018 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.always_false + normalizedText: '!incoming.has_supported_schema_version()' + occurrence: 0 + testSet: 1944 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.always_false + normalizedText: '!metadata.file_type().is_file()' + occurrence: 0 + testSet: 2019 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.always_false + normalizedText: shard.count > MAX_SHARDS + occurrence: 0 + testSet: 2020 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.always_false + normalizedText: shard.index >= shard.count + occurrence: 0 + testSet: 2021 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.always_false + normalizedText: size > limit + occurrence: 0 + testSet: 2019 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.always_true + normalizedText: '!incoming.has_supported_schema_version()' + occurrence: 0 + testSet: 1944 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.always_true + normalizedText: '!metadata.file_type().is_file()' + occurrence: 0 + testSet: 2019 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.always_true + normalizedText: shard.count > MAX_SHARDS + occurrence: 0 + testSet: 2020 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.always_true + normalizedText: shard.index >= shard.count + occurrence: 0 + testSet: 2021 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.always_true + normalizedText: size > limit + occurrence: 0 + testSet: 2019 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.negate + normalizedText: '!incoming.has_supported_schema_version()' + occurrence: 0 + testSet: 1944 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.negate + normalizedText: '!metadata.file_type().is_file()' + occurrence: 0 + testSet: 2019 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.negate + normalizedText: shard.count > MAX_SHARDS + occurrence: 0 + testSet: 2020 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.negate + normalizedText: shard.index >= shard.count + occurrence: 0 + testSet: 2021 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: cond.negate + normalizedText: size > limit + occurrence: 0 + testSet: 2019 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: expr.decrement + normalizedText: MAX_BYTES + occurrence: 0 + testSet: 2019 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: expr.decrement + normalizedText: MAX_SKEW + occurrence: 0 + testSet: 2022 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: expr.decrement + normalizedText: limit + occurrence: 0 + testSet: 2023 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: expr.decrement + normalizedText: limit + occurrence: 1 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: expr.decrement + normalizedText: size + occurrence: 0 + testSet: 2023 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: expr.increment + normalizedText: MAX_BYTES + occurrence: 0 + testSet: 2019 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: expr.increment + normalizedText: MAX_SKEW + occurrence: 0 + testSet: 2022 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: expr.increment + normalizedText: limit + occurrence: 0 + testSet: 2023 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: expr.increment + normalizedText: limit + occurrence: 1 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: expr.increment + normalizedText: size + occurrence: 0 + testSet: 2023 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: iter.min_to_max + normalizedText: limit.min(MAX_BYTES) + occurrence: 0 + testSet: 2019 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: relational.ge_to_gt + normalizedText: shard.index >= shard.count + occurrence: 0 + testSet: 2021 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: relational.ge_to_le + normalizedText: shard.index >= shard.count + occurrence: 0 + testSet: 2021 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: relational.gt_to_ge + normalizedText: config.started_at > now.saturating_add(MAX_SKEW) + occurrence: 0 + testSet: 2022 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: relational.gt_to_ge + normalizedText: shard.count > MAX_SHARDS + occurrence: 0 + testSet: 2020 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: relational.gt_to_ge + normalizedText: size > limit + occurrence: 0 + testSet: 2019 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: relational.gt_to_lt + normalizedText: config.started_at > now.saturating_add(MAX_SKEW) + occurrence: 0 + testSet: 2022 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: relational.gt_to_lt + normalizedText: shard.count > MAX_SHARDS + occurrence: 0 + testSet: 2020 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: relational.gt_to_lt + normalizedText: size > limit + occurrence: 0 + testSet: 2019 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: stmt.delete_call + normalizedText: drop(text); + occurrence: 0 + testSet: 1941 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: unary.remove_not + normalizedText: '!incoming.has_supported_schema_version()' + occurrence: 0 + testSet: 1944 + - site: + file: crates/cargo-gamma-lib/src/merge/read.rs + item: read_limited + mutator: unary.remove_not + normalizedText: '!metadata.file_type().is_file()' + occurrence: 0 + testSet: 2019 + - site: + file: crates/cargo-gamma-lib/src/merge/status.rs + item: scoring + mutator: fn_value.none + normalizedText: '{ match status { "Killed" => Some(Scoring::Detected), "Survived" | "Timeout" | "NoCoverage" => Some(Scoring::Undetected), + "CompileError" | "Ignored" | "RuntimeError" | NEVER_RUN => Some(Scoring::Excluded), _undefined => None, } }' + occurrence: 0 + testSet: 2024 + - site: + file: crates/cargo-gamma-lib/src/merge/status.rs + item: scoring + mutator: match_arm.never_matches + normalizedText: '"CompileError" | "Ignored" | "RuntimeError" | NEVER_RUN' + occurrence: 0 + testSet: 2025 + - site: + file: crates/cargo-gamma-lib/src/merge/status.rs + item: scoring + mutator: match_arm.never_matches + normalizedText: '"Killed"' + occurrence: 0 + testSet: 2026 + - site: + file: crates/cargo-gamma-lib/src/merge/status.rs + item: scoring + mutator: match_arm.never_matches + normalizedText: '"Survived" | "Timeout" | "NoCoverage"' + occurrence: 0 + testSet: 2027 + - site: + file: crates/cargo-gamma-lib/src/merge/status.rs + item: scoring + mutator: option.some_to_none + normalizedText: Some(Scoring::Detected) + occurrence: 0 + testSet: 2026 + - site: + file: crates/cargo-gamma-lib/src/merge/status.rs + item: scoring + mutator: option.some_to_none + normalizedText: Some(Scoring::Excluded) + occurrence: 0 + testSet: 2025 + - site: + file: crates/cargo-gamma-lib/src/merge/status.rs + item: scoring + mutator: option.some_to_none + normalizedText: Some(Scoring::Undetected) + occurrence: 0 + testSet: 2027 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: Lineages<'report>::source + mutator: fn_value.empty_string + normalizedText: '{ let key = (from_ref(file).addr(), name); if let Some(known) = self.sources.get(&key) { return known.clone(); + } let computed = lineage(&[b"source", name.as_bytes(), file.language.as_bytes(), file.source.as_bytes()]); let _ = + self.sources.insert(key, computed.clone()); computed }' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: Lineages<'report>::source + mutator: fn_value.xyzzy_string + normalizedText: '{ let key = (from_ref(file).addr(), name); if let Some(known) = self.sources.get(&key) { return known.clone(); + } let computed = lineage(&[b"source", name.as_bytes(), file.language.as_bytes(), file.source.as_bytes()]); let _ = + self.sources.insert(key, computed.clone()); computed }' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: Lineages<'report>::verdict + mutator: cond.always_false + normalizedText: serde_json::to_writer(&mut self.scratch, mutant).is_err() + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: Lineages<'report>::verdict + mutator: cond.always_true + normalizedText: serde_json::to_writer(&mut self.scratch, mutant).is_err() + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: Lineages<'report>::verdict + mutator: cond.negate + normalizedText: serde_json::to_writer(&mut self.scratch, mutant).is_err() + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: Lineages<'report>::verdict + mutator: fn_value.empty_string + normalizedText: '{ self.scratch.clear(); if serde_json::to_writer(&mut self.scratch, mutant).is_err() { self.scratch.clear(); + } lineage(&[b"verdict", name.as_bytes(), &self.scratch]) }' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: Lineages<'report>::verdict + mutator: fn_value.xyzzy_string + normalizedText: '{ self.scratch.clear(); if serde_json::to_writer(&mut self.scratch, mutant).is_err() { self.scratch.clear(); + } lineage(&[b"verdict", name.as_bytes(), &self.scratch]) }' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: Lineages<'report>::verdict + mutator: stmt.delete_call + normalizedText: self.scratch.clear(); + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: identity_version + mutator: expr.decrement + normalizedText: MUTANT_ID_VERSION + occurrence: 0 + testSet: 2029 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: identity_version + mutator: expr.decrement + normalizedText: report .config .as_ref() .and_then(|config| config.mutant_id_version) .unwrap_or(MUTANT_ID_VERSION) + occurrence: 0 + testSet: 2029 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: identity_version + mutator: expr.increment + normalizedText: MUTANT_ID_VERSION + occurrence: 0 + testSet: 2029 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: identity_version + mutator: expr.increment + normalizedText: report .config .as_ref() .and_then(|config| config.mutant_id_version) .unwrap_or(MUTANT_ID_VERSION) + occurrence: 0 + testSet: 2029 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: identity_version + mutator: fn_value.one + normalizedText: '{ report .config .as_ref() .and_then(|config| config.mutant_id_version) .unwrap_or(MUTANT_ID_VERSION) + }' + occurrence: 0 + testSet: 2029 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: identity_version + mutator: fn_value.zero + normalizedText: '{ report .config .as_ref() .and_then(|config| config.mutant_id_version) .unwrap_or(MUTANT_ID_VERSION) + }' + occurrence: 0 + testSet: 2029 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: lineage + mutator: fn_value.empty_string + normalizedText: '{ let mut hasher = blake3::Hasher::new(); for part in parts { let _ = hasher.update(&(part.len() as + u64).to_le_bytes()); let _ = hasher.update(part); } hasher.finalize().to_hex().to_string() }' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: lineage + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut hasher = blake3::Hasher::new(); for part in parts { let _ = hasher.update(&(part.len() as + u64).to_le_bytes()); let _ = hasher.update(part); } hasher.finalize().to_hex().to_string() }' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: assign.add_to_sub + normalizedText: out.detected += 1 + occurrence: 0 + testSet: 2030 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: assign.add_to_sub + normalizedText: out.fresh += 1 + occurrence: 0 + testSet: 2031 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: assign.add_to_sub + normalizedText: out.incompatible += 1 + occurrence: 0 + testSet: 2032 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: assign.add_to_sub + normalizedText: out.never_tested += 1 + occurrence: 0 + testSet: 2033 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: assign.add_to_sub + normalizedText: out.stale += 1 + occurrence: 0 + testSet: 2034 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: assign.add_to_sub + normalizedText: out.valid += 1 + occurrence: 0 + testSet: 2030 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: assign.add_to_sub + normalizedText: out.valid += 1 + occurrence: 1 + testSet: 2035 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: assign_value.default + normalizedText: compatible .iter() .flat_map(|(_name, report)| report.files.keys()) .filter(|path| !current.contains_key(path.as_str())) + .collect::>() .len() + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: assign_value.default + normalizedText: rebuild(&compatible, &sources, files) + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: assign_value.default + normalizedText: reports .iter() .filter(|(_, report)| identity_version(report) != selected_identity_version) .map(|(name, + _report)| name.clone()) .collect() + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: assign_value.default + normalizedText: rotation(&compatible) + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: assign_value.default + normalizedText: withdrawn.len() + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.always_false + normalizedText: current.get(path.as_str()).is_some_and(|population| { !population.ids.contains(mutant.id.as_str()) && + rank(source_origin, source_at, &source_lineage) <= rank(population.origin, population.started_at, &population.lineage) + }) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.always_false + normalizedText: out.shard_count.is_some_and(|count| count != shard.count) + occurrence: 0 + testSet: 2037 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.always_false + normalizedText: verdict.mutant.status == NEVER_RUN + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.always_false + normalizedText: verdict.presentation.is_none() + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.always_false + normalizedText: window.is_some_and(|window| now.saturating_sub(verdict.tested_at) > window) + occurrence: 0 + testSet: 2038 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.always_true + normalizedText: current.get(path.as_str()).is_some_and(|population| { !population.ids.contains(mutant.id.as_str()) && + rank(source_origin, source_at, &source_lineage) <= rank(population.origin, population.started_at, &population.lineage) + }) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.always_true + normalizedText: out.shard_count.is_some_and(|count| count != shard.count) + occurrence: 0 + testSet: 2037 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.always_true + normalizedText: verdict.mutant.status == NEVER_RUN + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.always_true + normalizedText: verdict.presentation.is_none() + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.always_true + normalizedText: window.is_some_and(|window| now.saturating_sub(verdict.tested_at) > window) + occurrence: 0 + testSet: 2038 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.negate + normalizedText: current.get(path.as_str()).is_some_and(|population| { !population.ids.contains(mutant.id.as_str()) && + rank(source_origin, source_at, &source_lineage) <= rank(population.origin, population.started_at, &population.lineage) + }) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.negate + normalizedText: out.shard_count.is_some_and(|count| count != shard.count) + occurrence: 0 + testSet: 2037 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.negate + normalizedText: verdict.mutant.status == NEVER_RUN + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.negate + normalizedText: verdict.presentation.is_none() + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: cond.negate + normalizedText: window.is_some_and(|window| now.saturating_sub(verdict.tested_at) > window) + occurrence: 0 + testSet: 2038 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: expr.decrement + normalizedText: MUTANT_ID_VERSION + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: expr.decrement + normalizedText: population.started_at + occurrence: 0 + testSet: 2039 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: expr.decrement + normalizedText: verdict.tested_at + occurrence: 0 + testSet: 2040 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: expr.increment + normalizedText: MUTANT_ID_VERSION + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: expr.increment + normalizedText: population.started_at + occurrence: 0 + testSet: 2039 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: expr.increment + normalizedText: verdict.tested_at + occurrence: 0 + testSet: 2040 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: iter.max_to_min + normalizedText: reports .iter() .map(|(_, report)| identity_version(report)) .max() + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: iter.remove_sort + normalizedText: out.identity_incompatible.sort(); + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: iter.remove_sort + normalizedText: out.inconsistent.sort(); + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2032 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 2033 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 2034 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 3 + testSet: 2031 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 4 + testSet: 2030 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 5 + testSet: 2030 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 6 + testSet: 2035 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2032 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 2033 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 2034 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_increment + normalizedText: '1' + occurrence: 3 + testSet: 2031 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_increment + normalizedText: '1' + occurrence: 4 + testSet: 2030 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_increment + normalizedText: '1' + occurrence: 5 + testSet: 2030 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: literal.int_increment + normalizedText: '1' + occurrence: 6 + testSet: 2035 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: logical.and_to_or + normalizedText: '!population.ids.contains(mutant.id.as_str()) && rank(source_origin, source_at, &source_lineage) <= + rank(population.origin, population.started_at, &population.lineage)' + occurrence: 0 + testSet: 2041 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: logical.and_to_or + normalizedText: file.source == source.file.source && file.language == source.file.language + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 2042 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 2 + testSet: 2032 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 1 + testSet: 2042 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 2 + testSet: 2032 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: relational.eq_to_ne + normalizedText: file.language == source.file.language + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: relational.eq_to_ne + normalizedText: file.source == source.file.source + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: relational.eq_to_ne + normalizedText: identity_version(report) == selected_identity_version + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: relational.eq_to_ne + normalizedText: verdict.mutant.status == NEVER_RUN + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: relational.gt_to_ge + normalizedText: now.saturating_sub(verdict.tested_at) > window + occurrence: 0 + testSet: 2040 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: relational.gt_to_lt + normalizedText: now.saturating_sub(verdict.tested_at) > window + occurrence: 0 + testSet: 2040 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: relational.le_to_ge + normalizedText: rank(source_origin, source_at, &source_lineage) <= rank(population.origin, population.started_at, &population.lineage) + occurrence: 0 + testSet: 2039 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: relational.le_to_lt + normalizedText: rank(source_origin, source_at, &source_lineage) <= rank(population.origin, population.started_at, &population.lineage) + occurrence: 0 + testSet: 2039 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: relational.ne_to_eq + normalizedText: count != shard.count + occurrence: 0 + testSet: 2037 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: relational.ne_to_eq + normalizedText: identity_version(report) != selected_identity_version + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_assign + normalizedText: out.detected += 1; + occurrence: 0 + testSet: 2030 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_assign + normalizedText: out.fresh += 1; + occurrence: 0 + testSet: 2031 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_assign + normalizedText: out.identity_incompatible = reports .iter() .filter(|(_, report)| identity_version(report) != selected_identity_version) + .map(|(name, _report)| name.clone()) .collect(); + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_assign + normalizedText: out.incompatible += 1; + occurrence: 0 + testSet: 2032 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_assign + normalizedText: out.never_tested += 1; + occurrence: 0 + testSet: 2033 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_assign + normalizedText: out.report = rebuild(&compatible, &sources, files); + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_assign + normalizedText: out.shard_count = rotation(&compatible); + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_assign + normalizedText: out.stale += 1; + occurrence: 0 + testSet: 2034 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_assign + normalizedText: out.unchecked = compatible .iter() .flat_map(|(_name, report)| report.files.keys()) .filter(|path| !current.contains_key(path.as_str())) + .collect::>() .len(); + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_assign + normalizedText: out.valid += 1; + occurrence: 0 + testSet: 2030 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_assign + normalizedText: out.withdrawn = withdrawn.len(); + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_call + normalizedText: files.entry(verdict.file).or_default().push(verdict); + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_call + normalizedText: out.inconsistent.push(name.clone()); + occurrence: 0 + testSet: 2043 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: stmt.delete_call + normalizedText: 'retain( &mut latest, Candidate { mutant, path, tested_at, origin, lineage, compatible, source_rank: + (source.started_at, source.origin, source.lineage.clone()), }, );' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: unary.remove_not + normalizedText: '!current.contains_key(path.as_str())' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merge + mutator: unary.remove_not + normalizedText: '!population.ids.contains(mutant.id.as_str())' + occurrence: 0 + testSet: 2041 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_not_built + mutator: expr.decrement + normalizedText: count + occurrence: 0 + testSet: 2044 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_not_built + mutator: expr.increment + normalizedText: count + occurrence: 0 + testSet: 2044 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_not_built + mutator: fn_value.none + normalizedText: '{ let count = reports .iter() .filter_map(|(_, report)| report.config.as_ref()?.not_built) .fold(0, + usize::saturating_add); (count > 0).then_some(count) }' + occurrence: 0 + testSet: 2044 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_not_built + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2044 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_not_built + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 2044 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_not_built + mutator: relational.gt_to_ge + normalizedText: count > 0 + occurrence: 0 + testSet: 2044 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_not_built + mutator: relational.gt_to_lt + normalizedText: count > 0 + occurrence: 0 + testSet: 2044 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_tests + mutator: fn_value.none + normalizedText: '{ reports .iter() .map(|(_, report)| report.config.as_ref()?.tests) .try_fold(None, |lowest, tests| + { tests.map(|tests| Some(lowest.map_or(tests, |lowest: usize| lowest.min(tests)))) }) .flatten() .filter(|_| !reports.is_empty()) + }' + occurrence: 0 + testSet: 2044 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_tests + mutator: iter.min_to_max + normalizedText: lowest.min(tests) + occurrence: 0 + testSet: 2045 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_tests + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 2044 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_tests + mutator: option.some_to_none + normalizedText: 'Some(lowest.map_or(tests, |lowest: usize| lowest.min(tests)))' + occurrence: 0 + testSet: 2046 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: merged_tests + mutator: unary.remove_not + normalizedText: '!reports.is_empty()' + occurrence: 0 + testSet: 2046 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: cond.always_false + normalizedText: rank(name, at, &lineage) > rank(held.origin, held.started_at, &held.lineage) + occurrence: 0 + testSet: 2047 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: cond.always_false + normalizedText: report.config.as_ref().is_some_and(|config| config.shard.is_some() || config.merged) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: cond.always_true + normalizedText: rank(name, at, &lineage) > rank(held.origin, held.started_at, &held.lineage) + occurrence: 0 + testSet: 2047 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: cond.always_true + normalizedText: report.config.as_ref().is_some_and(|config| config.shard.is_some() || config.merged) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: cond.negate + normalizedText: rank(name, at, &lineage) > rank(held.origin, held.started_at, &held.lineage) + occurrence: 0 + testSet: 2047 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: cond.negate + normalizedText: report.config.as_ref().is_some_and(|config| config.shard.is_some() || config.merged) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: expr.decrement + normalizedText: held.started_at + occurrence: 0 + testSet: 2047 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: expr.increment + normalizedText: held.started_at + occurrence: 0 + testSet: 2047 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: fn_value.empty_collection + normalizedText: '{ let mut newest: HashMap<&str, Population<''_>> = HashMap::new(); for (name, report) in reports.iter().copied() + { if report.config.as_ref().is_some_and(|config| config.shard.is_some() || config.merged) { continue; } let at = started_at(report); + for (path, file) in &report.files { let ids: HashSet<&str> = file.mutants.iter().map(|mutant| mutant.id.as_str()).collect(); + match newest.entry(path.as_str()) { Entry::Vacant(slot) => { let _ = slot.insert(Population { started_at: at, origin: + name, lineage: lineages.source(name, file), ids, }); } Entry::Occupied(mut slot) => { let held = slot.get(); let lineage + = lineages.source(name, file); if rank(name, at, &lineage) > rank(held.origin, held.started_at, &held.lineage) { let + _ = slot.insert(Population { started_at: at, origin: name, lineage, ids, }); } } } } } newest }' + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: logical.or_to_and + normalizedText: config.shard.is_some() || config.merged + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 2037 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 2037 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: relational.gt_to_ge + normalizedText: rank(name, at, &lineage) > rank(held.origin, held.started_at, &held.lineage) + occurrence: 0 + testSet: 2047 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: populations + mutator: relational.gt_to_lt + normalizedText: rank(name, at, &lineage) > rank(held.origin, held.started_at, &held.lineage) + occurrence: 0 + testSet: 2047 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: assign_value.default + normalizedText: newest.max(source.started_at) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: assign_value.default + normalizedText: newest.max(verdict.tested_at) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: expr.decrement + normalizedText: source.started_at + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: expr.decrement + normalizedText: verdict.tested_at + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: expr.increment + normalizedText: source.started_at + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: expr.increment + normalizedText: verdict.tested_at + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: fn_value.none + normalizedText: '{ let base = reports .iter() .max_by(|left, right| rank(&left.0, started_at(&left.1), "").cmp(&rank(&right.0, + started_at(&right.1), ""))) .map(|(_, report)| report)?; let mut provenance = MergeProvenance::default(); let mut + newest = u64::MIN; let merged_files = files .into_iter() .filter_map(|(path, mutants)| { let source = sources.get(path)?; + let _ = provenance.sources.insert( path.to_owned(), SourceProvenance { started_at: source.started_at, origin: source.origin.to_owned(), + lineage: source.lineage.clone(), }, ); newest = newest.max(source.started_at); let mut mutants: Vec + = mutants .into_iter() .filter_map(|verdict| { let presentation = verdict.presentation?; newest = newest.max(verdict.tested_at); + let mutant = MutantResult { id: verdict.mutant.id.clone(), mutator_name: presentation.mutator_name.clone(), location: + presentation.location, status: verdict.mutant.status.clone(), replacement: presentation.replacement.clone(), description: + presentation.description.clone(), status_reason: verdict.mutant.status_reason.clone(), duration: verdict.mutant.duration, + killed_by: verdict.mutant.killed_by.clone(), }; let _ = provenance.verdicts.insert( mutant.id.to_string(), VerdictProvenance + { started_at: verdict.tested_at, origin: verdict.origin.to_owned(), lineage: verdict.lineage.clone(), }, ); Some(mutant) + }) .collect(); mutants.sort_by(|left, right| { left.location .start .line .cmp(&right.location.start.line) .then(left.id.cmp(&right.id)) + }); Some(( path.to_owned(), FileResult { source: source.file.source.clone(), language: source.file.language.clone(), + mutants, }, )) }) .collect(); let dropped_test_packages = reports .iter() .filter_map(|(_, report)| report.config.as_ref()) + .flat_map(|config| config.dropped_test_packages.iter().cloned()) .collect::>() .into_iter() .collect(); + Some(Report { schema_version: base.schema_version.clone(), thresholds: base.thresholds, project_root: base.project_root.clone(), + framework: base.framework.clone(), files: merged_files, config: Some(RunInfo { started_at: newest, mutant_id_version: + Some(identity_version(base)), merged: true, shard: None, tests: merged_tests(reports), not_built: merged_not_built(reports), + dropped_test_packages, merge_provenance: Some(provenance), }), }) }' + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: iter.max_to_min + normalizedText: newest.max(source.started_at) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: iter.max_to_min + normalizedText: newest.max(verdict.tested_at) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: iter.remove_sort + normalizedText: mutants.sort_by(|left, right| { left.location .start .line .cmp(&right.location.start.line) .then(left.id.cmp(&right.id)) + }); + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 0 + testSet: 2048 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: literal.str_to_xyzzy + normalizedText: '""' + occurrence: 1 + testSet: 2048 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: option.some_to_none + normalizedText: 'Some(( path.to_owned(), FileResult { source: source.file.source.clone(), language: source.file.language.clone(), + mutants, }, ))' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: option.some_to_none + normalizedText: 'Some(Report { schema_version: base.schema_version.clone(), thresholds: base.thresholds, project_root: + base.project_root.clone(), framework: base.framework.clone(), files: merged_files, config: Some(RunInfo { started_at: + newest, mutant_id_version: Some(identity_version(base)), merged: true, shard: None, tests: merged_tests(reports), + not_built: merged_not_built(reports), dropped_test_packages, merge_provenance: Some(provenance), }), })' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: option.some_to_none + normalizedText: 'Some(RunInfo { started_at: newest, mutant_id_version: Some(identity_version(base)), merged: true, shard: + None, tests: merged_tests(reports), not_built: merged_not_built(reports), dropped_test_packages, merge_provenance: + Some(provenance), })' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: option.some_to_none + normalizedText: Some(identity_version(base)) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: option.some_to_none + normalizedText: Some(mutant) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: option.some_to_none + normalizedText: Some(provenance) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: stmt.delete_assign + normalizedText: newest = newest.max(source.started_at); + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rebuild + mutator: stmt.delete_assign + normalizedText: newest = newest.max(verdict.tested_at); + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: assign_value.default + normalizedText: Some(mutant) + occurrence: 0 + testSet: 2049 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: assign_value.default + normalizedText: Some(source_rank) + occurrence: 0 + testSet: 2049 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: assign_value.default + normalizedText: path + occurrence: 0 + testSet: 2049 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: cond.always_false + normalizedText: newer_presentation + occurrence: 0 + testSet: 2050 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: cond.always_false + normalizedText: newer_presentation + occurrence: 1 + testSet: 2051 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: cond.always_false + normalizedText: winner + occurrence: 0 + testSet: 2052 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: cond.always_true + normalizedText: newer_presentation + occurrence: 0 + testSet: 2050 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: cond.always_true + normalizedText: newer_presentation + occurrence: 1 + testSet: 2051 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: cond.always_true + normalizedText: winner + occurrence: 0 + testSet: 2052 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: cond.negate + normalizedText: newer_presentation + occurrence: 0 + testSet: 2050 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: cond.negate + normalizedText: newer_presentation + occurrence: 1 + testSet: 2051 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: cond.negate + normalizedText: winner + occurrence: 0 + testSet: 2052 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: expr.decrement + normalizedText: held.tested_at + occurrence: 0 + testSet: 2052 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: expr.increment + normalizedText: held.tested_at + occurrence: 0 + testSet: 2052 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: fn_value.unit + normalizedText: '{ let Candidate { mutant, path, tested_at, origin, lineage, compatible, source_rank, } = candidate; + let entry = latest.entry(mutant.id.as_str()); match entry { Entry::Vacant(slot) => { let _ = slot.insert(Verdict { + mutant, file: path, tested_at, origin, lineage, presentation: compatible.then_some(mutant), presentation_rank: compatible.then_some(source_rank), + }); } Entry::Occupied(mut slot) => { let held = slot.get(); let winner = verdict_rank(&mutant.status, origin, tested_at, + &lineage) > verdict_rank(&held.mutant.status, held.origin, held.tested_at, &held.lineage); let newer_presentation + = compatible && held .presentation_rank .as_ref() .is_none_or(|(at, origin, lineage)| rank(source_rank.1, source_rank.0, + &source_rank.2) > rank(origin, *at, lineage)); if winner { let (file, presentation, presentation_rank) = if newer_presentation + { (path, Some(mutant), Some(source_rank)) } else { (held.file, held.presentation, held.presentation_rank.clone()) + }; let _ = slot.insert(Verdict { mutant, file, tested_at, origin, lineage, presentation, presentation_rank, }); } + else if newer_presentation { let held = slot.get_mut(); held.file = path; held.presentation = Some(mutant); held.presentation_rank + = Some(source_rank); } } } }' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: logical.and_to_or + normalizedText: compatible && held .presentation_rank .as_ref() .is_none_or(|(at, origin, lineage)| rank(source_rank.1, + source_rank.0, &source_rank.2) > rank(origin, *at, lineage)) + occurrence: 0 + testSet: 2052 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: option.some_to_none + normalizedText: Some(mutant) + occurrence: 0 + testSet: 2053 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: option.some_to_none + normalizedText: Some(mutant) + occurrence: 1 + testSet: 2049 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: option.some_to_none + normalizedText: Some(source_rank) + occurrence: 0 + testSet: 2053 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: option.some_to_none + normalizedText: Some(source_rank) + occurrence: 1 + testSet: 2049 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: relational.gt_to_ge + normalizedText: rank(source_rank.1, source_rank.0, &source_rank.2) > rank(origin, *at, lineage) + occurrence: 0 + testSet: 2054 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: relational.gt_to_ge + normalizedText: verdict_rank(&mutant.status, origin, tested_at, &lineage) > verdict_rank(&held.mutant.status, held.origin, + held.tested_at, &held.lineage) + occurrence: 0 + testSet: 2052 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: relational.gt_to_lt + normalizedText: rank(source_rank.1, source_rank.0, &source_rank.2) > rank(origin, *at, lineage) + occurrence: 0 + testSet: 2054 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: relational.gt_to_lt + normalizedText: verdict_rank(&mutant.status, origin, tested_at, &lineage) > verdict_rank(&held.mutant.status, held.origin, + held.tested_at, &held.lineage) + occurrence: 0 + testSet: 2052 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: stmt.delete_assign + normalizedText: held.file = path; + occurrence: 0 + testSet: 2049 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: stmt.delete_assign + normalizedText: held.presentation = Some(mutant); + occurrence: 0 + testSet: 2049 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: retain + mutator: stmt.delete_assign + normalizedText: held.presentation_rank = Some(source_rank); + occurrence: 0 + testSet: 2049 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rotation + mutator: fn_value.none + normalizedText: '{ reports .iter() .filter_map(|(_, report)| { let config = report.config.as_ref()?; config.shard }) + .map(|shard| shard.count) .max() }' + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: rotation + mutator: iter.max_to_min + normalizedText: reports .iter() .filter_map(|(_, report)| { let config = report.config.as_ref()?; config.shard }) .map(|shard| + shard.count) .max() + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: source_provenance + mutator: cond.always_false + normalizedText: provenance.lineage.is_empty() + occurrence: 0 + testSet: 2055 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: source_provenance + mutator: cond.always_true + normalizedText: provenance.lineage.is_empty() + occurrence: 0 + testSet: 2055 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: source_provenance + mutator: cond.negate + normalizedText: provenance.lineage.is_empty() + occurrence: 0 + testSet: 2055 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: source_provenance + mutator: fn_value.tuple + normalizedText: '{ let provenance = report .config .as_ref() .and_then(|config| config.merge_provenance.as_ref()) .and_then(|provenance| + provenance.sources.get(path)); if let Some(provenance) = provenance { let lineage = if provenance.lineage.is_empty() + { lineages.source(provenance.origin.as_str(), file) } else { provenance.lineage.clone() }; (provenance.started_at, + provenance.origin.as_str(), lineage) } else { (started_at(report), name, lineages.source(name, file)) } }' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: sources + mutator: fn_value.empty_collection + normalizedText: '{ let mut newest = HashMap::new(); for (name, report) in reports.iter().copied() { for (path, file) + in &report.files { let (started_at, origin, lineage) = source_provenance(name, report, path, file, lineages); let + candidate = Source { file, started_at, origin, lineage, }; match newest.entry(path.as_str()) { Entry::Vacant(slot) + => { let _ = slot.insert(candidate); } Entry::Occupied(mut slot) if rank(origin, started_at, &candidate.lineage) > + rank(slot.get().origin, slot.get().started_at, &slot.get().lineage) => { let _ = slot.insert(candidate); } Entry::Occupied(_slot) + => {} } } } newest }' + occurrence: 0 + testSet: 2036 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: sources + mutator: match_guard.always_false + normalizedText: rank(origin, started_at, &candidate.lineage) > rank(slot.get().origin, slot.get().started_at, &slot.get().lineage) + occurrence: 0 + testSet: 2048 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: sources + mutator: match_guard.always_true + normalizedText: rank(origin, started_at, &candidate.lineage) > rank(slot.get().origin, slot.get().started_at, &slot.get().lineage) + occurrence: 0 + testSet: 2048 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: sources + mutator: match_guard.negate + normalizedText: rank(origin, started_at, &candidate.lineage) > rank(slot.get().origin, slot.get().started_at, &slot.get().lineage) + occurrence: 0 + testSet: 2048 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: started_at + mutator: expr.decrement + normalizedText: report.config.as_ref().map_or(0, |config| config.started_at) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: started_at + mutator: expr.increment + normalizedText: report.config.as_ref().map_or(0, |config| config.started_at) + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: started_at + mutator: fn_value.one + normalizedText: '{ report.config.as_ref().map_or(0, |config| config.started_at) }' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: started_at + mutator: fn_value.zero + normalizedText: '{ report.config.as_ref().map_or(0, |config| config.started_at) }' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: started_at + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: verdict_provenance + mutator: cond.always_false + normalizedText: provenance.lineage.is_empty() + occurrence: 0 + testSet: 2055 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: verdict_provenance + mutator: cond.always_true + normalizedText: provenance.lineage.is_empty() + occurrence: 0 + testSet: 2055 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: verdict_provenance + mutator: cond.negate + normalizedText: provenance.lineage.is_empty() + occurrence: 0 + testSet: 2055 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: verdict_provenance + mutator: fn_value.tuple + normalizedText: '{ let provenance = report .config .as_ref() .and_then(|config| config.merge_provenance.as_ref()) .and_then(|provenance| + provenance.verdicts.get(mutant.id.as_str())); if let Some(provenance) = provenance { let lineage = if provenance.lineage.is_empty() + { lineages.verdict(provenance.origin.as_str(), mutant) } else { provenance.lineage.clone() }; (provenance.started_at, + provenance.origin.as_str(), lineage) } else { (started_at(report), name, lineages.verdict(name, mutant)) } }' + occurrence: 0 + testSet: 2028 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: verdict_rank + mutator: expr.decrement + normalizedText: tested_at + occurrence: 0 + testSet: 2052 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: verdict_rank + mutator: expr.increment + normalizedText: tested_at + occurrence: 0 + testSet: 2052 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: verdict_rank + mutator: fn_value.tuple + normalizedText: '{ (status != NEVER_RUN, rank(name, tested_at, lineage)) }' + occurrence: 0 + testSet: 2052 + - site: + file: crates/cargo-gamma-lib/src/merge/union.rs + item: verdict_rank + mutator: relational.ne_to_eq + normalizedText: status != NEVER_RUN + occurrence: 0 + testSet: 2052 + - site: + file: crates/cargo-gamma-lib/src/model/interner.rs + item: Interner::share + mutator: assign_value.default + normalizedText: self.text(&mutant.item_path) + occurrence: 0 + testSet: 2056 + - site: + file: crates/cargo-gamma-lib/src/model/interner.rs + item: Interner::share + mutator: assign_value.default + normalizedText: self.text(&mutant.mutator) + occurrence: 0 + testSet: 2056 + - site: + file: crates/cargo-gamma-lib/src/model/interner.rs + item: Interner::share + mutator: assign_value.default + normalizedText: self.text(&mutant.package) + occurrence: 0 + testSet: 2056 + - site: + file: crates/cargo-gamma-lib/src/model/interner.rs + item: Interner::share + mutator: fn_value.unit + normalizedText: '{ for mutant in mutants { mutant.file = self.path(&mutant.file); mutant.package = self.text(&mutant.package); + mutant.mutator = self.text(&mutant.mutator); mutant.item_path = self.text(&mutant.item_path); } }' + occurrence: 0 + testSet: 2056 + - site: + file: crates/cargo-gamma-lib/src/model/interner.rs + item: Interner::share + mutator: stmt.delete_assign + normalizedText: mutant.file = self.path(&mutant.file); + occurrence: 0 + testSet: 2056 + - site: + file: crates/cargo-gamma-lib/src/model/interner.rs + item: Interner::share + mutator: stmt.delete_assign + normalizedText: mutant.item_path = self.text(&mutant.item_path); + occurrence: 0 + testSet: 2056 + - site: + file: crates/cargo-gamma-lib/src/model/interner.rs + item: Interner::share + mutator: stmt.delete_assign + normalizedText: mutant.mutator = self.text(&mutant.mutator); + occurrence: 0 + testSet: 2056 + - site: + file: crates/cargo-gamma-lib/src/model/interner.rs + item: Interner::share + mutator: stmt.delete_assign + normalizedText: mutant.package = self.text(&mutant.package); + occurrence: 0 + testSet: 2056 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: Mutant::describe + mutator: fn_value.empty_string + normalizedText: '{ format!("{}:{}:{}: {} [{}]", self.file, self.line, self.column, self.summary(), self.mutator) }' + occurrence: 0 + testSet: 2057 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: Mutant::describe + mutator: fn_value.xyzzy_string + normalizedText: '{ format!("{}:{}:{}: {} [{}]", self.file, self.line, self.column, self.summary(), self.mutator) }' + occurrence: 0 + testSet: 2057 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: Mutant::from_definition + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2058 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: Mutant::from_definition + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 2058 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: Mutant::from_definition + mutator: option.none_to_some + normalizedText: None + occurrence: 2 + testSet: 2058 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: Mutant::from_definition + mutator: option.none_to_some + normalizedText: None + occurrence: 3 + testSet: 2058 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: Mutant::from_definition + mutator: option.none_to_some + normalizedText: None + occurrence: 4 + testSet: 2058 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: Mutant::summary + mutator: fn_value.empty_string + normalizedText: '{ match self.shape { Shape::Stmt => format!("delete {}", one_line(&self.original, 56)), Shape::Arm + => format!("stop the arm matching {} from matching", one_line(&self.original, 48)), Shape::Expr | Shape::Block | Shape::IterBlock + | Shape::Continue | Shape::Break => { format!("replace {} with {}", one_line(&self.original, 40), one_line(&self.replacement, + 32)) } } }' + occurrence: 0 + testSet: 2059 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: Mutant::summary + mutator: fn_value.xyzzy_string + normalizedText: '{ match self.shape { Shape::Stmt => format!("delete {}", one_line(&self.original, 56)), Shape::Arm + => format!("stop the arm matching {} from matching", one_line(&self.original, 48)), Shape::Expr | Shape::Block | Shape::IterBlock + | Shape::Continue | Shape::Break => { format!("replace {} with {}", one_line(&self.original, 40), one_line(&self.replacement, + 32)) } } }' + occurrence: 0 + testSet: 2059 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: arith.div_to_mul + normalizedText: width.saturating_sub(3) / 2 + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: arith.div_to_rem + normalizedText: width.saturating_sub(3) / 2 + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: arith.sub_to_add + normalizedText: length - tail + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: arith.sub_to_add + normalizedText: width.saturating_sub(3) - head + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: arith.sub_to_div + normalizedText: length - tail + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: arith.sub_to_div + normalizedText: width.saturating_sub(3) - head + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: cond.always_false + normalizedText: length <= width + occurrence: 0 + testSet: 2061 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: cond.always_true + normalizedText: length <= width + occurrence: 0 + testSet: 2061 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: cond.negate + normalizedText: length <= width + occurrence: 0 + testSet: 2061 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: expr.decrement + normalizedText: head + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: expr.decrement + normalizedText: length - tail + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: expr.increment + normalizedText: head + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: expr.increment + normalizedText: length - tail + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: fn_value.empty_string + normalizedText: '{ let flattened: String = text.split_whitespace().collect::>().join(" "); let length = flattened.chars().count(); + if length <= width { return flattened; } let head = width.saturating_sub(3) / 2; let tail = width.saturating_sub(3) + - head; flattened .chars() .take(head) .chain("...".chars()) .chain(flattened.chars().skip(length - tail)) .collect() + }' + occurrence: 0 + testSet: 2061 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: fn_value.xyzzy_string + normalizedText: '{ let flattened: String = text.split_whitespace().collect::>().join(" "); let length = flattened.chars().count(); + if length <= width { return flattened; } let head = width.saturating_sub(3) / 2; let tail = width.saturating_sub(3) + - head; flattened .chars() .take(head) .chain("...".chars()) .chain(flattened.chars().skip(length - tail)) .collect() + }' + occurrence: 0 + testSet: 2061 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 1 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.int_increment + normalizedText: '3' + occurrence: 1 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 1 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 1 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.str_to_empty + normalizedText: '" "' + occurrence: 0 + testSet: 2061 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.str_to_empty + normalizedText: '"..."' + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.str_to_xyzzy + normalizedText: '" "' + occurrence: 0 + testSet: 2061 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: literal.str_to_xyzzy + normalizedText: '"..."' + occurrence: 0 + testSet: 2060 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: relational.le_to_ge + normalizedText: length <= width + occurrence: 0 + testSet: 2061 + - site: + file: crates/cargo-gamma-lib/src/model/mutant.rs + item: one_line + mutator: relational.le_to_lt + normalizedText: length <= width + occurrence: 0 + testSet: 2061 + - site: + file: crates/cargo-gamma-lib/src/model/outcome.rs + item: ::fmt + mutator: fn_value.ok + normalizedText: '{ formatter.write_str(self.as_str()) }' + occurrence: 0 + testSet: 2062 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::of + mutator: assign.add_to_sub + normalizedText: '*counter += 1' + occurrence: 0 + testSet: 2063 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::of + mutator: fn_value.default + normalizedText: '{ let mut summary = Self::default(); for mutant in mutants { let counter = match mutant.outcome { Outcome::Killed + => &mut summary.killed, Outcome::Survived => &mut summary.survived, Outcome::Timeout => &mut summary.timeout, Outcome::OutOfMemory + => &mut summary.out_of_memory, Outcome::Flaky => &mut summary.flaky, Outcome::CompileError => &mut summary.unviable, + Outcome::Ignored => &mut summary.ignored, Outcome::NoCoverage => &mut summary.uncovered, Outcome::NotBuilt => &mut + summary.not_built, Outcome::Pending => &mut summary.pending, }; *counter += 1; } summary }' + occurrence: 0 + testSet: 2064 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::of + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2063 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::of + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2063 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::of + mutator: stmt.delete_assign + normalizedText: '*counter += 1;' + occurrence: 0 + testSet: 2063 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::score + mutator: arith.div_to_mul + normalizedText: f64::from(self.detected()) * 100.0 / f64::from(valid) + occurrence: 0 + testSet: 2065 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::score + mutator: arith.div_to_rem + normalizedText: f64::from(self.detected()) * 100.0 / f64::from(valid) + occurrence: 0 + testSet: 2065 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::score + mutator: arith.mul_to_add + normalizedText: f64::from(self.detected()) * 100.0 + occurrence: 0 + testSet: 2065 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::score + mutator: arith.mul_to_div + normalizedText: f64::from(self.detected()) * 100.0 + occurrence: 0 + testSet: 2065 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::score + mutator: cond.always_false + normalizedText: valid == 0 + occurrence: 0 + testSet: 2066 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::score + mutator: cond.always_true + normalizedText: valid == 0 + occurrence: 0 + testSet: 2066 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::score + mutator: cond.negate + normalizedText: valid == 0 + occurrence: 0 + testSet: 2066 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::score + mutator: fn_value.minus_one + normalizedText: '{ let valid = self.valid(); if valid == 0 { return 100.0; } f64::from(self.detected()) * 100.0 / f64::from(valid) + }' + occurrence: 0 + testSet: 2066 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::score + mutator: fn_value.one + normalizedText: '{ let valid = self.valid(); if valid == 0 { return 100.0; } f64::from(self.detected()) * 100.0 / f64::from(valid) + }' + occurrence: 0 + testSet: 2066 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::score + mutator: fn_value.zero + normalizedText: '{ let valid = self.valid(); if valid == 0 { return 100.0; } f64::from(self.detected()) * 100.0 / f64::from(valid) + }' + occurrence: 0 + testSet: 2066 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::score + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2066 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::score + mutator: relational.eq_to_ne + normalizedText: valid == 0 + occurrence: 0 + testSet: 2066 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::scored + mutator: fn_value.none + normalizedText: '{ (self.valid() > 0).then(|| self.score()) }' + occurrence: 0 + testSet: 2067 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::scored + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2067 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::scored + mutator: relational.gt_to_ge + normalizedText: self.valid() > 0 + occurrence: 0 + testSet: 2067 + - site: + file: crates/cargo-gamma-lib/src/model/summary.rs + item: Summary::scored + mutator: relational.gt_to_lt + normalizedText: self.valid() > 0 + occurrence: 0 + testSet: 2067 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: ::drop + mutator: fn_value.unit + normalizedText: '{ ACTIVE.with(|active| { let _previous = active.replace(self.previous.take()); }); }' + occurrence: 0 + testSet: 2068 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: ::drop + mutator: stmt.delete_call + normalizedText: ACTIVE.with(|active| { let _previous = active.replace(self.previous.take()); }); + occurrence: 0 + testSet: 2068 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: current + mutator: fn_value.none + normalizedText: '{ ACTIVE.with(|active| active.borrow().clone()) }' + occurrence: 0 + testSet: 2069 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: drain + mutator: cond.always_false + normalizedText: dropped > 0 + occurrence: 0 + testSet: 2069 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: drain + mutator: cond.always_true + normalizedText: dropped > 0 + occurrence: 0 + testSet: 2069 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: drain + mutator: cond.negate + normalizedText: dropped > 0 + occurrence: 0 + testSet: 2069 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: drain + mutator: fn_value.empty_collection + normalizedText: '{ let Some(run) = current() else { return Vec::new(); }; let Ok(mut pending) = run.pending.lock() else + { return Vec::new(); }; let mut lines = core::mem::take(&mut pending.lines); let dropped = core::mem::take(&mut pending.dropped); + if dropped > 0 { lines.push(format!("and {} more like these", crate::report::quantity(dropped, "diagnostic"))); } + lines }' + occurrence: 0 + testSet: 2069 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: drain + mutator: fn_value.one_element + normalizedText: '{ let Some(run) = current() else { return Vec::new(); }; let Ok(mut pending) = run.pending.lock() else + { return Vec::new(); }; let mut lines = core::mem::take(&mut pending.lines); let dropped = core::mem::take(&mut pending.dropped); + if dropped > 0 { lines.push(format!("and {} more like these", crate::report::quantity(dropped, "diagnostic"))); } + lines }' + occurrence: 0 + testSet: 2069 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: drain + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2069 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: drain + mutator: relational.gt_to_ge + normalizedText: dropped > 0 + occurrence: 0 + testSet: 2069 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: drain + mutator: relational.gt_to_lt + normalizedText: dropped > 0 + occurrence: 0 + testSet: 2069 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: drain + mutator: stmt.delete_call + normalizedText: lines.push(format!("and {} more like these", crate::report::quantity(dropped, "diagnostic"))); + occurrence: 0 + testSet: 2070 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: note + mutator: assign.add_to_sub + normalizedText: pending.dropped += 1 + occurrence: 0 + testSet: 2070 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: note + mutator: cond.always_false + normalizedText: pending.lines.len() < LIMIT + occurrence: 0 + testSet: 2071 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: note + mutator: cond.always_true + normalizedText: pending.lines.len() < LIMIT + occurrence: 0 + testSet: 2071 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: note + mutator: cond.negate + normalizedText: pending.lines.len() < LIMIT + occurrence: 0 + testSet: 2071 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: note + mutator: fn_value.unit + normalizedText: '{ let Some(run) = current() else { return; }; let Ok(mut pending) = run.pending.lock() else { return; + }; if pending.lines.len() < LIMIT { pending.lines.push(message.into()); } else { pending.dropped += 1; } }' + occurrence: 0 + testSet: 2071 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: note + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2070 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: note + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2070 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: note + mutator: relational.lt_to_gt + normalizedText: pending.lines.len() < LIMIT + occurrence: 0 + testSet: 2071 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: note + mutator: relational.lt_to_le + normalizedText: pending.lines.len() < LIMIT + occurrence: 0 + testSet: 2071 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: note + mutator: stmt.delete_assign + normalizedText: pending.dropped += 1; + occurrence: 0 + testSet: 2070 + - site: + file: crates/cargo-gamma-lib/src/notes.rs + item: note + mutator: stmt.delete_call + normalizedText: pending.lines.push(message.into()); + occurrence: 0 + testSet: 2071 + - site: + file: crates/cargo-gamma-lib/src/ops/collect.rs + item: into_mutants + mutator: fn_value.empty_collection + normalizedText: '{ let package = Arc::from(package); into_definitions(file, candidates) .into_iter() .map(|definition| + Mutant::from_definition(definition, Arc::clone(&package))) .collect() }' + occurrence: 0 + testSet: 2072 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: absolute + mutator: cond.always_false + normalizedText: path.is_absolute() + occurrence: 0 + testSet: 2073 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: absolute + mutator: cond.always_true + normalizedText: path.is_absolute() + occurrence: 0 + testSet: 2073 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: absolute + mutator: cond.negate + normalizedText: path.is_absolute() + occurrence: 0 + testSet: 2073 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: absolute + mutator: fn_value.ok + normalizedText: '{ if path.is_absolute() { Ok(path.to_owned()) } else { let current = std::env::current_dir() .map_err(|cause| + error!("could not resolve the current directory while resolving `{path}`").caused_by(cause))?; let current = Utf8PathBuf::from_path_buf(current) + .map_err(|current| error!("the current directory `{}` is not a UTF-8 path", current.display()))?; Ok(current.join(path)) + } }' + occurrence: 0 + testSet: 2073 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: append + mutator: fn_value.unit + normalizedText: '{ for component in components { match component { Utf8Component::CurDir => {} Utf8Component::ParentDir + => { let _popped = destination.pop(); } Utf8Component::Prefix(_) | Utf8Component::RootDir | Utf8Component::Normal(_) + => destination.push(component.as_str()), } } }' + occurrence: 0 + testSet: 2074 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: lexical + mutator: fn_value.ok + normalizedText: '{ let absolute = absolute(path)?; let mut normalized = Utf8PathBuf::new(); append(&mut normalized, + absolute.components()); Ok(normalized) }' + occurrence: 0 + testSet: 2075 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: lexical + mutator: stmt.delete_call + normalizedText: append(&mut normalized, absolute.components()); + occurrence: 0 + testSet: 2075 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: physical + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 2076 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: physical + mutator: cond.always_false + normalizedText: '!restarted' + occurrence: 0 + testSet: 2077 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: physical + mutator: cond.always_true + normalizedText: '!restarted' + occurrence: 0 + testSet: 2077 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: physical + mutator: cond.negate + normalizedText: '!restarted' + occurrence: 0 + testSet: 2077 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: physical + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2076 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: physical + mutator: stmt.delete_assign + normalizedText: restarted = true; + occurrence: 0 + testSet: 2076 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: physical + mutator: unary.remove_not + normalizedText: '!restarted' + occurrence: 0 + testSet: 2077 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: reject_collisions + mutator: fn_value.ok + normalizedText: '{ let mut destinations: Vec<(&str, Utf8PathBuf)> = Vec::with_capacity(outputs.len()); for &(name, path) + in outputs { let destination = match physical(path) { Ok(destination) => destination, Err(_unresolved) => lexical(path)?, + }; if let Some((other, _previous)) = destinations.iter().find(|(_other, previous)| previous == &destination) { return + Err(error!( "`{name}` at `{path}` and `{other}` resolve to the same output path `{destination}`; choose distinct output + paths" ) .usage()); } destinations.push((name, destination)); } Ok(()) }' + occurrence: 0 + testSet: 2078 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: reject_collisions + mutator: relational.eq_to_ne + normalizedText: previous == &destination + occurrence: 0 + testSet: 2078 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: reject_collisions + mutator: result.err_to_ok + normalizedText: Err(error!( "`{name}` at `{path}` and `{other}` resolve to the same output path `{destination}`; choose + distinct output paths" ) .usage()) + occurrence: 0 + testSet: 2078 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: reject_collisions + mutator: stmt.delete_call + normalizedText: destinations.push((name, destination)); + occurrence: 0 + testSet: 2078 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: require_within + mutator: cond.always_false + normalizedText: destination.starts_with(&boundary) + occurrence: 0 + testSet: 2079 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: require_within + mutator: cond.always_true + normalizedText: destination.starts_with(&boundary) + occurrence: 0 + testSet: 2079 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: require_within + mutator: cond.negate + normalizedText: destination.starts_with(&boundary) + occurrence: 0 + testSet: 2079 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: require_within + mutator: fn_value.ok + normalizedText: '{ let destination = physical(path)?; let boundary = physical(root)?; if destination.starts_with(&boundary) + { return Ok(destination); } Err(error!( "refusing to use {purpose} `{path}`, which resolves to `{destination}` outside + its permitted root `{boundary}`" )) }' + occurrence: 0 + testSet: 2079 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: require_within + mutator: result.err_to_ok + normalizedText: Err(error!( "refusing to use {purpose} `{path}`, which resolves to `{destination}` outside its permitted + root `{boundary}`" )) + occurrence: 0 + testSet: 2080 + - site: + file: crates/cargo-gamma-lib/src/paths.rs + item: require_within + mutator: string.starts_with_to_ends_with + normalizedText: destination.starts_with(&boundary) + occurrence: 0 + testSet: 2079 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: assign_value.default + normalizedText: 'false' + occurrence: 0 + testSet: 2081 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 2082 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: assign_value.default + normalizedText: 'true' + occurrence: 1 + testSet: 2081 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: cond.always_false + normalizedText: '!self.open' + occurrence: 0 + testSet: 2083 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: cond.always_true + normalizedText: '!self.open' + occurrence: 0 + testSet: 2083 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: cond.negate + normalizedText: '!self.open' + occurrence: 0 + testSet: 2083 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: fn_value.unit + normalizedText: '{ if !self.open { if let Some((active, _, subject)) = self.pending.take() { self.clear(host); paint(host, + &format!("{active} {subject}\n")); self.dirty = true; } return; } paint(host, "\n"); self.open = false; self.dirty + = true; }' + occurrence: 0 + testSet: 2083 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2081 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2082 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 2081 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: literal.str_to_empty + normalizedText: '"\n"' + occurrence: 0 + testSet: 2081 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: literal.str_to_xyzzy + normalizedText: '"\n"' + occurrence: 0 + testSet: 2081 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: stmt.delete_assign + normalizedText: self.dirty = true; + occurrence: 0 + testSet: 2082 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: stmt.delete_assign + normalizedText: self.dirty = true; + occurrence: 1 + testSet: 2081 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: stmt.delete_assign + normalizedText: self.open = false; + occurrence: 0 + testSet: 2081 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: stmt.delete_call + normalizedText: paint(host, "\n"); + occurrence: 0 + testSet: 2081 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: stmt.delete_call + normalizedText: paint(host, &format!("{active} {subject}\n")); + occurrence: 0 + testSet: 2082 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: stmt.delete_call + normalizedText: self.clear(host); + occurrence: 0 + testSet: 2082 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::abandon + mutator: unary.remove_not + normalizedText: '!self.open' + occurrence: 0 + testSet: 2083 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: assign_value.default + normalizedText: Some((active, completed, subject)) + occurrence: 0 + testSet: 2084 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 2084 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: assign_value.default + normalizedText: 'true' + occurrence: 1 + testSet: 2084 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: cond.always_false + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2085 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: cond.always_true + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2085 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: cond.negate + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2085 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: fn_value.unit + normalizedText: '{ if !self.enabled { return; } self.clear(host); let active = self.styler.verb(active); let completed + = self.styler.verb(completed); let subject = encode_controls(subject).into_owned(); paint(host, &format!("{active} + {subject}")); self.open = true; self.dirty = true; self.pending = Some((active, completed, subject)); }' + occurrence: 0 + testSet: 2085 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2084 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 2084 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: option.some_to_none + normalizedText: Some((active, completed, subject)) + occurrence: 0 + testSet: 2084 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: stmt.delete_assign + normalizedText: self.dirty = true; + occurrence: 0 + testSet: 2084 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: stmt.delete_assign + normalizedText: self.open = true; + occurrence: 0 + testSet: 2084 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: stmt.delete_assign + normalizedText: self.pending = Some((active, completed, subject)); + occurrence: 0 + testSet: 2084 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: stmt.delete_call + normalizedText: paint(host, &format!("{active} {subject}")); + occurrence: 0 + testSet: 2084 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: stmt.delete_call + normalizedText: self.clear(host); + occurrence: 0 + testSet: 2084 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::begin + mutator: unary.remove_not + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2085 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + mutator: cond.always_false + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2086 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + mutator: cond.always_false + normalizedText: self .last_draw .is_some_and(|last| Instant::now().duration_since(last) < REDRAW_INTERVAL) + occurrence: 0 + testSet: 2087 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + mutator: cond.always_true + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2086 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + mutator: cond.always_true + normalizedText: self .last_draw .is_some_and(|last| Instant::now().duration_since(last) < REDRAW_INTERVAL) + occurrence: 0 + testSet: 2087 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + mutator: cond.negate + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2086 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + mutator: cond.negate + normalizedText: self .last_draw .is_some_and(|last| Instant::now().duration_since(last) < REDRAW_INTERVAL) + occurrence: 0 + testSet: 2087 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + mutator: fn_value.unit + normalizedText: '{ if !self.enabled { return; } if self .last_draw .is_some_and(|last| Instant::now().duration_since(last) + < REDRAW_INTERVAL) { return; } let line = line.strip_prefix("\u{1b}[K").unwrap_or(line); self.draw_borrowed(host, + &encode_preserving_color(line)); }' + occurrence: 0 + testSet: 2086 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + mutator: literal.str_to_empty + normalizedText: '"\u{1b}[K"' + occurrence: 0 + testSet: 2087 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + mutator: literal.str_to_xyzzy + normalizedText: '"\u{1b}[K"' + occurrence: 0 + testSet: 2087 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + mutator: relational.lt_to_gt + normalizedText: Instant::now().duration_since(last) < REDRAW_INTERVAL + occurrence: 0 + testSet: 2088 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + mutator: relational.lt_to_le + normalizedText: Instant::now().duration_since(last) < REDRAW_INTERVAL + occurrence: 0 + testSet: 2088 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + mutator: stmt.delete_call + normalizedText: self.draw_borrowed(host, &encode_preserving_color(line)); + occurrence: 0 + testSet: 2087 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::borrowed + mutator: unary.remove_not + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2086 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: assign_value.default + normalizedText: None + occurrence: 0 + testSet: 2089 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: assign_value.default + normalizedText: None + occurrence: 1 + testSet: 2089 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: cond.always_false + normalizedText: '!self.enabled || self.last_draw.is_none()' + occurrence: 0 + testSet: 2090 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: cond.always_true + normalizedText: '!self.enabled || self.last_draw.is_none()' + occurrence: 0 + testSet: 2090 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: cond.negate + normalizedText: '!self.enabled || self.last_draw.is_none()' + occurrence: 0 + testSet: 2090 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: fn_value.unit + normalizedText: '{ if !self.enabled || self.last_draw.is_none() { return; } self.last_draw = None; self.shown = None; + paint(host, "\r\x1b[2K"); }' + occurrence: 0 + testSet: 2090 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: literal.str_to_empty + normalizedText: '"\r\x1b[2K"' + occurrence: 0 + testSet: 2089 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: literal.str_to_xyzzy + normalizedText: '"\r\x1b[2K"' + occurrence: 0 + testSet: 2089 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: logical.or_to_and + normalizedText: '!self.enabled || self.last_draw.is_none()' + occurrence: 0 + testSet: 2090 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 2089 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: stmt.delete_assign + normalizedText: self.last_draw = None; + occurrence: 0 + testSet: 2089 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: stmt.delete_assign + normalizedText: self.shown = None; + occurrence: 0 + testSet: 2089 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: stmt.delete_call + normalizedText: paint(host, "\r\x1b[2K"); + occurrence: 0 + testSet: 2089 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::clear + mutator: unary.remove_not + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2090 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: assign_value.default + normalizedText: 'false' + occurrence: 1 + testSet: 2091 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: assign_value.default + normalizedText: 'true' + occurrence: 1 + testSet: 2091 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: cond.always_false + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2092 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: cond.always_false + normalizedText: '!self.open' + occurrence: 0 + testSet: 2093 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: cond.always_false + normalizedText: extend + occurrence: 0 + testSet: 2094 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: cond.always_false + normalizedText: extend + occurrence: 1 + testSet: 2091 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: cond.always_true + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2092 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: cond.always_true + normalizedText: '!self.open' + occurrence: 0 + testSet: 2093 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: cond.always_true + normalizedText: extend + occurrence: 0 + testSet: 2094 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: cond.always_true + normalizedText: extend + occurrence: 1 + testSet: 2091 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: cond.negate + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2092 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: cond.negate + normalizedText: '!self.open' + occurrence: 0 + testSet: 2093 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: cond.negate + normalizedText: extend + occurrence: 0 + testSet: 2094 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: cond.negate + normalizedText: extend + occurrence: 1 + testSet: 2091 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: fn_value.unit + normalizedText: '{ if !self.enabled { return; } let encoded = encode_controls(subject); let subject = encoded.as_ref(); + let pending = self.pending.take(); if !self.open { match pending { Some((_, completed, opening)) => { let completed_subject + = if extend { format!("{opening}{subject}") } else { subject.to_owned() }; self.line(host, &completed, &completed_subject); + } None => self.line(host, &continuation(), subject.trim_start().trim_start_matches('','').trim_start()), } return; + } let Some((_, completed, opening)) = pending else { paint(host, &format!("{subject}\n")); self.open = false; self.dirty + = true; return; }; let completed_subject = if extend { format!("{opening}{subject}") } else { subject.to_owned() }; + paint(host, &format!("\r\x1b[2K{completed} {completed_subject}\n")); self.open = false; self.dirty = true; }' + occurrence: 0 + testSet: 2092 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 2091 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 2091 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: stmt.delete_assign + normalizedText: self.dirty = true; + occurrence: 1 + testSet: 2091 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: stmt.delete_assign + normalizedText: self.open = false; + occurrence: 1 + testSet: 2091 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: stmt.delete_call + normalizedText: paint(host, &format!("\r\x1b[2K{completed} {completed_subject}\n")); + occurrence: 0 + testSet: 2091 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: stmt.delete_call + normalizedText: self.line(host, &completed, &completed_subject); + occurrence: 0 + testSet: 2094 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: string.trim_start_to_trim_end + normalizedText: subject.trim_start() + occurrence: 0 + testSet: 2095 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: string.trim_start_to_trim_end + normalizedText: subject.trim_start().trim_start_matches(',').trim_start() + occurrence: 0 + testSet: 2095 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: unary.remove_not + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2092 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::close + mutator: unary.remove_not + normalizedText: '!self.open' + occurrence: 0 + testSet: 2093 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::complete + mutator: fn_value.unit + normalizedText: '{ self.close(host, subject, false); }' + occurrence: 0 + testSet: 2096 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::complete + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2096 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::complete + mutator: stmt.delete_call + normalizedText: self.close(host, subject, false); + occurrence: 0 + testSet: 2096 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: assign_value.default + normalizedText: Some(line) + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: assign_value.default + normalizedText: Some(now) + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: cond.always_false + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: cond.always_false + normalizedText: self.last_draw.is_some_and(|last| now.duration_since(last) < REDRAW_INTERVAL) + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: cond.always_false + normalizedText: self.shown.as_deref() == Some(line.as_str()) && !self.open + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: cond.always_true + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: cond.always_true + normalizedText: self.last_draw.is_some_and(|last| now.duration_since(last) < REDRAW_INTERVAL) + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: cond.always_true + normalizedText: self.shown.as_deref() == Some(line.as_str()) && !self.open + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: cond.negate + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: cond.negate + normalizedText: self.last_draw.is_some_and(|last| now.duration_since(last) < REDRAW_INTERVAL) + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: cond.negate + normalizedText: self.shown.as_deref() == Some(line.as_str()) && !self.open + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: expr.decrement + normalizedText: self.width + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: expr.increment + normalizedText: self.width + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: fn_value.unit + normalizedText: '{ if !self.enabled { return; } let now = Instant::now(); if self.last_draw.is_some_and(|last| now.duration_since(last) + < REDRAW_INTERVAL) { return; } let line = truncate(line, self.width); if self.shown.as_deref() == Some(line.as_str()) + && !self.open { return; } self.retract(); self.last_draw = Some(now); paint(host, &format!("\r\x1b[2K{line}")); self.shown + = Some(line); }' + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: logical.and_to_or + normalizedText: self.shown.as_deref() == Some(line.as_str()) && !self.open + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: option.some_to_none + normalizedText: Some(line) + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: option.some_to_none + normalizedText: Some(line.as_str()) + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: option.some_to_none + normalizedText: Some(now) + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: relational.eq_to_ne + normalizedText: self.shown.as_deref() == Some(line.as_str()) + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: stmt.delete_assign + normalizedText: self.last_draw = Some(now); + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: stmt.delete_assign + normalizedText: self.shown = Some(line); + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: stmt.delete_call + normalizedText: paint(host, &format!("\r\x1b[2K{line}")); + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: stmt.delete_call + normalizedText: self.retract(); + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: unary.remove_not + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::draw_borrowed + mutator: unary.remove_not + normalizedText: '!self.open' + occurrence: 0 + testSet: 2098 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::end + mutator: fn_value.unit + normalizedText: '{ self.close(host, subject, true); }' + occurrence: 0 + testSet: 2099 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::end + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2099 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::end + mutator: stmt.delete_call + normalizedText: self.close(host, subject, true); + occurrence: 0 + testSet: 2099 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::finish + mutator: assign_value.default + normalizedText: 'false' + occurrence: 0 + testSet: 2100 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::finish + mutator: fn_value.unit + normalizedText: '{ self.clear(host); self.dirty = false; }' + occurrence: 0 + testSet: 2100 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::finish + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2100 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::finish + mutator: stmt.delete_assign + normalizedText: self.dirty = false; + occurrence: 0 + testSet: 2100 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::finish + mutator: stmt.delete_call + normalizedText: self.clear(host); + occurrence: 0 + testSet: 2100 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::fraction + mutator: arith.div_to_mul + normalizedText: self.done as f64 / self.total as f64 + occurrence: 0 + testSet: 2101 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::fraction + mutator: arith.div_to_rem + normalizedText: self.done as f64 / self.total as f64 + occurrence: 0 + testSet: 2101 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::fraction + mutator: cond.always_false + normalizedText: self.total == 0 + occurrence: 0 + testSet: 2102 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::fraction + mutator: cond.always_true + normalizedText: self.total == 0 + occurrence: 0 + testSet: 2102 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::fraction + mutator: cond.negate + normalizedText: self.total == 0 + occurrence: 0 + testSet: 2102 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::fraction + mutator: fn_value.minus_one + normalizedText: '{ if self.total == 0 { return 0.0; } #[expect(clippy::cast_precision_loss, reason = "a mutant count + far exceeds any plausible workspace")] let fraction = self.done as f64 / self.total as f64; fraction.clamp(0.0, 1.0) + }' + occurrence: 0 + testSet: 2102 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::fraction + mutator: fn_value.one + normalizedText: '{ if self.total == 0 { return 0.0; } #[expect(clippy::cast_precision_loss, reason = "a mutant count + far exceeds any plausible workspace")] let fraction = self.done as f64 / self.total as f64; fraction.clamp(0.0, 1.0) + }' + occurrence: 0 + testSet: 2102 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::fraction + mutator: fn_value.zero + normalizedText: '{ if self.total == 0 { return 0.0; } #[expect(clippy::cast_precision_loss, reason = "a mutant count + far exceeds any plausible workspace")] let fraction = self.done as f64 / self.total as f64; fraction.clamp(0.0, 1.0) + }' + occurrence: 0 + testSet: 2102 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::fraction + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2102 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::fraction + mutator: relational.eq_to_ne + normalizedText: self.total == 0 + occurrence: 0 + testSet: 2102 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::insist + mutator: fn_value.unit + normalizedText: '{ self.insist_encoded(host, label, &encode_controls(subject)); }' + occurrence: 0 + testSet: 2103 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::insist + mutator: stmt.delete_call + normalizedText: self.insist_encoded(host, label, &encode_controls(subject)); + occurrence: 0 + testSet: 2103 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::insist_encoded + mutator: cond.always_false + normalizedText: self.enabled + occurrence: 0 + testSet: 2104 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::insist_encoded + mutator: cond.always_true + normalizedText: self.enabled + occurrence: 0 + testSet: 2104 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::insist_encoded + mutator: cond.negate + normalizedText: self.enabled + occurrence: 0 + testSet: 2104 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::insist_encoded + mutator: fn_value.unit + normalizedText: '{ if self.enabled { self.line(host, label, subject); return; } paint(host, &format!("{label} {subject}\n")); + }' + occurrence: 0 + testSet: 2104 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::insist_encoded + mutator: stmt.delete_call + normalizedText: paint(host, &format!("{label} {subject}\n")); + occurrence: 0 + testSet: 2105 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::insist_encoded + mutator: stmt.delete_call + normalizedText: self.line(host, label, subject); + occurrence: 0 + testSet: 2104 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::labelled + mutator: fn_value.unit + normalizedText: '{ self.line(host, label, &encode_controls(subject)); }' + occurrence: 0 + testSet: 2106 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::labelled + mutator: stmt.delete_call + normalizedText: self.line(host, label, &encode_controls(subject)); + occurrence: 0 + testSet: 2106 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::line + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 2107 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::line + mutator: cond.always_false + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2108 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::line + mutator: cond.always_true + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2108 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::line + mutator: cond.negate + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2108 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::line + mutator: fn_value.unit + normalizedText: '{ if !self.enabled { return; } self.abandon(host); self.clear(host); paint(host, &format!("{label} + {subject}\n")); self.dirty = true; }' + occurrence: 0 + testSet: 2108 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::line + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2107 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::line + mutator: stmt.delete_assign + normalizedText: self.dirty = true; + occurrence: 0 + testSet: 2107 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::line + mutator: stmt.delete_call + normalizedText: paint(host, &format!("{label} {subject}\n")); + occurrence: 0 + testSet: 2107 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::line + mutator: stmt.delete_call + normalizedText: self.abandon(host); + occurrence: 0 + testSet: 2107 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::line + mutator: stmt.delete_call + normalizedText: self.clear(host); + occurrence: 0 + testSet: 2107 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::line + mutator: unary.remove_not + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2108 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: iter.max_to_min + normalizedText: usize::from(value).max(20) + occurrence: 0 + testSet: 2109 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2110 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 2110 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.int_decrement + normalizedText: '20' + occurrence: 0 + testSet: 2109 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.int_decrement + normalizedText: '80' + occurrence: 0 + testSet: 2110 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2110 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 2110 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 2110 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 2110 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.int_increment + normalizedText: '0' + occurrence: 4 + testSet: 2110 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.int_increment + normalizedText: '20' + occurrence: 0 + testSet: 2109 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.int_increment + normalizedText: '80' + occurrence: 0 + testSet: 2110 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.int_to_one + normalizedText: '20' + occurrence: 0 + testSet: 2109 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.int_to_one + normalizedText: '80' + occurrence: 0 + testSet: 2110 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.int_to_zero + normalizedText: '20' + occurrence: 0 + testSet: 2109 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: literal.int_to_zero + normalizedText: '80' + occurrence: 0 + testSet: 2110 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 2110 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::new + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 2110 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: arith.sub_to_add + normalizedText: filled - 1 + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: arith.sub_to_div + normalizedText: filled - 1 + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: cond.always_false + normalizedText: filled == BAR_WIDTH + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: cond.always_false + normalizedText: filled > 0 + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: cond.always_false + normalizedText: total == 0 + occurrence: 0 + testSet: 2112 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: cond.always_true + normalizedText: filled == BAR_WIDTH + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: cond.always_true + normalizedText: filled > 0 + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: cond.always_true + normalizedText: total == 0 + occurrence: 0 + testSet: 2112 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: cond.negate + normalizedText: filled == BAR_WIDTH + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: cond.negate + normalizedText: filled > 0 + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: cond.negate + normalizedText: total == 0 + occurrence: 0 + testSet: 2112 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: expr.decrement + normalizedText: BAR_WIDTH + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: expr.decrement + normalizedText: BAR_WIDTH + occurrence: 1 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: expr.decrement + normalizedText: BAR_WIDTH + occurrence: 2 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: expr.decrement + normalizedText: filled + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: expr.decrement + normalizedText: filled - 1 + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: expr.decrement + normalizedText: total + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: expr.increment + normalizedText: BAR_WIDTH + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: expr.increment + normalizedText: BAR_WIDTH + occurrence: 1 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: expr.increment + normalizedText: BAR_WIDTH + occurrence: 2 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: expr.increment + normalizedText: filled + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: expr.increment + normalizedText: filled - 1 + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: expr.increment + normalizedText: total + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: fn_value.unit + normalizedText: '{ if total == 0 { return; } let Some((active, _, _subject)) = self.pending.as_ref() else { return; + }; let filled = completed.saturating_mul(BAR_WIDTH).checked_div(total).unwrap_or(0).min(BAR_WIDTH); let mut bar = + String::with_capacity(BAR_WIDTH); if filled > 0 { for _ in 0..filled - 1 { bar.push(''=''); } bar.push(if filled == + BAR_WIDTH { ''='' } else { ''>'' }); } for _ in filled..BAR_WIDTH { bar.push('' ''); } let line = format!("{active} + [{bar}] {completed}/{total} {}", encode_controls(unit)); self.draw_borrowed(host, &line); }' + occurrence: 0 + testSet: 2112 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: iter.min_to_max + normalizedText: completed.saturating_mul(BAR_WIDTH).checked_div(total).unwrap_or(0).min(BAR_WIDTH) + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2112 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: range.exclusive_to_inclusive + normalizedText: 0..filled - 1 + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: range.exclusive_to_inclusive + normalizedText: filled..BAR_WIDTH + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: relational.eq_to_ne + normalizedText: filled == BAR_WIDTH + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: relational.eq_to_ne + normalizedText: total == 0 + occurrence: 0 + testSet: 2112 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: relational.gt_to_ge + normalizedText: filled > 0 + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: relational.gt_to_lt + normalizedText: filled > 0 + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: stmt.delete_call + normalizedText: bar.push(' '); + occurrence: 0 + testSet: 2113 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: stmt.delete_call + normalizedText: bar.push('='); + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: stmt.delete_call + normalizedText: bar.push(if filled == BAR_WIDTH { '=' } else { '>' }); + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::phase_progress + mutator: stmt.delete_call + normalizedText: self.draw_borrowed(host, &line); + occurrence: 0 + testSet: 2111 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::relay + mutator: fn_value.unit + normalizedText: '{ self.insist_encoded(host, label, &encode_preserving_color(line)); }' + occurrence: 0 + testSet: 2114 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::relay + mutator: stmt.delete_call + normalizedText: self.insist_encoded(host, label, &encode_preserving_color(line)); + occurrence: 0 + testSet: 2114 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: arith.div_to_mul + normalizedText: started.elapsed().as_secs_f64() / done + occurrence: 0 + testSet: 2115 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: arith.div_to_rem + normalizedText: started.elapsed().as_secs_f64() / done + occurrence: 0 + testSet: 2115 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: arith.mul_to_add + normalizedText: started.elapsed().as_secs_f64() / done * left + occurrence: 0 + testSet: 2115 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: arith.mul_to_div + normalizedText: started.elapsed().as_secs_f64() / done * left + occurrence: 0 + testSet: 2115 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: arith.sub_to_add + normalizedText: self.total - self.done + occurrence: 0 + testSet: 2115 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: arith.sub_to_div + normalizedText: self.total - self.done + occurrence: 0 + testSet: 2115 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: cond.always_false + normalizedText: self.done < MIN_ETA_SAMPLES || self.done >= self.total + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: cond.always_true + normalizedText: self.done < MIN_ETA_SAMPLES || self.done >= self.total + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: cond.negate + normalizedText: self.done < MIN_ETA_SAMPLES || self.done >= self.total + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: fn_value.none + normalizedText: '{ let started = self.started?; if self.done < MIN_ETA_SAMPLES || self.done >= self.total { return None; + } #[expect(clippy::cast_precision_loss, reason = "a mutant count far exceeds any plausible workspace")] let (done, + left) = (self.done as f64, (self.total - self.done) as f64); Duration::try_from_secs_f64(started.elapsed().as_secs_f64() + / done * left).ok() }' + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: logical.or_to_and + normalizedText: self.done < MIN_ETA_SAMPLES || self.done >= self.total + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 2117 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: relational.ge_to_gt + normalizedText: self.done >= self.total + occurrence: 0 + testSet: 2118 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: relational.ge_to_le + normalizedText: self.done >= self.total + occurrence: 0 + testSet: 2118 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: relational.lt_to_gt + normalizedText: self.done < MIN_ETA_SAMPLES + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::remaining + mutator: relational.lt_to_le + normalizedText: self.done < MIN_ETA_SAMPLES + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: arith.add_to_mul + normalizedText: VERB_WIDTH + 1 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: arith.add_to_sub + normalizedText: VERB_WIDTH + 1 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: arith.mul_to_add + normalizedText: self.fraction() * BAR_WIDTH as f64 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: arith.mul_to_div + normalizedText: self.fraction() * BAR_WIDTH as f64 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: arith.sub_to_add + normalizedText: filled - 1 + occurrence: 0 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: arith.sub_to_div + normalizedText: filled - 1 + occurrence: 0 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_false + normalizedText: filled == BAR_WIDTH + occurrence: 0 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_false + normalizedText: filled > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_false + normalizedText: findings.is_empty() + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_false + normalizedText: full.chars().count() <= room + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_false + normalizedText: self.out_of_memory > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_false + normalizedText: self.survived > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_false + normalizedText: self.timeouts > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_false + normalizedText: shorter.chars().count() <= room + occurrence: 0 + testSet: 2120 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_true + normalizedText: filled == BAR_WIDTH + occurrence: 0 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_true + normalizedText: filled > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_true + normalizedText: findings.is_empty() + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_true + normalizedText: full.chars().count() <= room + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_true + normalizedText: self.out_of_memory > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_true + normalizedText: self.survived > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_true + normalizedText: self.timeouts > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.always_true + normalizedText: shorter.chars().count() <= room + occurrence: 0 + testSet: 2120 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.negate + normalizedText: filled == BAR_WIDTH + occurrence: 0 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.negate + normalizedText: filled > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.negate + normalizedText: findings.is_empty() + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.negate + normalizedText: full.chars().count() <= room + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.negate + normalizedText: self.out_of_memory > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.negate + normalizedText: self.survived > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.negate + normalizedText: self.timeouts > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: cond.negate + normalizedText: shorter.chars().count() <= room + occurrence: 0 + testSet: 2120 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.decrement + normalizedText: BAR_WIDTH + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.decrement + normalizedText: BAR_WIDTH + occurrence: 1 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.decrement + normalizedText: VERB_WIDTH + 1 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.decrement + normalizedText: filled + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.decrement + normalizedText: filled - 1 + occurrence: 0 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.decrement + normalizedText: room + occurrence: 0 + testSet: 2121 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.decrement + normalizedText: self.timeouts + occurrence: 0 + testSet: 2122 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.increment + normalizedText: BAR_WIDTH + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.increment + normalizedText: BAR_WIDTH + occurrence: 1 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.increment + normalizedText: VERB_WIDTH + 1 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.increment + normalizedText: filled + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.increment + normalizedText: filled - 1 + occurrence: 0 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.increment + normalizedText: room + occurrence: 0 + testSet: 2121 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: expr.increment + normalizedText: self.timeouts + occurrence: 0 + testSet: 2122 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: fn_value.empty_string + normalizedText: '{ let estimate = self .remaining() .map_or_else(String::new, |remaining| format!(", ETA ~{}", human(remaining))); + #[expect(clippy::cast_precision_loss, reason = "the operand is a bar width")] #[expect( clippy::cast_possible_truncation, + clippy::cast_sign_loss, reason = "the value is bounded by the bar width" )] let filled = (self.fraction() * BAR_WIDTH + as f64) as usize; let filled = filled.min(BAR_WIDTH); let mut bar = String::with_capacity(BAR_WIDTH); if filled > + 0 { for _ in 0..filled - 1 { bar.push(''=''); } bar.push(if filled == BAR_WIDTH { ''='' } else { ''>'' }); } for _ + in filled..BAR_WIDTH { bar.push('' ''); } let room = self.width.saturating_sub(VERB_WIDTH + 1); let mut findings = + Vec::with_capacity(3); if self.survived > 0 { findings.push(format!("{} survived", self.survived)); } if self.timeouts + > 0 { findings.push(quantity(self.timeouts, "timeout")); } if self.out_of_memory > 0 { findings.push(format!("{} out + of memory", self.out_of_memory)); } let verdicts = if findings.is_empty() { String::new() } else { format!(" ({})", + findings.join(", ")) }; let counted = format!("[{bar}] {}/{} mutants evaluated", self.done, self.total); let full + = format!("{counted}{verdicts}{estimate}"); let body = if full.chars().count() <= room { full } else { let shorter + = format!("{counted}{estimate}"); if shorter.chars().count() <= room { shorter } else { truncate(&shorter, room) } + }; format!("{} {body}", self.styler.verb("Testing")) }' + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: fn_value.xyzzy_string + normalizedText: '{ let estimate = self .remaining() .map_or_else(String::new, |remaining| format!(", ETA ~{}", human(remaining))); + #[expect(clippy::cast_precision_loss, reason = "the operand is a bar width")] #[expect( clippy::cast_possible_truncation, + clippy::cast_sign_loss, reason = "the value is bounded by the bar width" )] let filled = (self.fraction() * BAR_WIDTH + as f64) as usize; let filled = filled.min(BAR_WIDTH); let mut bar = String::with_capacity(BAR_WIDTH); if filled > + 0 { for _ in 0..filled - 1 { bar.push(''=''); } bar.push(if filled == BAR_WIDTH { ''='' } else { ''>'' }); } for _ + in filled..BAR_WIDTH { bar.push('' ''); } let room = self.width.saturating_sub(VERB_WIDTH + 1); let mut findings = + Vec::with_capacity(3); if self.survived > 0 { findings.push(format!("{} survived", self.survived)); } if self.timeouts + > 0 { findings.push(quantity(self.timeouts, "timeout")); } if self.out_of_memory > 0 { findings.push(format!("{} out + of memory", self.out_of_memory)); } let verdicts = if findings.is_empty() { String::new() } else { format!(" ({})", + findings.join(", ")) }; let counted = format!("[{bar}] {}/{} mutants evaluated", self.done, self.total); let full + = format!("{counted}{verdicts}{estimate}"); let body = if full.chars().count() <= room { full } else { let shorter + = format!("{counted}{estimate}"); if shorter.chars().count() <= room { shorter } else { truncate(&shorter, room) } + }; format!("{} {body}", self.styler.verb("Testing")) }' + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: iter.min_to_max + normalizedText: filled.min(BAR_WIDTH) + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.int_increment + normalizedText: '0' + occurrence: 3 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.int_increment + normalizedText: '0' + occurrence: 4 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.str_to_empty + normalizedText: '"timeout"' + occurrence: 0 + testSet: 2122 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: literal.str_to_xyzzy + normalizedText: '"timeout"' + occurrence: 0 + testSet: 2122 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: range.exclusive_to_inclusive + normalizedText: 0..filled - 1 + occurrence: 0 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: range.exclusive_to_inclusive + normalizedText: filled..BAR_WIDTH + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: relational.eq_to_ne + normalizedText: filled == BAR_WIDTH + occurrence: 0 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: relational.gt_to_ge + normalizedText: filled > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: relational.gt_to_ge + normalizedText: self.out_of_memory > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: relational.gt_to_ge + normalizedText: self.survived > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: relational.gt_to_ge + normalizedText: self.timeouts > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: relational.gt_to_lt + normalizedText: filled > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: relational.gt_to_lt + normalizedText: self.out_of_memory > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: relational.gt_to_lt + normalizedText: self.survived > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: relational.gt_to_lt + normalizedText: self.timeouts > 0 + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: relational.le_to_ge + normalizedText: full.chars().count() <= room + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: relational.le_to_ge + normalizedText: shorter.chars().count() <= room + occurrence: 0 + testSet: 2120 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: relational.le_to_lt + normalizedText: full.chars().count() <= room + occurrence: 0 + testSet: 2116 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: relational.le_to_lt + normalizedText: shorter.chars().count() <= room + occurrence: 0 + testSet: 2120 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: stmt.delete_call + normalizedText: bar.push(' '); + occurrence: 0 + testSet: 2123 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: stmt.delete_call + normalizedText: bar.push('='); + occurrence: 0 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: stmt.delete_call + normalizedText: bar.push(if filled == BAR_WIDTH { '=' } else { '>' }); + occurrence: 0 + testSet: 2119 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: stmt.delete_call + normalizedText: findings.push(format!("{} out of memory", self.out_of_memory)); + occurrence: 0 + testSet: 2124 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: stmt.delete_call + normalizedText: findings.push(format!("{} survived", self.survived)); + occurrence: 0 + testSet: 2125 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::render + mutator: stmt.delete_call + normalizedText: findings.push(quantity(self.timeouts, "timeout")); + occurrence: 0 + testSet: 2122 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: assign_value.default + normalizedText: None + occurrence: 0 + testSet: 2126 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: assign_value.default + normalizedText: None + occurrence: 1 + testSet: 2126 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 2126 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: assign_value.default + normalizedText: 'true' + occurrence: 1 + testSet: 2126 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: cond.always_false + normalizedText: '!self.enabled || self.open' + occurrence: 0 + testSet: 2127 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: cond.always_true + normalizedText: '!self.enabled || self.open' + occurrence: 0 + testSet: 2127 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: cond.negate + normalizedText: '!self.enabled || self.open' + occurrence: 0 + testSet: 2127 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: fn_value.unit + normalizedText: '{ if !self.enabled || self.open { return; } let Some((active, _, subject)) = self.pending.as_ref() + else { self.clear(host); return; }; paint(host, &format!("\r\x1b[2K{active} {subject}")); self.last_draw = None; self.shown + = None; self.open = true; self.dirty = true; }' + occurrence: 0 + testSet: 2127 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2126 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 1 + testSet: 2126 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: logical.or_to_and + normalizedText: '!self.enabled || self.open' + occurrence: 0 + testSet: 2127 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: option.none_to_some + normalizedText: None + occurrence: 1 + testSet: 2126 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: stmt.delete_assign + normalizedText: self.dirty = true; + occurrence: 0 + testSet: 2126 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: stmt.delete_assign + normalizedText: self.last_draw = None; + occurrence: 0 + testSet: 2126 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: stmt.delete_assign + normalizedText: self.open = true; + occurrence: 0 + testSet: 2126 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: stmt.delete_assign + normalizedText: self.shown = None; + occurrence: 0 + testSet: 2126 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: stmt.delete_call + normalizedText: paint(host, &format!("\r\x1b[2K{active} {subject}")); + occurrence: 0 + testSet: 2126 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::restore + mutator: unary.remove_not + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2127 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::retract + mutator: assign_value.default + normalizedText: None + occurrence: 0 + testSet: 2128 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::retract + mutator: assign_value.default + normalizedText: 'false' + occurrence: 0 + testSet: 2128 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::retract + mutator: cond.always_false + normalizedText: '!self.open' + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::retract + mutator: cond.always_true + normalizedText: '!self.open' + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::retract + mutator: cond.negate + normalizedText: '!self.open' + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::retract + mutator: fn_value.unit + normalizedText: '{ if !self.open { return; } self.open = false; self.shown = None; }' + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::retract + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2128 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::retract + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 2128 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::retract + mutator: stmt.delete_assign + normalizedText: self.open = false; + occurrence: 0 + testSet: 2128 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::retract + mutator: stmt.delete_assign + normalizedText: self.shown = None; + occurrence: 0 + testSet: 2128 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::retract + mutator: unary.remove_not + normalizedText: '!self.open' + occurrence: 0 + testSet: 2097 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::set_total + mutator: assign_value.default + normalizedText: Some(Instant::now()) + occurrence: 0 + testSet: 2129 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::set_total + mutator: assign_value.default + normalizedText: total + occurrence: 0 + testSet: 2129 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::set_total + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 2129 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::set_total + mutator: fn_value.unit + normalizedText: '{ self.total = total; self.started = Some(Instant::now()); self.dirty = true; }' + occurrence: 0 + testSet: 2129 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::set_total + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2129 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::set_total + mutator: option.some_to_none + normalizedText: Some(Instant::now()) + occurrence: 0 + testSet: 2129 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::set_total + mutator: stmt.delete_assign + normalizedText: self.dirty = true; + occurrence: 0 + testSet: 2129 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::set_total + mutator: stmt.delete_assign + normalizedText: self.started = Some(Instant::now()); + occurrence: 0 + testSet: 2129 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::set_total + mutator: stmt.delete_assign + normalizedText: self.total = total; + occurrence: 0 + testSet: 2129 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::status + mutator: fn_value.unit + normalizedText: '{ let label = self.styler.verb(verb); self.line(host, &label, &encode_controls(subject)); }' + occurrence: 0 + testSet: 2130 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::status + mutator: stmt.delete_call + normalizedText: self.line(host, &label, &encode_controls(subject)); + occurrence: 0 + testSet: 2130 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: assign_value.default + normalizedText: None + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: assign_value.default + normalizedText: Some(now) + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: assign_value.default + normalizedText: 'false' + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: cond.always_false + normalizedText: '!self.enabled || !self.dirty' + occurrence: 0 + testSet: 2132 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: cond.always_false + normalizedText: self.last_draw.is_some_and(|last| now.duration_since(last) < REDRAW_INTERVAL) + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: cond.always_true + normalizedText: '!self.enabled || !self.dirty' + occurrence: 0 + testSet: 2132 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: cond.always_true + normalizedText: self.last_draw.is_some_and(|last| now.duration_since(last) < REDRAW_INTERVAL) + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: cond.negate + normalizedText: '!self.enabled || !self.dirty' + occurrence: 0 + testSet: 2132 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: cond.negate + normalizedText: self.last_draw.is_some_and(|last| now.duration_since(last) < REDRAW_INTERVAL) + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: fn_value.unit + normalizedText: '{ if !self.enabled || !self.dirty { return; } let now = Instant::now(); if self.last_draw.is_some_and(|last| + now.duration_since(last) < REDRAW_INTERVAL) { return; } self.last_draw = Some(now); self.dirty = false; self.shown + = None; let line = self.render(); paint(host, &format!("\r\x1b[2K{line}")); }' + occurrence: 0 + testSet: 2132 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: logical.or_to_and + normalizedText: '!self.enabled || !self.dirty' + occurrence: 0 + testSet: 2132 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: option.some_to_none + normalizedText: Some(now) + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: stmt.delete_assign + normalizedText: self.dirty = false; + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: stmt.delete_assign + normalizedText: self.last_draw = Some(now); + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: stmt.delete_assign + normalizedText: self.shown = None; + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: stmt.delete_call + normalizedText: paint(host, &format!("\r\x1b[2K{line}")); + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: unary.remove_not + normalizedText: '!self.dirty' + occurrence: 0 + testSet: 2131 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: Progress::tick + mutator: unary.remove_not + normalizedText: '!self.enabled' + occurrence: 0 + testSet: 2132 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: paint + mutator: fn_value.unit + normalizedText: '{ let mut stream = host.error(); let _ = stream.write_all(update.as_bytes()); let _ = stream.flush(); + }' + occurrence: 0 + testSet: 2133 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: assign.add_to_sub + normalizedText: shown += 1 + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.always_false + normalizedText: character == '\u{1b}' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.always_false + normalizedText: matches!(byte, '\u{40}'..='\u{7e}') + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.always_false + normalizedText: next == '[' + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.always_false + normalizedText: shown == keep + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.always_false + normalizedText: styled + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.always_false + normalizedText: visible_width(text) <= width + occurrence: 0 + testSet: 2136 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.always_true + normalizedText: character == '\u{1b}' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.always_true + normalizedText: matches!(byte, '\u{40}'..='\u{7e}') + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.always_true + normalizedText: next == '[' + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.always_true + normalizedText: shown == keep + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.always_true + normalizedText: styled + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.always_true + normalizedText: visible_width(text) <= width + occurrence: 0 + testSet: 2136 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.negate + normalizedText: character == '\u{1b}' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.negate + normalizedText: matches!(byte, '\u{40}'..='\u{7e}') + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.negate + normalizedText: next == '[' + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.negate + normalizedText: shown == keep + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.negate + normalizedText: styled + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: cond.negate + normalizedText: visible_width(text) <= width + occurrence: 0 + testSet: 2136 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: fn_value.empty_string + normalizedText: '{ if visible_width(text) <= width { return text.to_owned(); } let keep = width.saturating_sub(3); let + mut kept = String::with_capacity(text.len()); let mut shown = 0; let mut styled = false; let mut characters = text.chars(); + while let Some(character) = characters.next() { if character == ''\u{1b}'' { styled = true; kept.push(character); + if let Some(next) = characters.next() { kept.push(next); if next == ''['' { for byte in characters.by_ref() { kept.push(byte); + if matches!(byte, ''\u{40}''..=''\u{7e}'') { break; } } } } continue; } if shown == keep { break; } kept.push(character); + shown += 1; } kept.push_str("..."); if styled { kept.push_str("\u{1b}[0m"); } kept }' + occurrence: 0 + testSet: 2136 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: fn_value.xyzzy_string + normalizedText: '{ if visible_width(text) <= width { return text.to_owned(); } let keep = width.saturating_sub(3); let + mut kept = String::with_capacity(text.len()); let mut shown = 0; let mut styled = false; let mut characters = text.chars(); + while let Some(character) = characters.next() { if character == ''\u{1b}'' { styled = true; kept.push(character); + if let Some(next) = characters.next() { kept.push(next); if next == ''['' { for byte in characters.by_ref() { kept.push(byte); + if matches!(byte, ''\u{40}''..=''\u{7e}'') { break; } } } } continue; } if shown == keep { break; } kept.push(character); + shown += 1; } kept.push_str("..."); if styled { kept.push_str("\u{1b}[0m"); } kept }' + occurrence: 0 + testSet: 2136 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: literal.str_to_empty + normalizedText: '"..."' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: literal.str_to_empty + normalizedText: '"\u{1b}[0m"' + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: literal.str_to_xyzzy + normalizedText: '"..."' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: literal.str_to_xyzzy + normalizedText: '"\u{1b}[0m"' + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: loop.break_to_continue + normalizedText: break + occurrence: 1 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: loop.delete_break + normalizedText: break; + occurrence: 1 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: relational.eq_to_ne + normalizedText: character == '\u{1b}' + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: relational.eq_to_ne + normalizedText: next == '[' + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: relational.eq_to_ne + normalizedText: shown == keep + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: relational.le_to_ge + normalizedText: visible_width(text) <= width + occurrence: 0 + testSet: 2136 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: relational.le_to_lt + normalizedText: visible_width(text) <= width + occurrence: 0 + testSet: 2136 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: stmt.delete_assign + normalizedText: shown += 1; + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: stmt.delete_assign + normalizedText: styled = true; + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: stmt.delete_call + normalizedText: kept.push(byte); + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: stmt.delete_call + normalizedText: kept.push(character); + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: stmt.delete_call + normalizedText: kept.push(character); + occurrence: 1 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: stmt.delete_call + normalizedText: kept.push(next); + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: stmt.delete_call + normalizedText: kept.push_str("..."); + occurrence: 0 + testSet: 2134 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: truncate + mutator: stmt.delete_call + normalizedText: kept.push_str("\u{1b}[0m"); + occurrence: 0 + testSet: 2135 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: visible_width + mutator: expr.decrement + normalizedText: crate::report::unstyled(text).chars().count() + occurrence: 0 + testSet: 2136 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: visible_width + mutator: expr.increment + normalizedText: crate::report::unstyled(text).chars().count() + occurrence: 0 + testSet: 2136 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: visible_width + mutator: fn_value.one + normalizedText: '{ crate::report::unstyled(text).chars().count() }' + occurrence: 0 + testSet: 2136 + - site: + file: crates/cargo-gamma-lib/src/report/progress.rs + item: visible_width + mutator: fn_value.zero + normalizedText: '{ crate::report::unstyled(text).chars().count() }' + occurrence: 0 + testSet: 2136 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::apply + mutator: cond.always_false + normalizedText: self.enabled + occurrence: 0 + testSet: 2137 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::apply + mutator: cond.always_true + normalizedText: self.enabled + occurrence: 0 + testSet: 2137 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::apply + mutator: cond.negate + normalizedText: self.enabled + occurrence: 0 + testSet: 2137 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::apply + mutator: fn_value.empty_string + normalizedText: '{ if self.enabled { text.style(style).to_string() } else { text.to_owned() } }' + occurrence: 0 + testSet: 2137 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::apply + mutator: fn_value.xyzzy_string + normalizedText: '{ if self.enabled { text.style(style).to_string() } else { text.to_owned() } }' + occurrence: 0 + testSet: 2137 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::column + mutator: fn_value.empty_string + normalizedText: '{ self.apply(&format!("{text:>VERB_WIDTH$}"), style) }' + occurrence: 0 + testSet: 2138 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::column + mutator: fn_value.xyzzy_string + normalizedText: '{ self.apply(&format!("{text:>VERB_WIDTH$}"), style) }' + occurrence: 0 + testSet: 2138 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::error + mutator: fn_value.empty_string + normalizedText: '{ self.apply(text, Style::new().bold().red()) }' + occurrence: 0 + testSet: 2139 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::error + mutator: fn_value.xyzzy_string + normalizedText: '{ self.apply(text, Style::new().bold().red()) }' + occurrence: 0 + testSet: 2139 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::note + mutator: fn_value.empty_string + normalizedText: '{ self.column(text, Style::new().bold().cyan()) }' + occurrence: 0 + testSet: 2140 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::note + mutator: fn_value.xyzzy_string + normalizedText: '{ self.column(text, Style::new().bold().cyan()) }' + occurrence: 0 + testSet: 2140 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::outcome + mutator: fn_value.empty_string + normalizedText: '{ let (text, style) = outcome_style(outcome); self.column(text, style) }' + occurrence: 0 + testSet: 2141 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::outcome + mutator: fn_value.xyzzy_string + normalizedText: '{ let (text, style) = outcome_style(outcome); self.column(text, style) }' + occurrence: 0 + testSet: 2141 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::verb + mutator: fn_value.empty_string + normalizedText: '{ self.column(text, Style::new().bold().green()) }' + occurrence: 0 + testSet: 2142 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::verb + mutator: fn_value.xyzzy_string + normalizedText: '{ self.column(text, Style::new().bold().green()) }' + occurrence: 0 + testSet: 2142 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::warning + mutator: fn_value.empty_string + normalizedText: '{ self.column("warning", Style::new().bold().yellow()) }' + occurrence: 0 + testSet: 2143 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::warning + mutator: fn_value.xyzzy_string + normalizedText: '{ self.column("warning", Style::new().bold().yellow()) }' + occurrence: 0 + testSet: 2143 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::warning + mutator: literal.str_to_empty + normalizedText: '"warning"' + occurrence: 0 + testSet: 2143 + - site: + file: crates/cargo-gamma-lib/src/report/styler.rs + item: Styler::warning + mutator: literal.str_to_xyzzy + normalizedText: '"warning"' + occurrence: 0 + testSet: 2143 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: cond.always_false + normalizedText: parts.is_empty() + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: cond.always_false + normalizedText: plan.settled_out > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: cond.always_false + normalizedText: plan.sharded_out > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: cond.always_true + normalizedText: parts.is_empty() + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: cond.always_true + normalizedText: plan.settled_out > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: cond.always_true + normalizedText: plan.sharded_out > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: cond.negate + normalizedText: parts.is_empty() + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: cond.negate + normalizedText: plan.settled_out > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: cond.negate + normalizedText: plan.sharded_out > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: fn_value.empty_string + normalizedText: '{ let mut parts: Vec = Vec::new(); if plan.sharded_out > 0 { parts.push(format!("{} outside + this shard", plan.sharded_out)); } if plan.settled_out > 0 { parts.push(format!("{} already settled", plan.settled_out)); + } if parts.is_empty() { return String::new(); } format!(", {}", parts.join(", ")) }' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut parts: Vec = Vec::new(); if plan.sharded_out > 0 { parts.push(format!("{} outside + this shard", plan.sharded_out)); } if plan.settled_out > 0 { parts.push(format!("{} already settled", plan.settled_out)); + } if parts.is_empty() { return String::new(); } format!(", {}", parts.join(", ")) }' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: relational.gt_to_ge + normalizedText: plan.settled_out > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: relational.gt_to_ge + normalizedText: plan.sharded_out > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: relational.gt_to_lt + normalizedText: plan.settled_out > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: relational.gt_to_lt + normalizedText: plan.sharded_out > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: stmt.delete_call + normalizedText: parts.push(format!("{} already settled", plan.settled_out)); + occurrence: 0 + testSet: 2145 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: excluded + mutator: stmt.delete_call + normalizedText: parts.push(format!("{} outside this shard", plan.sharded_out)); + occurrence: 0 + testSet: 2146 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: flakes + mutator: cond.always_false + normalizedText: count == 0 + occurrence: 0 + testSet: 2147 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: flakes + mutator: cond.always_true + normalizedText: count == 0 + occurrence: 0 + testSet: 2147 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: flakes + mutator: cond.negate + normalizedText: count == 0 + occurrence: 0 + testSet: 2147 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: flakes + mutator: fn_value.empty_string + normalizedText: '{ if count == 0 { return String::new(); } format!(", {} never judged", quantity(count as usize, "flaky + mutant")) }' + occurrence: 0 + testSet: 2147 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: flakes + mutator: fn_value.xyzzy_string + normalizedText: '{ if count == 0 { return String::new(); } format!(", {} never judged", quantity(count as usize, "flaky + mutant")) }' + occurrence: 0 + testSet: 2147 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: flakes + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2147 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: flakes + mutator: relational.eq_to_ne + normalizedText: count == 0 + occurrence: 0 + testSet: 2147 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: cond.always_false + normalizedText: has_suppressible_mutants + occurrence: 0 + testSet: 2148 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: cond.always_false + normalizedText: hints_missing + occurrence: 0 + testSet: 2148 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: cond.always_false + normalizedText: session.filtered > 0 + occurrence: 0 + testSet: 2148 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: cond.always_false + normalizedText: session.widened + occurrence: 0 + testSet: 2149 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: cond.always_true + normalizedText: has_suppressible_mutants + occurrence: 0 + testSet: 2148 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: cond.always_true + normalizedText: hints_missing + occurrence: 0 + testSet: 2148 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: cond.always_true + normalizedText: session.filtered > 0 + occurrence: 0 + testSet: 2148 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: cond.always_true + normalizedText: session.widened + occurrence: 0 + testSet: 2149 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: cond.negate + normalizedText: has_suppressible_mutants + occurrence: 0 + testSet: 2148 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: cond.negate + normalizedText: hints_missing + occurrence: 0 + testSet: 2148 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: cond.negate + normalizedText: session.filtered > 0 + occurrence: 0 + testSet: 2148 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: cond.negate + normalizedText: session.widened + occurrence: 0 + testSet: 2149 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: fn_value.ok + normalizedText: "{ let mut stream = host.error(); if session.widened { writeln!( stream, \"{} the narrowed build did\ + \ not compile, so the whole workspace was built; \\\n a test target needing a feature another package\ + \ enables cannot be built alone\", styler.note(\"Scope\") )?; } if session.filtered > 0 { writeln!( stream, \"{} {}\ + \ not consulted, so a survivor here may be one they would have caught\", styler.note(\"Oracle\"), quantity(session.filtered,\ + \ \"test target\") )?; } if hints_missing { writeln!( stream, \"{} run `cargo gamma hints` to create `gamma-hints.json`\ + \ to speed up subsequent runs\", styler.note(\"Hint\") )?; } if has_suppressible_mutants { writeln!( stream, \"{}\ + \ run `cargo gamma suppress` to automatically suppress timed-out and out-of-memory mutants\", styler.note(\"Hint\"\ + ) )?; } Ok(()) }" + occurrence: 0 + testSet: 2149 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2148 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: relational.gt_to_ge + normalizedText: session.filtered > 0 + occurrence: 0 + testSet: 2148 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: session_notes + mutator: relational.gt_to_lt + normalizedText: session.filtered > 0 + occurrence: 0 + testSet: 2148 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: skipped + mutator: cond.always_false + normalizedText: plan.skipped.is_empty() + occurrence: 0 + testSet: 2150 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: skipped + mutator: cond.always_true + normalizedText: plan.skipped.is_empty() + occurrence: 0 + testSet: 2150 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: skipped + mutator: cond.negate + normalizedText: plan.skipped.is_empty() + occurrence: 0 + testSet: 2150 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: skipped + mutator: fn_value.ok + normalizedText: '{ if plan.skipped.is_empty() { return Ok(()); } let mut stream = host.error(); writeln!( stream, "{} + {} could not be analyzed:", styler.warning(), quantity(plan.skipped.len(), "file") )?; for note in &plan.skipped { + writeln!(stream, " {}", encode_controls(note))?; } Ok(()) }' + occurrence: 0 + testSet: 2150 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_false + normalizedText: '!blocks.is_empty()' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_false + normalizedText: '!killed.is_empty()' + occurrence: 0 + testSet: 2151 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_false + normalizedText: '!lines.is_empty()' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_false + normalizedText: '!survivors.is_empty() && !listings.announced' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_false + normalizedText: '!unviable.is_empty()' + occurrence: 0 + testSet: 2152 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_false + normalizedText: listings.announced && outcome != Outcome::Flaky + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_false + normalizedText: listings.killed + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_false + normalizedText: listings.unviable + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_false + normalizedText: summary.valid() > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_true + normalizedText: '!blocks.is_empty()' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_true + normalizedText: '!killed.is_empty()' + occurrence: 0 + testSet: 2151 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_true + normalizedText: '!lines.is_empty()' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_true + normalizedText: '!survivors.is_empty() && !listings.announced' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_true + normalizedText: '!unviable.is_empty()' + occurrence: 0 + testSet: 2152 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_true + normalizedText: listings.announced && outcome != Outcome::Flaky + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_true + normalizedText: listings.killed + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_true + normalizedText: listings.unviable + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.always_true + normalizedText: summary.valid() > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.negate + normalizedText: '!blocks.is_empty()' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.negate + normalizedText: '!killed.is_empty()' + occurrence: 0 + testSet: 2151 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.negate + normalizedText: '!lines.is_empty()' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.negate + normalizedText: '!survivors.is_empty() && !listings.announced' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.negate + normalizedText: '!unviable.is_empty()' + occurrence: 0 + testSet: 2152 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.negate + normalizedText: listings.announced && outcome != Outcome::Flaky + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.negate + normalizedText: listings.killed + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.negate + normalizedText: listings.unviable + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: cond.negate + normalizedText: summary.valid() > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: fn_value.ok + normalizedText: '{ skipped(host, plan, styler)?; let summary = Summary::of(&plan.mutants); let heading = styler.verb("Summary"); + let survivors: Vec<&Mutant> = plan.mutants.iter().filter(|mutant| mutant.outcome == Outcome::Survived).collect(); + let mut blocks: Vec<(String, Vec)> = Vec::new(); if !survivors.is_empty() && !listings.announced { blocks.push(( + styler.outcome(Outcome::Survived), survivors.iter().map(|mutant| mutant.describe()).collect(), )); } for outcome in + [Outcome::Timeout, Outcome::OutOfMemory, Outcome::Flaky] { if listings.announced && outcome != Outcome::Flaky { continue; + } let lines: Vec = plan .mutants .iter() .filter(|mutant| mutant.outcome == outcome) .map(|mutant| { mutant + .note .as_deref() .map_or_else(|| mutant.describe(), |note| format!("{}: {note}", mutant.describe())) }) .collect(); + if !lines.is_empty() { blocks.push((styler.outcome(outcome), lines)); } } if listings.killed { let killed: Vec + = plan .mutants .iter() .filter(|mutant| mutant.outcome == Outcome::Killed) .map(Mutant::describe) .collect(); if + !killed.is_empty() { blocks.push((styler.outcome(Outcome::Killed), killed)); } } if listings.unviable { let unviable: + Vec = plan .mutants .iter() .filter(|mutant| mutant.outcome == Outcome::CompileError) .map(Mutant::describe) + .collect(); if !unviable.is_empty() { blocks.push((styler.outcome(Outcome::CompileError), unviable)); } } let mut + stream = host.output(); for (label, lines) in &blocks { writeln!(stream)?; for line in lines { writeln!(stream, "{label} + {}", encode_controls(line))?; } } if !blocks.is_empty() { writeln!(stream)?; } if summary.valid() > 0 { writeln!( + stream, "{heading} {} ({} killed, {} survived, {} timed out, {} out of memory, {} uncovered => {}%){}{}", quantity(summary.valid() + as usize, "mutant"), summary.killed, summary.survived, summary.timeout, summary.out_of_memory, summary.uncovered, + crate::report::score(summary.score(), summary.detected() as usize, summary.valid() as usize), excluded(plan), flakes(summary.flaky) + )?; } else { writeln!( stream, "{heading} {} in {}, none tested{}", quantity(plan.mutants.len(), "mutant"), quantity(plan.files.len(), + "file"), excluded(plan) )?; } Ok(()) }' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: literal.str_to_empty + normalizedText: '"Summary"' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: literal.str_to_xyzzy + normalizedText: '"Summary"' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: logical.and_to_or + normalizedText: '!survivors.is_empty() && !listings.announced' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: logical.and_to_or + normalizedText: listings.announced && outcome != Outcome::Flaky + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 2153 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 2153 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::CompileError + occurrence: 0 + testSet: 2152 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Killed + occurrence: 0 + testSet: 2151 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == Outcome::Survived + occurrence: 0 + testSet: 2154 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: relational.eq_to_ne + normalizedText: mutant.outcome == outcome + occurrence: 0 + testSet: 2154 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: relational.gt_to_ge + normalizedText: summary.valid() > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: relational.gt_to_lt + normalizedText: summary.valid() > 0 + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: relational.ne_to_eq + normalizedText: outcome != Outcome::Flaky + occurrence: 0 + testSet: 2153 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: stmt.delete_call + normalizedText: blocks.push(( styler.outcome(Outcome::Survived), survivors.iter().map(|mutant| mutant.describe()).collect(), + )); + occurrence: 0 + testSet: 2155 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: stmt.delete_call + normalizedText: blocks.push((styler.outcome(Outcome::CompileError), unviable)); + occurrence: 0 + testSet: 2156 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: stmt.delete_call + normalizedText: blocks.push((styler.outcome(Outcome::Killed), killed)); + occurrence: 0 + testSet: 2157 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: stmt.delete_call + normalizedText: blocks.push((styler.outcome(outcome), lines)); + occurrence: 0 + testSet: 2158 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: unary.remove_not + normalizedText: '!blocks.is_empty()' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: unary.remove_not + normalizedText: '!killed.is_empty()' + occurrence: 0 + testSet: 2151 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: unary.remove_not + normalizedText: '!lines.is_empty()' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: unary.remove_not + normalizedText: '!listings.announced' + occurrence: 0 + testSet: 2159 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: unary.remove_not + normalizedText: '!survivors.is_empty()' + occurrence: 0 + testSet: 2144 + - site: + file: crates/cargo-gamma-lib/src/report/summary.rs + item: summarize + mutator: unary.remove_not + normalizedText: '!unviable.is_empty()' + occurrence: 0 + testSet: 2152 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: assign.div_to_mul + normalizedText: size /= 1024.0 + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: cond.always_false + normalizedText: size < 1024.0 + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: cond.always_false + normalizedText: unit == "bytes" + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: cond.always_true + normalizedText: size < 1024.0 + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: cond.always_true + normalizedText: unit == "bytes" + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: cond.negate + normalizedText: size < 1024.0 + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: cond.negate + normalizedText: unit == "bytes" + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: fn_value.empty_string + normalizedText: '{ #[expect(clippy::cast_precision_loss, reason = "three significant digits are printed")] let mut size + = count as f64; for unit in ["bytes", "KB", "MB", "GB"] { if size < 1024.0 { return if unit == "bytes" { format!("{count} + {unit}") } else { format!("{size:.1} {unit}") }; } size /= 1024.0; } format!("{size:.1} TB") }' + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: fn_value.xyzzy_string + normalizedText: '{ #[expect(clippy::cast_precision_loss, reason = "three significant digits are printed")] let mut size + = count as f64; for unit in ["bytes", "KB", "MB", "GB"] { if size < 1024.0 { return if unit == "bytes" { format!("{count} + {unit}") } else { format!("{size:.1} {unit}") }; } size /= 1024.0; } format!("{size:.1} TB") }' + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: literal.str_to_empty + normalizedText: '"GB"' + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: literal.str_to_empty + normalizedText: '"KB"' + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: literal.str_to_empty + normalizedText: '"MB"' + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: literal.str_to_empty + normalizedText: '"bytes"' + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: literal.str_to_empty + normalizedText: '"bytes"' + occurrence: 1 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: literal.str_to_xyzzy + normalizedText: '"GB"' + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: literal.str_to_xyzzy + normalizedText: '"KB"' + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: literal.str_to_xyzzy + normalizedText: '"MB"' + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: literal.str_to_xyzzy + normalizedText: '"bytes"' + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: literal.str_to_xyzzy + normalizedText: '"bytes"' + occurrence: 1 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: relational.eq_to_ne + normalizedText: unit == "bytes" + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: relational.lt_to_gt + normalizedText: size < 1024.0 + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: relational.lt_to_le + normalizedText: size < 1024.0 + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: bytes + mutator: stmt.delete_assign + normalizedText: size /= 1024.0; + occurrence: 0 + testSet: 2160 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: continuation + mutator: expr.decrement + normalizedText: VERB_WIDTH + occurrence: 0 + testSet: 2161 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: continuation + mutator: expr.increment + normalizedText: VERB_WIDTH + occurrence: 0 + testSet: 2161 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: continuation + mutator: fn_value.empty_string + normalizedText: '{ " ".repeat(VERB_WIDTH) }' + occurrence: 0 + testSet: 2161 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: continuation + mutator: fn_value.xyzzy_string + normalizedText: '{ " ".repeat(VERB_WIDTH) }' + occurrence: 0 + testSet: 2161 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: continuation + mutator: literal.str_to_empty + normalizedText: '" "' + occurrence: 0 + testSet: 2161 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: continuation + mutator: literal.str_to_xyzzy + normalizedText: '" "' + occurrence: 0 + testSet: 2161 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: quantity + mutator: cond.always_false + normalizedText: count == 1 + occurrence: 0 + testSet: 2162 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: quantity + mutator: cond.always_true + normalizedText: count == 1 + occurrence: 0 + testSet: 2162 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: quantity + mutator: cond.negate + normalizedText: count == 1 + occurrence: 0 + testSet: 2162 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: quantity + mutator: fn_value.empty_string + normalizedText: '{ if count == 1 { format!("{count} {noun}") } else { format!("{count} {noun}s") } }' + occurrence: 0 + testSet: 2162 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: quantity + mutator: fn_value.xyzzy_string + normalizedText: '{ if count == 1 { format!("{count} {noun}") } else { format!("{count} {noun}s") } }' + occurrence: 0 + testSet: 2162 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: quantity + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2162 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: quantity + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2162 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: quantity + mutator: relational.eq_to_ne + normalizedText: count == 1 + occurrence: 0 + testSet: 2162 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: cond.always_false + normalizedText: detected == 0 || detected == valid + occurrence: 0 + testSet: 2163 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: cond.always_false + normalizedText: shown.parse::().is_ok_and(|rounded| rounded > 0.0 && rounded < 100.0) + occurrence: 0 + testSet: 2164 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: cond.always_true + normalizedText: detected == 0 || detected == valid + occurrence: 0 + testSet: 2163 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: cond.always_true + normalizedText: shown.parse::().is_ok_and(|rounded| rounded > 0.0 && rounded < 100.0) + occurrence: 0 + testSet: 2164 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: cond.negate + normalizedText: detected == 0 || detected == valid + occurrence: 0 + testSet: 2163 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: cond.negate + normalizedText: shown.parse::().is_ok_and(|rounded| rounded > 0.0 && rounded < 100.0) + occurrence: 0 + testSet: 2164 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: expr.decrement + normalizedText: MAX_SCORE_PRECISION + occurrence: 0 + testSet: 2164 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: expr.increment + normalizedText: MAX_SCORE_PRECISION + occurrence: 0 + testSet: 2164 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: fn_value.empty_string + normalizedText: '{ if detected == 0 || detected == valid { return format!("{value:.1}"); } for precision in 1..=MAX_SCORE_PRECISION + { let shown = format!("{value:.precision$}"); if shown.parse::().is_ok_and(|rounded| rounded > 0.0 && rounded + < 100.0) { return shown; } } format!("{value}") }' + occurrence: 0 + testSet: 2163 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: fn_value.xyzzy_string + normalizedText: '{ if detected == 0 || detected == valid { return format!("{value:.1}"); } for precision in 1..=MAX_SCORE_PRECISION + { let shown = format!("{value:.precision$}"); if shown.parse::().is_ok_and(|rounded| rounded > 0.0 && rounded + < 100.0) { return shown; } } format!("{value}") }' + occurrence: 0 + testSet: 2163 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2164 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2163 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2164 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: logical.and_to_or + normalizedText: rounded > 0.0 && rounded < 100.0 + occurrence: 0 + testSet: 2164 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: logical.or_to_and + normalizedText: detected == 0 || detected == valid + occurrence: 0 + testSet: 2163 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: range.inclusive_to_exclusive + normalizedText: 1..=MAX_SCORE_PRECISION + occurrence: 0 + testSet: 2164 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: relational.eq_to_ne + normalizedText: detected == 0 + occurrence: 0 + testSet: 2163 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: relational.eq_to_ne + normalizedText: detected == valid + occurrence: 0 + testSet: 2165 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: relational.gt_to_ge + normalizedText: rounded > 0.0 + occurrence: 0 + testSet: 2164 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: relational.gt_to_lt + normalizedText: rounded > 0.0 + occurrence: 0 + testSet: 2164 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: relational.lt_to_gt + normalizedText: rounded < 100.0 + occurrence: 0 + testSet: 2164 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: score + mutator: relational.lt_to_le + normalizedText: rounded < 100.0 + occurrence: 0 + testSet: 2164 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: cond.always_false + normalizedText: character != '\u{1b}' + occurrence: 0 + testSet: 2166 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: cond.always_false + normalizedText: characters.next() == Some('[') + occurrence: 0 + testSet: 2167 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: cond.always_false + normalizedText: matches!(byte, '\u{40}'..='\u{7e}') + occurrence: 0 + testSet: 2167 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: cond.always_true + normalizedText: character != '\u{1b}' + occurrence: 0 + testSet: 2166 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: cond.always_true + normalizedText: characters.next() == Some('[') + occurrence: 0 + testSet: 2167 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: cond.always_true + normalizedText: matches!(byte, '\u{40}'..='\u{7e}') + occurrence: 0 + testSet: 2167 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: cond.negate + normalizedText: character != '\u{1b}' + occurrence: 0 + testSet: 2166 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: cond.negate + normalizedText: characters.next() == Some('[') + occurrence: 0 + testSet: 2167 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: cond.negate + normalizedText: matches!(byte, '\u{40}'..='\u{7e}') + occurrence: 0 + testSet: 2167 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: fn_value.empty_string + normalizedText: '{ let mut plain = String::with_capacity(text.len()); let mut characters = text.chars(); while let Some(character) + = characters.next() { if character != ''\u{1b}'' { plain.push(character); continue; } if characters.next() == Some(''['') + { for byte in characters.by_ref() { if matches!(byte, ''\u{40}''..=''\u{7e}'') { break; } } } } plain }' + occurrence: 0 + testSet: 2166 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut plain = String::with_capacity(text.len()); let mut characters = text.chars(); while let Some(character) + = characters.next() { if character != ''\u{1b}'' { plain.push(character); continue; } if characters.next() == Some(''['') + { for byte in characters.by_ref() { if matches!(byte, ''\u{40}''..=''\u{7e}'') { break; } } } } plain }' + occurrence: 0 + testSet: 2166 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 2168 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 2166 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 2168 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 2166 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: option.some_to_none + normalizedText: Some('[') + occurrence: 0 + testSet: 2167 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: relational.eq_to_ne + normalizedText: characters.next() == Some('[') + occurrence: 0 + testSet: 2167 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: relational.ne_to_eq + normalizedText: character != '\u{1b}' + occurrence: 0 + testSet: 2166 + - site: + file: crates/cargo-gamma-lib/src/report/text.rs + item: unstyled + mutator: stmt.delete_call + normalizedText: plain.push(character); + occurrence: 0 + testSet: 2166 + - site: + file: crates/cargo-gamma-lib/src/schema.rs + item: sites + mutator: fn_value.empty_collection + normalizedText: '{ mutants .iter() .map(|mutant| AssignedMutant::from_parts(Ordinal::new(mutant.ordinal), &mutant.span, + &mutant.replacement, mutant.shape)) .collect() }' + occurrence: 0 + testSet: 1612 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: assign.add_to_sub + normalizedText: count += 1 + occurrence: 0 + testSet: 2169 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: assign_value.default + normalizedText: 'Some(Expectation { killed: directive.intent == Some(Intent::ExpectKilled), line: directive.line, reason: + directive.reason.clone(), })' + occurrence: 0 + testSet: 2170 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: assign_value.default + normalizedText: 'Some(Suppression { channel: directive.channel, reason: directive.reason.clone(), tag: directive.tag.clone(), + line: Some(directive.line), })' + occurrence: 0 + testSet: 2169 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: assign_value.default + normalizedText: directive.test_timeout_multiplier + occurrence: 0 + testSet: 2171 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: expr.decrement + normalizedText: count + occurrence: 0 + testSet: 2172 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: expr.increment + normalizedText: count + occurrence: 0 + testSet: 2172 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2169 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2172 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2169 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: option.some_to_none + normalizedText: 'Some(Expectation { killed: directive.intent == Some(Intent::ExpectKilled), line: directive.line, reason: + directive.reason.clone(), })' + occurrence: 0 + testSet: 2170 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: option.some_to_none + normalizedText: Some(Intent::ExpectKilled) + occurrence: 0 + testSet: 2170 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: option.some_to_none + normalizedText: Some(Intent::Skip) + occurrence: 0 + testSet: 2173 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: option.some_to_none + normalizedText: 'Some(Suppression { channel: directive.channel, reason: directive.reason.clone(), tag: directive.tag.clone(), + line: Some(directive.line), })' + occurrence: 0 + testSet: 2169 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: option.some_to_none + normalizedText: Some(directive.line) + occurrence: 0 + testSet: 2169 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: relational.eq_to_ne + normalizedText: directive.intent == Some(Intent::ExpectKilled) + occurrence: 0 + testSet: 2170 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: relational.eq_to_ne + normalizedText: directive.intent == Some(Intent::Skip) + occurrence: 0 + testSet: 2173 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: stmt.delete_assign + normalizedText: count += 1; + occurrence: 0 + testSet: 2169 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: stmt.delete_assign + normalizedText: 'mutant.expectation = Some(Expectation { killed: directive.intent == Some(Intent::ExpectKilled), line: + directive.line, reason: directive.reason.clone(), });' + occurrence: 0 + testSet: 2170 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: stmt.delete_assign + normalizedText: mutant.outcome = Outcome::Ignored; + occurrence: 0 + testSet: 2169 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: stmt.delete_assign + normalizedText: 'mutant.suppression = Some(Suppression { channel: directive.channel, reason: directive.reason.clone(), + tag: directive.tag.clone(), line: Some(directive.line), });' + occurrence: 0 + testSet: 2169 + - site: + file: crates/cargo-gamma-lib/src/suppress/apply.rs + item: suppress + mutator: stmt.delete_assign + normalizedText: mutant.test_timeout_multiplier = directive.test_timeout_multiplier; + occurrence: 0 + testSet: 2171 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: Directive::governs + mutator: fn_value.bool_false + normalizedText: '{ mutant.span.start >= self.scope.start && mutant.span.start < self.scope.end && self.selection.contains(&mutant.mutator) + }' + occurrence: 0 + testSet: 2174 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: Directive::governs + mutator: fn_value.bool_true + normalizedText: '{ mutant.span.start >= self.scope.start && mutant.span.start < self.scope.end && self.selection.contains(&mutant.mutator) + }' + occurrence: 0 + testSet: 2174 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: Directive::governs + mutator: logical.and_to_or + normalizedText: mutant.span.start >= self.scope.start && mutant.span.start < self.scope.end + occurrence: 0 + testSet: 2174 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: Directive::governs + mutator: logical.and_to_or + normalizedText: mutant.span.start >= self.scope.start && mutant.span.start < self.scope.end && self.selection.contains(&mutant.mutator) + occurrence: 0 + testSet: 2174 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: Directive::governs + mutator: relational.ge_to_gt + normalizedText: mutant.span.start >= self.scope.start + occurrence: 0 + testSet: 2174 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: Directive::governs + mutator: relational.ge_to_le + normalizedText: mutant.span.start >= self.scope.start + occurrence: 0 + testSet: 2174 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: Directive::governs + mutator: relational.lt_to_gt + normalizedText: mutant.span.start < self.scope.end + occurrence: 0 + testSet: 2174 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: Directive::governs + mutator: relational.lt_to_le + normalizedText: mutant.span.start < self.scope.end + occurrence: 0 + testSet: 2174 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: build + mutator: cond.always_false + normalizedText: parsed.selectors.is_empty() + occurrence: 0 + testSet: 2175 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: build + mutator: cond.always_true + normalizedText: parsed.selectors.is_empty() + occurrence: 0 + testSet: 2175 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: build + mutator: cond.negate + normalizedText: parsed.selectors.is_empty() + occurrence: 0 + testSet: 2175 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: build + mutator: iter.first_to_last + normalizedText: parsed.errors.first() + occurrence: 0 + testSet: 2176 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: build + mutator: iter.first_to_last + normalizedText: parsed.unknown.first() + occurrence: 0 + testSet: 2177 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: is_string_literal + mutator: fn_value.bool_false + normalizedText: '{ matches!(tokens, [TokenTree::Literal(literal)] if syn::parse_str::(&literal.to_string()).is_ok()) + }' + occurrence: 0 + testSet: 2178 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: is_string_literal + mutator: fn_value.bool_true + normalizedText: '{ matches!(tokens, [TokenTree::Literal(literal)] if syn::parse_str::(&literal.to_string()).is_ok()) + }' + occurrence: 0 + testSet: 2178 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: assign_value.default + normalizedText: Some(text) + occurrence: 0 + testSet: 2179 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: assign_value.default + normalizedText: Some(text) + occurrence: 1 + testSet: 2180 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: assign_value.default + normalizedText: selectors.join(",") + occurrence: 0 + testSet: 2181 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: cond.always_false + normalizedText: '!cleaned.is_empty()' + occurrence: 0 + testSet: 2182 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: cond.always_false + normalizedText: current.is_empty() + occurrence: 0 + testSet: 2181 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: cond.always_false + normalizedText: matches!(name.as_str(), "reason" | "tag") && !is_string_literal(value) + occurrence: 0 + testSet: 2183 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: cond.always_false + normalizedText: trailing + occurrence: 0 + testSet: 2184 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: cond.always_true + normalizedText: '!cleaned.is_empty()' + occurrence: 0 + testSet: 2182 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: cond.always_true + normalizedText: current.is_empty() + occurrence: 0 + testSet: 2181 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: cond.always_true + normalizedText: matches!(name.as_str(), "reason" | "tag") && !is_string_literal(value) + occurrence: 0 + testSet: 2183 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: cond.always_true + normalizedText: trailing + occurrence: 0 + testSet: 2184 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: cond.negate + normalizedText: '!cleaned.is_empty()' + occurrence: 0 + testSet: 2182 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: cond.negate + normalizedText: current.is_empty() + occurrence: 0 + testSet: 2181 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: cond.negate + normalizedText: matches!(name.as_str(), "reason" | "tag") && !is_string_literal(value) + occurrence: 0 + testSet: 2183 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: cond.negate + normalizedText: trailing + occurrence: 0 + testSet: 2184 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: fn_value.default + normalizedText: '{ let mut arguments = Arguments::default(); let mut selectors: Vec = Vec::new(); let mut current: + Vec = Vec::new(); let mut flush = |current: &mut Vec, arguments: &mut Arguments| { if current.is_empty() + { return; } let taken = mem::take(current); if taken.len() >= 3 && let TokenTree::Ident(name) = &taken[0] && let TokenTree::Punct(equals) + = &taken[1] && equals.as_char() == ''='' { let name = name.to_string(); let value = &taken[2..]; let trailing = match + name.as_str() { "reason" | "tag" => value.len() != 1, "test_timeout_multiplier" | "timeout_multiplier" | "multiplier" + | "factor" => { value.len() != 1 && !(value.len() == 2 && matches!(&value[0], TokenTree::Punct(punct) if matches!(punct.as_char(), + ''+'' | ''-''))) } _ => false, }; if trailing { arguments.errors.push(format!("trailing tokens after `{name}` value")); + return; } if matches!(name.as_str(), "reason" | "tag") && !is_string_literal(value) { arguments.errors.push(format!("`{name}` + must be a string literal")); return; } let rhs = value .iter() .map(|token| match token { TokenTree::Literal(literal) + => unquote(&literal.to_string()), other => other.to_string(), }) .collect::(); let text = rhs.trim().to_owned(); + match name.as_str() { "reason" => arguments.reason = Some(text), "tag" => arguments.tag = Some(text), "test_timeout_multiplier" + | "timeout_multiplier" | "multiplier" | "factor" => match text.parse::() { Ok(val) => match crate::bounds::factor(&text, + val) { Ok(bounded) => state_multiplier(arguments, bounded), Err(message) => arguments.errors.push(format!("timeout + multiplier {message}")), }, Err(_cause) => { arguments .errors .push(format!("timeout multiplier must be a positive + number, got `{text}`")); } }, other => arguments.unknown.push(other.to_owned()), } return; } let rendered: String + = taken .iter() .map(|token| match token { TokenTree::Literal(literal) => unquote(&literal.to_string()), other => + other.to_string(), }) .collect::(); let cleaned: String = rendered.chars().filter(|character| !character.is_whitespace()).collect(); + if !cleaned.is_empty() { if let Ok(val) = cleaned.parse::() { match crate::bounds::factor(&cleaned, val) { Ok(bounded) + => state_multiplier(arguments, bounded), Err(message) => arguments.errors.push(format!("timeout multiplier {message}")), + } } else { selectors.push(cleaned); } } }; for token in tokens.clone() { match &token { TokenTree::Punct(punct) if + punct.as_char() == '','' => flush(&mut current, &mut arguments), TokenTree::Group(group) if group.delimiter() == Delimiter::None + => { current.extend(group.stream()); } _ => current.push(token), } } flush(&mut current, &mut arguments); arguments.selectors + = selectors.join(","); arguments }' + occurrence: 0 + testSet: 2181 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2185 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2186 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 2187 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 2 + testSet: 2188 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 2184 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 1 + testSet: 2189 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_decrement + normalizedText: '3' + occurrence: 0 + testSet: 2190 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2191 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2186 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 2187 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_increment + normalizedText: '1' + occurrence: 2 + testSet: 2188 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 2184 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_increment + normalizedText: '2' + occurrence: 1 + testSet: 2189 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_increment + normalizedText: '3' + occurrence: 0 + testSet: 2190 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_to_one + normalizedText: '3' + occurrence: 0 + testSet: 2190 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 2184 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 1 + testSet: 2189 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.int_to_zero + normalizedText: '3' + occurrence: 0 + testSet: 2190 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.str_to_empty + normalizedText: '","' + occurrence: 0 + testSet: 2181 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: literal.str_to_xyzzy + normalizedText: '","' + occurrence: 0 + testSet: 2181 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: logical.and_to_or + normalizedText: matches!(name.as_str(), "reason" | "tag") && !is_string_literal(value) + occurrence: 0 + testSet: 2183 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: logical.and_to_or + normalizedText: value.len() != 1 && !(value.len() == 2 && matches!(&value[0], TokenTree::Punct(punct) if matches!(punct.as_char(), + '+' | '-'))) + occurrence: 0 + testSet: 2188 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: logical.and_to_or + normalizedText: value.len() == 2 && matches!(&value[0], TokenTree::Punct(punct) if matches!(punct.as_char(), '+' | '-')) + occurrence: 0 + testSet: 2189 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: match_arm.never_matches + normalizedText: '"reason"' + occurrence: 0 + testSet: 2179 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: match_arm.never_matches + normalizedText: '"reason" | "tag"' + occurrence: 0 + testSet: 2187 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: match_arm.never_matches + normalizedText: '"tag"' + occurrence: 0 + testSet: 2180 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: match_arm.never_matches + normalizedText: '"test_timeout_multiplier" | "timeout_multiplier" | "multiplier" | "factor"' + occurrence: 0 + testSet: 2188 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: match_arm.never_matches + normalizedText: '"test_timeout_multiplier" | "timeout_multiplier" | "multiplier" | "factor"' + occurrence: 1 + testSet: 2192 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: match_arm.never_matches + normalizedText: TokenTree::Literal(literal) + occurrence: 0 + testSet: 2193 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: match_arm.never_matches + normalizedText: TokenTree::Literal(literal) + occurrence: 1 + testSet: 2194 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: match_guard.always_false + normalizedText: group.delimiter() == Delimiter::None + occurrence: 0 + testSet: 2195 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: match_guard.always_false + normalizedText: punct.as_char() == ',' + occurrence: 0 + testSet: 2196 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: match_guard.always_true + normalizedText: group.delimiter() == Delimiter::None + occurrence: 0 + testSet: 2195 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: match_guard.always_true + normalizedText: punct.as_char() == ',' + occurrence: 0 + testSet: 2196 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: match_guard.negate + normalizedText: group.delimiter() == Delimiter::None + occurrence: 0 + testSet: 2195 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: match_guard.negate + normalizedText: punct.as_char() == ',' + occurrence: 0 + testSet: 2196 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: option.some_to_none + normalizedText: Some(text) + occurrence: 0 + testSet: 2179 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: option.some_to_none + normalizedText: Some(text) + occurrence: 1 + testSet: 2180 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: relational.eq_to_ne + normalizedText: equals.as_char() == '=' + occurrence: 0 + testSet: 2186 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: relational.eq_to_ne + normalizedText: value.len() == 2 + occurrence: 0 + testSet: 2189 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: relational.ge_to_gt + normalizedText: taken.len() >= 3 + occurrence: 0 + testSet: 2190 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: relational.ge_to_le + normalizedText: taken.len() >= 3 + occurrence: 0 + testSet: 2190 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: relational.ne_to_eq + normalizedText: value.len() != 1 + occurrence: 0 + testSet: 2187 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: relational.ne_to_eq + normalizedText: value.len() != 1 + occurrence: 1 + testSet: 2188 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: stmt.delete_assign + normalizedText: arguments.selectors = selectors.join(","); + occurrence: 0 + testSet: 2181 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: stmt.delete_call + normalizedText: arguments.errors.push(format!("`{name}` must be a string literal")); + occurrence: 0 + testSet: 2197 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: stmt.delete_call + normalizedText: arguments.errors.push(format!("trailing tokens after `{name}` value")); + occurrence: 0 + testSet: 2189 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: stmt.delete_call + normalizedText: current.extend(group.stream()); + occurrence: 0 + testSet: 2195 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: stmt.delete_call + normalizedText: flush(&mut current, &mut arguments); + occurrence: 0 + testSet: 2181 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: stmt.delete_call + normalizedText: selectors.push(cleaned); + occurrence: 0 + testSet: 2198 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: unary.remove_not + normalizedText: '!(value.len() == 2 && matches!(&value[0], TokenTree::Punct(punct) if matches!(punct.as_char(), ''+'' + | ''-'')))' + occurrence: 0 + testSet: 2189 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: unary.remove_not + normalizedText: '!character.is_whitespace()' + occurrence: 0 + testSet: 2182 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: unary.remove_not + normalizedText: '!cleaned.is_empty()' + occurrence: 0 + testSet: 2182 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: parse_arguments + mutator: unary.remove_not + normalizedText: '!is_string_literal(value)' + occurrence: 0 + testSet: 2178 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: state_multiplier + mutator: assign_value.default + normalizedText: Some(value) + occurrence: 0 + testSet: 2199 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: state_multiplier + mutator: cond.always_false + normalizedText: arguments.test_timeout_multiplier.is_some() + occurrence: 0 + testSet: 2199 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: state_multiplier + mutator: cond.always_true + normalizedText: arguments.test_timeout_multiplier.is_some() + occurrence: 0 + testSet: 2199 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: state_multiplier + mutator: cond.negate + normalizedText: arguments.test_timeout_multiplier.is_some() + occurrence: 0 + testSet: 2199 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: state_multiplier + mutator: fn_value.unit + normalizedText: '{ if arguments.test_timeout_multiplier.is_some() { arguments .errors .push("a timeout multiplier is + stated a second time; only one may apply to an item".to_owned()); return; } arguments.test_timeout_multiplier = Some(value); + }' + occurrence: 0 + testSet: 2199 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: state_multiplier + mutator: literal.str_to_empty + normalizedText: '"a timeout multiplier is stated a second time; only one may apply to an item"' + occurrence: 0 + testSet: 2200 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: state_multiplier + mutator: literal.str_to_xyzzy + normalizedText: '"a timeout multiplier is stated a second time; only one may apply to an item"' + occurrence: 0 + testSet: 2200 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: state_multiplier + mutator: option.some_to_none + normalizedText: Some(value) + occurrence: 0 + testSet: 2199 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: state_multiplier + mutator: stmt.delete_assign + normalizedText: arguments.test_timeout_multiplier = Some(value); + occurrence: 0 + testSet: 2199 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: state_multiplier + mutator: stmt.delete_call + normalizedText: arguments .errors .push("a timeout multiplier is stated a second time; only one may apply to an item".to_owned()); + occurrence: 0 + testSet: 2200 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: unquote + mutator: arith.sub_to_add + normalizedText: body.len() - body.trim_start_matches('#').len() + occurrence: 0 + testSet: 2201 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: unquote + mutator: arith.sub_to_div + normalizedText: body.len() - body.trim_start_matches('#').len() + occurrence: 0 + testSet: 2201 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: unquote + mutator: expr.decrement + normalizedText: body.len().saturating_sub(hashes) + occurrence: 0 + testSet: 2201 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: unquote + mutator: expr.decrement + normalizedText: hashes + occurrence: 0 + testSet: 2201 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: unquote + mutator: expr.decrement + normalizedText: hashes + occurrence: 1 + testSet: 2201 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: unquote + mutator: expr.increment + normalizedText: body.len().saturating_sub(hashes) + occurrence: 0 + testSet: 2201 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: unquote + mutator: expr.increment + normalizedText: hashes + occurrence: 0 + testSet: 2201 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: unquote + mutator: expr.increment + normalizedText: hashes + occurrence: 1 + testSet: 2201 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: unquote + mutator: fn_value.empty_string + normalizedText: '{ let body = text.strip_prefix(''r'').unwrap_or(text); let hashes = body.len() - body.trim_start_matches(''#'').len(); + let Some(body) = body.get(hashes..body.len().saturating_sub(hashes)) else { return text.to_owned(); }; body.strip_prefix(''"'') + .and_then(|inner| inner.strip_suffix(''"'')) .map_or_else(|| text.to_owned(), ToOwned::to_owned) }' + occurrence: 0 + testSet: 2201 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: unquote + mutator: fn_value.xyzzy_string + normalizedText: '{ let body = text.strip_prefix(''r'').unwrap_or(text); let hashes = body.len() - body.trim_start_matches(''#'').len(); + let Some(body) = body.get(hashes..body.len().saturating_sub(hashes)) else { return text.to_owned(); }; body.strip_prefix(''"'') + .and_then(|inner| inner.strip_suffix(''"'')) .map_or_else(|| text.to_owned(), ToOwned::to_owned) }' + occurrence: 0 + testSet: 2201 + - site: + file: crates/cargo-gamma-lib/src/suppress/directive.rs + item: unquote + mutator: range.exclusive_to_inclusive + normalizedText: hashes..body.len().saturating_sub(hashes) + occurrence: 0 + testSet: 2201 + - site: + file: crates/cargo-gamma-lib/src/suppress/idle.rs + item: idle + mutator: fn_value.empty_collection + normalizedText: '{ found .iter() .filter(|directive| directive.intent == Some(Intent::Skip)) .filter(|directive| directive.selection.sorted().iter().any(|name| + offered.contains(name))) .filter(|directive| !mutants.iter().any(|mutant| directive.governs(mutant))) .map(|directive| + Idle { file: file.to_owned(), line: directive.line, selectors: directive.selectors.clone(), reason: directive.reason.clone(), + }) .collect() }' + occurrence: 0 + testSet: 2202 + - site: + file: crates/cargo-gamma-lib/src/suppress/idle.rs + item: idle + mutator: iter.any_to_all + normalizedText: directive.selection.sorted().iter().any(|name| offered.contains(name)) + occurrence: 0 + testSet: 2203 + - site: + file: crates/cargo-gamma-lib/src/suppress/idle.rs + item: idle + mutator: iter.any_to_all + normalizedText: mutants.iter().any(|mutant| directive.governs(mutant)) + occurrence: 0 + testSet: 2204 + - site: + file: crates/cargo-gamma-lib/src/suppress/idle.rs + item: idle + mutator: option.some_to_none + normalizedText: Some(Intent::Skip) + occurrence: 0 + testSet: 2202 + - site: + file: crates/cargo-gamma-lib/src/suppress/idle.rs + item: idle + mutator: relational.eq_to_ne + normalizedText: directive.intent == Some(Intent::Skip) + occurrence: 0 + testSet: 2202 + - site: + file: crates/cargo-gamma-lib/src/suppress/idle.rs + item: idle + mutator: unary.remove_not + normalizedText: '!mutants.iter().any(|mutant| directive.governs(mutant))' + occurrence: 0 + testSet: 2204 + - site: + file: crates/cargo-gamma-lib/src/suppress/intent.rs + item: Intent::parse + mutator: fn_value.none + normalizedText: '{ match name { "skip" => Some(Self::Skip), "expect_survived" => Some(Self::ExpectSurvived), "expect_killed" + => Some(Self::ExpectKilled), _ => None, } }' + occurrence: 0 + testSet: 2205 + - site: + file: crates/cargo-gamma-lib/src/suppress/intent.rs + item: Intent::parse + mutator: match_arm.never_matches + normalizedText: '"expect_killed"' + occurrence: 0 + testSet: 2206 + - site: + file: crates/cargo-gamma-lib/src/suppress/intent.rs + item: Intent::parse + mutator: match_arm.never_matches + normalizedText: '"expect_survived"' + occurrence: 0 + testSet: 2207 + - site: + file: crates/cargo-gamma-lib/src/suppress/intent.rs + item: Intent::parse + mutator: match_arm.never_matches + normalizedText: '"skip"' + occurrence: 0 + testSet: 2208 + - site: + file: crates/cargo-gamma-lib/src/suppress/intent.rs + item: Intent::parse + mutator: option.some_to_none + normalizedText: Some(Self::ExpectKilled) + occurrence: 0 + testSet: 2206 + - site: + file: crates/cargo-gamma-lib/src/suppress/intent.rs + item: Intent::parse + mutator: option.some_to_none + normalizedText: Some(Self::ExpectSurvived) + occurrence: 0 + testSet: 2207 + - site: + file: crates/cargo-gamma-lib/src/suppress/intent.rs + item: Intent::parse + mutator: option.some_to_none + normalizedText: Some(Self::Skip) + occurrence: 0 + testSet: 2208 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: cond.always_false + normalizedText: directive.intent.is_some() || directive.test_timeout_multiplier.is_some() + occurrence: 0 + testSet: 2209 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: cond.always_false + normalizedText: name == "test_timeout_multiplier" || name == "timeout_multiplier" + occurrence: 0 + testSet: 2210 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: cond.always_false + normalizedText: name == STATED_VALUE + occurrence: 0 + testSet: 2211 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: cond.always_true + normalizedText: directive.intent.is_some() || directive.test_timeout_multiplier.is_some() + occurrence: 0 + testSet: 2209 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: cond.always_true + normalizedText: name == "test_timeout_multiplier" || name == "timeout_multiplier" + occurrence: 0 + testSet: 2210 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: cond.always_true + normalizedText: name == STATED_VALUE + occurrence: 0 + testSet: 2211 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: cond.negate + normalizedText: directive.intent.is_some() || directive.test_timeout_multiplier.is_some() + occurrence: 0 + testSet: 2209 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: cond.negate + normalizedText: name == "test_timeout_multiplier" || name == "timeout_multiplier" + occurrence: 0 + testSet: 2210 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: cond.negate + normalizedText: name == STATED_VALUE + occurrence: 0 + testSet: 2211 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: fn_value.ok + normalizedText: '{ let mut found = Vec::new(); for (attribute, item_span) in &scopes.attributes { let line = file.line_of(attribute.span().byte_range().start); + for (path, arguments) in unwrap_cfg_attr(attribute, cfg) { let segments: Vec = path.segments.iter().map(|segment| + segment.ident.to_string()).collect(); let (channel, intent) = match segments.as_slice() { [namespace] if namespace + == "gamma" => (Channel::Attribute, None), [namespace, name] if namespace == "gamma" => { if name == STATED_VALUE { + continue; } if name == "test_timeout_multiplier" || name == "timeout_multiplier" { (Channel::Attribute, None) } else + if let Some(intent) = Intent::parse(name) { (Channel::Attribute, Some(intent)) } else { return Err(Error::new(format!( + "{}:{line}: unknown directive `{namespace}::{name}`, expected `skip`, `expect_survived`, `expect_killed`, `test_timeout_multiplier`, + or `timeout_multiplier`", file.path() )) .usage()); } } _ => continue, }; let directive = build(intent, &arguments, + channel, line, item_span.clone(), file)?; if directive.intent.is_some() || directive.test_timeout_multiplier.is_some() + { found.push(directive); } } } Ok(found) }' + occurrence: 0 + testSet: 2212 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: literal.str_to_empty + normalizedText: '"test_timeout_multiplier"' + occurrence: 0 + testSet: 2210 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: literal.str_to_empty + normalizedText: '"timeout_multiplier"' + occurrence: 0 + testSet: 2213 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: literal.str_to_xyzzy + normalizedText: '"test_timeout_multiplier"' + occurrence: 0 + testSet: 2210 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: literal.str_to_xyzzy + normalizedText: '"timeout_multiplier"' + occurrence: 0 + testSet: 2213 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: logical.or_to_and + normalizedText: directive.intent.is_some() || directive.test_timeout_multiplier.is_some() + occurrence: 0 + testSet: 2209 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: logical.or_to_and + normalizedText: name == "test_timeout_multiplier" || name == "timeout_multiplier" + occurrence: 0 + testSet: 2210 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 2214 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 1 + testSet: 2215 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 2214 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: match_guard.always_false + normalizedText: namespace == "gamma" + occurrence: 0 + testSet: 2216 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: match_guard.always_false + normalizedText: namespace == "gamma" + occurrence: 1 + testSet: 2217 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: match_guard.always_true + normalizedText: namespace == "gamma" + occurrence: 0 + testSet: 2216 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: match_guard.always_true + normalizedText: namespace == "gamma" + occurrence: 1 + testSet: 2217 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: match_guard.negate + normalizedText: namespace == "gamma" + occurrence: 0 + testSet: 2216 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: match_guard.negate + normalizedText: namespace == "gamma" + occurrence: 1 + testSet: 2217 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: option.some_to_none + normalizedText: Some(intent) + occurrence: 0 + testSet: 2218 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: relational.eq_to_ne + normalizedText: name == "test_timeout_multiplier" + occurrence: 0 + testSet: 2210 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: relational.eq_to_ne + normalizedText: name == "timeout_multiplier" + occurrence: 0 + testSet: 2213 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: relational.eq_to_ne + normalizedText: name == STATED_VALUE + occurrence: 0 + testSet: 2211 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: result.err_to_ok + normalizedText: 'Err(Error::new(format!( "{}:{line}: unknown directive `{namespace}::{name}`, expected `skip`, `expect_survived`, + `expect_killed`, `test_timeout_multiplier`, or `timeout_multiplier`", file.path() )) .usage())' + occurrence: 0 + testSet: 2219 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: attribute_directives + mutator: stmt.delete_call + normalizedText: found.push(directive); + occurrence: 0 + testSet: 2220 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: assign_value.default + normalizedText: 'true' + occurrence: 0 + testSet: 2221 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_false + normalizedText: '!recognized' + occurrence: 0 + testSet: 2222 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_false + normalizedText: comment.kind != CommentKind::Line + occurrence: 0 + testSet: 2223 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_false + normalizedText: comment.trailing + occurrence: 0 + testSet: 2224 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_false + normalizedText: crate::parse::exceeds_nesting_limit(&source) + occurrence: 0 + testSet: 2225 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_false + normalizedText: directive.intent.is_some() || directive.test_timeout_multiplier.is_some() + occurrence: 0 + testSet: 2221 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_false + normalizedText: name == "test_timeout_multiplier" || name == "timeout_multiplier" + occurrence: 0 + testSet: 2226 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_false + normalizedText: name == STATED_VALUE + occurrence: 0 + testSet: 2227 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_true + normalizedText: '!recognized' + occurrence: 0 + testSet: 2222 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_true + normalizedText: comment.kind != CommentKind::Line + occurrence: 0 + testSet: 2223 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_true + normalizedText: comment.trailing + occurrence: 0 + testSet: 2224 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_true + normalizedText: crate::parse::exceeds_nesting_limit(&source) + occurrence: 0 + testSet: 2225 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_true + normalizedText: directive.intent.is_some() || directive.test_timeout_multiplier.is_some() + occurrence: 0 + testSet: 2221 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_true + normalizedText: name == "test_timeout_multiplier" || name == "timeout_multiplier" + occurrence: 0 + testSet: 2226 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.always_true + normalizedText: name == STATED_VALUE + occurrence: 0 + testSet: 2227 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.negate + normalizedText: '!recognized' + occurrence: 0 + testSet: 2222 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.negate + normalizedText: comment.kind != CommentKind::Line + occurrence: 0 + testSet: 2223 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.negate + normalizedText: comment.trailing + occurrence: 0 + testSet: 2224 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.negate + normalizedText: crate::parse::exceeds_nesting_limit(&source) + occurrence: 0 + testSet: 2225 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.negate + normalizedText: directive.intent.is_some() || directive.test_timeout_multiplier.is_some() + occurrence: 0 + testSet: 2221 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.negate + normalizedText: name == "test_timeout_multiplier" || name == "timeout_multiplier" + occurrence: 0 + testSet: 2226 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: cond.negate + normalizedText: name == STATED_VALUE + occurrence: 0 + testSet: 2227 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2228 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2221 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: literal.str_to_empty + normalizedText: '"test_timeout_multiplier"' + occurrence: 0 + testSet: 2226 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: literal.str_to_empty + normalizedText: '"timeout_multiplier"' + occurrence: 0 + testSet: 2229 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: literal.str_to_xyzzy + normalizedText: '"test_timeout_multiplier"' + occurrence: 0 + testSet: 2226 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: literal.str_to_xyzzy + normalizedText: '"timeout_multiplier"' + occurrence: 0 + testSet: 2229 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: logical.or_to_and + normalizedText: directive.intent.is_some() || directive.test_timeout_multiplier.is_some() + occurrence: 0 + testSet: 2221 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: logical.or_to_and + normalizedText: name == "test_timeout_multiplier" || name == "timeout_multiplier" + occurrence: 0 + testSet: 2226 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 0 + testSet: 2230 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: loop.continue_to_break + normalizedText: continue + occurrence: 2 + testSet: 2231 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: loop.delete_continue + normalizedText: continue; + occurrence: 0 + testSet: 2230 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: match_arm.never_matches + normalizedText: Meta::List(list) + occurrence: 0 + testSet: 2232 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: match_guard.always_false + normalizedText: namespace == "gamma" + occurrence: 0 + testSet: 2233 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: match_guard.always_false + normalizedText: namespace == "gamma" + occurrence: 1 + testSet: 2227 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: match_guard.always_true + normalizedText: namespace == "gamma" + occurrence: 0 + testSet: 2233 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: match_guard.always_true + normalizedText: namespace == "gamma" + occurrence: 1 + testSet: 2227 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: match_guard.negate + normalizedText: namespace == "gamma" + occurrence: 0 + testSet: 2233 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: match_guard.negate + normalizedText: namespace == "gamma" + occurrence: 1 + testSet: 2227 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: option.some_to_none + normalizedText: Some(intent) + occurrence: 0 + testSet: 2234 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: relational.eq_to_ne + normalizedText: name == "test_timeout_multiplier" + occurrence: 0 + testSet: 2226 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: relational.eq_to_ne + normalizedText: name == "timeout_multiplier" + occurrence: 0 + testSet: 2229 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: relational.eq_to_ne + normalizedText: name == STATED_VALUE + occurrence: 0 + testSet: 2227 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: relational.ne_to_eq + normalizedText: comment.kind != CommentKind::Line + occurrence: 0 + testSet: 2223 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: result.err_to_ok + normalizedText: 'Err(Error::new(format!( "{}:{}: `{body}` nests too deeply to be safely parsed as a directive", file.path(), + comment.line )) .usage())' + occurrence: 0 + testSet: 2235 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: result.err_to_ok + normalizedText: 'Err(Error::new(format!( "{}:{}: `{namespace}::{name}` states the value a function returns and must + be written as a real attribute on that function, not as a comment", file.path(), comment.line )) .usage())' + occurrence: 0 + testSet: 2236 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: result.err_to_ok + normalizedText: 'Err(Error::new(format!( "{}:{}: unknown directive `{namespace}::{name}`, expected `skip`, `expect_survived`, + `expect_killed`, `test_timeout_multiplier`, or `timeout_multiplier`", file.path(), comment.line )) .usage())' + occurrence: 0 + testSet: 2237 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: result.err_to_ok + normalizedText: 'Err(Error::new(format!("{}:{}: `{body}` does not apply to anything", file.path(), comment.line)).usage())' + occurrence: 0 + testSet: 2238 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: result.err_to_ok + normalizedText: 'Err(Error::new(format!("{}:{}: `{body}` is not a recognized directive", file.path(), comment.line)).usage())' + occurrence: 0 + testSet: 2239 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: stmt.delete_assign + normalizedText: recognized = true; + occurrence: 0 + testSet: 2221 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: stmt.delete_call + normalizedText: found.push(directive); + occurrence: 0 + testSet: 2221 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: comment_directives + mutator: unary.remove_not + normalizedText: '!recognized' + occurrence: 0 + testSet: 2222 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: cond.always_false + normalizedText: body.starts_with("#[") && (inner.starts_with("gamma::") || inner.starts_with("gamma(") || inner.starts_with("gamma]")) + occurrence: 0 + testSet: 2240 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: cond.always_true + normalizedText: body.starts_with("#[") && (inner.starts_with("gamma::") || inner.starts_with("gamma(") || inner.starts_with("gamma]")) + occurrence: 0 + testSet: 2240 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: cond.negate + normalizedText: body.starts_with("#[") && (inner.starts_with("gamma::") || inner.starts_with("gamma(") || inner.starts_with("gamma]")) + occurrence: 0 + testSet: 2240 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: fn_value.none + normalizedText: '{ let inner = body.strip_prefix("#[").map_or(body, str::trim_start); if body.starts_with("#[") && (inner.starts_with("gamma::") + || inner.starts_with("gamma(") || inner.starts_with("gamma]")) { return Some(body.to_owned()); } None }' + occurrence: 0 + testSet: 2240 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: literal.str_to_empty + normalizedText: '"#["' + occurrence: 0 + testSet: 2240 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: literal.str_to_empty + normalizedText: '"#["' + occurrence: 1 + testSet: 2240 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: literal.str_to_empty + normalizedText: '"gamma("' + occurrence: 0 + testSet: 2241 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: literal.str_to_empty + normalizedText: '"gamma::"' + occurrence: 0 + testSet: 2242 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: literal.str_to_empty + normalizedText: '"gamma]"' + occurrence: 0 + testSet: 2241 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: literal.str_to_xyzzy + normalizedText: '"#["' + occurrence: 0 + testSet: 2240 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: literal.str_to_xyzzy + normalizedText: '"#["' + occurrence: 1 + testSet: 2240 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: literal.str_to_xyzzy + normalizedText: '"gamma("' + occurrence: 0 + testSet: 2241 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: literal.str_to_xyzzy + normalizedText: '"gamma::"' + occurrence: 0 + testSet: 2242 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: literal.str_to_xyzzy + normalizedText: '"gamma]"' + occurrence: 0 + testSet: 2241 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: logical.and_to_or + normalizedText: body.starts_with("#[") && (inner.starts_with("gamma::") || inner.starts_with("gamma(") || inner.starts_with("gamma]")) + occurrence: 0 + testSet: 2240 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: logical.or_to_and + normalizedText: inner.starts_with("gamma::") || inner.starts_with("gamma(") + occurrence: 0 + testSet: 2242 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: logical.or_to_and + normalizedText: inner.starts_with("gamma::") || inner.starts_with("gamma(") || inner.starts_with("gamma]") + occurrence: 0 + testSet: 2242 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 2243 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: option.some_to_none + normalizedText: Some(body.to_owned()) + occurrence: 0 + testSet: 2225 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: string.starts_with_to_ends_with + normalizedText: body.starts_with("#[") + occurrence: 0 + testSet: 2240 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: string.starts_with_to_ends_with + normalizedText: inner.starts_with("gamma(") + occurrence: 0 + testSet: 2241 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: string.starts_with_to_ends_with + normalizedText: inner.starts_with("gamma::") + occurrence: 0 + testSet: 2242 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directive_source + mutator: string.starts_with_to_ends_with + normalizedText: inner.starts_with("gamma]") + occurrence: 0 + testSet: 2241 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directives + mutator: fn_value.ok + normalizedText: '{ directives_for(file, &CfgSet::unconditional()) }' + occurrence: 0 + testSet: 2244 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directives_for + mutator: fn_value.ok + normalizedText: '{ let scopes = Scopes::of(file); let mut found = attribute_directives(file, &scopes, cfg)?; found.extend(comment_directives(file, + &scopes)?); found.sort_by_key(|directive| directive.scope.start); Ok(found) }' + occurrence: 0 + testSet: 2212 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directives_for + mutator: iter.remove_sort + normalizedText: found.sort_by_key(|directive| directive.scope.start); + occurrence: 0 + testSet: 2245 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: directives_for + mutator: stmt.delete_call + normalizedText: found.extend(comment_directives(file, &scopes)?); + occurrence: 0 + testSet: 2246 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_cfg_attr + mutator: fn_value.empty_collection + normalizedText: '{ unwrap_meta(&attribute.meta, cfg) }' + occurrence: 0 + testSet: 2247 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: cond.always_false + normalizedText: '!meta.path().is_ident("cfg_attr")' + occurrence: 0 + testSet: 2247 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: cond.always_false + normalizedText: cfg.decide_meta(predicate) == cargo_gamma_engine::cfg::Verdict::No + occurrence: 0 + testSet: 2248 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: cond.always_true + normalizedText: '!meta.path().is_ident("cfg_attr")' + occurrence: 0 + testSet: 2247 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: cond.always_true + normalizedText: cfg.decide_meta(predicate) == cargo_gamma_engine::cfg::Verdict::No + occurrence: 0 + testSet: 2248 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: cond.negate + normalizedText: '!meta.path().is_ident("cfg_attr")' + occurrence: 0 + testSet: 2247 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: cond.negate + normalizedText: cfg.decide_meta(predicate) == cargo_gamma_engine::cfg::Verdict::No + occurrence: 0 + testSet: 2248 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: fn_value.empty_collection + normalizedText: '{ if !meta.path().is_ident("cfg_attr") { let arguments = match meta { Meta::List(list) => list.tokens.clone(), + _ => TokenStream::new(), }; return vec![(meta.path().clone(), arguments)]; } let Meta::List(list) = meta else { return + Vec::new(); }; let parser = Punctuated::::parse_terminated; let Ok(parts) = parser.parse2(list.tokens.clone()) + else { return Vec::new(); }; let Some(predicate) = parts.first() else { return Vec::new(); }; if cfg.decide_meta(predicate) + == cargo_gamma_engine::cfg::Verdict::No { return Vec::new(); } parts.into_iter().skip(1).flat_map(|meta| unwrap_meta(&meta, + cfg)).collect() }' + occurrence: 0 + testSet: 2247 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: iter.first_to_last + normalizedText: parts.first() + occurrence: 0 + testSet: 2248 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2249 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2249 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: literal.str_to_empty + normalizedText: '"cfg_attr"' + occurrence: 0 + testSet: 2247 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: literal.str_to_xyzzy + normalizedText: '"cfg_attr"' + occurrence: 0 + testSet: 2247 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: match_arm.never_matches + normalizedText: Meta::List(list) + occurrence: 0 + testSet: 2250 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: relational.eq_to_ne + normalizedText: cfg.decide_meta(predicate) == cargo_gamma_engine::cfg::Verdict::No + occurrence: 0 + testSet: 2248 + - site: + file: crates/cargo-gamma-lib/src/suppress/scan.rs + item: unwrap_meta + mutator: unary.remove_not + normalizedText: '!meta.path().is_ident("cfg_attr")' + occurrence: 0 + testSet: 2247 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_expr + mutator: fn_value.unit + normalizedText: '{ let _ = self.record(node.span()); visit::visit_expr(self, node); }' + occurrence: 0 + testSet: 2251 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_expr + mutator: stmt.delete_call + normalizedText: visit::visit_expr(self, node); + occurrence: 0 + testSet: 2251 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_impl_item + mutator: fn_value.unit + normalizedText: '{ self.record_attributes(impl_item_attributes(node), node.span()); if let ImplItem::Fn(function) = + node { self.record_attributed_function_head(&function.attrs, function.sig.fn_token.span, node.span()); } visit::visit_impl_item(self, + node); }' + occurrence: 0 + testSet: 2252 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_impl_item + mutator: stmt.delete_call + normalizedText: self.record_attributed_function_head(&function.attrs, function.sig.fn_token.span, node.span()); + occurrence: 0 + testSet: 2252 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_impl_item + mutator: stmt.delete_call + normalizedText: self.record_attributes(impl_item_attributes(node), node.span()); + occurrence: 0 + testSet: 2252 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_impl_item + mutator: stmt.delete_call + normalizedText: visit::visit_impl_item(self, node); + occurrence: 0 + testSet: 2252 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_item + mutator: fn_value.unit + normalizedText: '{ self.record_attributes(item_attributes(node), node.span()); if let Item::Fn(function) = node { self.record_attributed_function_head(&function.attrs, + function.sig.fn_token.span, node.span()); } visit::visit_item(self, node); }' + occurrence: 0 + testSet: 2253 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_item + mutator: stmt.delete_call + normalizedText: self.record_attributed_function_head(&function.attrs, function.sig.fn_token.span, node.span()); + occurrence: 0 + testSet: 2254 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_item + mutator: stmt.delete_call + normalizedText: self.record_attributes(item_attributes(node), node.span()); + occurrence: 0 + testSet: 2253 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_item + mutator: stmt.delete_call + normalizedText: visit::visit_item(self, node); + occurrence: 0 + testSet: 2253 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_stmt + mutator: fn_value.unit + normalizedText: '{ let _ = self.record(node.span()); visit::visit_stmt(self, node); }' + occurrence: 0 + testSet: 2251 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_stmt + mutator: stmt.delete_call + normalizedText: visit::visit_stmt(self, node); + occurrence: 0 + testSet: 2251 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_trait_item + mutator: fn_value.unit + normalizedText: '{ self.record_attributes(trait_item_attributes(node), node.span()); if let TraitItem::Fn(function) + = node { self.record_attributed_function_head(&function.attrs, function.sig.fn_token.span, node.span()); } visit::visit_trait_item(self, + node); }' + occurrence: 0 + testSet: 2255 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_trait_item + mutator: stmt.delete_call + normalizedText: self.record_attributed_function_head(&function.attrs, function.sig.fn_token.span, node.span()); + occurrence: 0 + testSet: 2255 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_trait_item + mutator: stmt.delete_call + normalizedText: self.record_attributes(trait_item_attributes(node), node.span()); + occurrence: 0 + testSet: 2255 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: >::visit_trait_item + mutator: stmt.delete_call + normalizedText: visit::visit_trait_item(self, node); + occurrence: 0 + testSet: 2255 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record + mutator: fn_value.none + normalizedText: '{ self.record_range(span.byte_range()) }' + occurrence: 0 + testSet: 2256 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_attributed_function_head + mutator: cond.always_false + normalizedText: attributes.is_empty() + occurrence: 0 + testSet: 2257 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_attributed_function_head + mutator: cond.always_true + normalizedText: attributes.is_empty() + occurrence: 0 + testSet: 2257 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_attributed_function_head + mutator: cond.negate + normalizedText: attributes.is_empty() + occurrence: 0 + testSet: 2257 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_attributed_function_head + mutator: fn_value.unit + normalizedText: '{ if attributes.is_empty() { return; } let start = function.byte_range().start; let end = item.byte_range().end; + let _recorded = self.record_range(start..end); }' + occurrence: 0 + testSet: 2257 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_attributed_function_head + mutator: range.exclusive_to_inclusive + normalizedText: start..end + occurrence: 0 + testSet: 2258 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_attributes + mutator: fn_value.unit + normalizedText: '{ let Some(range) = self.record(span) else { return; }; for attribute in attributes { self.scopes.attributes.push((attribute.clone(), + range.clone())); } }' + occurrence: 0 + testSet: 2259 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_attributes + mutator: stmt.delete_call + normalizedText: self.scopes.attributes.push((attribute.clone(), range.clone())); + occurrence: 0 + testSet: 2260 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_range + mutator: cond.always_false + normalizedText: '!admissible(&range, self.text_len)' + occurrence: 0 + testSet: 2261 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_range + mutator: cond.always_true + normalizedText: '!admissible(&range, self.text_len)' + occurrence: 0 + testSet: 2261 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_range + mutator: cond.negate + normalizedText: '!admissible(&range, self.text_len)' + occurrence: 0 + testSet: 2261 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_range + mutator: expr.decrement + normalizedText: self.text_len + occurrence: 0 + testSet: 2261 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_range + mutator: expr.increment + normalizedText: self.text_len + occurrence: 0 + testSet: 2261 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_range + mutator: fn_value.none + normalizedText: '{ if !admissible(&range, self.text_len) { return None; } self.scopes.spans.push(range.clone()); Some(range) + }' + occurrence: 0 + testSet: 2261 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_range + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 2262 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_range + mutator: option.some_to_none + normalizedText: Some(range) + occurrence: 0 + testSet: 2263 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_range + mutator: stmt.delete_call + normalizedText: self.scopes.spans.push(range.clone()); + occurrence: 0 + testSet: 2263 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: ScopeCollector::record_range + mutator: unary.remove_not + normalizedText: '!admissible(&range, self.text_len)' + occurrence: 0 + testSet: 2261 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::enclosing_on_line + mutator: fn_value.none + normalizedText: '{ self.lines.get(&line).cloned() }' + occurrence: 0 + testSet: 2264 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: cond.always_false + normalizedText: span.end > best.end + occurrence: 0 + testSet: 2265 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: cond.always_false + normalizedText: span.start != start + occurrence: 0 + testSet: 2266 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: cond.always_true + normalizedText: span.end > best.end + occurrence: 0 + testSet: 2265 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: cond.always_true + normalizedText: span.start != start + occurrence: 0 + testSet: 2266 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: cond.negate + normalizedText: span.end > best.end + occurrence: 0 + testSet: 2265 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: cond.negate + normalizedText: span.start != start + occurrence: 0 + testSet: 2266 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: fn_value.none + normalizedText: '{ let index = self.spans.partition_point(|span| span.start < offset); let mut candidates = self.spans.iter().skip(index); + let first = candidates.next()?; let start = first.start; let mut best = first.clone(); for span in candidates { if + span.start != start { break; } if span.end > best.end { best = span.clone(); } } Some(best) }' + occurrence: 0 + testSet: 2267 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 2268 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 2268 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: option.some_to_none + normalizedText: Some(best) + occurrence: 0 + testSet: 2266 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: relational.gt_to_ge + normalizedText: span.end > best.end + occurrence: 0 + testSet: 2265 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: relational.gt_to_lt + normalizedText: span.end > best.end + occurrence: 0 + testSet: 2265 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: relational.lt_to_gt + normalizedText: span.start < offset + occurrence: 0 + testSet: 2269 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: relational.lt_to_le + normalizedText: span.start < offset + occurrence: 0 + testSet: 2269 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::following + mutator: relational.ne_to_eq + normalizedText: span.start != start + occurrence: 0 + testSet: 2266 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::of + mutator: assign_value.default + normalizedText: span.clone() + occurrence: 0 + testSet: 2270 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::of + mutator: cond.always_false + normalizedText: span.end > entry.end + occurrence: 0 + testSet: 2253 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::of + mutator: cond.always_true + normalizedText: span.end > entry.end + occurrence: 0 + testSet: 2253 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::of + mutator: cond.negate + normalizedText: span.end > entry.end + occurrence: 0 + testSet: 2253 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::of + mutator: fn_value.default + normalizedText: '{ let mut collector = ScopeCollector { scopes: Self::default(), text_len: file.text().len(), }; collector.visit_file(file.ast()); + let mut scopes = collector.scopes; scopes.sort_spans(); for span in &scopes.spans { let line = file.line_of(span.start); + let entry = scopes.lines.entry(line).or_insert_with(|| span.clone()); if span.end > entry.end { *entry = span.clone(); + } } scopes }' + occurrence: 0 + testSet: 2253 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::of + mutator: relational.gt_to_ge + normalizedText: span.end > entry.end + occurrence: 0 + testSet: 2253 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::of + mutator: relational.gt_to_lt + normalizedText: span.end > entry.end + occurrence: 0 + testSet: 2253 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::of + mutator: stmt.delete_assign + normalizedText: '*entry = span.clone();' + occurrence: 0 + testSet: 2270 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::of + mutator: stmt.delete_call + normalizedText: collector.visit_file(file.ast()); + occurrence: 0 + testSet: 2253 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::sort_spans + mutator: fn_value.unit + normalizedText: '{ self.spans .sort_by(|left, right| left.start.cmp(&right.start).then_with(|| right.end.cmp(&left.end))); + }' + occurrence: 0 + testSet: 2271 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: Scopes::sort_spans + mutator: iter.remove_sort + normalizedText: self.spans .sort_by(|left, right| left.start.cmp(&right.start).then_with(|| right.end.cmp(&left.end))); + occurrence: 0 + testSet: 2271 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: admissible + mutator: fn_value.bool_false + normalizedText: '{ !range.is_empty() && range.end <= text_len }' + occurrence: 0 + testSet: 2272 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: admissible + mutator: fn_value.bool_true + normalizedText: '{ !range.is_empty() && range.end <= text_len }' + occurrence: 0 + testSet: 2272 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: admissible + mutator: logical.and_to_or + normalizedText: '!range.is_empty() && range.end <= text_len' + occurrence: 0 + testSet: 2272 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: admissible + mutator: relational.le_to_ge + normalizedText: range.end <= text_len + occurrence: 0 + testSet: 2272 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: admissible + mutator: relational.le_to_lt + normalizedText: range.end <= text_len + occurrence: 0 + testSet: 2272 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: admissible + mutator: unary.remove_not + normalizedText: '!range.is_empty()' + occurrence: 0 + testSet: 2272 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: impl_item_attributes + mutator: fn_value.default + normalizedText: '{ match item { ImplItem::Const(node) => &node.attrs, ImplItem::Fn(node) => &node.attrs, ImplItem::Macro(node) + => &node.attrs, ImplItem::Type(node) => &node.attrs, _ => &[], } }' + occurrence: 0 + testSet: 2252 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: impl_item_attributes + mutator: match_arm.never_matches + normalizedText: ImplItem::Fn(node) + occurrence: 0 + testSet: 2252 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: item_attributes + mutator: fn_value.default + normalizedText: '{ match item { Item::Const(node) => &node.attrs, Item::Enum(node) => &node.attrs, Item::ExternCrate(node) + => &node.attrs, Item::Fn(node) => &node.attrs, Item::ForeignMod(node) => &node.attrs, Item::Impl(node) => &node.attrs, + Item::Macro(node) => &node.attrs, Item::Mod(node) => &node.attrs, Item::Static(node) => &node.attrs, Item::Struct(node) + => &node.attrs, Item::Trait(node) => &node.attrs, Item::TraitAlias(node) => &node.attrs, Item::Type(node) => &node.attrs, + Item::Union(node) => &node.attrs, Item::Use(node) => &node.attrs, _ => &[], } }' + occurrence: 0 + testSet: 2253 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: item_attributes + mutator: match_arm.never_matches + normalizedText: Item::Fn(node) + occurrence: 0 + testSet: 2254 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: item_attributes + mutator: match_arm.never_matches + normalizedText: Item::Impl(node) + occurrence: 0 + testSet: 2252 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: item_attributes + mutator: match_arm.never_matches + normalizedText: Item::Mod(node) + occurrence: 0 + testSet: 2273 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: item_attributes + mutator: match_arm.never_matches + normalizedText: Item::Struct(node) + occurrence: 0 + testSet: 2274 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: item_attributes + mutator: match_arm.never_matches + normalizedText: Item::Trait(node) + occurrence: 0 + testSet: 2255 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: item_attributes + mutator: match_arm.never_matches + normalizedText: Item::Use(node) + occurrence: 0 + testSet: 2275 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: trait_item_attributes + mutator: fn_value.default + normalizedText: '{ match item { TraitItem::Const(node) => &node.attrs, TraitItem::Fn(node) => &node.attrs, TraitItem::Macro(node) + => &node.attrs, TraitItem::Type(node) => &node.attrs, _ => &[], } }' + occurrence: 0 + testSet: 2255 + - site: + file: crates/cargo-gamma-lib/src/suppress/scopes.rs + item: trait_item_attributes + mutator: match_arm.never_matches + normalizedText: TraitItem::Fn(node) + occurrence: 0 + testSet: 2255 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ::fmt + mutator: fn_value.ok + normalizedText: '{ match self { Self::Containment(cause) => cause.fmt(formatter), Self::Io(cause) => cause.fmt(formatter), + } }' + occurrence: 0 + testSet: 2276 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ::source + mutator: fn_value.none + normalizedText: '{ match self { Self::Containment(cause) => Some(cause), Self::Io(cause) => Some(cause), } }' + occurrence: 0 + testSet: 2276 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ::source + mutator: option.some_to_none + normalizedText: Some(cause) + occurrence: 0 + testSet: 2276 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ::source + mutator: option.some_to_none + normalizedText: Some(cause) + occurrence: 1 + testSet: 2276 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ::drop + mutator: fn_value.unit + normalizedText: '{ let mut child = self.child.take(); if let Some(child) = child.as_mut() { let _killed = self.kill(child); + } self.release(); if let Some(mut child) = child { let _reaped = child.wait(); } }' + occurrence: 0 + testSet: 2277 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ::fmt + mutator: fn_value.ok + normalizedText: '{ self.cause.fmt(f) }' + occurrence: 0 + testSet: 2278 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ::source + mutator: fn_value.none + normalizedText: '{ Some(&self.cause) }' + occurrence: 0 + testSet: 2278 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ::source + mutator: option.some_to_none + normalizedText: Some(&self.cause) + occurrence: 0 + testSet: 2278 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ::drop + mutator: fn_value.unit + normalizedText: '{ if let (Some(mut child), Some(guard)) = (self.child.take(), self.guard.take()) { let _abandoned = + abandon(&mut child, &guard); } }' + occurrence: 0 + testSet: 2279 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: PreparedCommand::spawn + mutator: option.some_to_none + normalizedText: Some(child) + occurrence: 0 + testSet: 2280 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: PreparedCommand::spawn + mutator: option.some_to_none + normalizedText: Some(guard) + occurrence: 0 + testSet: 2280 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + mutator: cond.always_false + normalizedText: '!job.assign(&child)' + occurrence: 0 + testSet: 2281 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + mutator: cond.always_false + normalizedText: faults::fired(faults::Fault::Adopt) + occurrence: 0 + testSet: 2280 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + mutator: cond.always_true + normalizedText: '!job.assign(&child)' + occurrence: 0 + testSet: 2281 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + mutator: cond.always_true + normalizedText: '!job::release(child.id())' + occurrence: 0 + testSet: 2281 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + mutator: cond.always_true + normalizedText: faults::fired(faults::Fault::Adopt) + occurrence: 0 + testSet: 2280 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + mutator: cond.negate + normalizedText: '!job.assign(&child)' + occurrence: 0 + testSet: 2281 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + mutator: cond.negate + normalizedText: '!job::release(child.id())' + occurrence: 0 + testSet: 2281 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + mutator: cond.negate + normalizedText: faults::fired(faults::Fault::Adopt) + occurrence: 0 + testSet: 2280 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + mutator: literal.str_to_empty + normalizedText: '"the accounting boundary a test asked to fail would not take the child"' + occurrence: 0 + testSet: 2282 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + mutator: literal.str_to_xyzzy + normalizedText: '"the accounting boundary a test asked to fail would not take the child"' + occurrence: 0 + testSet: 2282 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + mutator: option.some_to_none + normalizedText: Some(child) + occurrence: 0 + testSet: 2281 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + mutator: unary.remove_not + normalizedText: '!job.assign(&child)' + occurrence: 0 + testSet: 2281 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::adopt + mutator: unary.remove_not + normalizedText: '!job::release(child.id())' + occurrence: 0 + testSet: 2281 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::kill + mutator: fn_value.ok + normalizedText: '{ let swept = self.sweep(); let killed = kill_if_running(child); killed.and(swept) }' + occurrence: 0 + testSet: 2283 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::observe + mutator: assign_value.default + normalizedText: Some(child) + occurrence: 1 + testSet: 2284 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::observe + mutator: cond.always_false + normalizedText: status.is_some() + occurrence: 0 + testSet: 2284 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::observe + mutator: cond.always_true + normalizedText: status.is_some() + occurrence: 0 + testSet: 2284 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::observe + mutator: cond.negate + normalizedText: status.is_some() + occurrence: 0 + testSet: 2284 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::observe + mutator: option.some_to_none + normalizedText: Some(child) + occurrence: 1 + testSet: 2284 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::observe + mutator: stmt.delete_assign + normalizedText: self.child = Some(child); + occurrence: 1 + testSet: 2284 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::sweep + mutator: fn_value.ok + normalizedText: '{ #[cfg(target_os = "linux")] let boundary_killed = self.cgroup.as_ref().map_or(Ok(()), Cgroup::kill); + #[cfg(unix)] let killed = self.group.map_or(Ok(()), group::kill); #[cfg(windows)] let boundary_killed = self.job.as_ref().map_or(Ok(()), + Job::terminate); #[cfg(target_os = "linux")] return boundary_killed.and(killed); #[cfg(all(unix, not(target_os = "linux")))] + return killed; #[cfg(windows)] return boundary_killed; #[cfg(not(any(unix, windows)))] Ok(()) }' + occurrence: 0 + testSet: 2285 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::take_stderr + mutator: fn_value.none + normalizedText: '{ self.child.as_mut()?.stderr.take() }' + occurrence: 0 + testSet: 2286 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::take_stdout + mutator: fn_value.none + normalizedText: '{ self.child.as_mut()?.stdout.take() }' + occurrence: 0 + testSet: 2286 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::terminate + mutator: cond.always_false + normalizedText: faults::fired(faults::Fault::Terminate) + occurrence: 0 + testSet: 2287 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::terminate + mutator: cond.always_true + normalizedText: faults::fired(faults::Fault::Terminate) + occurrence: 0 + testSet: 2287 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::terminate + mutator: cond.negate + normalizedText: faults::fired(faults::Fault::Terminate) + occurrence: 0 + testSet: 2287 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::terminate + mutator: fn_value.ok + normalizedText: '{ let mut child = self .child .take() .ok_or_else(|| io::Error::other("the subtree leader was already + reaped"))?; let killed = self.kill(&mut child); self.release(); let reaped = child.wait()?; killed?; #[cfg(any(test, + feature = "fault-injection"))] if faults::fired(faults::Fault::Terminate) { return Err(io::Error::other("subtree termination + failed as requested by a test")); } Ok(reaped) }' + occurrence: 0 + testSet: 2288 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::terminate + mutator: literal.str_to_empty + normalizedText: '"subtree termination failed as requested by a test"' + occurrence: 0 + testSet: 2289 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::terminate + mutator: literal.str_to_empty + normalizedText: '"the subtree leader was already reaped"' + occurrence: 0 + testSet: 2290 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::terminate + mutator: literal.str_to_xyzzy + normalizedText: '"subtree termination failed as requested by a test"' + occurrence: 0 + testSet: 2289 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::terminate + mutator: literal.str_to_xyzzy + normalizedText: '"the subtree leader was already reaped"' + occurrence: 0 + testSet: 2290 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::terminate + mutator: result.err_to_ok + normalizedText: Err(io::Error::other("subtree termination failed as requested by a test")) + occurrence: 0 + testSet: 2289 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: ProcessTree::usage + mutator: fn_value.default + normalizedText: '{ #[cfg(target_os = "linux")] { usage_from_reading(self.cgroup.as_ref().filter(|_leaf| self.metered).map(Cgroup::usage)) + } #[cfg(windows)] { self.job.as_ref().filter(|_| self.metered).map_or_else(MemoryUsage::default, |job| { let (peak, + exhausted) = job.usage(); MemoryUsage { peak, exhausted } }) } #[cfg(not(any(target_os = "linux", windows)))] { MemoryUsage::default() + } }' + occurrence: 0 + testSet: 2291 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: SpawnGuard::backoff + mutator: stmt.delete_call + normalizedText: std::thread::sleep(duration); + occurrence: 0 + testSet: 2292 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: SpawnedCommand::id + mutator: expr.decrement + normalizedText: self.child .as_ref() .expect("a spawned command retains its child until adoption consumes it") .id() + occurrence: 0 + testSet: 2293 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: SpawnedCommand::id + mutator: expr.increment + normalizedText: self.child .as_ref() .expect("a spawned command retains its child until adoption consumes it") .id() + occurrence: 0 + testSet: 2293 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: SpawnedCommand::id + mutator: fn_value.one + normalizedText: '{ self.child .as_ref() .expect("a spawned command retains its child until adoption consumes it") .id() + }' + occurrence: 0 + testSet: 2293 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: SpawnedCommand::id + mutator: fn_value.zero + normalizedText: '{ self.child .as_ref() .expect("a spawned command retains its child until adoption consumes it") .id() + }' + occurrence: 0 + testSet: 2293 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: abandon + mutator: fn_value.ok + normalizedText: '{ #[cfg(target_os = "linux")] let boundary_killed = guard.cgroup.as_ref().map_or(Ok(()), Cgroup::kill); + #[cfg(unix)] let group_killed = i32::try_from(child.id()).map_or(Ok(()), group::kill); #[cfg(windows)] let boundary_killed + = guard.job.as_ref().map_or(Ok(()), Job::terminate); let child_killed = kill_if_running(child); let reaped = child.wait().map(|_status| + ()); #[cfg(target_os = "linux")] { reaped.and(child_killed).and(boundary_killed).and(group_killed) } #[cfg(all(unix, + not(target_os = "linux")))] { reaped.and(child_killed).and(group_killed) } #[cfg(windows)] { reaped.and(child_killed).and(boundary_killed) + } #[cfg(not(any(unix, windows)))] { reaped.and(child_killed) } }' + occurrence: 0 + testSet: 2294 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: cleanup_after_observation + mutator: cond.always_false + normalizedText: '!observed' + occurrence: 0 + testSet: 2295 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: cleanup_after_observation + mutator: cond.always_true + normalizedText: '!observed' + occurrence: 0 + testSet: 2295 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: cleanup_after_observation + mutator: cond.negate + normalizedText: '!observed' + occurrence: 0 + testSet: 2295 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: cleanup_after_observation + mutator: unary.remove_not + normalizedText: '!observed' + occurrence: 0 + testSet: 2295 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: discard_output_reader + mutator: assign_value.default + normalizedText: Vec::with_capacity(0) + occurrence: 0 + testSet: 2296 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: discard_output_reader + mutator: fn_value.unit + normalizedText: '{ if let Some(reader) = reader { reader.retaining.store(false, Ordering::Release); let mut bytes = + reader.bytes.lock().unwrap_or_else(std::sync::PoisonError::into_inner); *bytes = Vec::with_capacity(0); } }' + occurrence: 0 + testSet: 2297 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: discard_output_reader + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2296 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: discard_output_reader + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2296 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: discard_output_reader + mutator: stmt.delete_assign + normalizedText: '*bytes = Vec::with_capacity(0);' + occurrence: 0 + testSet: 2296 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: discard_output_reader + mutator: stmt.delete_call + normalizedText: reader.retaining.store(false, Ordering::Release); + occurrence: 0 + testSet: 2296 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: join_output_reader + mutator: fn_value.ok + normalizedText: '{ match reader { Some(reader) => { reader .thread .join() .map_err(|_panic| io::Error::other(format!("the + {stream} reader thread panicked")))??; Ok(Arc::try_unwrap(reader.bytes) .expect("the reader thread is joined, so it + released the only other capture reference") .into_inner() .unwrap_or_else(std::sync::PoisonError::into_inner)) } None + => Ok(Vec::new()), } }' + occurrence: 0 + testSet: 2298 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: kill_if_running + mutator: fn_value.ok + normalizedText: '{ match child.kill() { Ok(()) => Ok(()), Err(kill_error) => match child.try_wait() { Ok(Some(_status)) + => Ok(()), Ok(None) | Err(_) => Err(kill_error), }, } }' + occurrence: 0 + testSet: 2299 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: output_reader + mutator: cond.always_false + normalizedText: capture_enabled.load(Ordering::Acquire) + occurrence: 0 + testSet: 2300 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: output_reader + mutator: cond.always_true + normalizedText: capture_enabled.load(Ordering::Acquire) + occurrence: 0 + testSet: 2300 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: output_reader + mutator: cond.always_true + normalizedText: read == 0 + occurrence: 0 + testSet: 2301 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: output_reader + mutator: cond.negate + normalizedText: capture_enabled.load(Ordering::Acquire) + occurrence: 0 + testSet: 2300 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: output_reader + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2298 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: output_reader + mutator: match_guard.always_false + normalizedText: cause.kind() == io::ErrorKind::Interrupted + occurrence: 0 + testSet: 2302 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: output_reader + mutator: range.exclusive_to_inclusive + normalizedText: ..read + occurrence: 0 + testSet: 2300 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: output_reader + mutator: stmt.delete_call + normalizedText: captured.extend_from_slice(&chunk[..read]); + occurrence: 0 + testSet: 2300 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: prepare + mutator: cond.always_false + normalizedText: faults::fired(faults::Fault::Prepare) + occurrence: 0 + testSet: 2303 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: prepare + mutator: cond.always_true + normalizedText: faults::fired(faults::Fault::Prepare) + occurrence: 0 + testSet: 2303 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: prepare + mutator: cond.negate + normalizedText: faults::fired(faults::Fault::Prepare) + occurrence: 0 + testSet: 2303 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: prepare + mutator: literal.str_to_empty + normalizedText: '"the containment a test asked to fail could not be installed"' + occurrence: 0 + testSet: 2304 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: prepare + mutator: literal.str_to_xyzzy + normalizedText: '"the containment a test asked to fail could not be installed"' + occurrence: 0 + testSet: 2304 + - site: + file: crates/cargo-gamma-process/src/process_tree.rs + item: wait_for_output + mutator: fn_value.ok + normalizedText: '{ loop { if let Some(status) = subtree.observe()? { return Ok(status); } thread::sleep(Duration::from_millis(1)); + } }' + occurrence: 0 + testSet: 2305 + - site: + file: crates/cargo-gamma-unsafe/src/platform_error.rs + item: ::source + mutator: fn_value.none + normalizedText: '{ self.source.as_ref().map(|cause| cause as &(dyn Error + ''static)) }' + occurrence: 0 + testSet: 2306 + - site: + file: crates/cargo-gamma-unsafe/src/platform_error.rs + item: ::fmt + mutator: fn_value.ok + normalizedText: '{ formatter.write_str(self.message.as_ref()) }' + occurrence: 0 + testSet: 2307 + - site: + file: crates/cargo-gamma-unsafe/src/platform_error.rs + item: PlatformError::because + mutator: option.some_to_none + normalizedText: Some(cause) + occurrence: 0 + testSet: 2308 + - site: + file: crates/cargo-gamma-unsafe/src/platform_error.rs + item: PlatformError::because_static + mutator: option.some_to_none + normalizedText: Some(cause) + occurrence: 0 + testSet: 2309 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/cli.rs + item: HeatherArgs::project_dir + mutator: fn_value.default + normalizedText: '{ self.project_dir.clone().unwrap_or_else(|| PathBuf::from(".")) }' + occurrence: 0 + testSet: 2310 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/cli.rs + item: HeatherArgs::project_dir + mutator: literal.str_to_empty + normalizedText: '"."' + occurrence: 0 + testSet: 2310 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/cli.rs + item: HeatherArgs::project_dir + mutator: literal.str_to_xyzzy + normalizedText: '"."' + occurrence: 0 + testSet: 2310 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: HeatherConfig::with_defaults + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2311 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: HeatherConfig::with_defaults + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2311 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: find_workspace_root + mutator: cond.always_false + normalizedText: candidate.exists() + occurrence: 0 + testSet: 2312 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: find_workspace_root + mutator: cond.always_false + normalizedText: manifest.workspace.is_some() + occurrence: 0 + testSet: 2312 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: find_workspace_root + mutator: cond.always_true + normalizedText: candidate.exists() + occurrence: 0 + testSet: 2312 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: find_workspace_root + mutator: cond.always_true + normalizedText: manifest.workspace.is_some() + occurrence: 0 + testSet: 2312 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: find_workspace_root + mutator: cond.negate + normalizedText: candidate.exists() + occurrence: 0 + testSet: 2312 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: find_workspace_root + mutator: cond.negate + normalizedText: manifest.workspace.is_some() + occurrence: 0 + testSet: 2312 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: find_workspace_root + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 2312 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: find_workspace_root + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 2312 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: load_config + mutator: cond.always_false + normalizedText: config_path.exists() + occurrence: 0 + testSet: 2313 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: load_config + mutator: cond.always_true + normalizedText: config_path.exists() + occurrence: 0 + testSet: 2313 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: load_config + mutator: cond.negate + normalizedText: config_path.exists() + occurrence: 0 + testSet: 2313 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: load_config + mutator: literal.str_to_empty + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 2313 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: load_config + mutator: literal.str_to_xyzzy + normalizedText: '"Cargo.toml"' + occurrence: 0 + testSet: 2313 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: read_config_file + mutator: cond.always_false + normalizedText: '!path.exists()' + occurrence: 0 + testSet: 2314 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: read_config_file + mutator: cond.always_true + normalizedText: '!path.exists()' + occurrence: 0 + testSet: 2314 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: read_config_file + mutator: cond.negate + normalizedText: '!path.exists()' + occurrence: 0 + testSet: 2314 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: read_config_file + mutator: fn_value.ok + normalizedText: '{ if !path.exists() { return Err(HeatherError::ConfigNotFound(path.to_path_buf())); } std::fs::read_to_string(path).map_err(|e| + HeatherError::FileRead { path: path.to_path_buf(), source: e, }) }' + occurrence: 0 + testSet: 2314 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: read_config_file + mutator: result.err_to_ok + normalizedText: Err(HeatherError::ConfigNotFound(path.to_path_buf())) + occurrence: 0 + testSet: 2315 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: read_config_file + mutator: unary.remove_not + normalizedText: '!path.exists()' + occurrence: 0 + testSet: 2314 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + mutator: cond.always_false + normalizedText: header.trim().is_empty() + occurrence: 0 + testSet: 2316 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + mutator: cond.always_true + normalizedText: header.trim().is_empty() + occurrence: 0 + testSet: 2316 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + mutator: cond.negate + normalizedText: header.trim().is_empty() + occurrence: 0 + testSet: 2316 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2317 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + mutator: literal.bool_flip + normalizedText: 'true' + occurrence: 0 + testSet: 2317 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + mutator: literal.str_to_empty + normalizedText: '"''header'' must not be empty"' + occurrence: 0 + testSet: 2318 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + mutator: literal.str_to_empty + normalizedText: '"must specify either ''license'' (SPDX identifier) or ''header'' (custom text)"' + occurrence: 0 + testSet: 2319 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + mutator: literal.str_to_empty + normalizedText: '"specify either ''license'' or ''header'', not both"' + occurrence: 0 + testSet: 2320 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + mutator: literal.str_to_xyzzy + normalizedText: '"''header'' must not be empty"' + occurrence: 0 + testSet: 2318 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + mutator: literal.str_to_xyzzy + normalizedText: '"must specify either ''license'' (SPDX identifier) or ''header'' (custom text)"' + occurrence: 0 + testSet: 2319 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + mutator: literal.str_to_xyzzy + normalizedText: '"specify either ''license'' or ''header'', not both"' + occurrence: 0 + testSet: 2320 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + mutator: result.err_to_ok + normalizedText: Err(HeatherError::ConfigInvalid( "must specify either 'license' (SPDX identifier) or 'header' (custom + text)".into(), )) + occurrence: 0 + testSet: 2319 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_config + mutator: result.err_to_ok + normalizedText: Err(HeatherError::ConfigInvalid("specify either 'license' or 'header', not both".into())) + occurrence: 0 + testSet: 2320 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_workspace_license + mutator: fn_value.ok + normalizedText: '{ let (_, manifest) = find_workspace_root(package_cargo_toml)?; let spdx_id = manifest .workspace .and_then(|w| + w.package) .and_then(|p| p.license) .filter(|id| !id.trim().is_empty()); match spdx_id { Some(id) => { let header_text + = license::header_for_license(&id)?; Ok(Some(HeatherConfig::with_defaults(header_text.to_owned()))) } None => Ok(None), + } }' + occurrence: 0 + testSet: 2321 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_workspace_license + mutator: option.some_to_none + normalizedText: Some(HeatherConfig::with_defaults(header_text.to_owned())) + occurrence: 0 + testSet: 2322 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: resolve_workspace_license + mutator: unary.remove_not + normalizedText: '!id.trim().is_empty()' + occurrence: 0 + testSet: 2322 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: try_load_from_cargo_toml + mutator: fn_value.ok + normalizedText: '{ let content = std::fs::read_to_string(path).map_err(|e| HeatherError::FileRead { path: path.to_path_buf(), + source: e, })?; let manifest: CargoManifest = toml::from_str(&content).map_err(|e| HeatherError::ConfigParse { path: + path.to_path_buf(), message: e.to_string(), })?; if let Some(field) = manifest.package.and_then(|p| p.license) { return + match field { LicenseField::Plain(id) if !id.trim().is_empty() => { let header_text = license::header_for_license(&id)?; + Ok(Some(HeatherConfig::with_defaults(header_text.to_owned()))) } LicenseField::Workspace { workspace: true } => resolve_workspace_license(path), + LicenseField::Plain(_) | LicenseField::Workspace { workspace: false } => Ok(None), }; } if let Some(id) = manifest + .workspace .and_then(|w| w.package) .and_then(|p| p.license) .filter(|id| !id.trim().is_empty()) { let header_text + = license::header_for_license(&id)?; return Ok(Some(HeatherConfig::with_defaults(header_text.to_owned()))); } Ok(None) + }' + occurrence: 0 + testSet: 2323 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: try_load_from_cargo_toml + mutator: match_guard.always_false + normalizedText: '!id.trim().is_empty()' + occurrence: 0 + testSet: 2324 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: try_load_from_cargo_toml + mutator: match_guard.always_true + normalizedText: '!id.trim().is_empty()' + occurrence: 0 + testSet: 2324 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: try_load_from_cargo_toml + mutator: match_guard.negate + normalizedText: '!id.trim().is_empty()' + occurrence: 0 + testSet: 2324 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: try_load_from_cargo_toml + mutator: option.some_to_none + normalizedText: Some(HeatherConfig::with_defaults(header_text.to_owned())) + occurrence: 0 + testSet: 2325 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: try_load_from_cargo_toml + mutator: option.some_to_none + normalizedText: Some(HeatherConfig::with_defaults(header_text.to_owned())) + occurrence: 1 + testSet: 2326 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/config.rs + item: try_load_from_cargo_toml + mutator: unary.remove_not + normalizedText: '!id.trim().is_empty()' + occurrence: 0 + testSet: 2326 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: cond.always_false + normalizedText: actual.is_empty() + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: cond.always_false + normalizedText: expected.is_empty() + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: cond.always_true + normalizedText: actual.is_empty() + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: cond.always_true + normalizedText: expected.is_empty() + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: cond.negate + normalizedText: actual.is_empty() + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: cond.negate + normalizedText: expected.is_empty() + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: fn_value.empty_string + normalizedText: '{ use std::fmt::Write as _; let mut out = String::new(); out.push_str(" expected header:\n"); if + expected.is_empty() { out.push_str(" + \n"); } else { for line in expected.lines() { writeln!(out, " + + {line}").expect("writing to String never fails"); } } out.push_str(" actual header:\n"); if actual.is_empty() { + out.push_str(" - \n"); } else { for line in actual.lines() { writeln!(out, " - {line}").expect("writing + to String never fails"); } } out }' + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: fn_value.xyzzy_string + normalizedText: '{ use std::fmt::Write as _; let mut out = String::new(); out.push_str(" expected header:\n"); if + expected.is_empty() { out.push_str(" + \n"); } else { for line in expected.lines() { writeln!(out, " + + {line}").expect("writing to String never fails"); } } out.push_str(" actual header:\n"); if actual.is_empty() { + out.push_str(" - \n"); } else { for line in actual.lines() { writeln!(out, " - {line}").expect("writing + to String never fails"); } } out }' + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: literal.str_to_empty + normalizedText: '" + \n"' + occurrence: 0 + testSet: 2328 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: literal.str_to_empty + normalizedText: '" - \n"' + occurrence: 0 + testSet: 2328 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: literal.str_to_empty + normalizedText: '" actual header:\n"' + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: literal.str_to_empty + normalizedText: '" expected header:\n"' + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: literal.str_to_xyzzy + normalizedText: '" + \n"' + occurrence: 0 + testSet: 2328 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: literal.str_to_xyzzy + normalizedText: '" - \n"' + occurrence: 0 + testSet: 2328 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: literal.str_to_xyzzy + normalizedText: '" actual header:\n"' + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: literal.str_to_xyzzy + normalizedText: '" expected header:\n"' + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: stmt.delete_call + normalizedText: out.push_str(" + \n"); + occurrence: 0 + testSet: 2328 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: stmt.delete_call + normalizedText: out.push_str(" - \n"); + occurrence: 0 + testSet: 2328 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: stmt.delete_call + normalizedText: out.push_str(" actual header:\n"); + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: stmt.delete_call + normalizedText: out.push_str(" expected header:\n"); + occurrence: 0 + testSet: 2327 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: stmt.delete_call + normalizedText: writeln!(out, " + {line}").expect("writing to String never fails"); + occurrence: 0 + testSet: 2329 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: format_mismatch_details + mutator: stmt.delete_call + normalizedText: writeln!(out, " - {line}").expect("writing to String never fails"); + occurrence: 0 + testSet: 2329 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: make_relative + mutator: fn_value.default + normalizedText: '{ path.strip_prefix(base).unwrap_or(path).to_path_buf() }' + occurrence: 0 + testSet: 2330 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + mutator: cond.always_false + normalizedText: CommentStyle::from_path(path).is_none() + occurrence: 0 + testSet: 2331 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + mutator: cond.always_false + normalizedText: kind == FileKind::CargoScript && !config.scripts + occurrence: 0 + testSet: 2332 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + mutator: cond.always_true + normalizedText: CommentStyle::from_path(path).is_none() + occurrence: 0 + testSet: 2331 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + mutator: cond.always_true + normalizedText: kind == FileKind::CargoScript && !config.scripts + occurrence: 0 + testSet: 2332 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + mutator: cond.negate + normalizedText: CommentStyle::from_path(path).is_none() + occurrence: 0 + testSet: 2331 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + mutator: cond.negate + normalizedText: kind == FileKind::CargoScript && !config.scripts + occurrence: 0 + testSet: 2332 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + mutator: fn_value.ok + normalizedText: '{ if CommentStyle::from_path(path).is_none() { return Err(HeatherError::UnsupportedFileType { path: + path.to_path_buf() }); } let content = std::fs::read_to_string(path).map_err(|e| HeatherError::FileRead { path: path.to_path_buf(), + source: e, })?; let kind = FileKind::detect(path, Some(&content)).ok_or_else(|| HeatherError::UnsupportedFileType + { path: path.to_path_buf() })?; if kind == FileKind::CargoScript && !config.scripts { return Ok(None); } Ok(Some((kind, + content))) }' + occurrence: 0 + testSet: 2331 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + mutator: logical.and_to_or + normalizedText: kind == FileKind::CargoScript && !config.scripts + occurrence: 0 + testSet: 2332 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + mutator: option.some_to_none + normalizedText: Some(&content) + occurrence: 0 + testSet: 2332 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + mutator: option.some_to_none + normalizedText: Some((kind, content)) + occurrence: 0 + testSet: 2333 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + mutator: relational.eq_to_ne + normalizedText: kind == FileKind::CargoScript + occurrence: 0 + testSet: 2332 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + mutator: result.err_to_ok + normalizedText: 'Err(HeatherError::UnsupportedFileType { path: path.to_path_buf() })' + occurrence: 0 + testSet: 2334 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: read_and_classify + mutator: unary.remove_not + normalizedText: '!config.scripts' + occurrence: 0 + testSet: 2335 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: assign.add_to_sub + normalizedText: checked += 1 + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: assign.add_to_sub + normalizedText: failures += 1 + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: cond.always_false + normalizedText: failures > 0 + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: cond.always_true + normalizedText: failures > 0 + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: cond.negate + normalizedText: failures > 0 + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 1 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: literal.int_increment + normalizedText: '0' + occurrence: 1 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: literal.int_increment + normalizedText: '0' + occurrence: 2 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: literal.int_increment + normalizedText: '1' + occurrence: 1 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: relational.gt_to_ge + normalizedText: failures > 0 + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: relational.gt_to_lt + normalizedText: failures > 0 + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: stmt.delete_assign + normalizedText: checked += 1; + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_check + mutator: stmt.delete_assign + normalizedText: failures += 1; + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_fix + mutator: expr.decrement + normalizedText: fixed_count + occurrence: 0 + testSet: 2335 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_fix + mutator: expr.increment + normalizedText: fixed_count + occurrence: 0 + testSet: 2335 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_fix + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2335 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: run_fix + mutator: match_arm.never_matches + normalizedText: '0' + occurrence: 0 + testSet: 2335 + - site: + file: crates/cargo-heather/src/bin/cargo-heather/run.rs + item: write_fixed + mutator: fn_value.ok + normalizedText: '{ std::fs::write(path, output).map_err(|e| HeatherError::FileWrite { path: path.to_path_buf(), source: + e, })?; Ok(()) }' + occurrence: 0 + testSet: 2337 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: collect_comment_block + mutator: cond.always_false + normalizedText: '!style.is_header_comment_line(trimmed)' + occurrence: 0 + testSet: 2338 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: collect_comment_block + mutator: cond.always_true + normalizedText: '!style.is_header_comment_line(trimmed)' + occurrence: 0 + testSet: 2338 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: collect_comment_block + mutator: cond.negate + normalizedText: '!style.is_header_comment_line(trimmed)' + occurrence: 0 + testSet: 2338 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: collect_comment_block + mutator: fn_value.none + normalizedText: '{ let mut out: Vec = Vec::new(); for line in lines { let trimmed = line.trim(); if !style.is_header_comment_line(trimmed) + { break; } out.push(style.strip_prefix(trimmed)); } while out.last().is_some_and(String::is_empty) { out.pop(); } + let block = out.join("\n"); looks_like_license_header(&block).then_some(block) }' + occurrence: 0 + testSet: 2338 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: collect_comment_block + mutator: iter.last_to_first + normalizedText: out.last() + occurrence: 0 + testSet: 2338 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: collect_comment_block + mutator: literal.str_to_empty + normalizedText: '"\n"' + occurrence: 0 + testSet: 2338 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: collect_comment_block + mutator: literal.str_to_xyzzy + normalizedText: '"\n"' + occurrence: 0 + testSet: 2338 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: collect_comment_block + mutator: loop.break_to_continue + normalizedText: break + occurrence: 0 + testSet: 2339 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: collect_comment_block + mutator: loop.delete_break + normalizedText: break; + occurrence: 0 + testSet: 2339 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: collect_comment_block + mutator: stmt.delete_call + normalizedText: out.push(style.strip_prefix(trimmed)); + occurrence: 0 + testSet: 2340 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: collect_comment_block + mutator: unary.remove_not + normalizedText: '!style.is_header_comment_line(trimmed)' + occurrence: 0 + testSet: 2338 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: header_comment + mutator: fn_value.none + normalizedText: '{ let lines = content.lines().skip_while(|l| l.trim().is_empty()); collect_comment_block(lines, style) + }' + occurrence: 0 + testSet: 2338 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: looks_like_license_header + mutator: fn_value.bool_false + normalizedText: '{ const KEYWORDS: &[&str] = &["license", "copyright", "spdx"]; let lower = block.to_ascii_lowercase(); + KEYWORDS.iter().any(|kw| lower.contains(kw)) }' + occurrence: 0 + testSet: 2338 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: looks_like_license_header + mutator: fn_value.bool_true + normalizedText: '{ const KEYWORDS: &[&str] = &["license", "copyright", "spdx"]; let lower = block.to_ascii_lowercase(); + KEYWORDS.iter().any(|kw| lower.contains(kw)) }' + occurrence: 0 + testSet: 2338 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: looks_like_license_header + mutator: iter.any_to_all + normalizedText: KEYWORDS.iter().any(|kw| lower.contains(kw)) + occurrence: 0 + testSet: 2338 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: looks_like_license_header + mutator: string.lower_to_upper + normalizedText: block.to_ascii_lowercase() + occurrence: 0 + testSet: 2338 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: script_header + mutator: cond.always_false + normalizedText: lines.next()?.trim() != "---" + occurrence: 0 + testSet: 2341 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: script_header + mutator: cond.always_true + normalizedText: lines.next()?.trim() != "---" + occurrence: 0 + testSet: 2341 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: script_header + mutator: cond.negate + normalizedText: lines.next()?.trim() != "---" + occurrence: 0 + testSet: 2341 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: script_header + mutator: fn_value.none + normalizedText: '{ let mut lines = content.lines(); lines.next()?; if lines.next()?.trim() != "---" { return None; } + collect_comment_block(lines, style) }' + occurrence: 0 + testSet: 2341 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: script_header + mutator: literal.str_to_empty + normalizedText: '"---"' + occurrence: 0 + testSet: 2341 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: script_header + mutator: literal.str_to_xyzzy + normalizedText: '"---"' + occurrence: 0 + testSet: 2341 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: script_header + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 2341 + - site: + file: crates/cargo-heather/src/checker/extract.rs + item: script_header + mutator: relational.ne_to_eq + normalizedText: lines.next()?.trim() != "---" + occurrence: 0 + testSet: 2341 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: header_matches + mutator: cond.always_false + normalizedText: actual_lines.len() < expected_lines.len() + occurrence: 0 + testSet: 2342 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: header_matches + mutator: cond.always_true + normalizedText: actual_lines.len() < expected_lines.len() + occurrence: 0 + testSet: 2342 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: header_matches + mutator: cond.negate + normalizedText: actual_lines.len() < expected_lines.len() + occurrence: 0 + testSet: 2342 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: header_matches + mutator: expr.decrement + normalizedText: expected_lines.len() + occurrence: 0 + testSet: 2343 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: header_matches + mutator: expr.increment + normalizedText: expected_lines.len() + occurrence: 0 + testSet: 2343 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: header_matches + mutator: fn_value.bool_false + normalizedText: '{ let expected_lines = normalize_to_lines(expected_header); let actual_lines = normalize_to_lines(extracted); + if actual_lines.len() < expected_lines.len() { return false; } actual_lines[..expected_lines.len()] == expected_lines[..] + }' + occurrence: 0 + testSet: 2342 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: header_matches + mutator: fn_value.bool_true + normalizedText: '{ let expected_lines = normalize_to_lines(expected_header); let actual_lines = normalize_to_lines(extracted); + if actual_lines.len() < expected_lines.len() { return false; } actual_lines[..expected_lines.len()] == expected_lines[..] + }' + occurrence: 0 + testSet: 2342 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: header_matches + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2344 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: header_matches + mutator: range.exclusive_to_inclusive + normalizedText: ..expected_lines.len() + occurrence: 0 + testSet: 2343 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: header_matches + mutator: relational.eq_to_ne + normalizedText: actual_lines[..expected_lines.len()] == expected_lines[..] + occurrence: 0 + testSet: 2343 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: header_matches + mutator: relational.lt_to_gt + normalizedText: actual_lines.len() < expected_lines.len() + occurrence: 0 + testSet: 2342 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: header_matches + mutator: relational.lt_to_le + normalizedText: actual_lines.len() < expected_lines.len() + occurrence: 0 + testSet: 2342 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: normalize_to_lines + mutator: cond.negate + normalizedText: lines.first().is_some_and(String::is_empty) + occurrence: 0 + testSet: 2345 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: normalize_to_lines + mutator: fn_value.empty_collection + normalizedText: '{ let mut lines: Vec = text.lines().map(|l| l.trim_end().to_owned()).collect(); while lines.first().is_some_and(String::is_empty) + { lines.remove(0); } while lines.last().is_some_and(String::is_empty) { lines.pop(); } lines }' + occurrence: 0 + testSet: 2345 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: normalize_to_lines + mutator: fn_value.one_element + normalizedText: '{ let mut lines: Vec = text.lines().map(|l| l.trim_end().to_owned()).collect(); while lines.first().is_some_and(String::is_empty) + { lines.remove(0); } while lines.last().is_some_and(String::is_empty) { lines.pop(); } lines }' + occurrence: 0 + testSet: 2345 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: normalize_to_lines + mutator: iter.first_to_last + normalizedText: lines.first() + occurrence: 0 + testSet: 2345 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: normalize_to_lines + mutator: iter.last_to_first + normalizedText: lines.last() + occurrence: 0 + testSet: 2345 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: normalize_to_lines + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2346 + - site: + file: crates/cargo-heather/src/checker/matcher.rs + item: normalize_to_lines + mutator: string.trim_end_to_trim_start + normalizedText: l.trim_end() + occurrence: 0 + testSet: 2345 + - site: + file: crates/cargo-heather/src/checker/mod.rs + item: classify + mutator: match_guard.always_false + normalizedText: header_matches(&actual, expected_header) + occurrence: 0 + testSet: 2347 + - site: + file: crates/cargo-heather/src/checker/mod.rs + item: classify + mutator: match_guard.always_true + normalizedText: header_matches(&actual, expected_header) + occurrence: 0 + testSet: 2347 + - site: + file: crates/cargo-heather/src/checker/mod.rs + item: classify + mutator: match_guard.negate + normalizedText: header_matches(&actual, expected_header) + occurrence: 0 + testSet: 2347 + - site: + file: crates/cargo-heather/src/checker/mod.rs + item: prepend_header + mutator: cond.always_false + normalizedText: content.is_empty() + occurrence: 0 + testSet: 2348 + - site: + file: crates/cargo-heather/src/checker/mod.rs + item: prepend_header + mutator: cond.always_true + normalizedText: content.is_empty() + occurrence: 0 + testSet: 2348 + - site: + file: crates/cargo-heather/src/checker/mod.rs + item: prepend_header + mutator: cond.negate + normalizedText: content.is_empty() + occurrence: 0 + testSet: 2348 + - site: + file: crates/cargo-heather/src/checker/mod.rs + item: prepend_header + mutator: fn_value.empty_string + normalizedText: '{ let comment = style.format_header(header_text, line_ending); if content.is_empty() { format!("{comment}{line_ending}") + } else { format!("{comment}{line_ending}{line_ending}{content}") } }' + occurrence: 0 + testSet: 2348 + - site: + file: crates/cargo-heather/src/checker/mod.rs + item: prepend_header + mutator: fn_value.xyzzy_string + normalizedText: '{ let comment = style.format_header(header_text, line_ending); if content.is_empty() { format!("{comment}{line_ending}") + } else { format!("{comment}{line_ending}{line_ending}{content}") } }' + occurrence: 0 + testSet: 2348 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: arith.add_to_mul + normalizedText: blanks + stripped + occurrence: 0 + testSet: 2349 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: arith.add_to_sub + normalizedText: blanks + stripped + occurrence: 0 + testSet: 2349 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: assign.add_to_sub + normalizedText: idx += 1 + occurrence: 0 + testSet: 2350 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: cond.always_false + normalizedText: lines.get(idx).is_some_and(|l| l.trim().is_empty()) + occurrence: 0 + testSet: 2349 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: cond.always_false + normalizedText: stripped == 0 + occurrence: 0 + testSet: 2351 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: cond.always_true + normalizedText: lines.get(idx).is_some_and(|l| l.trim().is_empty()) + occurrence: 0 + testSet: 2349 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: cond.always_true + normalizedText: stripped == 0 + occurrence: 0 + testSet: 2351 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: cond.negate + normalizedText: lines.get(idx).is_some_and(|l| l.trim().is_empty()) + occurrence: 0 + testSet: 2349 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: cond.negate + normalizedText: stripped == 0 + occurrence: 0 + testSet: 2351 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: expr.decrement + normalizedText: blanks + occurrence: 0 + testSet: 2351 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: expr.decrement + normalizedText: idx + occurrence: 0 + testSet: 2349 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: expr.decrement + normalizedText: idx + occurrence: 1 + testSet: 2349 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: expr.increment + normalizedText: blanks + occurrence: 0 + testSet: 2351 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: expr.increment + normalizedText: idx + occurrence: 0 + testSet: 2349 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: expr.increment + normalizedText: idx + occurrence: 1 + testSet: 2349 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: fn_value.none + normalizedText: '{ let blanks = lines.iter().take_while(|l| l.trim().is_empty()).count(); let stripped = lines[blanks..] + .iter() .take_while(|l| style.is_header_comment_line(l.trim())) .count(); if stripped == 0 { return None; } let mut + idx = blanks + stripped; if lines.get(idx).is_some_and(|l| l.trim().is_empty()) { idx += 1; } Some(idx) }' + occurrence: 0 + testSet: 2351 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2350 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2351 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2350 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: option.none_to_some + normalizedText: None + occurrence: 0 + testSet: 2352 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: option.some_to_none + normalizedText: Some(idx) + occurrence: 0 + testSet: 2349 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: relational.eq_to_ne + normalizedText: stripped == 0 + occurrence: 0 + testSet: 2351 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: find_header_end + mutator: stmt.delete_assign + normalizedText: idx += 1; + occurrence: 0 + testSet: 2350 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_script_content + mutator: cond.always_false + normalizedText: rest.is_empty() + occurrence: 0 + testSet: 2353 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_script_content + mutator: cond.always_true + normalizedText: rest.is_empty() + occurrence: 0 + testSet: 2353 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_script_content + mutator: cond.negate + normalizedText: rest.is_empty() + occurrence: 0 + testSet: 2353 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_script_content + mutator: fn_value.empty_string + normalizedText: '{ let mut iter = content.lines(); let shebang = iter .next() .expect("caller classifies content as + CargoScript only when a shebang is present"); let dash_open = iter .next() .expect("caller classifies content as CargoScript + only when an opening frontmatter delimiter follows the shebang"); let body_lines: Vec<&str> = iter.collect(); let + body_start = find_header_end(&body_lines, style).unwrap_or(0); let header_comment = style.format_header(header_text, + line_ending); let rest = body_lines[body_start..].join(line_ending); if rest.is_empty() { format!("{shebang}{line_ending}{dash_open}{line_ending}{header_comment}{line_ending}") + } else { format!("{shebang}{line_ending}{dash_open}{line_ending}{header_comment}{line_ending}{line_ending}{rest}{line_ending}") + } }' + occurrence: 0 + testSet: 2353 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_script_content + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut iter = content.lines(); let shebang = iter .next() .expect("caller classifies content as + CargoScript only when a shebang is present"); let dash_open = iter .next() .expect("caller classifies content as CargoScript + only when an opening frontmatter delimiter follows the shebang"); let body_lines: Vec<&str> = iter.collect(); let + body_start = find_header_end(&body_lines, style).unwrap_or(0); let header_comment = style.format_header(header_text, + line_ending); let rest = body_lines[body_start..].join(line_ending); if rest.is_empty() { format!("{shebang}{line_ending}{dash_open}{line_ending}{header_comment}{line_ending}") + } else { format!("{shebang}{line_ending}{dash_open}{line_ending}{header_comment}{line_ending}{line_ending}{rest}{line_ending}") + } }' + occurrence: 0 + testSet: 2353 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_script_content + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2353 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_shebang_content + mutator: cond.always_false + normalizedText: '!first.trim().starts_with("#!")' + occurrence: 0 + testSet: 2354 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_shebang_content + mutator: cond.always_true + normalizedText: '!first.trim().starts_with("#!")' + occurrence: 0 + testSet: 2354 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_shebang_content + mutator: cond.negate + normalizedText: '!first.trim().starts_with("#!")' + occurrence: 0 + testSet: 2354 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_shebang_content + mutator: fn_value.empty_string + normalizedText: '{ let mut iter = content.lines(); let Some(first) = iter.next() else { return format!("{}{line_ending}", + style.format_header(header_text, line_ending)); }; if !first.trim().starts_with("#!") { let stripped = strip_existing_header(content, + style, line_ending); return super::prepend_header(&stripped, header_text, style, line_ending); } let body_lines: Vec<&str> + = iter.collect(); let body_start = find_header_end(&body_lines, style).unwrap_or(0); reassemble_after_shebang(first, + header_text, &body_lines, body_start, style, line_ending) }' + occurrence: 0 + testSet: 2355 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_shebang_content + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut iter = content.lines(); let Some(first) = iter.next() else { return format!("{}{line_ending}", + style.format_header(header_text, line_ending)); }; if !first.trim().starts_with("#!") { let stripped = strip_existing_header(content, + style, line_ending); return super::prepend_header(&stripped, header_text, style, line_ending); } let body_lines: Vec<&str> + = iter.collect(); let body_start = find_header_end(&body_lines, style).unwrap_or(0); reassemble_after_shebang(first, + header_text, &body_lines, body_start, style, line_ending) }' + occurrence: 0 + testSet: 2355 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_shebang_content + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2356 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_shebang_content + mutator: literal.str_to_empty + normalizedText: '"#!"' + occurrence: 0 + testSet: 2354 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_shebang_content + mutator: literal.str_to_xyzzy + normalizedText: '"#!"' + occurrence: 0 + testSet: 2354 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_shebang_content + mutator: string.starts_with_to_ends_with + normalizedText: first.trim().starts_with("#!") + occurrence: 0 + testSet: 2354 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: fix_shebang_content + mutator: unary.remove_not + normalizedText: '!first.trim().starts_with("#!")' + occurrence: 0 + testSet: 2354 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: prepend_after_optional_shebang + mutator: fn_value.empty_string + normalizedText: '{ let mut iter = content.lines(); let Some(first) = iter.next() else { return format!("{}{line_ending}", + style.format_header(header_text, line_ending)); }; if !first.trim().starts_with("#!") { return super::prepend_header(content, + header_text, style, line_ending); } let body_lines: Vec<&str> = iter.collect(); reassemble_after_shebang(first, header_text, + &body_lines, 0, style, line_ending) }' + occurrence: 0 + testSet: 2357 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: prepend_after_optional_shebang + mutator: fn_value.xyzzy_string + normalizedText: '{ let mut iter = content.lines(); let Some(first) = iter.next() else { return format!("{}{line_ending}", + style.format_header(header_text, line_ending)); }; if !first.trim().starts_with("#!") { return super::prepend_header(content, + header_text, style, line_ending); } let body_lines: Vec<&str> = iter.collect(); reassemble_after_shebang(first, header_text, + &body_lines, 0, style, line_ending) }' + occurrence: 0 + testSet: 2357 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: prepend_after_optional_shebang + mutator: literal.int_increment + normalizedText: '0' + occurrence: 0 + testSet: 2358 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: reassemble_after_shebang + mutator: cond.always_false + normalizedText: rest.is_empty() + occurrence: 0 + testSet: 2359 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: reassemble_after_shebang + mutator: cond.always_true + normalizedText: rest.is_empty() + occurrence: 0 + testSet: 2359 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: reassemble_after_shebang + mutator: cond.negate + normalizedText: rest.is_empty() + occurrence: 0 + testSet: 2359 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: reassemble_after_shebang + mutator: expr.decrement + normalizedText: body_start + occurrence: 0 + testSet: 2359 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: reassemble_after_shebang + mutator: expr.increment + normalizedText: body_start + occurrence: 0 + testSet: 2359 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: reassemble_after_shebang + mutator: fn_value.empty_string + normalizedText: '{ let header_comment = style.format_header(header_text, line_ending); let rest = body_lines[body_start..].join(line_ending); + if rest.is_empty() { format!("{shebang}{line_ending}{header_comment}{line_ending}") } else { format!("{shebang}{line_ending}{header_comment}{line_ending}{line_ending}{rest}{line_ending}") + } }' + occurrence: 0 + testSet: 2359 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: reassemble_after_shebang + mutator: fn_value.xyzzy_string + normalizedText: '{ let header_comment = style.format_header(header_text, line_ending); let rest = body_lines[body_start..].join(line_ending); + if rest.is_empty() { format!("{shebang}{line_ending}{header_comment}{line_ending}") } else { format!("{shebang}{line_ending}{header_comment}{line_ending}{line_ending}{rest}{line_ending}") + } }' + occurrence: 0 + testSet: 2359 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: strip_existing_header + mutator: cond.always_false + normalizedText: content.ends_with('\n') + occurrence: 0 + testSet: 2360 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: strip_existing_header + mutator: cond.always_false + normalizedText: remaining.is_empty() + occurrence: 0 + testSet: 2361 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: strip_existing_header + mutator: cond.always_true + normalizedText: content.ends_with('\n') + occurrence: 0 + testSet: 2360 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: strip_existing_header + mutator: cond.always_true + normalizedText: remaining.is_empty() + occurrence: 0 + testSet: 2361 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: strip_existing_header + mutator: cond.negate + normalizedText: content.ends_with('\n') + occurrence: 0 + testSet: 2360 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: strip_existing_header + mutator: cond.negate + normalizedText: remaining.is_empty() + occurrence: 0 + testSet: 2361 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: strip_existing_header + mutator: fn_value.empty_string + normalizedText: '{ let lines: Vec<&str> = content.lines().collect(); let Some(body_start) = find_header_end(&lines, + style) else { return content.to_owned(); }; let remaining = lines[body_start..].join(line_ending); if remaining.is_empty() + { remaining } else if content.ends_with(''\n'') { format!("{remaining}{line_ending}") } else { remaining } }' + occurrence: 0 + testSet: 2362 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: strip_existing_header + mutator: fn_value.xyzzy_string + normalizedText: '{ let lines: Vec<&str> = content.lines().collect(); let Some(body_start) = find_header_end(&lines, + style) else { return content.to_owned(); }; let remaining = lines[body_start..].join(line_ending); if remaining.is_empty() + { remaining } else if content.ends_with(''\n'') { format!("{remaining}{line_ending}") } else { remaining } }' + occurrence: 0 + testSet: 2362 + - site: + file: crates/cargo-heather/src/checker/strip.rs + item: strip_existing_header + mutator: string.ends_with_to_starts_with + normalizedText: content.ends_with('\n') + occurrence: 0 + testSet: 2360 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::format_header + mutator: cond.always_false + normalizedText: line.is_empty() + occurrence: 0 + testSet: 2363 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::format_header + mutator: cond.always_true + normalizedText: line.is_empty() + occurrence: 0 + testSet: 2363 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::format_header + mutator: cond.negate + normalizedText: line.is_empty() + occurrence: 0 + testSet: 2363 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::format_header + mutator: fn_value.empty_string + normalizedText: '{ header_text .lines() .map(|line| { if line.is_empty() { self.prefix().to_owned() } else { format!("{}{line}", + self.prefix_space()) } }) .collect::>() .join(line_ending) }' + occurrence: 0 + testSet: 2363 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::format_header + mutator: fn_value.xyzzy_string + normalizedText: '{ header_text .lines() .map(|line| { if line.is_empty() { self.prefix().to_owned() } else { format!("{}{line}", + self.prefix_space()) } }) .collect::>() .join(line_ending) }' + occurrence: 0 + testSet: 2363 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::from_path + mutator: fn_value.none + normalizedText: '{ FileKind::detect(path, None).map(FileKind::comment_style) }' + occurrence: 0 + testSet: 2331 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: cond.always_false + normalizedText: '!trimmed.starts_with("//")' + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: cond.always_true + normalizedText: '!trimmed.starts_with("//")' + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: cond.negate + normalizedText: '!trimmed.starts_with("//")' + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: fn_value.bool_false + normalizedText: '{ match self { Self::DoubleSlash => { if !trimmed.starts_with("//") { return false; } let after = &trimmed[2..]; + !after.starts_with(''/'') && !after.starts_with(''!'') } Self::Hash => trimmed.starts_with(''#''), } }' + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: fn_value.bool_true + normalizedText: '{ match self { Self::DoubleSlash => { if !trimmed.starts_with("//") { return false; } let after = &trimmed[2..]; + !after.starts_with(''/'') && !after.starts_with(''!'') } Self::Hash => trimmed.starts_with(''#''), } }' + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2364 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: literal.int_decrement + normalizedText: '2' + occurrence: 0 + testSet: 2365 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: literal.int_increment + normalizedText: '2' + occurrence: 0 + testSet: 2365 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: literal.int_to_zero + normalizedText: '2' + occurrence: 0 + testSet: 2365 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: literal.str_to_empty + normalizedText: '"//"' + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: literal.str_to_xyzzy + normalizedText: '"//"' + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: logical.and_to_or + normalizedText: '!after.starts_with(''/'') && !after.starts_with(''!'')' + occurrence: 0 + testSet: 2365 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: string.starts_with_to_ends_with + normalizedText: after.starts_with('!') + occurrence: 0 + testSet: 2366 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: string.starts_with_to_ends_with + normalizedText: after.starts_with('/') + occurrence: 0 + testSet: 2365 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: string.starts_with_to_ends_with + normalizedText: trimmed.starts_with("//") + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: string.starts_with_to_ends_with + normalizedText: trimmed.starts_with('#') + occurrence: 0 + testSet: 2367 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: unary.remove_not + normalizedText: '!after.starts_with(''!'')' + occurrence: 0 + testSet: 2366 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: unary.remove_not + normalizedText: '!after.starts_with(''/'')' + occurrence: 0 + testSet: 2365 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::is_header_comment_line + mutator: unary.remove_not + normalizedText: '!trimmed.starts_with("//")' + occurrence: 0 + testSet: 2336 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::strip_prefix + mutator: expr.decrement + normalizedText: prefix_len + occurrence: 0 + testSet: 2340 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::strip_prefix + mutator: expr.increment + normalizedText: prefix_len + occurrence: 0 + testSet: 2340 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::strip_prefix + mutator: fn_value.empty_string + normalizedText: '{ let prefix_len = self.prefix().len(); let after = &line[prefix_len..]; if let Some(stripped) = after.strip_prefix('' + '') { stripped.to_owned() } else { after.to_owned() } }' + occurrence: 0 + testSet: 2340 + - site: + file: crates/cargo-heather/src/comment.rs + item: CommentStyle::strip_prefix + mutator: fn_value.xyzzy_string + normalizedText: '{ let prefix_len = self.prefix().len(); let after = &line[prefix_len..]; if let Some(stripped) = after.strip_prefix('' + '') { stripped.to_owned() } else { after.to_owned() } }' + occurrence: 0 + testSet: 2340 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: cond.always_false + normalizedText: content.is_some_and(is_cargo_script) + occurrence: 0 + testSet: 2368 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: cond.always_false + normalizedText: file_name == "constants.env" + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: cond.always_false + normalizedText: file_name.eq_ignore_ascii_case("justfile") + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: cond.always_true + normalizedText: content.is_some_and(is_cargo_script) + occurrence: 0 + testSet: 2368 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: cond.always_true + normalizedText: file_name == "constants.env" + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: cond.always_true + normalizedText: file_name.eq_ignore_ascii_case("justfile") + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: cond.negate + normalizedText: content.is_some_and(is_cargo_script) + occurrence: 0 + testSet: 2368 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: cond.negate + normalizedText: file_name == "constants.env" + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: cond.negate + normalizedText: file_name.eq_ignore_ascii_case("justfile") + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: fn_value.none + normalizedText: '{ let file_name = path.file_name().and_then(|name| name.to_str()); let file_name = match file_name + { Some(file_name) => file_name, None => return None, }; if file_name.eq_ignore_ascii_case("justfile") { return Some(Self::Just); + } if file_name == "constants.env" { return Some(Self::Env); } match path.extension()?.to_str()? { ext if ext.eq_ignore_ascii_case("rs") + => { if content.is_some_and(is_cargo_script) { Some(Self::CargoScript) } else { Some(Self::Rust) } } ext if ext.eq_ignore_ascii_case("toml") + => Some(Self::Toml), ext if ext.eq_ignore_ascii_case("ps1") || ext.eq_ignore_ascii_case("psd1") || ext.eq_ignore_ascii_case("psm1") + => { Some(Self::PowerShell) } ext if ext.eq_ignore_ascii_case("just") => Some(Self::Just), _ => None, } }' + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: literal.str_to_empty + normalizedText: '"constants.env"' + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: literal.str_to_empty + normalizedText: '"justfile"' + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: literal.str_to_xyzzy + normalizedText: '"constants.env"' + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: literal.str_to_xyzzy + normalizedText: '"justfile"' + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: match_guard.always_false + normalizedText: ext.eq_ignore_ascii_case("just") + occurrence: 0 + testSet: 2370 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: match_guard.always_false + normalizedText: ext.eq_ignore_ascii_case("ps1") || ext.eq_ignore_ascii_case("psd1") || ext.eq_ignore_ascii_case("psm1") + occurrence: 0 + testSet: 2371 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: match_guard.always_false + normalizedText: ext.eq_ignore_ascii_case("rs") + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: match_guard.always_false + normalizedText: ext.eq_ignore_ascii_case("toml") + occurrence: 0 + testSet: 2371 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: match_guard.always_true + normalizedText: ext.eq_ignore_ascii_case("just") + occurrence: 0 + testSet: 2370 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: match_guard.always_true + normalizedText: ext.eq_ignore_ascii_case("ps1") || ext.eq_ignore_ascii_case("psd1") || ext.eq_ignore_ascii_case("psm1") + occurrence: 0 + testSet: 2371 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: match_guard.always_true + normalizedText: ext.eq_ignore_ascii_case("rs") + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: match_guard.always_true + normalizedText: ext.eq_ignore_ascii_case("toml") + occurrence: 0 + testSet: 2371 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: match_guard.negate + normalizedText: ext.eq_ignore_ascii_case("just") + occurrence: 0 + testSet: 2370 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: match_guard.negate + normalizedText: ext.eq_ignore_ascii_case("ps1") || ext.eq_ignore_ascii_case("psd1") || ext.eq_ignore_ascii_case("psm1") + occurrence: 0 + testSet: 2371 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: match_guard.negate + normalizedText: ext.eq_ignore_ascii_case("rs") + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: match_guard.negate + normalizedText: ext.eq_ignore_ascii_case("toml") + occurrence: 0 + testSet: 2371 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: option.some_to_none + normalizedText: Some(Self::CargoScript) + occurrence: 0 + testSet: 2335 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: option.some_to_none + normalizedText: Some(Self::PowerShell) + occurrence: 0 + testSet: 2372 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: option.some_to_none + normalizedText: Some(Self::Rust) + occurrence: 0 + testSet: 2368 + - site: + file: crates/cargo-heather/src/comment.rs + item: FileKind::detect + mutator: relational.eq_to_ne + normalizedText: file_name == "constants.env" + occurrence: 0 + testSet: 2369 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: cond.always_false + normalizedText: '!first.starts_with("#!") || first.starts_with("#![")' + occurrence: 0 + testSet: 2373 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: cond.always_true + normalizedText: '!first.starts_with("#!") || first.starts_with("#![")' + occurrence: 0 + testSet: 2373 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: cond.negate + normalizedText: '!first.starts_with("#!") || first.starts_with("#![")' + occurrence: 0 + testSet: 2373 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: fn_value.bool_false + normalizedText: '{ let mut lines = content.lines(); let Some(first) = lines.next() else { return false; }; if !first.starts_with("#!") + || first.starts_with("#![") { return false; } lines.next().is_some_and(|l| l.trim() == "---") }' + occurrence: 0 + testSet: 2374 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: fn_value.bool_true + normalizedText: '{ let mut lines = content.lines(); let Some(first) = lines.next() else { return false; }; if !first.starts_with("#!") + || first.starts_with("#![") { return false; } lines.next().is_some_and(|l| l.trim() == "---") }' + occurrence: 0 + testSet: 2374 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 0 + testSet: 2375 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: literal.bool_flip + normalizedText: 'false' + occurrence: 1 + testSet: 2376 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: literal.str_to_empty + normalizedText: '"#!"' + occurrence: 0 + testSet: 2373 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: literal.str_to_empty + normalizedText: '"#!["' + occurrence: 0 + testSet: 2377 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: literal.str_to_empty + normalizedText: '"---"' + occurrence: 0 + testSet: 2378 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: literal.str_to_xyzzy + normalizedText: '"#!"' + occurrence: 0 + testSet: 2373 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: literal.str_to_xyzzy + normalizedText: '"#!["' + occurrence: 0 + testSet: 2377 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: literal.str_to_xyzzy + normalizedText: '"---"' + occurrence: 0 + testSet: 2378 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: logical.or_to_and + normalizedText: '!first.starts_with("#!") || first.starts_with("#![")' + occurrence: 0 + testSet: 2373 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: relational.eq_to_ne + normalizedText: l.trim() == "---" + occurrence: 0 + testSet: 2378 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: string.starts_with_to_ends_with + normalizedText: first.starts_with("#!") + occurrence: 0 + testSet: 2373 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: string.starts_with_to_ends_with + normalizedText: first.starts_with("#![") + occurrence: 0 + testSet: 2377 + - site: + file: crates/cargo-heather/src/comment.rs + item: is_cargo_script + mutator: unary.remove_not + normalizedText: '!first.starts_with("#!")' + occurrence: 0 + testSet: 2373 + - site: + file: crates/cargo-heather/src/error.rs + item: ::fmt + mutator: fn_value.ok + normalizedText: '{ match self { Self::FileRead { path, source } => { write!(f, "failed to read file ''{}'': {source}", + path.display()) } Self::FileWrite { path, source } => { write!(f, "failed to write file ''{}'': {source}", path.display()) + } Self::ConfigParse { path, message } => { write!(f, "failed to parse config ''{}'': {message}", path.display()) } + Self::ConfigNotFound(path) => write!(f, "config file not found: {}", path.display()), Self::ConfigInvalid(msg) => + write!(f, "invalid config: {msg}"), Self::UnknownLicense(id) => write!(f, "unknown SPDX license identifier: ''{id}''"), + Self::UnsupportedFileType { path } => { write!(f, "unsupported file type: ''{}''", path.display()) } Self::ValidationFailed(count) + => { write!(f, "{count} file(s) have missing or incorrect license headers") } } }' + occurrence: 0 + testSet: 2379 + - site: + file: crates/cargo-heather/src/error.rs + item: ::source + mutator: fn_value.none + normalizedText: '{ match self { Self::FileRead { source, .. } | Self::FileWrite { source, .. } => Some(source), _ => + None, } }' + occurrence: 0 + testSet: 2380 + - site: + file: crates/cargo-heather/src/error.rs + item: ::source + mutator: match_arm.never_matches + normalizedText: Self::FileRead { source, .. } | Self::FileWrite { source, .. } + occurrence: 0 + testSet: 2381 + - site: + file: crates/cargo-heather/src/error.rs + item: ::source + mutator: option.some_to_none + normalizedText: Some(source) + occurrence: 0 + testSet: 2381 + - site: + file: crates/cargo-heather/src/license.rs + item: header_for_license + mutator: fn_value.ok + normalizedText: '{ LICENSES .iter() .find(|lic| lic.id.eq_ignore_ascii_case(spdx_id)) .map(|lic| lic.header) .ok_or_else(|| + HeatherError::UnknownLicense(spdx_id.to_owned())) }' + occurrence: 0 + testSet: 2382 + - site: + file: crates/cargo-heather/src/license.rs + item: supported_licenses + mutator: fn_value.empty_collection + normalizedText: '{ let mut ids: Vec<&str> = LICENSES.iter().map(|lic| lic.id).collect(); ids.sort_unstable(); ids }' + occurrence: 0 + testSet: 2383 + - site: + file: crates/cargo-heather/src/license.rs + item: supported_licenses + mutator: fn_value.one_element + normalizedText: '{ let mut ids: Vec<&str> = LICENSES.iter().map(|lic| lic.id).collect(); ids.sort_unstable(); ids }' + occurrence: 0 + testSet: 2383 + - site: + file: crates/cargo-heather/src/license.rs + item: supported_licenses + mutator: iter.remove_sort + normalizedText: ids.sort_unstable(); + occurrence: 0 + testSet: 2383 + - site: + file: crates/cargo-heather/src/process.rs + item: fix + mutator: cond.always_false + normalizedText: content.contains("\r\n") + occurrence: 0 + testSet: 2384 + - site: + file: crates/cargo-heather/src/process.rs + item: fix + mutator: cond.always_true + normalizedText: content.contains("\r\n") + occurrence: 0 + testSet: 2384 + - site: + file: crates/cargo-heather/src/process.rs + item: fix + mutator: cond.negate + normalizedText: content.contains("\r\n") + occurrence: 0 + testSet: 2384 + - site: + file: crates/cargo-heather/src/process.rs + item: fix + mutator: literal.str_to_empty + normalizedText: '"\n"' + occurrence: 0 + testSet: 2385 + - site: + file: crates/cargo-heather/src/process.rs + item: fix + mutator: literal.str_to_empty + normalizedText: '"\r\n"' + occurrence: 0 + testSet: 2384 + - site: + file: crates/cargo-heather/src/process.rs + item: fix + mutator: literal.str_to_empty + normalizedText: '"\r\n"' + occurrence: 1 + testSet: 2386 + - site: + file: crates/cargo-heather/src/process.rs + item: fix + mutator: literal.str_to_xyzzy + normalizedText: '"\n"' + occurrence: 0 + testSet: 2385 + - site: + file: crates/cargo-heather/src/process.rs + item: fix + mutator: literal.str_to_xyzzy + normalizedText: '"\r\n"' + occurrence: 0 + testSet: 2384 + - site: + file: crates/cargo-heather/src/process.rs + item: fix + mutator: literal.str_to_xyzzy + normalizedText: '"\r\n"' + occurrence: 1 + testSet: 2386 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: detect_cycles + mutator: cond.always_false + normalizedText: graph.contains_edge(node_idx, node_idx) + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: detect_cycles + mutator: cond.always_true + normalizedText: graph.contains_edge(node_idx, node_idx) + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: detect_cycles + mutator: cond.negate + normalizedText: graph.contains_edge(node_idx, node_idx) + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: detect_cycles + mutator: fn_value.empty_collection + normalizedText: '{ let mut graph = DiGraph::::new(); let mut node_map = HashMap::new(); for package in + metadata.workspace_packages() { let idx = graph.add_node(package.id.clone()); node_map.insert(package.id.clone(), + idx); } for package in metadata.workspace_packages() { let from_idx = node_map[&package.id]; for dep in &package.dependencies + { if let Some(dep_pkg) = metadata.packages.iter().find(|p| p.name == dep.name) && let Some(&to_idx) = node_map.get(&dep_pkg.id) + { graph.add_edge(from_idx, to_idx, ()); } } } let sccs = tarjan_scc(&graph); let mut cycles: Vec> = + sccs .into_iter() .filter(|scc| scc.len() > 1) .map(|scc| scc.iter().map(|&idx| graph[idx].clone()).collect()) .collect(); + for package in metadata.workspace_packages() { let node_idx = node_map[&package.id]; if graph.contains_edge(node_idx, + node_idx) { cycles.push(vec![package.id.clone()]); } } cycles }' + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: detect_cycles + mutator: fn_value.one_element + normalizedText: '{ let mut graph = DiGraph::::new(); let mut node_map = HashMap::new(); for package in + metadata.workspace_packages() { let idx = graph.add_node(package.id.clone()); node_map.insert(package.id.clone(), + idx); } for package in metadata.workspace_packages() { let from_idx = node_map[&package.id]; for dep in &package.dependencies + { if let Some(dep_pkg) = metadata.packages.iter().find(|p| p.name == dep.name) && let Some(&to_idx) = node_map.get(&dep_pkg.id) + { graph.add_edge(from_idx, to_idx, ()); } } } let sccs = tarjan_scc(&graph); let mut cycles: Vec> = + sccs .into_iter() .filter(|scc| scc.len() > 1) .map(|scc| scc.iter().map(|&idx| graph[idx].clone()).collect()) .collect(); + for package in metadata.workspace_packages() { let node_idx = node_map[&package.id]; if graph.contains_edge(node_idx, + node_idx) { cycles.push(vec![package.id.clone()]); } } cycles }' + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: detect_cycles + mutator: literal.int_decrement + normalizedText: '1' + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: detect_cycles + mutator: literal.int_increment + normalizedText: '1' + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: detect_cycles + mutator: relational.eq_to_ne + normalizedText: p.name == dep.name + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: detect_cycles + mutator: relational.gt_to_ge + normalizedText: scc.len() > 1 + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: detect_cycles + mutator: relational.gt_to_lt + normalizedText: scc.len() > 1 + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: detect_cycles + mutator: stmt.delete_call + normalizedText: graph.add_edge(from_idx, to_idx, ()); + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: detect_cycles + mutator: stmt.delete_call + normalizedText: node_map.insert(package.id.clone(), idx); + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: run + mutator: cond.always_false + normalizedText: cycles.is_empty() + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: run + mutator: cond.always_true + normalizedText: cycles.is_empty() + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: run + mutator: cond.negate + normalizedText: cycles.is_empty() + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: run + mutator: fn_value.ok + normalizedText: '{ let cli = Cli::parse(); let manifest_path = match cli.cmd { Some(Command::EnsureNoCyclicDeps { manifest_path + }) => manifest_path, None => { None } }; let mut cmd = MetadataCommand::new(); if let Some(path) = manifest_path { + cmd.manifest_path(path); } cmd.no_deps(); let metadata = cmd.exec().context("Failed to load cargo metadata")?; let + cycles = detect_cycles(&metadata); if cycles.is_empty() { println!("No cyclic dependencies found."); Ok(ExitCode::SUCCESS) + } else { eprintln!("Error: Cyclic dependencies detected!\n"); for (i, cycle) in cycles.iter().enumerate() { eprintln!("Cycle + {}:", i + 1); eprintln!(" {}", format_cycle(cycle, &metadata)); eprintln!(); } Ok(ExitCode::FAILURE) } }' + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: run + mutator: literal.str_to_empty + normalizedText: '"Failed to load cargo metadata"' + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: run + mutator: literal.str_to_xyzzy + normalizedText: '"Failed to load cargo metadata"' + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: run + mutator: stmt.delete_call + normalizedText: cmd.manifest_path(path); + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/lib.rs + item: run + mutator: stmt.delete_call + normalizedText: cmd.no_deps(); + occurrence: 0 + testSet: 2387 + - site: + file: crates/cargo_ensure_no_cyclic_deps/src/main.rs + item: main + mutator: fn_value.ok + normalizedText: '{ cargo_ensure_no_cyclic_deps::run() }' + occurrence: 0 + testSet: 2387